源程序
FilePath = 'm010002.wav';
[wavsig,Fs,NBbits] = wavread(FilePath);
报错信息
'wavread' 已删除。请对代码进行相应更改后改用 'audioread'。
出错 SpeechLPC (第 20 行)
[wavsig,Fs,NBbits] = wavread(FilePath);
原因:
函数或变量 'wavread' 无法识别。
修改程序
wavread
函数在较新版本的 MATLAB 中已被 audioread
函数取代。audioread
提供了类似的功能,但用法稍有不同。audioread
返回音频数据和采样率,但不直接返回位深度(比特数)。如果需要获取位深度,可以使用 audioinfo
函数。
下面是修改后的代码,它使用 audioread
来读取音频文件,并通过 audioinfo
获取额外的文件信息,如位深度。
% 文件路径
FilePath = 'm010002.wav';
% 使用 audioread 读取音频数据和采样率
[wavsig, Fs] = audioread(FilePath);
% 使用 audioinfo 获取音频文件的详细信息
info = audioinfo(FilePath);
% 从 info 结构体中获取位深度
NBbits = info.BitsPerSample;
% 现在 wavsig, Fs 和 NBbits 包含了所需的数据
这段代码完成了与原先 wavread
相同的任务,适应了 MATLAB 的更新。