作者DigiPrince (幻無影)
看板MATLAB
標題Re: [問題] MATLAB可以讀5.1聲道的WAV檔嗎
時間Thu Jul 30 16:15:05 2009
※ 引述《wes7034 (black)》之銘言:
: 如提~~
: 目前MATLAB讀WAV的指令"wavread"就我所知好像只能讀不多於雙聲道的音訊
: 有沒有大大知道,或是有什麼辦法用MATLAB讀5.1聲道嗎??
: 先謝謝各位了~~~
不是很確定您的檔案是哪種格式,不過小弟是用下面這個網站的範例做測試的:
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html
裡面分別有一個六聲道一個八聲道,格式為 PCM 的 wav 檔。
● 注意!接下來會修改到 MATLAB 內部的函數檔案,風險請自負。
進入 MATLAB,在 Command Window 輸入:which wavread
執行後 MATLAB 會顯示出 wavread 之函數檔位置,例如:
C:\Program Files\MATLAB\R2008a\toolbox\matlab\audiovideo\wavread.m
用記事本或其他您用得順手的文字編輯器打開這個函數檔。
找到以下的段落(約在檔案的第 533 行左右,可能因版本不同而有差異)
switch wavefmt.wFormatTag
case 1
% PCM Format:
[dat,msg] = read_dat_pcm(datack,wavefmt,ext,isNative);
將
case 1 修改為
case {1, 65534}
最後,存檔,重開 MATLAB。
完成!
P.S. 測試時若想用 soundsc 播放請注意 MATLAB 只能一次播放至多兩個聲道。
※ 編輯: DigiPrince 來自: 61.58.102.177 (07/30 16:16)
1F:推 wes7034: 真的很感謝你~~ 已經修改過了~~也可以讀了~~~ 感恩~~~~ 07/31 11:51
2F:推 wes7034:不過可以問一下為什麼要這樣改嗎?? 07/31 11:54