聲音訊號(audio signals)簡稱音訊,泛指由人耳聽到的各種聲音的訊號。一般來說,發音體會產生震動,此震動會對空氣產生壓縮與伸張的效果,形成聲波,以每秒大約 340 公尺的速度在空氣中傳播,當此聲波傳遞到人耳,耳膜會感覺到一伸一壓的壓力訊號,內耳神經再將此訊號傳遞到大腦,並由大腦解析與判讀,來分辨此訊號的意義。
音訊有些基本的特質,可說明如下:
- 音量(volume):聲音的大小稱為音量,又稱為力度、強度(intensity)或是能量(energy)。音量越大,代表音訊波形的震幅越大。
- 音高(pitch):音高可以由聲音的基本頻率(fundamental frequency)越高,而基本頻率則是基本週期(fundamental period)的倒數,換句話說,一秒內出現的基本週期個數,即是基本頻率。聲音的基本頻率越高,代表音高越高(例如女高音的歌聲);反之,聲音的基本頻率越低,代表音高越低(例如男低音的歌聲)。
- 音色(Timber):音訊波形在每個基本週期內的變化,就形成了此音訊的音色。不同的音色即代表不同的音訊內容,例如不同的母音有不同的發音,或是不同的歌手有不同的特色,這些都是由於音色不同所產生的現象。
瞭解這些特質,可使我們對音訊有更進一步的認識,並更容易瞭解本章各小節的程式範例。
MATLAB 從第五版後,新增了對音訊檔案讀寫的功能,並能直接錄製聲音訊號與播放。由於 MATLAB 本身就具有強大的矩陣運算與訊號處理的各種函數,因此如果你的研究或工作和音訊相關,使用 MATLAB 來進行音訊的處理,是再方便不過了!
本章只介紹如何使用 MATLAB 來對音訊檔案進行讀取與寫入,並說明如何進行音訊的錄製與播放。由於篇幅有限,本章並不介紹音訊處理與辨識的各種方法,有興趣的讀者,可進一步參考下列資訊:
- 本人所撰寫的公開教材「Audio Signal Processing and Recognition, 音訊處理與辨識」(http://mirlab.org/jang/books/audioSignalProcessing)。
- 本人所開發之工具箱「Speech and Audio Processing Toolbox」(http://mirlab.org/jang/matlab/toolbox/sap)。
- MATLAB總公司所開發的「訊號處理工具箱」(Signal Processing Toolbox)或「數位訊號處理方塊集」(DSP Blocksets)。
MATLAB程式設計:入門篇