求MATLAB语音信号采集的程序?[y,fs,nbits]=wavread('D:\MATLAB\work\shengkacaiji.wav');为什么错误呢?
补充:AI = analoginput('winsound');
chan = addchannel(AI,1);
set(AI,'SampleRate',8000)
ActualRate = get(AI,'SampleRate');
set(AI,'TriggerChannel',chan)
set(AI,'TriggerType','software');
set(AI,'Triggercondition','rising');
set(AI, 'TriggerDelayUnits', 'seconds');
set(AI,'timeout',2)
Fs = ActualRate;
start(AI)
try
[data1,time]=getdata(AI);
timecatch time=0;data1=0;
disp('A timeout occurred.');
end
subplot(2,1,1)
plot(time,data1)
xlabel('Time (sec.)')
ylabel('Signal Level (Volts)')
grid on
blocksize =length(data1);
window = hanning(blocksize);
data2=window.*data1;
[b,a]=ellip(4,0.1,20,3000*2/Fs);
data=filter(b,a,data2);
wavwrite(data1,'C:\shengkacaiji.wav')
delete(AI)
clear AI
[f,mag] = daqdocfft(data1,Fs,blocksize);
subplot(2,1,2)
plot(f,mag)
grid on
ylabel('Magnitude (dB)')
xlabel('Frequency (Hz)')
title('Frequency Components of Incoming Signal')
xlim([0 1500])
[ymax,maxindex] = max(mag);
disp(['Maximum occurred at ', num2str(maxindex), ' Hz'])
怎么不出图形呢,求指教
追问:路径没错呀,Error using ==> wavread
Cannot open file.,不知道怎么回事,那分号我也知道啊,我是个初学者,不懂啊,悲剧
答案:错误提示是什么啊?你的路径没有问题吧?
最后的那个分号需要是英文字符啊!
其他:[y,fs,nbits]=wavread('D:\MATLAB\work\shengkacaiji.wav');
你的文件没超过1M吧?!
建议:试一下[y,fs bits]=wavread('shengcaiji.wav');
上一个:MATLAB编程
下一个:哪位高手MATLAB比较好 我有几行程序请教