[y,Fs] = audioread(filename)[y,Fs] = audioread(filename,samples)[y,Fs] = audioread(___,dataType)
example
[ reads data from the file named y,Fs] = audioread(filename)filename, and returns sampled data, y, and a sample rate for that data, Fs.
[ returns sampled data in the data range corresponding to the y,Fs] = audioread(___,dataType)dataType of 'native' or 'double', and can include any of the input arguments in previous syntaxes.
Create a WAVE file from the example file handel.mat, and read the file back into MATLAB®.
Create a WAVE (.wav) file in the current folder.
load handel.mat filename = 'handel.wav'; audiowrite(filename,y,Fs); clear y Fs
Read the data back into MATLAB using audioread.
[y,Fs] = audioread('handel.wav');
Play the audio.
sound(y,Fs);
Create a FLAC file from the example file handel.mat, and then read only the first 2 seconds.
Create a FLAC (.flac) file in the current folder.
load handel.mat filename = 'handel.flac'; audiowrite(filename,y,Fs);
Read only the first 2 seconds.
samples = [1,2*Fs]; clear y Fs [y,Fs] = audioread(filename,samples);
Play the samples.
sound(y,Fs);
Create a .flac file, read the first 2 seconds of the file and then return audio in the native integer format.
Create a FLAC (.flac) file in the current folder.
load handel.mat filename = 'handel.flac'; audiowrite(filename,y,Fs);
Read only the first 2 seconds and specify the data and view the datatype of the sampled data y. The data type of y is double.
samples = [1,2*Fs]; clear y Fs [y,Fs] = audioread(filename,samples); whos y
Name Size Bytes Class Attributes y 16384x1 131072 double
Request audio data in the native format of the file, and then view the data type of the sampled data y. Note the new data type of y.
[y,Fs] = audioread(filename,'native'); whos y
Name Size Bytes Class Attributes y 73113x1 146226 int16
filename — Name of file to readName 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 integersAudio 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.
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
y — Audio dataAudio 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 |
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 rateSample rate, in hertz, of audio data y, returned as a positive scalar.
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.