dcs world f15c教学_开源声码器WORLD在语音合成中的应用
語音合成(TTS)是語音AI平臺的基礎設施,而聲碼器則決定著其中的聲學模型以及合成質量。喜馬拉雅FM音視頻高級工程師 馬力在LiveVideoStack線上交流分享中詳細介紹了新一代合成音質更高,速度更快的開源免費WORLD聲碼器的原理架構,并結合Tacotron模型,演示中文語音合成的應用。本文由LiveVideoStack整理而成。
文 / 馬力
整理 / LiveVideoStack
直播回放
https://www.baijiayun.com/web/playback/index?classid=19011464750298&token=CsIfi1xWq7ThKKZLIMQ5hiQNTSk0P2AyhhMp79C4U-kb-AOqYz3LwsEdteadTNg-CqdH1zJ1Si0
大家好,我是馬力,現就職于喜馬拉雅FM擔任音視頻高級工程師,本次我將為大家介紹開源聲碼器WORLD在語音合成中的應用。
1. Tacotron+WORLD
WORLD聲碼器可與谷歌的開源語音合成模型Tacotron結合使用,如何實現這一過程呢?Tacotron是一種端到端的TTS深度學習模型,所謂“端到端”是指利用前端文本直接預測后端聲譜,整合了之前的獨立子模塊,達到系統整體最優;WORLD則是一種聲碼器,與Tacotron結合可基于人類發音頻譜將文字轉化為與人類發音相似的聲音:將每個文字轉化為拼音之后,聲碼器會把每個拼音看作為一個序列而Tacotron會在此基礎上預測每段需要合成語音的序列,隨后WORLD聲碼器再將預測出的聲譜轉換為原始的聲音波形。Tacotron主要負責確定此聲譜特征能否使用WORLD將其恢復為聲音波形并評估語音質量是否符合要求。
1.1 WORLD Vocoder
WORLD Vocoder基于聲音特征實現,主要分為三個部分:Analysis分析、Manipulation操作與最后的Synthesis合成。Analysis分析過程主要是指從一段原始聲音波形中提取聲學特征如線性譜、低頻、MFCC;Manipulation操作過程是指對提取出的原始聲學特征進行壓縮等降維處理使其表征能力進一步提升;最后的Synthesis合成過程是把此聲學特征恢復至原始的聲音波形。
既然WORLD Vocoder基于聲學特征實現,那么就需要相應的聲學建模。實際上所有的Vocoder都可通過一種簡單的模型實現,此模型就是線性時不變系統。如上圖展示的那樣,左側代表聲音輸入,右側代表聲音輸出。輸入部分被稱為Source Excitation Part也就是激勵部分,右側輸出結果被稱為Vocal Tract resonance Part也就是聲道諧振部分。整體過程為一個基于人發聲機理的經典源-濾波器模型,也就是輸入的激勵部分通過線性時不變系統進行操作;隨后輸出的聲道諧振部分作為合成語音。如果對應人體發聲結構進行分析,激勵部分對應肺部氣流與聲帶共同作用形成的激勵,而聲道諧振部分對應于聲道的調音運動。
1)激勵部分
激勵分為兩種:Pulse train脈沖激勵與White noise隨機白噪聲。脈沖激勵對應我們說話聲音當中的濁音,也就是氣流通過緊繃的聲帶時,對聲帶進行沖擊所產生的聲音;此時聲門處會形成準周期性的脈沖串,我們把這種激勵信號簡化為周期性的脈沖激勵。
隨機白噪聲對應我們說話聲音當中的清音,也就是聲帶處于松馳狀態不發生振動時氣流通過聲門直接進入聲道所產生的聲音;我們把這種激勵信號簡化為隨機白噪聲。
2)聲學特征
WORLD對應以下三種聲學特征:F0基頻、SP頻譜包絡與AP非周期序列。F0基頻對應激勵部分的周期脈沖序列,如果我們將聲學信號分為周期性信號與非周期信號的話;SP頻譜包絡對應聲道諧振部分時不變系統的沖激響應,大家可以看到經過此線性時不變系統之后Vocoder會對激勵與響應進行卷積;AP非周期序列對應混合激勵部分的非周期脈沖序列,因為所處理的信號包括周期性信號與非周期信號,雖然可以在混合時僅處理周期性信號并將其作為特征提取,隨后再進行系統處理也能夠合成相應的目標信號,但其由于缺乏非周期性信號的輸入,合成的自然度難以符合要求,因此我們會混合提取非周期信號并同樣將其作為特征之一進行提取與處理。
對比三種聲學特征,正弦波組成的原始信號中頻率最低的正弦波即為基頻,其它正弦波則被稱為諧波(泛音);頻譜包絡是指將不同頻率的振幅最高點通過平滑的曲線連接起來得到的包絡線;非周期序列對應混合激勵部分的非周期脈沖序列,其中的混合激勵是指通過多種參數控制周期激勵、噪聲與非周期信號,最后混合周期與非周期信號并通過aperiodicity調控二者權重。
1.2 優勢
那么我們為什么選擇WORLD 作為Vocoder呢?WORLD相對于常見的如STS等其它傳統聲碼器的優勢有以下三點:
首先是聲音質量,WORLD Vocoder輸出聲音的質量優于其它傳統聲碼器,其輸出結果有人類自然語言的聽感效果;而傳統聲碼器輸出聲音不但質量欠佳,如機器般冰冷生硬的聽感也非常不好。
其次WORLD的處理速度也高于傳統聲碼器,處理速度是語音合成中一項十分重要的指標,我所知的一些基于神經網絡的聲碼器雖然可以實現高質量的聲音合成但速度卻十分低下,究其原因在于神經網絡需要對每一個樣本點進行處理;假設一段48k采樣的音頻,其每一秒中包括48000個采樣,如果對每個采樣都進行處理無疑會大大拖慢處理效率;而WORLD聲碼器有其獨特的處理效果如無損提高語音合成速度等,同時質量不會出現任何衰減。
最后是開源,WORLD的算法沒有專利性而且開放給任何人使用。相對于其它需要額外花費購買商業版權的聲碼器,WORLD的優勢十分明顯。
2. WORLD分析功能
WORLD分析功能的整體架構圖如上,我們將一段語音輸入系統并得到此段聲音的一個特征體系,我們可以存儲這部分特征并在需要時讀取;語音信號經過一系列合成最終輸出目標信號,WORLD會重點提取原始波形中的基頻、頻譜包絡與非周期信號,這三種聲學特征對應三種提取算法:負責提取基頻的DIO、將提取的F0基頻同波形一塊輸入提取頻譜包絡SP的CheapTrick,以及將F0、SP和波形一同輸入提取非周期信號的D4C,最終將三種聲學特征通過合成算法輸出恢復其原始波形信號。
2.1 Fundamental Frequency——DIO算法
DIO算法通過一個低通濾波器對原始信號進行濾波得以實現對基頻的提取,具體過程為從某個時間點的正弦波中提取出四個周期信號并計算置信度也就是標準差,隨后選擇標準差最低的作為基頻。
2.2 Spectral Envelop——CheapTrick
上圖展示了聲學特征中的包絡。我們的聲音包含不同頻率的信號,覆蓋0到18000赫茲,每個頻率都有其振幅(以分貝為單位),我們定義每種頻率波的振幅最高點連線組成的圖形為包絡。
我們有三種提取包絡聲學特征的方法:LPC、Cepstrum與CheapTrick。LPC就是線性預測編碼,其原理為用若干個語音取樣過去值的加權線性組合不斷逼近一個語音取樣值;Cepstrum則是基于復數倒譜擁有頻譜幅度與相位信息的原理,通過對一個信號進行FFT、取絕對值、取對數、相位展開、IFFT的變化處理,從而得到其相應的倒譜圖實現。
而WORLD中采取的CheapTrick也被稱為音高同步分析的方法,其過程是先將不同基頻進行適配加倉操作與平衡以及功率平滑操作,隨后將信號在頻域進行同態濾波操作。
2.3 Aperiodicity——D4C
非周期信號對應兩種提取算法:Plantinum算法與D4C算法,在WORLD中我們主要采用D4C算法,基本可分為計算、修正參數與估計Band-aperiodicity。
2.4 應用
我們可以在一些開源的工程項目中見到對上述內容的應用如Python Wrapper。借助Python實現整個特征提取過程:首先通過DIO提取基頻,再通過基頻中的CheapTrick提取包絡;得到基頻與包絡后再通過D4C得到一個非周期信號,我們將原始波形作為輸入信號,利用其采樣率、快速傅里葉變換的次數,以及幀移(frame period);最后返回這三個音頻特征。
3. 神經網絡優化
需要強調的是,單純的基頻、頻譜包絡與非周期信號結合基于神經網絡訓練的深度學習技術并不能達到我們期待的理想效果,其原因在于維度過高,尤其是頻譜包絡與非周期信號的高維特點使得未經優化的特征可達一千多緯度,這為神經網絡的訓練帶來很大壓力。而Merlin-WORLD通過實現維度轉換有效降低維度,首先是MGC也就是將提取到的MFCC特征降低到60維度從而方便神經網絡的訓練;其次是將一個非周期信號轉變為一個band非周期信號,以48KHz采樣為例,經過此操作可實現將一千維度降低至5維;基頻則保持原來維度不變。這樣我們就可將以上三種特征維度連接起來,變成小于一百維的特征輸入Tacotron模型從而實現理想的訓練與深度學習效果。
上圖展示了我們提取聲學特征后恢復原聲音波形得到的頻譜,可以看到圖像基本清晰,整體方法是利用Tacotron端對端TTS深度學習模型預測文本的聲譜并通過WORLD聲碼器還原聲譜。相信下圖展示的參考資料會幫助大家進一步了解Tacotron+WORLD的無限魅力。
總結
以上是生活随笔為你收集整理的dcs world f15c教学_开源声码器WORLD在语音合成中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界服务器logo在线制作软件,[树
- 下一篇: 河南思维监控文件服务器,LKJ数据远程载