![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
使用matlab的wavread函数总提示出错,那位高手指点下啊
我在笔记本上录了一个声音文件,保存为.wav格式,然后保存在matlab的默认文件夹。为什么我是用[y,Fs,Nbits]=wavread(‘sy.wav’)调用时就提示...
我在笔记本上录了一个声音文件,保存为.wav格式,然后保存在matlab的默认文件夹。为什么我是用[y,Fs,Nbits]=wavread(‘sy.wav’)调用时就提示
??? Error using ==> wavread at 166
Not a WAVE file. 展开
??? Error using ==> wavread at 166
Not a WAVE file. 展开
2个回答
展开全部
这是我自己曾经写的一段代码,希望对你有借鉴
clc;
fs=8000;
channel=1;
t=5;
fprintf('按任意键后开始 %d 秒录音:',t);
pause;
fprintf('录音中...');%文字提示
y=wavrecord(t*fs, fs,channel,'double');%录制语音信号
fprintf('录音结束\n');%文字提示
wavwrite(y,fs,'d:\matlab.wav');% 存储录音信号,先创建文件
fprintf('按任意键后回放:');
pause;
wavplay(y,fs);
[y, Fs, nbits] = wavread('d:\matlab.wav')
N=length(y);%求语音信号的长度
Y=fft(y,N); %傅里叶变换
subplot(2,2,1);
plot(y); title('原始信号波形');
subplot(2,2,2);
plot(abs(Y)); title('原始信号频谱');
clc;
fs=8000;
channel=1;
t=5;
fprintf('按任意键后开始 %d 秒录音:',t);
pause;
fprintf('录音中...');%文字提示
y=wavrecord(t*fs, fs,channel,'double');%录制语音信号
fprintf('录音结束\n');%文字提示
wavwrite(y,fs,'d:\matlab.wav');% 存储录音信号,先创建文件
fprintf('按任意键后回放:');
pause;
wavplay(y,fs);
[y, Fs, nbits] = wavread('d:\matlab.wav')
N=length(y);%求语音信号的长度
Y=fft(y,N); %傅里叶变换
subplot(2,2,1);
plot(y); title('原始信号波形');
subplot(2,2,2);
plot(abs(Y)); title('原始信号频谱');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询