Write data to an audio file, get information about the file, and then read the data back into the MATLAB® workspace.
Load sample data from the file, handel.mat
load handel.mat
The workspace now contains a matrix of audio data, y
,
and a sample rate, Fs
.
Use the audiowrite
function to write
the data to a WAVE file named handel.wav
in the
current folder.
audiowrite('handel.wav',y,Fs) clear y Fs
The audiowrite
function also can write
to other audio file formats such as OGG, FLAC, and MPEG-4 AAC.
Use the audioinfo
function to get information
about the WAVE file, handel.wav
.
info = audioinfo('handel.wav')
info = Filename: 'pwd\handel.wav' CompressionMethod: 'Uncompressed' NumChannels: 1 SampleRate: 8192 TotalSamples: 73113 Duration: 8.9249 Title: [] Comment: [] Artist: [] BitsPerSample: 16
audioinfo
returns a 1-by-1 structure array.
The SampleRate
field indicates the sample rate
of the audio data, in hertz. The Duration
field
indicates the duration of the file, in seconds.
Use the audioread
function to read the
file, handel.wav
. The audioread
function
can support WAVE, OGG, FLAC, AU, MP3, and MPEG-4 AAC files.
[y,Fs] = audioread('handel.wav');
Play the audio.
sound(y,Fs)
You also can read WAV, AU, or SND files interactively. Select
Import Data or double-click the file name in the Current
Folder browser.
Create a vector t
the same length as y
,
that represents elapsed time.
t = 0:seconds(1/Fs):seconds(info.Duration); t = t(1:end-1);
Plot the audio data as a function of time.
plot(t,y) xlabel('Time') ylabel('Audio Signal')
audioinfo
| audioread
| audiowrite