支持跨語言、人聲狗吠互換,僅利用最近鄰的簡單語音轉換模型有多神奇
AI 參與的語音世界真神奇,既可以將一個人的語音換成任何其他人的語音,也可以與動物之間的語音互換。
我們知道,語音轉換的目標是將源語音轉換為目標語音,并保持內容不變。最近的任意到任意(any-to-any)語音轉換方法提高了自然度和說話者相似度,但復雜性卻大大增加了。這意味著訓練和推理的成本變得更高,使得改進效果難以評估和建立。
問題來了,高質量的語音轉換需要復雜性嗎?在近日南非斯坦陵布什大學的一篇論文中,幾位研究者探究了這個問題。
- 論文地址:https://arxiv.org/pdf/2305.18975.pdf
- GitHub 地址:https://bshall.github.io/knn-vc/
研究亮點在于:他們引入了 K 最近鄰語音轉換(kNN-VC),一種簡單而強大的任意到任意語音轉換方法。在過程中不訓練顯式轉換模型,而是簡單地使用了 K 最近鄰回歸。
具體而言,研究者首先使用自監督語音表示模型來提取源話語和參照話語的特征序列,然后通過將源表示的每個幀替換為參照中的最近鄰來轉換成目標說話者,最后使用神經聲碼器對轉換后的特征進行合成以獲得轉換后的語音。
從結果來看,盡管 KNN-VC 很簡單,但與幾個基線語音轉換系統相比,它在主觀和客觀評估中都能媲美甚至提高了清晰度和說話者相似度。
我們來欣賞一下 KNN-VC 語音轉換的效果。先來看人聲轉換,將 KNN-VC 應用于 LibriSpeech 數據集中未見過的源說話者和目標說話者。
源語音00:11
合成語音100:11
合成語音200:11
KNN-VC 還支持了跨語言語音轉換,比如西班牙語到德語、德語到日語、漢語到西班牙語。
源漢語00:08
目標西班牙語00:05
合成語音300:08
更令人稱奇的是,KNN-VC 還能將人聲與狗吠聲互換。
源狗吠00:09
源人聲00:05
合成語音400:08
合成語音500:05
我們接下來看 KNN-VC 如何運行以及與其他 jixian 方法的比較結果。
方法概覽及實驗結果
kNN-VC 的架構圖如下所示,遵循了編碼器 - 轉換器 - 聲碼器結構。首先編碼器提取源語音和參照語音的自監督表示,然后轉換器將每個源幀映射到參照中它們的最近鄰,最后聲碼器根據轉換后的特征生成音頻波形。
其中編碼器采用 WavLM,轉化器采用 K 最近鄰回歸、聲碼器采用 HiFiGAN。唯一需要訓練的組件是聲碼器。
對于 WavLM 編碼器,研究者只使用預訓練的 WavLM-Large 模型,并在文中不對它做任何訓練。對于 kNN 轉換模型,kNN 是非參數,不需要任何訓練。對于 HiFiGAN 聲碼器,采用原始 HiFiGAN 作者的 repo 對 WavLM 特征進行聲碼處理,成為唯一需要訓練的部分。
圖片
在實驗中,研究者首先將 KNN-VC 與其他基線方法進行比較,使用了最大可用目標數據(每個說話者大約 8 分鐘的音頻)來測試語音轉換系統。
對于 KNN-VC,研究者使用所有目標數據作為匹配集。對于基線方法,他們對每個目標話語的說話者嵌入求平均。
下表 1 報告了每個模型的清晰度、自然度和說話者相似度的結果。可以看到,kNN-VC 實現了與最佳基線 FreeVC 相似的自然度和清晰度,但說話者相似度卻顯著提高了。這也印證了本文的論斷:高質量的語音轉換不需要增加復雜性。
此外,研究者想要了解有多少改進得益于在預匹配數據上訓練的 HiFi-GAN,以及目標說話者數據大小對清晰度和說話者相似度的影響有多大。
下圖 2 展示了兩種 HiFi-GAN 變體在不同目標說話者大小時的 WER(越小越好)和 EER(越高越好)關系圖。
圖片
網友熱評
對于這個「僅利用最近鄰」的語音轉換新方法 kNN-VC,有人認為,文中使用了預訓練語音模型,因此用「僅」不太準確。但不可否認,kNN-VC 仍然要比其他模型簡單。
結果也證明了,與非常復雜的任意到任意語音轉換方法相比,kNN-VC 即便不是最好,也同樣有效。
圖片
還有人表示,人聲與狗吠互換的例子非常有趣。
圖片