audioread
Read audio file
Syntax
Description
Examples
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
Input Arguments
Name of file to read, specified as a character vector or string scalar that includes the file extension.
Depending on the location of your file, filename can
                        take on one of these forms.
| Current folder | Specify the name of the file in
                                                   Example:
                                                 | ||||||||
| Other folders | If the file is not in the current folder or in
                                                a folder on the MATLAB® path, then specify the full or
                                                relative path name in
                                                 Example:
                                                 Example:
                                                 | ||||||||
| Internet URL | If the file is specified as an internet uniform
                                                resource locator (URL), then
                                                   Example:
                                                 | ||||||||
| Remote Location | If the file is stored at a remote location,
                                                then  
 Based on the remote
                                                location,  
 For more information, see Work with Remote Data. Example:
                                                 | 
Example: 'myFile.mp3'
Example: '../myFile.mp3'
Example: 'C:\temp\myFile.mp3'
audioread supports the following file formats.
| Platform Support | File Format | 
|---|---|
| All platforms | AIFC ( .aifc) | 
| AIFF ( .aiff,.aif) | |
| AU ( .au) | |
| FLAC ( .flac) | |
| OGG ( .ogg) | |
| OPUS ( .opus) | |
| WAVE ( .wav) | |
| 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
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. 
- startmust be less than or equal to- finish.
- startand- finishmust be less than the number of audio samples in the file,
- You can use - infto indicate the last sample in the file.
Note
When reading a portion of some MP3 files on Windows 7 or Windows 10 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
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
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 the - dataType, or set it to- 'double', then- ydefaults to the- dataType- double. Also, the matrix elements normalize to values between -1.0 and 1.0. However, for lossy compressed audio formats, you might encounter values that exceed this range due to the nature of the compression algorithms.
- If - dataTypeis- 'native', then- ycan be one of several MATLAB data types, depending on the file format and the- BitsPerSamplevalue of the input file. Call- audioinfoto determine the- BitsPerSamplevalue of the file.- Note - You need to add an offset of 128 when reading - uint8data as- uint8is "centered" at 128.- 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), OPUS (- .opus), 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.
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, - audioreadmight 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, - audioreadreads MPEG-4 AAC files that contain single-channel data as stereo data.
Extended Capabilities
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Version History
Introduced in R2012bYou can read Ogg Opus audio files.
You can run audioread in the background using MATLAB
                backgroundPool.
You can read audio files from an internet URL by specifying
                    filename as a string or character vector that contains the
                protocol type 'http://' or 'https://'.
You can read audio files stored in remote locations, such as Amazon S3, Windows Azure Blob Storage, and HDFS.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)