Name Size Bytes Class Attributes
y 73113x1 146226 int16
Input Arguments
filename
— Name of file to read
character vector | string scalar
Name of file to read, specified as a character vector or string scalar that includes the file extension. If a path is specified, it can be absolute, relative or partial.
Example: 'myFile.mp3'
Example: '../myFile.mp3'
Example: 'C:\temp\myFile.mp3'
audioread
supports the following file formats.
Platform Support |
File Format |
All platforms |
WAVE (.wav ) |
OGG (.ogg ) |
FLAC (.flac ) |
AU (.au ) |
AIFF (.aiff , .aif ) |
AIFC (.aifc ) |
Windows® 7 (or later), Macintosh, and Linux® |
MP3 (.mp3 ) |
MPEG-4 AAC (.m4a , .mp4 ) |
On Windows platforms prior to Windows 7, audioread
does not read WAVE files with MP3 encoded data.
On Windows 7 (or later) platforms, audioread
might also read any files supported by Windows Media® Foundation.
On Linux platforms, audioread
might also read any files supported by GStreamer.
audioread
can extract audio from MPEG-4 (.mp4
, .m4v
) video files on Windows 7 or later, Macintosh, and Linux, and from Windows Media Video (.wmv
) and AVI (.avi
) files on Windows 7 (or later) and Linux platforms.
Data Types: char
| string
samples
— Audio samples to read
[1,inf]
(default) | two-element vector of positive scalar integers
Audio samples to read, specified as a two-element vector of the form [start,finish]
, where start
and finish
are the first and last samples to read, and are positive scalar integers.
-
start
must be less than or equal to finish
.
-
start
and finish
must be less than the number of audio samples in the file,
-
You can use inf
to indicate the last sample in the file.
Note
When reading a portion of some MP3 files on Windows 7 platforms, audioread
might read a shifted range of samples. This is due to a limitation in the underlying Windows Media Foundation framework.
When reading a portion of MP3 and M4A files on Linux platforms, audioread
might read a shifted range of samples. This is due to a limitation in the underlying GStreamer framework.
Example: [1,100]
Data Types: double
dataType
— Data format of audio data, y
'double'
(default) | 'native'
Data format of audio data,y
, specified as one of the following:
'double' |
Double-precision normalized samples. |
'native' |
Samples in the native format found in the file. |
For compressed audio formats, such as MP3 and MPEG-4 AAC that do not store data in integer form, 'native'
defaults to 'single'
.
Data Types: char
| string
Output Arguments
y
— Audio data
matrix
Audio data in the file, returned as an m
-by-n
matrix, where m
is the number of audio samples read and n
is the number of audio channels in the file.
-
If you do not specify dataType
, or dataType
is 'double'
, then y
is of type double
, and matrix elements are normalized values between −1.0 and 1.0.
-
If dataType
is 'native'
, then y
can be one of several MATLAB® data types, depending on the file format and the BitsPerSample
value of the input file. Call audioinfo
to determine the BitsPerSample
value of the file.
File Format |
BitsPerSample |
Data Type of y |
Data Range of y |
WAVE (.wav ) |
8 |
uint8 |
0 ≤ y ≤ 255 |
16 |
int16 |
-32768 ≤ y ≤ +32767 |
24 |
int32 |
-2^31 ≤ y ≤ 2^31–1 |
32 |
int32 |
-2^31 ≤ y ≤ 2^31–1 |
32 |
single |
-1.0 ≤ y ≤ +1.0 |
64 |
double |
-1.0 ≤ y ≤ +1.0 |
WAVE (.wav ) (u-law) |
8 |
int16 |
-32124 ≤ y ≤ +32124 |
WAVE (.wav ) (A-law) |
8 |
int16 |
-32256 ≤ y ≤ +32256 |
FLAC (.flac ) |
8 |
uint8 |
0 ≤ y ≤ 255 |
16 |
int16 |
-32768 ≤ y ≤ +32767 |
24 |
int32 |
-2^31 ≤ y ≤ 2^31–1 |
MP3 (.mp3 ), MPEG-4 AAC (.m4a , .mp4 ), OGG (.ogg ), and certain compressed WAVE files |
N/A |
single |
-1.0 ≤ y ≤ +1.0 |
Note
Where y
is single
or double
and the BitsPerSample
is 32 or 64, values in y
might exceed −1.0 or +1.0.
Fs
— Sample rate
positive scalar
Sample rate, in hertz, of audio data y
, returned as a positive scalar.
Limitations
-
For MP3, MPEG-4 AAC, and AVI audio files on Windows 7 or later and Linux platforms, audioread
might read fewer samples than expected. On Windows 7 platforms, this is due to a limitation in the underlying Media Foundation framework. On Linux platforms, this is due to a limitation in the underlying GStreamer framework. If you require sample-accurate reading, work with WAV or FLAC files.
-
On Linux platforms, audioread
reads MPEG-4 AAC files that contain single-channel data as stereo data.