
Motivation
現在從各種媒體擷取語音資料越來越友善, 如可以從youtube上擷取音頻資料。是以希望可以利用這些資料來做語音合成。 但存在一個問題是: 這些資料裡面幹淨的資料不多, 大多數包含噪聲或者背景音樂。 是以,文章提出的方法就是希望從這些媒體資料中來訓練語音合成的模型。
Previous method
- 在訓練TTS模型之前對資料進行預處理:如可以使用語音增強的方法。 過濾的方法一般分為基于語音信号和基于spectral masking的方法。 但是由于過濾後的資料和幹淨資料還是有差別的, 是以效果不好。
- 對語音資料的品質進行編碼:GST用幹淨和噪聲資料進行訓練後, 可以學習語音音質表示來作為參考音頻的風格。在inference階段的時候就可以選擇clean token 來控制合成幹淨的語音。但是當訓練資料不夠多的時候效果不好,可能是因為token的數量有限,難以表示各種類型的音樂, 并且由于幹淨音頻數量有限, clean token沒辦法很好地表示幹淨音頻。
Method
- 利用一個music filter将背景音樂從語音資料中過濾掉。
- 用GST-TTS模型, 并且添加一個輔助的品質分類器(AQC)來對過濾後的資料和一些幹淨資料進行訓練。AQC能夠幫助style embedding vector 更關注表示輸入參考音頻的品質而不是語音的韻律等因素, 是以AQC的輸出稱為 quality embedding。
Model
Pre-Processing Using the Music Filter
training
噪聲資料的擷取: 幹淨的語音和随機選擇的BGM以一個預定義的信噪比(SNR)混合。
輸入: 噪聲資料的幅度譜
模型: music-filter network
輸出:頻譜掩膜
輸入: 掩膜和幅度譜
模型: 掩膜乘以幅度譜來過濾音樂噪聲
輸出: 過濾後的幅度譜
優化目标: 最小化原始音頻和過濾後音頻的MSE
inference
在TTS訓練之前, 先用該模型對噪聲資料進行預處理
music fliter模型結構參考:
Q. Wang, H. Muckenhirn, K. Wilson, et al., “VoiceFilter: Targeted Voice Separation by SpeakerConditioned Spectrogram Masking,” in Annual Conference of the International Speech Communication Association (Interspeech), 2019, pp. 2728 2732.
GST-TTS with the AQC
GST 部分模型參考:
Y. Wang, D. Stanton, Y. Zhang, et al., “Style tokens: Unsupervised style modeling, control and transfer in endto-end speech synthesis,” in Proc. of the 35th International Conference on Machine Learning, 2018, vol. 80, pp. 5180–5189.
TTS 部分模型參考:
H. Tachibana, K. Uenoyama, and S. Aihara, “Efficiently Trainable Text-to-Speech System Based on Deep Convolutional Networks with Guided Attention,” in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018, pp. 4784–4788.
training
輸入: 文本序列 和 對應音頻的mel譜
模型: text encoder 和 audio encoder
輸出: text embedding 和 audio embedding
輸入:text embedding 和 audio embedding
模型: attention
輸出: context embedding
輸入: 輸入音頻的mel譜
模型:reference encoder
輸出: reference embedding
輸入: reference embedding
模型: GST layer[通過多頭注意力機制計算reference embedding和多個token之間的距離]
輸出: quality embedding
輸入: quality embedding, context embedding
模型: decoder
輸出: 預測的mel譜
優化目标: L T T S L_{TTS} LTTS= L1 loss + binary divergence loss( D b d D_{bd} Dbd)
AQC模型: 全連接配接層[256 hidden units] + RELU + softmax, 用二進制交叉熵來預測參考音頻是否是幹淨的。
是以整個模型的損失函數為: L t o t a l = L T T S + λ L A u x L_{total} = L_{TTS} + \lambda L_{Aux} Ltotal=LTTS+λLAux
Experiments
四個對比模型:
Performance Evaluation of the Music Filter
表1說明過濾後的資料PESQ值比噪聲資料更高, 表2中說明過濾後的資料在信噪比在0~5DB内SER值更低, 但是在10-20dB時,SER反而變高了, 這是因為在高信噪比下,由音樂濾波器引起的失真比相對低的噪聲對語音識别器的影響更大。
上述的melpu圖可以看出, 盡管過濾後的音頻mel譜有點模糊,但是已經把音樂噪聲給移除了。
performance measure
設定訓練集中幹淨資料和噪聲資料不同比例來訓練模型。幹淨資料時間設定為0.5h,1.5h,2.5h,5h。
Quality embedding
從上圖可以看出: AQC對于分離幹淨和過濾後的語音來保證embedding的品質。
音頻樣例:https://nc-ai.github.io/speech/publications/tts-with-bgm-data/