System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及語音合成領域,特別公開了一種基于離散diffusion的語音合成方法及系統。
技術介紹
1、基于離散編碼的零樣本語音合成模型主要分為自回歸模型和非自回歸模型兩種。其中自回歸模型通常使用一個語言模型來建模音頻的離散編碼,在生成語音的過程中,在每個時間步下音頻編碼的預測依賴于之前時間步的信息。而針對離散非自回歸模型來說,則以離散diffusion的建模方式為主,這種方式分為前向過程和反向過程,其中前向過程通過逐步掩碼離散編碼為噪聲,并預測被掩碼的噪聲進行建模,而在反向過程一般按照以下幾種形式選取被恢復的音頻編碼,分別是隨機選取若干個位置,按照概率進行采樣,或者根據熵的大小選取若干個位置,從而逐步從噪聲中恢復音頻離散編碼來獲取待合成語音。
2、目前,基于離散diffusion方法的語音合成模型,其在反向過程中恢復音頻編碼中,通常采用隨機選取,概率采樣或者根據熵的大小來選取恢復位置,但是根據這些方式推理容易出現以下兩種問題:第一是過度依賴上一步音頻編碼的恢復結果,而不是聲學提示對應的音頻以及待合成文本信息;第二是存在同時推出相鄰位置,產生局部沖突的可能。
3、舉個例子,假設在訓練集中不存在相鄰位置同為離散編碼a的數據,但是如果采用上述方式進行推理,可能存在在相鄰位置同時推出相同的離散編碼a,從而產生局部沖突。因此根據上述推理流程,會使得模型容易出現吞字和漏字的現象。
技術實現思路
1、本專利技術提供了一種基于離散diffusion的語音合成方法,能至少
2、為實現上述目的,本專利技術采用以下技術方案:
3、一種基于離散diffusion的語音合成方法,其包括:
4、s101,將待合成文本轉換為音素編碼c;
5、s102,將聲學提示和待合成音頻通過音頻編解碼器分別轉換為聲學離散編碼p和原始音頻離散編碼x;
6、s103,在diffusion的前向過程中,對原始音頻離散編碼x進行掩碼操作,得到完全掩碼的離散序列xt;
7、s104,在推理階段,從完全掩碼的離散序列xt出發,基于預先定義的序列s干預從概率分布采樣得到的,并通過t步的迭代恢復,得到預測音頻離散編碼x0;其中,t表示時間步的總數,表示步長,序列s為偶數長度的序列,序列s中的元素決定了在第步所恢復的音頻離散編碼的位置,且序列s中的元素滿足相對于已經選擇的其他位置距離最遠;分別表示第t步和第步的音頻離散編碼;從diffusion網絡輸出的概率分布中采樣得到,為diffusion網絡的參數;
8、s105,將預測音頻離散編碼x0通過音頻編解碼器轉成相應的音頻信息。
9、優選地,步驟s101具體包括:
10、將待合成文本通過g2p模型轉為音素,并通過映射字典將所述音素轉換為音素編碼;表示音素編碼的長度。
11、優選地,步驟s103具體包括:
12、在diffusion的前向過程的時間步t中,定義一個二進制掩碼矩陣對原始音頻離散編碼x進行掩碼,得到完全掩碼的離散序列xt;其中,對于完全掩碼的離散序列xt中的第m個編碼,滿足;表示在掩碼過程,將原始音頻離散編碼x中對應為1的部分代替為一個特殊字符[mask],而為0的部分仍然保持原始的編碼,,為一個固定的值,n為原始音頻離散編碼x的維度,t表示第t個時間步。
13、優選地,還包括:
14、在diffusion的反向過程中,從完全掩碼的離散序列xt出發,逐步根據反向分布進行采樣來逐步恢復得到預測音頻離散編碼;其中,在訓練階段,根據聲學提示的聲學離散編碼p和所述音素編碼c來預測音頻離散編碼的信息;在預測時,使用所述diffusion網絡來預測在每一步中被掩碼的音頻編碼信息。
15、優選地,通過最小化被掩碼音頻編碼的負對數似數來訓練所述diffusion網絡:
16、
17、其中,為損失函數,n為原始音頻離散編碼的維度,為生成的第i個離散音頻編碼;
18、基于所述diffusion網絡,根據得到所預測的預測音頻離散編碼;
19、從進行采樣得到,并將和作為條件得到:
20、,
21、e表示期望,et表示第t步的期望。
22、優選地,s104具體包括:
23、根據序列s得到掩碼矩陣,其中:
24、
25、
26、a為根據待合成音頻的序列長度生成的遞增序列,且待合成音頻的序列長度等于原始音頻離散編碼的維度,為掩碼矩陣的元素,r表示序列s中的推理位置,%表示取余操作,n為序列s的長度;掩碼矩陣中每行關于推理位置r相關的元素為1,其他元素為0;
27、在得到后,根據、和來決定第步的推理位置,即:
28、;
29、通過t步的迭代恢復,得到預測音頻離散編碼x0。
30、本專利技術實施例還提供了一種基于離散diffusion的語音合成系統,其包括:
31、文本轉換單元,用于將待合成文本轉換為音素編碼c;
32、編碼單元,用于將聲學提示和待合成音頻通過音頻編解碼器分別轉換為聲學離散編碼p和原始音頻離散編碼x;
33、掩碼單元,用于在diffusion的前向過程中,對原始音頻離散編碼x進行掩碼操作,得到完全掩碼的離散序列xt;
34、推理單元,用于在推理階段,從完全掩碼的離散序列xt出發,基于預先定義的序列干預從概率分布采樣得到的,并通過t步的迭代恢復,得到預測音頻離散編碼x0;其中,t表示時間步的總數,表示步長,序列s為偶數長度的序列,序列s中的元素決定了在第步所恢復的音頻離散編碼的位置,且序列s中的元素滿足相對于已經選擇的其他位置距離最遠;分別表示第t步和第步的音頻離散編碼;從diffusion網絡輸出的概率分布中采樣得到,為diffusion網絡的參數;
35、音頻合成單元,用于將預測音頻離散編碼x0通過音頻編解碼器轉成相應的音頻信息。
36、優選地,掩碼單元具體用于:
37、在diffusion的前向過程的時間步t中,定義一個二進制掩碼矩陣對原始音頻離散編碼x進行掩碼,得到完全掩碼的離散序列xt;其中,對于完全掩碼的離散序列xt中的第m個編碼,滿足;表示在掩碼過程,將原始音頻離散編碼x中對應為1的部分代替為一個特殊字符[mask],而為0的部分仍然保持原始的編碼,,為一個固定的值,n為原始音頻離散編碼x的維度,t表示第t個時間步。
38、優選地,推理單元具體用于:
39、根據序列s得到掩碼矩陣,其中:
40、
41、
42、a為根據待合成音頻的序列長度生成的遞增序列,且待合成音頻的序列長度等于原始音頻離散編碼的維度,為掩碼矩陣的元素,r表示序列s中的推理位置,%表示取余操作,n為序列s的長度;掩碼矩陣中每行關于推理位本文檔來自技高網...
【技術保護點】
1.一種基于離散Diffusion的語音合成方法,其特征在于,包括:
2.根據權利要求1所述的基于離散Diffusion的語音合成方法,其特征在于,步驟S101具體包括:
3.根據權利要求1所述的基于離散Diffusion的語音合成方法,其特征在于,步驟S103具體包括:
4.根據權利要求3所述的基于離散Diffusion的語音合成方法,其特征在于,還包括:
5.根據權利要求4所述的基于離散Diffusion的語音合成方法,其特征在于,通過最小化被掩碼音頻編碼的負對數似數來訓練所述Diffusion網絡:
6.根據權利要求1所述的基于離散Diffusion的語音合成方法,其特征在于,S104具體包括:
7.一種基于離散Diffusion的語音合成系統,其特征在于,包括:
8.根據權利要求7所述的基于離散Diffusion的語音合成系統,其特征在于,掩碼單元具體用于:
9.根據權利要求7所述的基于離散Diffusion的語音合成系統,其特征在于,推理單元具體用于:
【技術特征摘要】
1.一種基于離散diffusion的語音合成方法,其特征在于,包括:
2.根據權利要求1所述的基于離散diffusion的語音合成方法,其特征在于,步驟s101具體包括:
3.根據權利要求1所述的基于離散diffusion的語音合成方法,其特征在于,步驟s103具體包括:
4.根據權利要求3所述的基于離散diffusion的語音合成方法,其特征在于,還包括:
5.根據權利要求4所述的基于離散diffusion的語音合成方法,其特征在于...
【專利技術屬性】
技術研發人員:潘啟正,歐陽濱濱,嚴生,
申請(專利權)人:廈門蟬羽網絡科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。