2011-06-12 54 views
1

我想輸入在MATLAB波形文件,這樣我可以處理它使用過濾器,當我來到輸入波形文件名爲wave.wav,該文件位於我的桌面上,然後我用如何將「.wav」文件讀入MATLAB?

[y, fs, nb] = wavread('wave.wav'); 

來讀取波形文件,但總是給我一個錯誤cannot open file,我能想到的唯一的事情是該函數不知道wave.wav的路徑,任何幫助? 我怎樣才能播放文件也使用MATLAB後讀取,sound()

回答

3

是的,你在兩方面都是正確的。使用文件的完整路徑,並使用sound函數播放它。有關詳盡的示例,請參見this reference page。 Mathworks的文檔非常全面。

+0

是的,它工作但是當我播放聲音時,出來的音調與實際的音調不一樣,我認爲它只是包含背景音調或某種東西,我該如何解決這個問題? – Shadi 2011-06-12 03:23:12

+0

@Shadi繪製它看看它發生了什麼。如果您有純音的示波器軌跡,請將您的Matlab導入值與此值進行比較。原聲從哪裏來?原音上是否有過濾器?如果是這樣,你必須在Matlab中將這些應用到你的波形中。 此外,我之前引用的那個頁面說,您可以使用導入嚮導來引入文件。也嘗試通過這種方式。 – jonsca 2011-06-12 03:29:15

0

使用的完整路徑的文件,您可以使用soundsc(y,fs)代替sound

+0

我如何知道輸入波的fs,以便聲音輸出正確 – Shadi 2011-06-12 03:37:06

+0

@Shadi關於採樣率的信息也在我鏈接的頁面上。請仔細閱讀。 – jonsca 2011-06-12 03:42:59

1

此作品播放的聲音: [Y,FS = wavread( '文件名');聲音(y,Fs);

注意:文件名可以是任何音頻文件。但使用轉換器.mp3到.wav coz文件名必須是wav格式(很少有人甚至說waveread會自動將文件轉換成.wav文件,但在我的情況下它沒有!!) :)