語音系列文章#2— 語音中的聲壓和共振峰
這篇文章的目的是想要紀錄自己所看到學到東西,畢竟把東西分享出來還是更有動力學得更多!
以下文章,是從《語言、語音與技術》中自行整理的筆記,若有興趣的讀者,歡迎啃書~~
以下的內容,皆為語音相關知識,可以作為科普文章來進行閱讀,那就讓我們開始吧!
若有看完上一篇的讀者,可能還是很難了解共振頻率的概念(Me too)
先前已經介紹過聲波的週期、頻率。因此本節的一開頭,就要來介紹振幅(能量大小)的部分。
Outline
- 聲壓 — 達因(dyne/cm²)
- 信噪比(S/N)
- 分貝、頻率關係圖
- 聲帶跟分貝的關係
- 語音的離散和連續現像
- 基本頻率和共振峰的關係
聲壓和分貝(dB)的關係
振幅的單位是分貝(db),那分貝是如何被測量的呢?
這個問題其實非常困難,因為我們所說的振幅並不是說單個空氣粒子的活動,而是所有空氣粒子合起來的壓力。聲波的壓力稱為「聲壓」,單位為「達因(dyne per centimeter square, dyne/cm²)」這個單位第一次聽沒關係,因為等等就會用其他單位來取代了。
這個達因是一個非常小的單位,有多小,讓我們來舉個例子:
如果在手掌上放一塊面積兩平方公分(邊長為1cm)的小木片,因地心引力的作用,這個木片可以對手掌產生500達因的壓力。這告訴我們什麼,一個很幾乎感受不出有重量的東西,居然可以產生500達因的壓力。
結論就是
「達因」是一個非常小的單位。
讓我們把場景轉換到耳朵,耳朵的構造非常神奇,可以感受到空氣中非常微小的壓力,小到0.0002達因(經過剛才的例子,應該可以知道這是一個非常非常小的壓力),大則可以大道到2000達因。不過若耳朵受到2000達因的壓力時,會非常不舒服,久了耳膜還會受損。
人類能感受到的聲音範圍非常大,從0.0002~2000達因都可以感受得到,這之間相差了1千萬倍!!而這個區間有點太大,對於使用上不太方便。
這個概念有點像是,隔壁A好吵,大概有1000達因的吵,另一邊B聲音也好吵,大概是1500達因。聽完之後,我們可能可以知道B比較吵,但是無法理解500達因的差距能有多大,難以使用。
因此,在計算聲音的壓力的時,不會使用達因這個「絕對單位」,而是使用兩個數字比率的對數(Log)。(Log的概念,就是可以把一個很大的數目壓縮得很小。)
信噪比
在聲壓這邊,我們使用「信噪比」(Signal to Noise ratio, S/N)的這項概念。
信(Signal):指得是想要聽到的聲音,
噪(Noise):噪音,指得是想要聽到聲音的「背景音」。
Example:我想聽Amma說話。這時Amma的聲音就是Signal,如果在聽Amma說話時,電風扇也在轉,而這時電風扇就是Noise。
信噪比就是Signal和Noise的比率(rate),由於比率的範圍可以很大,大到能差一千萬倍,因此取對數(log)在計算上會方便許多。
一般都是以10為基底的常用對數。
Example:
Signal 大概是0.0002,Noise為2,000,這時「信噪比」為140,而這得到的140的單位即是「分貝(dB)」!
因此,就單位dB來看,人類的聽覺範圍處在140dB以內(140dB已是讓耳朵很不舒服的狀態了)。
讓我們再舉一個日常生活中的例子:平常在房間講電話,信噪比大概是60dB左右,若假設目前房間裡面的噪音是1000達因,則可以推算出說話者的達因(聲壓)為多少,經過下圖計算後得到S = 1,000,000達因
假設講電話的聲音不變,換一個更吵雜的房間,噪音(N)比原本多十倍。信噪比變成40dB,如果我們想要改善信號跟雜訊之間的關係呢,可以大聲說話,增強信號的強度,或是減少噪音。
在進行語音實驗時,經常會透過會把噪音放大,進而研究各種語音的不同強度,或是人們在不同情況下的注意力,或是個別語音的顯著性。
如果Noise和Signal剛好相等:
如果Noise大於Signal,假設是兩倍的話則:
聲壓和電流
說話時會有不同的聲音,而不同的聲音就會產生不同的聲壓,雖然有時候在聽來可能都差不多,但是當把說話的聲音轉換成「電流」時,可以看到電壓表上的指針不停擺動,表示我們在說話的時,一個音到另一個音之間,聲壓是不停在變動的。
分貝、頻率關係圖
下面的圖是怎麼做出來的呢?
首先,用震盪器發出各個不同頻率的純音,在每個頻率上逐漸增加它的聲壓,直到人耳能聽見的地步,然後根據能聽到的Hz和分貝畫出一條條相對應的直線,在把所有直線的頂端連接起來,形成一條曲線。
從圖中來看,人耳對於低頻的純音並不敏感,例如純音在40dB的時候,一定要把分配拉到60dB才能聽得見(這也是為什麼超重低音音響會這麼貴的理由)而當頻率慢慢增加,人耳也會變得敏感,大約在1000~4000Hz之間的區域最為敏感,而超過4,000~5000後,耳朵的聽覺能力又逐漸降低。
為什麼人類在1000~4000Hz之間最為敏感呢?
1. 人類的神經系統所決定,
2. 人類的外耳也算是一根管子,而他共振峰的頻率也剛好在這個區域內。
聲帶跟分貝的關係
前一篇提到,聲帶的諧音有「頻率越高、振幅越低」的特性。因此,若把聲帶的諧音放到「線譜」中,若將所有直線上的頂端連起來必然是一條往下降的線,因為第一次諧波的頻率就是基頻(F0),後續的諧波是基頻的整數倍,而在這些諧波中,頻率越高、振幅越小。這也是為什麼高音聽起來相對比較弱,低音聽起來力量比較強。
當換一種想法的話,就是說頻率增加、分貝會下降(振幅下降)。
而頻率每升高一個音階,振幅大概會降低大概12dB左右。
這些專有名詞實在很容易搞混,因此這邊再多介紹一下,
聲帶的諧音:指得是聲帶震動產生聲音時,所產生的一系列諧波。
語音的離散和連續現象
在前一篇,在「線譜」上看到的是一條條垂直的直線,這是因為聲帶發音時,聲帶是主動推動一個個空氣粒子,因此該時發出的音是一種「離散現象」,等同於一個一個,個別的純音。
但是!當聲帶音經過咽腔和口腔後,這兩個部位對聲帶音的反應就不是一種離散現象,而是一種「連續現象」了。因為經過口腔的聲波,在傳播過程中會受到反射、折射等多種影響,使得聲帶音在口腔中產生共振效應,這效應使聲帶音的頻率成分更加豐富,進而形成連續的聲音訊號。
首先,先來看共振峰(Format)的定義:
聲音波形中,頻率能量最強的那些頻率區域。
下圖是一個名為「數字語音信號譜包絡」(spectral envelope)的曲線。下圖中,可以看到共振峰中心的諧音能量最強、振幅較大,而圖型的兩邊也有頻率只是能量比較小。
如何區別離散和連續也是相當重要的議題
一般來說語音是連續的,而電腦能使用的資訊必須是離散,因此就需要有中間轉換的工具,Analog to Digital, AD或Digital to Analog, DA,來進行連續和離散之間的轉換。也就是先把輸入的語音資料,從連續狀態轉換為離散的現象,進行分析處理後,在從離散現象轉換為連續,使分析結果還原成語音輸送出來。
有個方法稱為Spectral envelope可以表現出共振峰的整個情況,如果一個音的共振峰頻率是250Hz,共振峰的頂端就在橫軸250Hz,左右兩邊會漸漸低下來。但如果一個音有好幾個不同的共振峰,頻率分別是500, 1500, 2500。然後把這三個共振峰合再一起,這個圖形就比較接近一般的元音了(詳見下圖)。
帶寬(Band width)
若只用頻率和振幅這兩個元素來表示共振峰,還是能有很多不同型態的共振峰,請參考下圖。從圖片上,我們看到就算「頻率、振幅相同」,波形還是可以很不一樣。
那這時候要如何去辨別不同的共振峰?
這時候就需要知道每個共振峰的帶寬(Band width)。
帶寬(Band width)的概念很簡單,說起來有點公式化,就是從共振峰的定點往下降三個分貝(ㄎ),畫出一條平行線,和共振峰的曲線相交,相交的兩點都有他的頻率值,而兩頻率相減後,就是這個共振峰的band width。
基本頻率和共振峰的關係
專有名詞解釋:
基本頻率:聲波中最基本的頻率成分。
共振峰:聲音波形中,頻率能量最強的那些頻率區域。
聲帶震動產生頻率F0,發音器官形成共振峰F1, F2, F3等等。F0是完全由肌肉、軟骨各種動作主動發出來;F1, F2, F3等等的頻率則是由發音器官的形狀被動決定。而這些被動的共振峰(F1, F2, F3…)之間相互有影響,但是和F0是相互獨立,不具有依存關係。
當我們說話不讓聲帶震動發出「耳語音」,這時候F0並沒有作用,但還是可以有F1, F2, F3…。有了上述概念後,我們發現,聲帶震動時可以是[i][a][u],聲帶不震動也可以是[i][a][u],代表只要發音器官形狀不變,共振峰的頻率也不變(變得只有振幅大小),即是聲帶不震動,仍然可以辨別這些信息。
再換一種情況,如果發音器官不變而F0頻率改變,語音的音高就會發生變化。例如:衣、移、以、義,這四個字共振峰的頻率沒有改變,但是F0卻改變了。語調(聲調)的高低是由F0所決定的。
聲調在耳語的時候也能表達,但是這個剛剛所說的好像有點出入。因為剛剛說到聲調是由F0所決定,而表達耳語時,無需使用到聲帶,沒有F0。
實際上,語音的傳達不只有一個方面,聲調也是如此,它不僅僅只靠F0,還需要考慮到振幅、頻率等等的因素。下圖的例子,是以F0和dB為橫軸畫出的圖片,發現兩個圖形長得差不多,表示其實聲調(F0)和振幅的關係是非常相像,也代表說耳語中聲調的表達,實際上是有振幅在起作用的。
因此,F0和共振峰的關係:
假設不改變F0的頻率,只改變共振峰的頻率(也就是改變發音器官的形狀)語音的音色也會發生變化。
音色
區分不同樂器或不同人聲的一種特性,同樣的音高和音量,在不同樂器會有不同的音色,這是因為每種聲音都是由不同的頻率所組成。