Read audio file - MATLAB audioread (2024)

Read audio file

collapse all in page

Syntax

[y,Fs] =audioread(filename)

[y,Fs] =audioread(filename,samples)

[y,Fs] =audioread(___,dataType)

Description

example

[y,Fs] =audioread(filename) reads data fromthe file named filename, and returns sampled data, y,and a sample rate for that data, Fs.

example

[y,Fs] =audioread(filename,samples) readsthe selected range of audio samples in the file, where samples isa vector of the form [start,finish].

example

[y,Fs] =audioread(___,dataType) returnssampled data in the data range corresponding to the dataType of 'native' or 'double',and can include any of the input arguments in previous syntaxes.

Examples

collapse all

Read Complete Audio File

Open Script

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.matfilename = '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);

Read Portion of Audio File

Open Script

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.matfilename = '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);

Return Audio in Native Integer Format

Open Script

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.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 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

collapse all

filenameName 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 filename.

Example: 'sample_audio.wav'

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 filename.

Example: 'C:\myFolder\myFile.sample_audio.wav'

Example: 'myFolder\sample_audio.mp3'

Internet URL

If the file is specified as an internet uniform resource locator (URL), then filename must contain the protocol type 'http://' or 'https://'.

Example: 'http://hostname/path_to_file/sample_audio.mp3'

Remote Location

If the file is stored at a remote location, then filename must contain the full path of the file specified with the form:

scheme_name://path_to_file/my_file.ext

Based on the remote location, scheme_name can be one of the values in this table.

Remote Locationscheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

For more information, see Work with Remote Data.

Example: 's3://bucketname/path_to_file/sample_audio.mp3'

Example: 'myFile.mp3'

Example: '../myFile.mp3'

Example: 'C:\temp\myFile.mp3'

audioread supports the following file formats.

Platform SupportFile Format
All platformsAIFC (.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

samplesAudio samples to read
[1,inf] (default) | two-element vector of positive scalar integers

Audio samples to read, specified as a two-element vector ofthe form [start,finish], where start and finish arethe first and last samples to read, and are positive scalar integers.

  • start must be less than or equalto finish.

  • start and finish mustbe less than the number of audio samples in the file,

  • You can use inf to indicate thelast 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

dataTypeData 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 thatdo not store data in integer form, 'native' defaultsto 'single'.

Data Types: char | string

Output Arguments

collapse all

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 isthe number of audio channels in the file.

  • If you do not specify dataType,or dataType is 'double', then y isof type double, and matrix elements are normalizedvalues 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 valueof the input file. Call audioinfo to determinethe BitsPerSample value of the file.

    File FormatBitsPerSample Data Type of yDataRange of y
    WAVE (.wav)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    32int32-2^31 ≤ y ≤ 2^31–1
    32single-1.0 ≤ y ≤ +1.0
    64double-1.0 ≤ y ≤ +1.0
    WAVE (.wav) (u-law)8int16-32124 ≤ y ≤ +32124
    WAVE (.wav) (A-law)8int16-32256 ≤ y ≤ +32256
    FLAC (.flac)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    MP3 (.mp3), MPEG-4 AAC (.m4a, .mp4), OGG (.ogg), OPUS (.opus), and certain compressed WAVE filesN/Asingle-1.0 ≤ y ≤ +1.0

Note

Where y is single or double andthe BitsPerSample is 32 or 64, values in y mightexceed −1.0 or +1.0.

Fs — Sample rate
positive scalar

Sample rate, in hertz, of audio data y, returnedas a positive scalar.

Limitations

  • For MP3, MPEG-4 AAC, and AVI audio files on Windows 7 orlater and Linux platforms, audioread mightread fewer samples than expected. On Windows 7 platforms, thisis due to a limitation in the underlying Media Foundation framework.On Linux platforms, this is due to a limitation in the underlyingGStreamer framework. If you require sample-accurate reading, workwith WAV or FLAC files.

  • On Linux platforms, audioread readsMPEG-4 AAC files that contain single-channel data as stereo data.

Extended Capabilities

Version History

Introduced in R2012b

expand all

You 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.

See Also

audiowrite | audioinfo | Import Data

Topics

  • Read and Write Audio Files

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.

Read audio file - MATLAB audioread (1)

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:

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
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

Read audio file - MATLAB audioread (2024)
Top Articles
Latest Posts
Article information

Author: Gregorio Kreiger

Last Updated:

Views: 5499

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Gregorio Kreiger

Birthday: 1994-12-18

Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

Phone: +9014805370218

Job: Customer Designer

Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.