2012-02-29 68 views
1

我想用讀取一個音頻文件編碼器。問題是不支持wavread(),但是因爲這是任何音頻編碼中非常重要的部分,所以我認爲必須有另一種方法來實現這一點? 有什麼想法?在Matlab編碼器中讀取.wav文件

回答

0

你的用例是什麼?如果你真的只想在MATLAB內的MEX函數中運行生成的代碼,你可以使用coder.extrinsic來調用wavread。這不會在MATLAB環境之外工作。

在MATLAB環境之外,您將需要使用自定義C代碼集成。

1

WAV文件格式相當簡單&廣泛記錄for example here。 您可以使用低級文件IO功能fopen(),fread(),fseek來讀取文件,假設這些文件本身可用。這正是wavread()在內部所做的 - 看看源代碼。

+0

真棒的答案,這正是我將如何實現它! – macduff 2012-02-29 17:49:03

+0

不幸的是'fopen()'在Matlab編碼器中不可用。否則,這將是最簡單的選擇。似乎需要某種與c代碼的集成,這是我想盡可能避免的。 – 2012-03-01 12:01:52

0

fopen()現在從Matlab 2013a開始支持。 See here

+0

我希望這是對上述答案的評論,但我無法做到這一點。 – student1 2013-07-21 07:16:01