聲碼器
聲碼器(Vocoder,icon|ˈ|v|oʊ|k|oʊ|d|ər),源自人聲編碼器(voice encoder)的縮寫,又稱語音信號分析合成系統,對聲音進行分析與合成的系統,主要應用於合成人類語音。此編碼器主要的概念是將聲音編碼之後再進行傳輸,允許更多的語音頻道共享同一個的無線電電路或海底電纜。聲碼器可以用硬體或軟體的方式來實作,目前被廣泛應用於電子樂器[1] 上。
目錄
歷史
聲碼器最早出現在美國貝爾實驗室。貝爾實驗室工程師荷馬·達德利在1928年提出合成話音的設想,並於1939年在紐約世界博覽會上首次表演了他取名為聲碼器的話音合成器。此後,話音合成的原理被用來研究壓縮話音頻帶,在售價、結構、耗電等諸方面符合商用的聲碼器已經出現。
聲碼器的種類
如上述採用頻譜包絡和基頻作為參數的聲碼器稱為信道聲碼器。除信道聲碼器外,還有多種其他類型的聲碼器。它們在合成話音質量、數碼率和復雜程度等方面不同,主要的差別在於話音參數和提取這些參數的方式不同。例如,用共振峰的位置、幅度和寬度表示頻譜包絡的,稱為共振峰聲碼器;利用同態濾波技術,如對話音信號進行積分變換、取對數和反變換以獲得各參數的,稱為同態聲碼器;直接編碼和傳輸話音的基帶(如取200~600赫的頻帶)展現聲源特性的,稱為聲激勵聲碼器。此外,還有相位聲碼器、線性預測聲碼器(線性預測編碼)等。
理論
人講話時,人聲是由喉頭的聲帶開關聲門所產生,其中包括了許多周期性的波形與許多諧波,這些週期波可視為基本的聲源信號。這些聲源信號接著經由鼻子和喉嚨(可視為複雜的共振系統),藉由改變嘴型來改變此系統,而產生不同的諧波含量,創造了各式各樣的語音;另外濁音與塞音則是氣流經由不同嘴型產生。 聲碼器發信端的分析器對話音信號進行分析,將該信號被分裂成多個頻帶(這個數字越大,會得到更準確的分析)。輸入信號通過一個多頻帶濾波器,並將每個頻帶分別通過一個包絡檢測器,將包絡檢測器得到的控制信號輸出給解碼器。由於控制信號與原來的語音波形相比變化速度緩慢許多,因此聲碼器大幅降低了語音傳輸所需的頻帶。若將控制信號進行加密,則可以保證語音傳輸安全性,以防攔截。比起原始的語音資料,大約可將傳輸資料壓縮到原先的十幾分之一。 語音信號的重建則將步驟反轉;接收端接到每個頻帶的包絡線參數以後,分別得到每個頻帶的包絡線,可視為多個隨時變的濾波器。接著由一個新的「豐富頻率成分」的聲源信號(可視為噪音訊號),通過每個頻帶的濾波器得到每個頻帶的包絡線訊號,最後將這些訊號得加,得到還原語音訊號。 值得注意的是,通過以上的編碼方法,丟棄了許多原本信號的資訊,主要丟棄了信息頻譜的瞬時頻率,也就是頻譜的相位。這樣的資訊流失雖然保留了語音的可辨識度,但相位的遺失意味著音高的遺失,如中文的「平、上、去、入」等五聲的資訊將遺失,而聽起來的聲音會像機器人講話一般,沒有「抑揚頓挫」。這種「機器人式」的特殊音色,在流行音樂和音效娛樂受到歡迎,在電子音樂中廣泛的被應用。