微軟引入了一種用於文字轉語音合成 (TTS) 的語言模型方法。具體而言,微軟使用從現成的神經音訊編解碼器模型中得到的離散編碼訓練了一個神經編解碼器語言模型 (稱為 VALL-E),並將 TTS 視為條件語言建模任務,而不是像之前的工作那樣進行連續訊號迴歸。在預訓練階段,微軟將 TTS 訓練資料擴大到 60K 小時的英語語音,比現有系統大數百倍。VALL-E 出現了上下文學習能力,只需一個 3 秒鐘未見說話者的錄音作為聲學提示,就可以用於合成高品質的個人化語音。實驗結果表明,在語音自然度和說話者相似度方面,VALL-E 顯著優於最先進的零樣本 TTS 系統。此外,微軟發現 VALL-E 可以在合成中保留聲學提示中的說話者情緒和聲學環境。範例請見 https://aka.ms/valle。
與以前的 pipeline (例如音素→Mel 頻譜圖→波形) 不同,VALL-E 的 pipeline 是音素→離散編碼→波形。VALL-E 根據音素和聲學編碼提示產生離散音訊編解碼器編碼,分別對應於目標內容和說話者的聲音。VALL-E 直接支援各種語音合成應用,例如零樣本 TTS、語音編輯以及與 GPT-3 等其他生成式 AI 模型結合的內容創作。
1 引言
神經網路和端到端建模的發展在過去十年中給語音合成帶來了巨大突破。目前,級聯文字轉語音 (TTS) 系統通常利用一個聲學模型和一個聲碼器的 pipeline,使用 Mel 頻譜圖作為中間表示。儘管先進的 TTS 系統能夠從單個或多個說話者合成高品質的語音,但它仍然需要來自錄音室的高品質乾淨資料。從網際網路爬取的大規模資料無法滿足要求,而且總是導致性能下降。由於訓練資料相對較少,目前的 TTS 系統在泛化方面仍然存在不足。在零樣本場景中,說話者相似度和語音自然度會大幅下降。
為了解決零樣本 TTS 問題,現有工作利用說話者自適應和說話者編碼方法,需要額外的微調、複雜的預設計特徵或繁重的結構工程。
與其為這個問題設計一個複雜而特定的網路,不如盡可能地用大量和多樣化的資料訓練模型,這受到文字合成領域成功的啟發。近年來,隨著文字語言模型中資料增加,人們見證了顯著的性能提升,從 16GB 的未壓縮文字,到 160GB,再到 570GB,最後是大約 1TB。將這一成功轉移到語音合成領域,微軟引入了 VALL-E,這是第一個利用大規模、多樣化和多說話者語音資料的基於語言模型的 TTS 框架。如圖 1 所示,為了合成個人化語音 (例如零樣本 TTS),VALL-E 以 3 秒鐘註冊錄音的聲學編碼和音素提示為條件產生相應的聲學編碼,分別約束說話者和內容資訊。最後,產生的聲學編碼用於合成最終的波形。來自音訊編解碼器模型的離散聲學編碼使我們能夠將 TTS 視為條件編解碼器語言建模,並且可以利用基於提示的大型模型技術 (如 GPT)用於 TTS 任務。聲學編碼還允許我們在推理期間使用不同的採樣策略在 TTS 中產生不同的合成結果。
微軟使用 LibriLight 訓練 VALL-E,這是一個包含 60K 小時英語語音的語料庫,有 7000 多個獨特的說話者。原始資料是純音訊的,因此微軟採用語音識別模型產生轉錄。與之前的 TTS 訓練資料集 (如 LibriTTS)相比,微軟的資料包含更多噪音和不準確的轉錄,但提供了不同的說話者和韻律。微軟相信,通過利用大數據,所提出的方法對噪音具有魯棒性,並且泛化性能良好。值得注意的是,現有的 TTS 系統總是使用幾十小時的單說話者資料或幾百小時的多說話者資料進行訓練,比 VALL-E 小幾百倍。表 1 總結了 VALL-E 的創新,即一種用於 TTS 的語言模型方法,使用音訊編解碼器編碼作為中間表示,利用大規模和多樣化的資料,從而具有強大的上下文學習能力。
微軟在 LibriSpeech 和 VCTK 資料集上評估 VALL-E,其中所有測試說話者在訓練語料庫中都是未見過的。在語音自然度和說話者相似度方面,VALL-E 顯著優於最先進的零樣本 TTS 系統,在 LibriSpeech 上的比較平均意見得分 (CMOS) 提高了 +0.12,相似度平均意見得分 (SMOS) 提高了 +0.93。VALL-E 在 VCTK 上也以 +0.11 SMOS 和 +0.23 CMOS 的改進擊敗了基準。它甚至在 VCTK 上獲得了 +0.04 的 CMOS 分數,表明未見說話者的合成語音與人類錄音一樣自然。此外,定性分析表明,VALL-E 能夠用相同的文字和目標說話者合成不同的輸出,這可能有利於為語音識別任務創建偽資料。我們還發現,VALL-E 可以保持聲學提示中的聲學環境 (例如混響) 和情緒 (例如憤怒)。
總之,微軟做出了以下貢獻:
- 微軟提出了 VALL-E,這是第一個像 GPT-3 那樣具有強大上下文學習能力的 TTS 框架,它將 TTS 視為語言模型任務,使用音訊編解碼器編碼作為中間表示,取代傳統的 Mel 頻譜圖。它具有上下文學習能力,並支援基於提示的方法進行零樣本 TTS,不需要像之前的工作那樣進行額外的結構工程、預設計的聲學特徵和微調。
- 微軟通過利用大量半監督資料在說話者維度上構建了一個廣義 TTS 系統,表明簡單地擴大半監督資料的規模在 TTS 中被低估了。
- VALL-E 能夠用相同的輸入文字提供多樣化的輸出,並保持聲學提示中的聲學環境和說話者情緒。
- 微軟驗證了 VALL-E 通過提示在零樣本場景中合成具有高說話者相似度的自然語音。評估結果表明,VALL-E 在 LibriSpeech 和 VCTK 上顯著優於最先進的零樣本 TTS 系統。
微軟鼓勵讀者在範例頁面 https://aka.ms/valle 上聽樣本。
3 背景:語音量化
由於音訊通常儲存為一系列 16 位整數值,生成模型需要在每個時間步輸出 $2^{16}=65,536$ 個機率才能合成原始音訊。此外,超過萬赫茲的音訊採樣率導致了極長的序列長度,使得原始音訊合成更加難以處理。為此,需要進行語音量化以壓縮整數值和序列長度。μ-law 變換可以將每個時間步量化為 256 個值並重建高品質的原始音訊。它在語音生成模型 (如 WaveNet) 中被廣泛使用,但由於序列長度沒有減少,推理速度仍然很慢。最近,向量量化在自監督語音模型中被廣泛應用於特徵提取,如 vq-wav2vec 和 HuBERT。後續工作表明自監督模型中的編碼也可以重建內容,並且推理速度比 WaveNet 更快。然而,說話者身份已經被丟棄,重建品質也很低。AudioLM 在自監督模型的 k-means 權杖和神經編解碼器模型的聲學權杖上訓練語音到語音語言模型,從而實現高品質的語音到語音生成。
在本文中,微軟沿用 AudioLM 的做法,利用神經編解碼器模型將語音表示為離散權杖。為了壓縮音訊以進行網路傳輸,編解碼器模型能夠將波形編碼為離散聲學編碼並重建高品質波形,即使說話者在訓練中是未見過的。與傳統的音訊編解碼器方法相比,基於神經網路的編解碼器在低位元速率下明顯更好,微軟相信量化後的權杖包含了關於說話者和錄音條件的充分資訊。與其他量化方法相比,音訊編解碼器具有以下優勢:1)它包含豐富的說話者資訊和聲學資訊,與 HuBERT 編碼相比,可以在重建中維持說話者身份。2)有一個現成的編解碼器解碼器將離散權杖轉換為波形,不需要像在頻譜上操作的基於 VQ 的方法那樣額外訓練聲碼器。3)它可以減少時間步長以提高效率,解決 μ-law 變換中的問題。
微軟採用預先訓練的神經音訊編解碼器模型 EnCodec 作為標記器。EnCodec 是一個卷積編碼器-解碼器模型,其輸入和輸出都是可變位元速率的 24 kHz 音訊。編碼器為 24 kHz 的輸入波形產生 75 Hz 的嵌入,這是採樣率的 320 倍減少。每個嵌入由殘差向量量化 (RVQ) 建模,其中選擇了 8 個具有 1024 個條目的階層量化器,如圖 2 所示。此配置對應於用於 24 kHz 音訊重建的 6K 位元速率下的 EnCodec。在此設定下,給定一個 10 秒的波形,離散表示是一個 \(750 \times 8\) 的矩陣,其中 \(750 = \lfloor \frac{24,000 \times 10}{320} \rfloor\) 是下採樣的時間步,8是量化器的數量。選擇其他位元速率設定也是可以的。更大的位元速率對應更多的量化器和更好的重建品質。例如,如果選擇 12K 位元速率下的 EnCodec,則需要 16 個量化器,10 秒波形對應一個 \(750 \times 16\) 的矩陣。使用所有量化器的離散編碼,EnCodec 的卷積解碼器生成實值嵌入並以 24 kHz 重建波形。
4 VALL-E
4.1 問題公式化:將 TTS 視為條件編解碼器語言建模
給定一個資料集 \(\mathcal{D}={x^i,y^i\\}\),其中 \(y\) 是一個音訊樣本, \(x={x_0,x_1,\ldots,x_L\\}\) 是其對應的音素轉錄,微軟使用預先訓練的神經編解碼器模型對每個音訊樣本進行編碼為離散聲學編碼,表示為 \(\text{Encodec}(y)=C^{T\times 8}\),其中 \(C\) 表示二維聲學編碼矩陣, \(T\) 是下採樣的話語長度。每個聲學編碼矩陣的行向量 \(c_{t,:}\) 表示第 \(t\) 幀的 8 個編碼,每個聲學編碼矩陣的列向量 \(c_{:,j}\) 表示來自第 \(j\) 個碼本的編碼序列,其中 \(j\in{1,\ldots,8\\}\)。量化後,神經編解碼器解碼器能夠重建波形,表示為 \(\text{Decodec}(C)\approx\hat{y}\)。
零樣本 TTS 要求模型為未見過的說話者合成高品質的語音。
在這項工作中,微軟將零樣本 TTS 視為條件編解碼器語言建模任務。微軟訓練了一個神經語言模型,以在給定音素序列 \(x\) 和聲學提示矩陣 \(\tilde{C}^{T'\times 8}\) 的條件下產生聲學編碼矩陣 \(C\),優化目標是 \(\max p(C|x,\tilde{C})\)。這裡, \(\tilde{C}\) 是通過相同的神經編解碼器從註冊錄音中得到的。微軟期望神經語言模型分別從音素序列和聲學提示中學習提取內容和說話者資訊。在推理期間,給定一個音素序列和一個未見過的說話者的 3 秒鐘註冊錄音,聲學編碼矩陣首先由訓練好的語言模型估計,然後神經編解碼器解碼器合成高品質的語音。
4.2 訓練:條件編解碼器語言建模
神經語音編解碼器模型允許我們對離散音訊表示進行操作。由於神經編解碼器模型中的殘差量化,權杖具有分層結構:來自先前量化器的權杖恢復聲學屬性 (如說話者身份),而連續的量化器學習精細的聲學細節。每個量化器都經過訓練以對來自先前量化器的殘差進行建模。受此啟發,微軟以分層方式設計了兩個條件語言模型。
對於來自第一個量化器 \(c_{:,1}\) 的離散權杖,微軟訓練了一個自迴歸 (AR) 解碼器語言模型。它以音素序列 \(x\) 和聲學提示 \(\tilde{C}_{:,1}\) 為條件,公式為:
$$p(c_{:,1}|x,\tilde{C}_{:,1};\theta_{AR})=\prod_{t=0}^T p(c_{t,1}|c_{<t,1},\tilde{c}_{:,1},x;\theta_{AR})$$
由於 VALL-E 是一個僅解碼器 LM,所以 \(\tilde{c}_{:,1}\) 和 \(c_{:,1}\) 的連接是一個完整的序列,在訓練中微軟不區分它們或插入特定的權杖。在推理中只預測 \(c_{:,1}\) 而前綴 \(\tilde{c}_{:,1}\) 是給定的。
對於第二個到最後一個量化器的離散權杖 \(c_{:,j\in[2,8]}\),微軟訓練了一個非自迴歸 (NAR) 語言模型。由於權杖在 NAR 方式下無法相互訪問,為了約束說話者身份,聲學提示矩陣 \(\tilde{C}\) 被用作聲學提示。因此,該模型以音素序列 \(x\)、聲學提示 \(\tilde{C}\) 和屬於先前碼本的預測聲學權杖 \(C_{:,<j}\) 為條件:
$$p(C_{:,2:8}|x,\tilde{C};\theta_{NAR})=\prod_{j=2}^8 p(c_{:,j}|C_{:,<j},x,\tilde{C};\theta_{NAR})$$
AR 模型和 NAR 模型的組合在語音品質和推理速度之間提供了很好的權衡。一方面,產生的語音速率應該與註冊錄音一致,並且由於不同說話者的說話速度可能非常不同,因此很難為不同的說話者訓練長度預測器。在這種情況下,AR 模型在聲學序列長度預測方面具有更大的靈活性,是一個更自然的選擇。另一方面,對於連續階段,由於輸出槽的數量遵循第一階段的序列長度,NAR 可以將時間複雜度從 \(O(T)\) 減少到 \(O(1)\)。總的來說, \(C\) 的預測可以建模為:
$$p(C|x,\tilde{C};\theta)=p(c_{:,1}|\tilde{C}_{:,1},X;\theta_{AR})\prod_{j=2}^8 p(c_{:,j}|c_{:,<j},x,\tilde{C};\theta_{NAR})$$
4.2.1 自迴歸編解碼器語言建模
自迴歸語言模型產生來自第一個量化器的權杖。它包括音素嵌入 \(W_x\)、聲學嵌入 \(W_a\)、transformer 解碼器和預測層。為了產生具有特定內容的語音,微軟使用音素序列作為語言模型的音素提示。因此,模型輸入是 \(x\) 和 \(c_{:,1}\) 的連接,在每個序列之後附加兩個特殊的 <EOS> 權杖。微軟分別為提示和輸入權杖計算正弦位置嵌入。對於因果 transformer 模型,每個權杖 \(c_{t,1}\) 可以參與 \((x,c_{\leq t,1})\),如圖 3 的左側所示。該模型被優化以最大化第一個碼本中下一個權杖的機率。微軟共享輸出投影層的參數與聲學嵌入 \(W_a\) 的參數。
在 AR 模型中,微軟沒有在訓練中明確提取音訊片段作為提示。訓練過程是純因果語言模型訓練。通過這種方式,任何前綴序列 \(c_{<t,1}\) 都被視為序列 \(c_{\geq t,1}\) 後面部分的提示。在推理過程中,給定註冊錄音,應該將註冊錄音的音素序列和要合成的音素序列連接在一起。同時,註冊錄音的聲學權杖序列被用作 AR 解碼中的前綴,如公式 1 所示。微軟將在實驗中研究這種設置的優越性。
4.2.2 非自迴歸編解碼器語言建模
當微軟通過 AR 模型獲得第一個量化器編碼時,使用非自迴歸 (NAR) 模型產生其他七個量化器的編碼。NAR 模型的架構與 AR 模型類似,只是它包含八個獨立的聲學嵌入層。在每個訓練步驟中,隨機採樣一個訓練階段 \(i\in[2,8]\)。模型被訓練以最大化來自第 \(i\) 個量化器碼本的聲學權杖。來自第 1 階段到第 \(i-1\) 階段的聲學權杖被嵌入並相加作為模型輸入:
$$e_{c_{t,j}}=W_a^j c_{t,j}$$
$$e_{c_t}=\sum_{j=1}^{i-1} e_{c_{t,j}}$$
其中表示索引選擇。音素序列也被視為語言模型的提示。此外,為了克隆給定說話者的獨特聲音,微軟還使用來自註冊語音的聲學權杖作為聲學提示。具體來說,首先用神經編解碼器模型將註冊語音標記為 \(\tilde{C}^{T\times 8}\)。來自所有八個碼本的嵌入表示相加為聲學提示 \(e_{\tilde{c}_t}=\sum_{j=1}^8 e_{\tilde{c}_{t,j}}\)。為了預測來自第 $i$ 個碼本的聲學權杖,transformer 輸入是 \((e_x,e_{\tilde{c}},e_{c_{:,<i}})\) 的串聯。位置嵌入也是分別為提示和聲學序列計算的。目前階段 \(i\) 通過自適應層歸一化 (AdaLN) 算子注入到網路中,即 \(\text{AdaLN}(h,i)=a_i\text{LayerNorm}(h)+b_i\),其中 \(h\) 是中間激活, \(a_i\) 和 \(b_i\) 是從階段嵌入的線性投影獲得的。與 AR 不同的是,NAR 模型允許每個權杖在自注意力層中參與所有輸入權杖。微軟還共享聲學嵌入層和輸出預測層的參數,這意味著第 \(j\) 個預測層的權重與第 \(j+1\) 個聲學嵌入層相同。
4.3 推理:通過提示進行上下文學習
上下文學習是基於文字的語言模型的一種令人驚訝的能力,它能夠在不進行額外參數更新的情況下預測未見輸入的標籤。對於 TTS 而言,如果模型能夠在沒有微調的情況下為未見說話者合成高品質的語音,則認為該模型具有上下文學習能力。然而,現有 TTS 系統的上下文學習能力並不強,因為它們要麼需要額外的微調,要麼在未見說話者上顯著下降。
對於語言模型,提示是在零樣本場景中實現上下文學習所必需的。微軟設計提示和推理如下。首先將文字轉換為音素序列,並將註冊錄音編碼為聲學矩陣,形成音素提示和聲學提示。AR 模型和 NAR 模型都使用這兩個提示。對於 AR 模型,微軟在給定提示的條件下使用基於採樣的解碼,因為觀察到 beam search 可能會導致 LM 陷入無限循環。此外,基於採樣的方法可以顯著增加輸出的多樣性。對於 NAR 模型,微軟使用貪婪解碼來選擇機率最高的權杖。最後,使用神經編解碼器解碼器在給定八個編碼序列的條件下產生波形。聲學提示可能與要合成的語音在語義上相關或不相關,從而產生兩種情況:
VALL-E:微軟的主要興趣是為未見過的說話者產生給定的內容。給模型一個文字句子、一段註冊語音及其相應的轉錄。將註冊語音的轉錄音素附加到給定句子的音素序列前作為音素提示,並使用註冊語音的第一層聲學權杖 \(\tilde{c}_{:,1}\) 作為聲學前綴。使用音素提示和聲學前綴,VALL-E 產生給定文字的聲學權杖,克隆該說話者的聲音。
VALL-E-continual:在此設置中,使用整個轉錄和話語的前 3 秒作為音素和聲學提示,並要求模型產生後續內容。推理過程與 VALL-E 設置相同,只是註冊語音和產生的語音在語義上是連續的。
5 實驗
5.1 實驗設置
資料集:微軟使用 LibriLight 作為訓練資料,其中包含 60K 小時來自英語有聲讀物的未標記語音。LibriLight 中不同說話者的數量約為 7000。微軟在 960 小時帶標籤的 LibriSpeech 上訓練了一個混合 DNN-HMM ASR 模型。一旦訓練了混合模型,就對未標記的語音資料進行解碼並轉換為最佳的音素級別對齊路徑,其中幀移為 30ms。EnCodec 模型用於為 60K 小時的資料產生聲學編碼矩陣。
模型:AR 模型和 NAR 模型具有相同的 transformer 架構,包括12層、16個注意力頭、1024維嵌入維度、4096維前饋層和 0.1 的 dropout。LibriLight 中波形的平均長度為 60 秒。在訓練期間,隨機將波形裁剪為 10 秒到 20 秒之間的隨機長度。其相應的音素對齊用作音素提示。微軟刪除了偏對齊音素序列中的連續重複。對於 NAR 聲學提示權杖,從同一話語中選擇 3 秒的隨機片段波形。
使用 16 個 NVIDIA TESLA V100 32GB GPU 對模型進行了 800k 步的訓練,每個 GPU 的批次大小為 6k 個聲學權杖。微軟使用 AdamW 優化器優化模型,在前 32k 次更新中將學習率預熱到 $5\times 10^{-4}$ 的峰值,然後線性衰減。
基準:微軟選擇 SOTA 零樣本 TTS 模型 YourTTS 作為基準,該模型在 VCTK、LibriTTS 和 TTS-Portuguese 的組合資料集上進行訓練。微軟使用其發布的檢查點。
自動指標:微軟使用 SOTA 說話者驗證模型 WavLM-TDNN 來評估提示 (解壓縮的註冊語音) 和合成語音之間的說話者相似度。WavLM-TDNN 在 VoxSRC Challenge 2021 和 2022 排行榜上獲得第一名。它在 Vox1-O、Vox1-E 和 Vox1-H 上分別達到了 0.383、0.480 和 0.986 的平均等錯誤率 (EER)。WavLM-TDNN 預測的相似度分數在 \([-1,1]\) 的範圍內,其中較大的值表示輸入樣本的相似度較高。
微軟還評估了模型的合成穩健性。神經 TTS 系統存在穩健性問題,由於注意力對齊錯誤,有時會出現刪除、插入和替換錯誤。微軟對產生的音訊執行 ASR,並計算相對於原始轉錄的字錯誤率 (WER)。在此實驗中,微軟使用在 LibriSpeech 960h 上微調的 HuBERT-Large 模型作為 ASR 模型,這是一個沒有語言模型融合的基於 CTC 的模型。
人工評估:微軟通過眾包計算比較平均意見得分 (CMOS) 和相似度平均意見得分 (SMOS),其中 12 名和 6 名母語者分別被邀請為 CMOS 和 SMOS 貢獻者。SMOS 的量表從 1 到 5,增量為 0.5。CMOS 的範圍從 -3 (新系統比基準差得多) 到 3 (新系統比基準好得多),間隔為 1。CMOS 是語音自然度的指標,SMOS 衡量語音是否與原始說話者的聲音相似。
5.2 LibriSpeech 評估
微軟首先使用 LibriSpeech 進行零樣本 TTS 評估,因為 LibriLight 訓練資料和 LibriSpeech test-clean 資料之間沒有說話者重疊。微軟使用 LibriSpeech test-clean 中長度在 4 到 10 秒之間的樣本,得到 2.2 小時的子集。對於每個樣本合成,VALL-E 隨機選擇同一說話者的另一個話語,並裁剪 3 秒的語音片段作為註冊語音。每個實驗運行三次,報告平均分數。VALL-E-continual 使用真實語音的前 3 秒作為註冊語音。
表 2 顯示了客觀評估結果。微軟首先計算真實語音的 WER 分數和說話者相似度分數作為上限。為了比較說話者相似度,微軟使用測試集中來自同一說話者的語音對。與 YourTTS 基準相比,微軟的模型在穩健性和說話者相似度方面都有顯著優勢,表明產生的語音高度忠實於給定文字和給定註冊語音。此外,在 VALL-E-continual 設置中,字錯誤率可以進一步降低,因為前 3 秒的聲學權杖是從真實語音中提取的。微軟還將穩健性與其他基於語音到語音 LM 的生成模型 (如 GSLM 和 AudioLM) 進行了比較,這些模型使用音訊潛在編碼作為輸入。GSLM 使用 HuBERT 編碼作為輸入,並使用 Tacotron2 模型和 WaveGlow 聲碼器重建波形。微軟運行其開源代碼使用發布的模型並評估結果。由於 HuBERT 編碼丟棄了說話者身份,因此它在說話者得分方面表現很差。對於 AudioLM,微軟列出了他們論文中報告的 WER 分數,該分數是由 Conformer Transducer 模型獲得的。實驗結果表明,在穩健性方面,VALL-E 優於其他基於語音到語音 LM 的生成系統。一個主要原因是 VALL-E 使用偽音素進行訓練,而不是 HuBERT/w2v-BERT 編碼,這與輸入文字相比具有更好的對齊品質。
微軟隨機採樣 LibriSpeech test-clean 中每個說話者的一個話語進行人工評估,得到 40 個測試用例。表 3 顯示了人工評估結果。在 SMOS 方面,VALL-E 非常接近真實語音,表明合成語音與測試中給定的未見說話者相似。它以 +0.93 SMOS 顯著優於基準,證明了 VALL-E 在零樣本場景中的有效性。在自然度方面,VALL-E 以 +0.12 CMOS 擊敗基準,表明所提出的方法可以合成比基準更自然和逼真的語音。
消融研究:在本節中,微軟進行了詳細的消融實驗。首先研究 NAR 模型。微軟訓練了具有不同數量提示的三個 NAR 模型。設置 NAR-no prompt 在沒有任何提示的情況下進行訓練。設置 NAR-phn prompt 僅使用音素序列作為提示進行訓練,設置 NAR-2 prompts 同時使用音素提示和聲學權杖提示作為條件。在評估中,使用真實的第一級聲學權杖作為模型輸入,並計算 WER 和說話者相似度分數。結果列於表 4 中。結果表明,即使聲學輸入權杖是真實的,沒有任何提示的模型在 ASR 和說話者相似度評估方面的表現都很差。當添加音素提示時,WER 從 19.6 大幅降低到 3.0。這表明音素提示主要有助於產生的內容。在 NAR-2 prompts 中,模型可以從聲學權杖提示中學習說話者資訊,從而提高說話者評估品質。
微軟進一步對 AR 模型進行了消融實驗。在這些實驗中,始終使用 NAR-2 prompts 設置作為 NAR 模型。在表 5 中,可以看到,當移除聲學提示 (w/o 聲學提示) 時,它只能獲得 0.236 的說話者相似度得分,表明提示對於說話者身份極其重要。即使 NAR 模型可以看到提示,AR 模型的提示也對說話者相似度有很大貢獻。
5.3 VCTK 評估
微軟在包含 108 個說話者的 VCTK 上評估模型,其中沒有一個說話者在訓練期間被觀察到。由於 YourTTS 在 VCTK 中將 97 個說話者視為訓練,微軟分別評估了 YourTTS 在全部 107 個說話者和 11 個未見說話者上的性能。對於每個說話者,隨機選擇三個 3s/5s/10s 的話語作為提示,另一個話語的文字作為文字提示。
微軟首先使用前面描述的說話者驗證指標評估兩個模型。從表 6 可以看出,即使基準在訓練中看到了 97 個說話者,VALL-E 也優於基準,表明微軟的模型能夠合成具有更高說話者相似度的語音。當在公平設置下 (11 個說話者) 與基準進行比較時,性能差距變得更大,尤其是當只有 3s 提示可用時。通過比較不同長度的提示,可以看出微軟的模型能夠在提示變長時產生更相似的語音,這與直覺一致。
微軟採樣 60 個說話者進行人工評估,每個說話者一個話語,其中 11 個是未見說話者,49 個說話者在 YourTTS 中被視為已見。VALL-E 沒有看到任何 60 個說話者。在模型合成期間,每個說話者有一個 3 秒的註冊錄音。表 7 顯示了微軟的方法與基準和真實語音的比較。SMOS 的比較表明,VALL-E 的說話者相似度優於基準,即使基準在訓練中看到了一些說話者。並排 CMOS 評估表明,VALL-E 比 YourTTS 高 +0.23,在語音自然度方面表現明顯更好。此外,VALL-E 在真實語音上獲得 +0.04 CMOS,表明在該資料集上與人類錄音沒有統計學上的顯著差異。與 LibriSpeech 上的評估結果相比,VALL-E 在與真實語音的比較中表現出更好的 CMOS 分數,主要原因是 VCTK 中平均句子長度更短,並且一些真實話語也有嘈雜的環境。在說話者相似度方面,VCTK 更具挑戰性,因為它包含具有各種口音的說話者,而訓練資料和 LibriSpeech 測試資料不包含各種口音的說話者。
5.4 定性分析
多樣性:以前的 TTS 系統在輸入文字和輸出波形之間具有強的一對一映射,因為 Mel 頻譜產生基於每一步的重建,沒有隨機性。由於 VALL-E 使用基於採樣的方法產生離散權杖,對於相同的輸入文字,其輸出由於推理中的隨機性而多樣化。給定一個句子和一個註冊錄音,微軟運行推理過程兩次並在圖 4 中可視化其波形。在圖 4(a) 中,可以觀察到兩個樣本具有不同的長度和短語持續時間,其中第一個具有更快的語音速率。在圖 4(b) 中,可以觀察到兩個樣本的重音不同。第二個輸出用更大的振幅強調單詞 "must",而第一個輸出沒有。微軟在演示頁面上提供了更多樣本。
多樣性對某些下游場景很重要。例如,語音識別總是從具有不同說話者和聲學環境的多樣化輸入中受益,而以前的 TTS 系統無法滿足這一點。考慮到 VALL-E 的多樣性特點,它是產生語音識別偽資料的理想候選。
聲學環境維持:另一個有趣的發現是聲學提示和產生之間的聲學環境一致性。當聲學提示有混響時,VALL-E 也可以合成有混響的語音,而基準輸出乾淨的語音。微軟的解釋是,與基準使用的資料相比,VALL-E 在包含更多聲學條件的大規模資料集上進行訓練,因此 VALL-E 可以在訓練期間學習聲學一致性,而不僅僅是乾淨的環境。微軟在演示頁面上展示了一致性。
說話者情緒維持:情緒 TTS 是語音合成的一個經典子主題,它合成具有所需情緒的語音。傳統方法總是在有監督的情緒 TTS 資料集上訓練模型,其中語音對應於轉錄和情緒標籤。微軟發現 VALL-E 可以在零樣本設置下保留提示中的情緒。微軟從 EmoV-DB 中選擇聲學提示,這是一個包含五種情緒語音的資料集,VALL-E 能夠在語音合成中保持與提示相同的情緒,即使模型沒有在情緒 TTS 資料集上進行微調。微軟在演示頁面上放置了音訊樣本。
6 結論、局限性和未來工作
微軟引入了 VALL-E,這是一種使用音訊編解碼器編碼作為中間表示的 TTS 語言模型方法。微軟使用 60K 小時的語音資料對 VALL-E 進行了預訓練,並展示了在零樣本場景中的上下文學習能力。微軟在 LibriSpeech 和 VCTK 上實現了新的最先進的零樣本 TTS 結果。此外,VALL-E 可以在合成中保持聲學環境和說話者情緒,並在不同的基於採樣的解碼過程中提供多樣化的輸出。
儘管取得了顯著進展,VALL-E 仍然存在幾個問題。
合成穩健性:微軟觀察到,在語音合成中,某些詞可能不清楚、遺漏或重複。這主要是因為音素到聲學語言部分是一個自迴歸模型,其中存在無序的注意力對齊,並且沒有解決該問題的約束。在基於普通 Transformer 的 TTS 中也觀察到了這種現象,通過應用非自迴歸模型或修改建模中的注意力機制來解決。未來,微軟希望利用這些技術來解決這個問題。
資料覆蓋:即使微軟使用 60K 小時的資料進行訓練,它仍然無法覆蓋每個人的聲音,尤其是口音說話者。在 VCTK 上的結果比在 LibriSpeech 上的結果差,也暗示了對口音說話者的覆蓋不足。此外,說話風格的多樣性還不夠,因為 LibriLight 是一個有聲讀物數據集,其中大多數話語都是朗讀風格。未來,微軟將進一步擴大訓練數據,以提高模型在韻律、說話風格和說話者相似度方面的性能。微軟相信,通過我們的方法,通過模型和數據的擴展,零樣本 TTS 任務幾乎可以解決。
模型結構:現在,微軟使用兩個模型來預測不同量化器的編碼。一個有前途的方向是使用一個大型通用模型來預測它們。另一個有趣的方向是在框架中使用完全 NAR 模型來加速模型推理。
更廣泛的影響:由於 VALL-E 可以合成保持說話者身份的語音,它可能存在濫用模型的潛在風險,例如欺騙聲音識別或模仿特定說話者。為了降低此類風險,可以構建檢測模型來區分音訊片段是否由 VALL-E 合成。在進一步開發模型時,微軟也將付諸實踐微軟 AI 原則。
以下是我的一些思考:
從技術倫理的角度,我們要警惕 VALL-E 被濫用的風險,如用於製造虛假語音、侵犯他人隱私等。這需要研發人員保持警惕,並制定相應的防範機制。
語音合成只是人機交互的一個方面,如何將其與語音識別、自然語言理解等技術更好地結合,來創造無縫的交互體驗,還有待進一步探索。
從產業化的角度,VALL-E 在客製化語音、有聲內容創作等領域有廣闊的應用前景。但是,如何平衡模型性能和部署成本,如何適配不同的硬體環境,也是工程師們需要考慮的問題。
從學術研究的角度,VALL-E 提出的一些思路,如語言模型範式、提示學習等,可能啟發其他領域的研究,如計算機視覺、機器翻譯等。跨學科的創新,往往能產生意想不到的火花。
展望未來,隨著模型和數據規模的進一步增長,以及範式的不斷創新,人工智慧生成語音與真人的差距會越來越小。這對傳統的配音行業、有聲內容生產模式,都會帶來深遠的影響。我們要積極擁抱變革,也要未雨綢繆,做好應對準備。
沒有留言:
發佈留言