Read and Write Audio Files - MATLAB & Simulink (original) (raw)
Write data to an audio file, get information about the file, and then read the data back into the MATLABĀ® workspace.
Write to Audio File
Load sample data from the file, 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. For a full list of viable formats, see Supported File Formats for Import and Export.
Get Information About Audio File
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.
Read Audio File
Use the audioread
function to read the file,handel.wav
. The audioread
function can support other file formats. For a full list of viable formats, see Supported File Formats for Import and Export.
[y,Fs] = audioread("handel.wav");
Play the audio.
You also can read files interactively. Select Import Data or double-click the file name in the Current Folder browser.
Plot Audio Data
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')
See Also
audioinfo | audioread | audiowrite