读取和写入音频文件
将数据写入到音频文件,获取文件信息,然后将数据读回到 MATLAB® 工作区。
写入音频文件
从文件 handel.mat
加载示例数据
load handel.mat
工作区现在包含音频数据矩阵 y
和采样率 Fs
。
使用 audiowrite
函数将数据写入当前文件夹中名为 handel.wav
的 WAVE 文件。
audiowrite("handel.wav",y,Fs) clear y Fs
audiowrite
函数也可以写入其他音频文件格式。有关支持格式的完整列表,请参阅支持的导入和导出的文件格式。
获取有关音频文件的信息
使用 audioinfo
函数获取有关 WAVE 文件 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
返回一个 1×1 结构体数组。SampleRate
字段指示音频数据的采样率,以赫兹为单位。Duration
字段指示文件的持续时间,以秒为单位。
读取音频文件
使用 audioread
函数读取文件 handel.wav
。audioread
函数可以支持其他文件格式。有关支持格式的完整列表,请参阅支持的导入和导出的文件格式。
[y,Fs] = audioread("handel.wav");
播放音频。
sound(y,Fs)
您也可以通过交互方式读取文件。选择 导入数据或双击当前文件夹浏览器中的文件名。
绘制音频数据图
创建一个与 y
长度相同的向量 t
,表示经过的时间。
t = 0:seconds(1/Fs):seconds(info.Duration); t = t(1:end-1);
将音频数据绘制为时间的函数。
plot(t,y) xlabel('Time') ylabel('Audio Signal')
另请参阅
audioinfo
| audioread
| audiowrite