2013-06-23 1 views
1

В настоящее время я работаю над водяными знаками аудиофайлов в Matlab для исследования математики. До сих пор я мог читать wav-файлы, используя wavread в Matlab. Однако, поскольку wav-файлы очень большие, результирующие данные также велики. Поэтому, чтобы упростить это, я хотел бы знать, как я смогу прочитать mp3-файл в Matlab. Пока я только пробовал читать mp3, используя dsp.AudioFileReader. Однако результирующие данные содержат только 0 и несколько других чисел, что явно не является правильными данными. Кто-нибудь, пожалуйста, поможешь мне? Спасибо огромное!Как читать MP3 в MATLAB

ответ

2

вы можете использовать этот код:

hfr = dsp.AudioFileReader('yourfile.mp3'); 
hplay = dsp.AudioPlayer('SampleRate',sample_rate_here); 
 while ~isDone(hfr) 
         audio = step(hfr); 
         step(hplay, audio); 
end 
+0

Это, кажется, работает только с фиксированным битрейтом. Возможно ли также vbr? – Tik0

+0

вы также работаете с vbr, см. Этот пример [здесь] (http://www.mathworks.com/matlabcentral/fileexchange/10061-vorbis-ogg-audio-encodingdecoding/content/ogg_toolbox/oggwrite.m) – MineScript

+0

Я пробовал использовать код выше, 'hfr = dsp.AudioFileReader (' yourfile.mp3 ') ", но результирующие данные в основном состояли из всех 0, что, очевидно, неверно. Я продолжаю поиск в Интернете, но до сих пор я до сих пор не могу найти способ читать mp3-файлы. – Math244

 Смежные вопросы

  • Нет связанных вопросов^_^