Question1: vocoder在合成中的角色???
合成概況
語音合成主要有波形拼接和參數合成兩種方法[1]。
波形拼接方法
使用原始語音波形替代參數,合成的語音清晰自然,質量相比於參數合成方法要好。PSOLA(pitch synchronous overlap add)算法可以對拼接單元的韻律特徵進行調整。
參數合成方法
提取參數->HMM建模->合成參數->波形重建
合成中的vocoder的作用主要是:提取語音信號的相關參數;根據相關參數合成出最終的語音。一些vocoder[2]如下:
- STRAIGHT可以產生高質量的合成效果,但是速度慢
- Real-time STRAIGHT在STRAIGHT基礎上簡化了算法,雖然速度變快,但是以損失性能爲代價
- TANDEM-STRAIGHT相比STRAIGHT性能差不多,但是做不到實時。
- WORLD相比於TANDEM-STRAIGHT,它在性能不變的前提下,減少了計算複雜度,實現了實時的合成。
WORLD是基於vocoder的語音合成工具
- F0 DIO->Harvest
- aperiodicity PLANTIUM->D4C
- spectral envelope CheapTrick
Question2: vocoder爲什麼可以用以上的三個參數來進行語音合成???
發聲建模
上圖基於人發聲機理的經典源-濾波器(source-filter)模型,其中源激勵部分對應於肺部的氣流和聲帶共同作用形成的激勵,聲道諧振部分對應於聲道的調音運動。
聲道模型
兩種建模方法:
- 將聲道看成多個不同截面積的短管串聯而成的系統,“聲管模型”
- 將聲道看做一個諧振腔,“共振峯模型”
激勵模型
聲帶激勵分爲兩類,可以產生清音(/p/ /b/)或者濁音(/m/ /a/)。輔音有清有濁,而多數語言中元音均爲濁音。
- 濁音(voiced)
氣流通過緊繃的聲帶,對聲帶進行衝擊而產生振動,使聲門處形成準週期性的脈衝串,激勵信號簡化爲週期性的脈衝激勵。
- 清音(unvoiced)
聲帶處於鬆弛狀態,不發生振動,氣流通過聲門直接進入聲道,激勵信號簡化爲隨機白噪聲。
上面的二元激勵模型將複雜的產生激勵過程簡單的劃爲兩部分,大大簡化了聲門激勵的特徵,但是合成語音的自然度較低。
STRAIGHT引入了混合激勵,濁音激勵由分別通過高低通濾波器的隨機噪聲序列和脈衝序列相加,清音的激勵源由噪聲序列疊加一個位置隨機的正脈衝並跟隨一個負脈衝構成的脈衝對形成的爆破脈衝。[3]
對應關係
- F0對應於激勵部分的
e(n) 中的週期脈衝序列 - spectral envelope對應於聲道諧振部分的
h(n) - aperiodicity對應於混合激勵部分的
e(n) 中的非週期序列
混合激勵可以通過aperiodicity來控制濁音段中的週期激勵和噪聲成分的相對比重
聲音指標
- 音高
跟聲波的基頻F0有關,影響聲音的聲調(漢語的四種聲調),跟聲帶震動的快慢有關 - 響度
跟聲波的振幅有關,聲音的大小 - 泛音
假設某個音的基頻爲f,則頻率爲2f的音稱爲第二泛音,頻率爲3f的音稱爲第三泛音 - 音色
基音和不同泛音的能量比例關係是決定一個音的音色的核心因素。跟聲帶的震動頻率、發音器官的送氣方式、聲道的形狀尺寸有關。 - 共振峯
共振峯是用來描述聲源內部的共振,特別是對樂器而言,指的是共鳴箱內的共振。
pitch跟聲帶有關(聲帶震動快慢),共振峯跟口腔的固有頻率有關(不同的口型和舌位對應不同的共振峯)。
參考文獻
[1].《語音信號處理》 韓紀慶
[2].WORLD: a vocoder-based high-quality speech synthesis system for real-time applications
[3].基於STRAIGHT 分析的高效語音合成算法研究