Main Content

read

Read next consecutive audio file

Description

data = read(ADS) returns audio extracted from the datastore. Each subsequent call to the read function continues reading from the endpoint of the previous call.

example

[data,info] = read(ADS) also returns information about the extracted audio data.

example

Examples

collapse all

Specify the file path to the audio samples included with Audio Toolbox™. Create an audio datastore that points to the specified folder.

folder = fullfile(matlabroot,'toolbox','audio','samples');
ADS = audioDatastore(folder);

While the audio datastore has unread files, read consecutive files from the datastore. Use progress to monitor the fraction of files read.

while hasdata(ADS)
    data = read(ADS);
    fprintf('Fraction of files read: %.2f\n',progress(ADS))
end
Fraction of files read: 0.03
Fraction of files read: 0.05
Fraction of files read: 0.08
Fraction of files read: 0.10
Fraction of files read: 0.13
Fraction of files read: 0.15
Fraction of files read: 0.18
Fraction of files read: 0.21
Fraction of files read: 0.23
Fraction of files read: 0.26
Fraction of files read: 0.28
Fraction of files read: 0.31
Fraction of files read: 0.33
Fraction of files read: 0.36
Fraction of files read: 0.38
Fraction of files read: 0.41
Fraction of files read: 0.44
Fraction of files read: 0.46
Fraction of files read: 0.49
Fraction of files read: 0.51
Fraction of files read: 0.54
Fraction of files read: 0.56
Fraction of files read: 0.59
Fraction of files read: 0.62
Fraction of files read: 0.64
Fraction of files read: 0.67
Fraction of files read: 0.69
Fraction of files read: 0.72
Fraction of files read: 0.74
Fraction of files read: 0.77
Fraction of files read: 0.79
Fraction of files read: 0.82
Fraction of files read: 0.85
Fraction of files read: 0.87
Fraction of files read: 0.90
Fraction of files read: 0.92
Fraction of files read: 0.95
Fraction of files read: 0.97
Fraction of files read: 1.00

Specify the file path to the audio samples you want to include in the audio datastore. In this example, the samples are located on a local desktop. Create an audio datastore that points to the specified folder.

folder = 'C:\Users\audiouser\Desktop';
ADS = audioDatastore(folder,'LabelSource','foldernames');

When you read data from the datastore, you can additionally return information about the data as a structure. The information structure contains the file name, any labels associated with the file, and the sample rate of the file.

[data,info] = read(ADS);
info
info = 

  struct with fields:

    SampleRate: 44100
      FileName: 'C:\Users\audiouser\Desktop\Turbine-16-44p1-mono-22secs.wav'
         Label: Desktop

Input Arguments

collapse all

Specify ADS as an audioDatastore object.

Output Arguments

collapse all

Audio data, returned as a M-by-N matrix, where:

  • M –– Total samples per channel in file.

  • N –– Number of channels in file.

Information about audio data, returned as a struct with the following fields:

  • FileName –– Name of the current file.

  • Label –– All labels of the file.

  • SampleRate –– Sample rate of the file.

Version History

Introduced in R2018b