2015-11-04 184 views
1

我只是試圖用wavwrite輸出3個聲音文件(.wav)。我在MATLAB中使用的數據使用soundsc可以播放聲音,但由於某些原因,3個聲音文件中的2個沒有任何聲音。在此之後wavwrite輸出文件沒有聲音

[data,Fs] = wavread('prj1.wav'); %Data file I read in 
...%filtering with cascaded FIR filter 

dataFiltered = filter(Hd,data); %applying filter to data 
soundsc(dataFiltered,Fs) %plays perfectly 
pause(6) 
wavwrite(dataFiltered,Fs,'FIR_Cascade_Signal.wav'); %writes out perfectly, can play back fine. 

我的問題出現了:

...%Filter with different method, simple IIR filter if curious 

dataFiltered2 = filter(Gd,data); %applying second type of filter 
soundsc(dataFiltered2,Fs) %plays back fine, loud and clear 
pause(6) 

播放的聲音完美

wavwrite(dataFiltered2,Fs,'IIR_Cascade_Signal.wav');%Outputted file has NO SOUND 

寫出一個聲音文件,但不能聽到任何

...%Filtering with notch filter. This uses dataFiltered2 as the first stage, and then filters out a 30Hz harmonic with the Notch filter 

Yfilt_stage2 = filter(B,a,dataFiltered2); 
soundsc(Yfilt_stage2,Fs); %Plays loud and clear, can hear everything 
wavwrite(Yfilt_stage2,Fs,'Notch_Filtered_Signal.wav');%Again, no sound in output file 

任何幫助,將不勝感激!

+1

如果你用'sound'而不是'soundsc'來聽它會發生什麼?此外,'wavwrite'將在未來版本中被刪除,也許你可以考慮使用'audiowrite'。 – JacobD

+0

聽起來像'soundsc'。我也意識到'audiowrite'將會取代'wavewrite'。現在,功能是相同的,都不寫出任何聲音。我認爲這可能只是我的電腦的一個問題,我正在研究它。 –

+0

你能提供一個極簡的例子,我們可以重現這個問題嗎?也許使用一些示例WAV文件和過濾器。另外,你是否能夠通過每個階段繪製信號並在'wavwrite'處找出問題? – JacobD

回答

0

這是我的電腦本身的問題。我在另一臺計算機上試過我的代碼,它工作正常。