持續更新中。
基礎
語音合成(Text To Speech,TTS),將文字轉化為語音的一種技術。
語音合成技術 - 知乎 (zhihu.com)
論文推介:Glow-WaveGAN—學習一種用於高質量語音合成的語音表征 (qq.com)
個性化
語音個性化定制(custom voice)是一項非常重要的文本到語音合成(text to speech, TTS)服務。其通過使用較少的目標說話人的語音數據,來微調(適配)一個源 TTS 模型,以合成目標說話人的聲音。但當前語音個性化定制仍面臨一系列挑戰:1)為了支持不同類型的說話人,源 TTS 模型需要支持不同類型的聲學條件,比如不同的口音、說話風格、錄音環境等,這可能與訓練源TTS模型使用的聲音數據的聲學條件並不相同;2)為了支持大量的說話人,需要減少聲音定制過程中使用的目標說話人的數據以及適配參數,以實現高效的聲音定制化。
AdaSpeech 1/2/3
2021年,微軟亞洲研究院機器學習組和微軟 Azure 語音團隊合作推出了 AdaSpeech 1/2/3 系列工作,旨在實現更有泛化性且更高效的語音個性化定制:
1)AdaSpeech 1 (Adaptive Text to Speech for Custom Voice) 主要提升源 TTS 模型的魯棒泛化性,以更好地支持不同類型的說話人;同時降低模型的適配參數量,以更好地支持更多數量的說話人。
2)AdaSpeech 2 (Adaptive Text to Speech with Untranscribed Data) 支持目標說話人僅使用無文本標注的語音數據進行聲音的定制,實現了和有文本標注的語音數據相當的適配語音質量。
3)AdaSpeech 3 (Adaptive Text to Speech for Spontaneous Style) 主要針對自發風格的語音(spontaneous-style speech)設計了高效的定制化方法,以實現此類語音風格的定制。
AdaSpeech 1/2/3 系列相關研究論文已分別收錄於 ICLR 2021 / ICASSP 2021 / INTERSPEECH2021 三個頂級學術會議。同時,該系列研究工作也被應用於微軟 Azure TTS 語音合成技術,以構建更好的語音定制化服務。
詳情可查看:https://speech.microsoft.com/customvoice
FastSpeech
FastSpeech: Fast, Robust and Controllable Text to Speech (arxiv.org)
xcmyz/FastSpeech: The Implementation of FastSpeech based on pytorch. (github.com)
語音合成 | FastSpeech:Fast,Robust and Controllable Text to Speech論文閱讀_yiqiyuan17的博客-CSDN博客
論文閱讀 FastSpeech_赫凱的博客-CSDN博客
2019年,浙江大學和微軟亞洲研究院聯合推出了一篇論文,關於快速的端到端的語音合成系統。
當前技術難點 | FastSpeech優點 |
---|---|
AR模型生成Mel頻譜圖的速度慢。E2E模型主要是使用因果卷積,all模型都會生成以先前生成的Mel頻譜圖為條件的Mel頻譜圖,以AR的方式生成Mel頻譜圖之后再通過聲碼器合成語音,而一段語音的Mel頻譜圖通常能到幾百上千幀,合成速度較慢。 | Fast:通過並行生成Mel頻譜圖,加快合成過程。 |
合成的語音不健壯。E2E模型通常采用編碼器-注意力-解碼器機制進行自回歸生成,由於序列生成的錯誤傳播以及注意力對齊不准,導致出現重復和跳過。 | Robust:音素持續時間預測器確保音素與Mel頻譜圖之間的對齊,減少重大錯誤(跳過單詞,重復單詞)。 |
合成語音缺乏可控性。自回歸的神經網絡會自動逐個生成Mel頻譜圖,而不會明確地利用文本和語音之間的對齊。因此,通常很難直接控制生成語音的速度或者韻律停頓等。 | Controllable:加入長度調節器,通過延長或縮短音素持續時間來調節語音速度。通過在相鄰音素之間添加間隔來控制部分韻律。 |
Tacotron/Tacotron2
TACOTRON:端到端的語音合成_左左左左想-CSDN博客
Tacotron&Tacotron2——基於深度學習的端到端語音合成模型 - 知乎 (zhihu.com)
Tacotron是第一個端對端的TTS神經網絡模型,輸入raw text,Tacotron可以直接輸出mel-spectrogram,再利用Griffin-Lim算法就可以生成波形了。總體來說,模型和sequence-to-sequence模型非常相似,大體上由encoder和decoder組成,raw text經過pre-net, CBHG兩個模塊映射為hidden representation,之后decoder會生成mel-spectrogram frame。
實際上Tacotron的賣點主要是在end-to-end,其表現雖然比傳統方法要好,但是相比Wavenet並沒有明顯的提升(甚至不如Wavenet),因此也就有了后面的Tacotron2。
Tacotron2
Tacotron2是由Google Brain 2017年提出來的一個語音合成框架。 Tacotron2:一個完整神經網絡語音合成方法。模型主要由三部分組成: 1. 聲譜預測網絡:一個引入注意力機制(attention)的基於循環的Seq2seq的特征預測網絡,用於從輸入的字符序列預測梅爾頻譜的幀序列。 2. 聲碼器(vocoder):一個WaveNet的修訂版,用預測的梅爾頻譜幀序列來生成時域波形樣本。 3. 中間連接層:使用低層次的聲學表征-梅爾頻率聲譜圖來銜接系統的兩個部分。
Tacotron 2 | PyTorch
The Tacotron 2 and WaveGlow model form a text-to-speech system that enables user to synthesise a natural sounding speech from raw transcripts without any additional prosody information. The Tacotron 2 model produces mel spectrograms from input text using encoder-decoder architecture. WaveGlow (also available via torch.hub) is a flow-based model that consumes the mel spectrograms to generate speech.
WaveGlow
發表於 ICASSP 2019會議。
WaveGlow不需要自回歸的過程,只由一個網絡構成,用一個損失函數進行訓練,簡單有效。
融合了wavenet和glow兩個工作的新的神經網絡架構。其中wavenet中的膨脹卷積層,仍然在waveglow中被使用。而glow的思想也被使用:基於流模型的(基於梅爾譜為memory指導的)一系列對正態噪音的建模構建最終的語音信號的輸出。
目的:to provide fast, efficient, and high-quality audio synthesis。更快,更高效,以及更高質量的語音信號的輸出。
WaveRNN
2018年,谷歌提出的語音合成算法,可應用在手機,嵌入式等資源比較少的系統。WaveRNN 采用了三種先進的計算方法去提高生成語音的質量同時保證模型很小。
前言
常見的語音合成聲碼器模型,如 WaveNet,是相對比較成熟的技術,其生成的語音質量接近自然人聲。不過,在實際運用中,傳統 WaveNet 模型也存在着諸多不足。一是 WaveNet 模型結構十分復雜,對計算力要求很高;二是 WaveNet 模型語音合成時間較長,在實際交互場景中難以滿足用戶對實時性的要求;三是隨着智能語音應用場景的普及,智能語音合成平台需要對更多設備提供支持,工作負載加大,聲碼器模型的語音合成工作效能有待提升;四是對於企業而言,擴容帶來的成本增加。
簡介
語音合成 text-to-speech WaveRNN - 簡書 (jianshu.com)
WaveRNN——基於神經網絡的高速音頻合成 - 知乎 (zhihu.com)
工作亮點:
- 該文提出了一個單層的RNN 網絡架構,使用了兩個softmax layer, 實現了當前最佳語音生成水准, 可以實時生成24kHz 16-bit的語音。
- 這篇文章采用了 weight pruning technique, 實現了96% sparsity.
- 這篇文章提出了高並行度生成語音算法,在語音生成中,把很長的序列生成折疊成若干個短的序列,每個短序列同時生成,進而提高了長序列的生成速度 (fold a long sequency into a batch of shorter sequences and allows one to generate multiple samples at once)
Espnet
2018年,Espnet團隊開源了Espnet(end-to-end speech processing toolkit),可實現端到端 ASR和TTS系統。
Espnet特色
(1) 融合了Kaldi的數據處理和特征提取;
(2) 借助Pytorch跟Chainer,使用Python實現了端到端