matlab中wavread函数错误改用方法

matlab中wavread函数错误改用方法

很多人在用matlab时因为新的matlab版本不能用wavread函数而不能使用语音处理,这里给出了改进方法,可以在之前的代码上做修改:

代码

之前.

// An highlighted block
[y, fs, nbits]=wavread(['trainning\' speakerData(i,1).name]);
文件名由'trainning\'和' speakerData(i,1).name'拼接而成

之后.

// An highlighted block
filename=strcat(['trainning\' ,speakerData(i,1).name]);
[y,fs]=audioread(filename);
ainfo = audioinfo(filename);
nbits = ainfo.BitsPerSample;
p=audioplayer(y,fs,nbits);

第一篇博客,请多指教~

  • 37
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
### 回答1: wavread函数MATLAB读取WAV文件的函数。它的语法如下: [y, Fs] = wavread(filename) 其,filename是要读取的WAV文件名,y是读取到的音频数据,Fs是采样率。 例如,要读取名为test.wavWAV文件,可以使用以下代码: [y, Fs] = wavread('test.wav') 读取到的音频数据存储在y,采样率存储在Fs。可以使用MATLAB的其他函数对读取到的音频数据进行处理和分析。 ### 回答2: MATLABwavread函数主要用于读取wav文件并将其解码成数字信号。wavread函数可以输出两个参数,第一参数为解码后的音频数据,数组的大小为[R,C];第二参数为采样率,表示每秒采样的样本数。 wavread函数的语法格式为: [y,Fs] = wavread('filename'); 其,filename表示要读取的wav文件名,y为解码后得到的音频数据,Fs为对应的采样率。 特别地,若要在读取音频时截取其的一部分,可以使用下面的语法格式: [y,Fs] = wavread('filename', [start, end]); 其,start和end表示开始采样和结束采样的位置,单位为采样数。该语法会返回wav文件从start到end段时间的音频数据和对应的采样率。 wavread函数还有一些其他的参数选项,例如: - 'native': 以原始尺寸读取音频文件,返回的数据类型是单精度浮点数。 - 'double': 以双精度浮点数的形式读取音频文件。 - 'char': 以字符形式读取音频文件,返回的数据类型是char。该格式通常用于加载文本音频音乐。 在使用wavread函数时,用户需要注意以下几点: 1. wavread函数需要读取的wav文件必须处于MATLAB可以访问的路径下。 2. wav文件的采样率可能不同,需要根据实际情况进行处理或转换。 3. 如果wav文件过大,可能会导致读取和存储速度变慢,可以考虑读取和处理部分数据,而不是整个文件。 总之,wavreadMATLAB常用的读取wav文件的函数,用户可以根据实际需求进行选择和处理。 ### 回答3: 在MATLAB进行音频处理时,其一个最基础的操作就是读取音频文件,wavread函数就是用来读取WAV格式音频文件的。具体使用方法如下: 语法:[y, Fs] = wavread(filename) 参数: - filename:需要读取的WAV文件的文件名。可以是完整路径名,也可以是相对路径名。 输出: - y:读取的音频数据,其类型为双精度数组,每个样本值都在-1到1之间。如果该音频文件有多声道,则返回的y是一个矩阵,每一列代表一个声道的数据。 - Fs:音频数据的采样频率,以赫兹为单位。 使用示例: 读取“test.wav”文件并存储到变量y: [y, Fs] = wavread('test.wav'); 读取“test.wav”文件并仅返回音频数据: y = wavread('test.wav'); 注意:Matlab R2015b及其以上版本已经不再支持wavread函数,而是被audioread函数替代。使用audioread的方式与wavread类似: 语法:[y, Fs] = audioread(filename) 参数与输出与wavread函数相同,仅语法不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值