2015-04-22 130 views
0

我在讀取matlab中的mp3文件時遇到了一些麻煩。 有應該做這項工作的功能audioread,但它不起作用。在Matlab中對MP3文件使用audioread

>> [x Fs] = audioread('Corner.mp3'); 
*** audioread: problem reading Corner.mp3:Too many input arguments. 
*** audioread: returning empty waveform 

該功能可以在WAV文件中正常工作。我真的不知道問題來自哪裏,我在這裏搜索並使用谷歌,但沒有成功。

你有什麼想法嗎?

編輯:這裏是MP3文件:http://www8.zippyshare.com/v/zZQpECRF/file.html

編輯2:我用Matlab 7.12.0(R2011a)在Windows 8筆記本電腦。

編輯3:似乎我的Matlab版本太舊了。現在我正在使用R2014a版本,它完美地工作!

+0

你在哪個平臺上?什麼版本的MATLAB?您的MP3文件在其他軟件中是否可以正常播放? – siliconwafer

+0

發佈您的MP3文件的重現性 – krisdestruction

+0

是的,我的MP3文件使用Windows媒體播放器正確播放。我正在使用7.12.0(R2011a)Matlab版本。 – Xema

回答

1

您的回答在Matlab 2015a中不可重現。由於hiandbaii你的Matlab版本太舊了。使用你的MP3文件並更新到更新版本的Matlab,它會起作用。

>> [x Fs] = audioread('Corner.mp3'); 
>> Fs 
Fs = 
     44100 
>> size(x) 
ans = 
    12899250   2 
+0

你可以在主帖中下載mp3文件! – Xema

+0

@Xema您正在使用內置的功能嗎?不是FEX上的東西? – krisdestruction

+0

我不得不在添加audioread文件後(不是在FEX上)。顯然,這是R2012b中的內置函數,而不是R2011a中的函數。 – Xema

1

Matlab文檔說,audioread是「引入R2012b」。我無法在官方2011a matlab文檔中找到audioread

+0

我不得不下載audioread文件,所以也許這就是爲什麼它不工作。帶有.wav的audioread調用wavplay(支持,所以它工作)。不過關於.mp3,可能需要使用R2012b Matlab。 – Xema

0

來自Labrosa(哥倫比亞)的Dan Ellis早先寫了一些用於導入mp3 m4a和flac文件的matlab代碼。
這也適用於舊的Matlab版本。
檢查:http://labrosa.ee.columbia.edu/matlab/audioread/
好運

+0

感謝您的回答,但問題已經解決使用R2014a Matlab版本(其中已引入audioread)。 – Xema