audioread
Read audio file
Syntax
Description
Examples
Read Complete Audio File
Create a WAVE file from the example filehandel.mat
, and read the file back into MATLAB®.
Create a WAVE (.wav
) file in the current folder.
loadhandel.matfilename ='handel.wav'; audiowrite(filename,y,Fs); clearyFs
Read the data back into MATLAB usingaudioread
.
[y,Fs] = audioread('handel.wav');
Play the audio.
sound(y,Fs);
Read Portion of Audio File
Create a FLAC file from the example filehandel.mat
, and then read only the first 2 seconds.
Create a FLAC (.flac
) file in the current folder.
loadhandel.matfilename ='handel.flac'; audiowrite(filename,y,Fs);
只读第一个2秒。
samples = [1,2*Fs]; clearyFs[y,Fs] = audioread(filename,samples);
Play the samples.
sound(y,Fs);
Return Audio in Native Integer Format
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.
loadhandel.matfilename ='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 ofy
isdouble
.
samples = [1,2*Fs]; clearyFs[y,Fs] = audioread(filename,samples); whosy
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 datay
. Note the new data type ofy
.
[y,Fs] = audioread(filename,'native'); whosy
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.
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, seeWork 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 onWindows 7or 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]
, wherestart
andfinish
are the first and last samples to read, and are positive scalar integers.
start
must be less than or equal tofinish
.start
andfinish
必须小于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 onWindows 7platforms,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 anm
-by-n
matrix, wherem
is the number of audio samples read andn
is the number of audio channels in the file.
If you do not specify
dataType
, ordataType
is'double'
, theny
is of typedouble
, and matrix elements are normalized values between −1.0 and 1.0.If
dataType
is'native'
, theny
can be one of several MATLAB data types, depending on the file format and theBitsPerSample
value of the input file. Callaudioinfo
to determine theBitsPerSample
value of the file.File Format BitsPerSample Data Type of y Data Range of y WAVE ( .wav
)8 uint8
0 ≤ y
≤ 25516 int16
-32768 ≤ y
≤ +3276724 int32
-2^31 ≤ y
≤ 2^31–132 int32
-2^31 ≤ y
≤ 2^31–132 single
-1.0 ≤ y
≤ +1.064 double
-1.0 ≤ y
≤ +1.0WAVE ( .wav
) (u-law)8 int16
-32124 ≤ y
≤ +32124WAVE ( .wav
) (A-law)8 int16
-32256 ≤ y
≤ +32256FLAC ( .flac
)8 uint8
0 ≤ y
≤ 25516 int16
-32768 ≤ y
≤ +3276724 int32
-2^31 ≤ y
≤ 2^31–1MP3 ( .mp3
), MPEG-4 AAC (.m4a
,.mp4
), OGG (.ogg
), OPUS (.opus
), and certain compressed WAVE filesN/A single
-1.0 ≤ y
≤ +1.0
Note
Wherey
issingle
ordouble
and theBitsPerSample
is 32 or 64, values iny
might exceed −1.0 or +1.0.
Fs
— Sample rate
positive scalar
Sample rate, in hertz, of audio datay
, returned as a positive scalar.
Limitations
For MP3, MPEG-4 AAC, and AVI audio files onWindows 7or later and Linux platforms,
audioread
might read fewer samples than expected. OnWindows 7platforms, 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.
Extended Capabilities
Thread-Based Environment
Run code in the background using MATLAB®backgroundPool
or accelerate code with Parallel Computing Toolbox™ThreadPool
.
This function fully supports thread-based environments. For more information, seeRun MATLAB Functions in Thread-Based Environment.
Version History
Introduced in R2012bR2022a:Read Opus (.opus
) audio files
You can read Ogg Opus audio files.
R2021b:Support for thread-based environment
You can runaudioread
in the background using MATLABbackgroundPool
.
R2021a:Read audio files from an HTTP or HTTPS URL
You can read audio files from an internet URL by specifyingfilename
作为一个向量包含字符串或字符protocol type'http://'
or'https://'
.
R2020b:Read audio files from a remote location
You can read audio files stored in remote locations, such as Amazon S3, Windows Azure Blob Storage, and HDFS.
Apri esempio
Si dispone di una versione modificata di questo esempio. Desideri aprire questo esempio con le tue modifiche?
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina(Español)
- Canada(English)
- United States(English)
Europe
- 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)