音頻信號處理

音頻訊號處理,又稱音訊處理,音樂訊號處理等,可以用來調整音樂訊號的震幅、頻率、波形等資訊。 利用一些簡單的加減乘除,升降頻,及窗函式(window function),就可以做出各式的聲音訊號,創造屬於自己的電子音樂。

簡介

音頻訊號處理,又稱音訊處理,音樂訊號處理等,可以用來調整音樂訊號的震幅、頻率、波形等資訊。

利用一些簡單的加減乘除,升降頻,及窗函式(window function),就可以做出各式的聲音訊號,創造屬於自己的電子音樂。

甚至透過一些訊號處理的技巧,可以從聲音訊號取得背後所代表的頻率高低,做更進一步的分析與套用。

音訊的來源

•當物體產生震動時,就會產生聲音,舉例來說:當用力揮動手掌時,就會產生聲音,以及蚊子翅膀快速震動時,所發出的擾人聲音。

•但是,在上述例子中,所聽到的聲音是來自於空氣震動,而不是因為手掌擺動,

•原因是人耳可以聽到的聲音頻率介於20Hz到20000Hz之間,所以我們可以聽到空氣振動產生的聲音,卻聽不到手掌擺動產生的聲音,因為擺動的頻率不夠快。

音訊的資訊

•聲音訊號是一種力學波,因此在傳播過程中是一種類比連續的訊號,然而由於人耳是天然的傅立葉轉換器,因此音訊經過人耳後會變成數位訊號。在這些訊號中,有三個特徵是處理時經常考慮的部分,可以參考下圖:

音量:從訊號來看,音量代表的是訊號的震幅,訊號振幅越大,所發出的音量也越大。

音頻:訊號的頻率,就是所謂的音頻,也就是聲音震動的頻率。其代表的是音調的高低,頻率越高,音調就越高。除此之外,樂器所產生的聲音訊號,並非是單一頻率的訊號,而是有基頻和泛音(倍頻)的存在。

音色:每一個人或樂器所發出的音色都不一樣,從訊號上來看,音色就是訊號的波形,因此只要利用波形分析,就可以判斷出聲音的來源,從下圖可以看到小提琴跟鋼琴的音色差異非常大。

1.

音量:從訊號來看,音量代表的是訊號的震幅,訊號振幅越大,所發出的音量也越大。

2.

音頻:訊號的頻率,就是所謂的音頻,也就是聲音震動的頻率。其代表的是音調的高低,頻率越高,音調就越高。除此之外,樂器所產生的聲音訊號,並非是單一頻率的訊號,而是有基頻和泛音(倍頻)的存在。

3.

音色:每一個人或樂器所發出的音色都不一樣,從訊號上來看,音色就是訊號的波形,因此只要利用波形分析,就可以判斷出聲音的來源,從下圖可以看到小提琴跟鋼琴的音色差異非常大。

音訊的檔案

•音訊的檔案儲存可以分成壓縮和無壓縮兩種,常見的無壓縮檔案格式為*.wav,而壓縮檔案格式為*.mp3,關於這一部分的詳細資訊可以參照音訊檔案格式。聲音檔的存取時,主要有三個需要考慮因素:

取樣頻率:在訊號處理中,取樣頻率所代表的是聲音的品質,取樣的頻率越高,數位訊號的波形越接近類比訊號的波形,因此聲音的品質也越好。而在做取樣時,必須遵守奈奎斯特頻率,簡單來說,頻率在取樣時至少要大於原訊號頻率的2倍,才可以得到有意義的訊號,也能還原成原本的訊號。

聲音解析度:存取訊號資料點所用的位元數,即代表其解析度。所使用的位元數越大,每個資料點的數值就越精確,聲音的解析度也越好。比較16bit與8bit兩種存取位元,16bit可以存取到較精確的數值,但是也會花比較大的硬體儲存空間。

聲道:聲道就是聲音的來源數,常聽到的單聲道及雙聲道,代表的是聲音是否有立體感。利用兩個喇叭,撥放單聲道的聲音,左右兩個喇叭發出的聲音完全相同,因此會感覺聲音是來自兩個喇叭中間,但若是雙聲道聲音,左右兩個喇叭發出的聲音會有一定差異,因此會覺得聲音聽起來有立體感。

1.

取樣頻率:在訊號處理中,取樣頻率所代表的是聲音的品質,取樣的頻率越高,數位訊號的波形越接近類比訊號的波形,因此聲音的品質也越好。而在做取樣時,必須遵守奈奎斯特頻率,簡單來說,頻率在取樣時至少要大於原訊號頻率的2倍,才可以得到有意義的訊號,也能還原成原本的訊號。

2.

聲音解析度:存取訊號資料點所用的位元數,即代表其解析度。所使用的位元數越大,每個資料點的數值就越精確,聲音的解析度也越好。比較16bit與8bit兩種存取位元,16bit可以存取到較精確的數值,但是也會花比較大的硬體儲存空間。

3.

聲道:聲道就是聲音的來源數,常聽到的單聲道及雙聲道,代表的是聲音是否有立體感。利用兩個喇叭,撥放單聲道的聲音,左右兩個喇叭發出的聲音完全相同,因此會感覺聲音是來自兩個喇叭中間,但若是雙聲道聲音,左右兩個喇叭發出的聲音會有一定差異,因此會覺得聲音聽起來有立體感。

•舉例來說,藉由MATLAB輸入指令audioinfo(音訊檔案名稱),可以得到音訊檔案的相關資訊如下圖:

因為檔案格式是*.wav,所以是無壓縮(uncompressed)。

聲道(NumChannels): 1

取樣頻率(SampleRate): 44100Hz

聲音解析度(BitsPerSample): 16

1.

因為檔案格式是*.wav,所以是無壓縮(uncompressed)。

2.

聲道(NumChannels): 1

3.

取樣頻率(SampleRate): 44100Hz

4.

聲音解析度(BitsPerSample): 16

MATLAB聲音信號處理指令

•[y, fs] = audioread(檔名):y是聲音訊號的向量,fs是取樣頻率。

•audioinfo(檔名):回傳各種聲音檔案的相關資訊,像是取樣頻率、通道數量、聲音解析度...等。

•sound(y, fs):以fs的頻率播放聲音訊號y。

•wavwrite(y, fs, filename):將y訊號,以取樣速率fs,寫到filename.wav之中。

•Y = fft(y):將時間軸上的訊號y,轉換為頻率軸上的訊號Y。

相關詞條

熱門詞條

聯絡我們