• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      MonTTS: 完全非自回歸的實時、高保真蒙古語語音合成模型

      2022-09-05 09:26:46康世胤高光來李勁東
      中文信息學(xué)報 2022年7期
      關(guān)鍵詞:碼器蒙古文蒙古語

      劉 瑞,康世胤,高光來,李勁東,飛 龍

      (1. 內(nèi)蒙古大學(xué) 計算機學(xué)院, 內(nèi)蒙古 呼和浩特 010021;2. 虎牙科技有限公司,廣東 廣州 511400;3. 搜狗科技發(fā)展有限公司,北京 100084)

      0 引言

      語音合成主要用于將任意給定的文本轉(zhuǎn)換為語音波形[1-2]。作為人工智能領(lǐng)域中的關(guān)鍵技術(shù)之一,它廣泛應(yīng)用于人機交互、泛娛樂、在線教育等領(lǐng)域[3]。

      傳統(tǒng)的語音合成方法主要包括基于波形拼接[3]和統(tǒng)計參數(shù)聲學(xué)建模(如隱馬爾可夫模型[4-5])的語音合成技術(shù)。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的語音合成模型被廣泛研究[6-8]。最終利用聲碼器將聲學(xué)模型輸出的語音參數(shù)轉(zhuǎn)換為語音波形[9-10],如STRAIGHT[11]和WORLD[12]等。近年來,許多復(fù)雜的機器學(xué)習(xí)任務(wù)受益于強有力的深度神經(jīng)網(wǎng)絡(luò)模型,在性能上得到突破性的提升,也催生了端到端語音合成技術(shù)的研究[13]。端到端語音合成技術(shù)有效避免了傳統(tǒng)多階段建模導(dǎo)致的誤差積累,同時簡化了過多的人為假設(shè),實現(xiàn)了媲美真實語音的合成效果。具體來說,主要包括兩方面的研究突破: ①端到端聲學(xué)建模; ②神經(jīng)網(wǎng)絡(luò)聲碼器。

      對于聲學(xué)建模研究,端到端聲學(xué)建模主要采用“編碼器-解碼器”結(jié)構(gòu)直接學(xué)習(xí)<文本,語音參數(shù)>對的對齊關(guān)系[14],其中比較有代表性的是Tacotron模型[15]、Transformer模型[16]及它們的多種變體[17-20]。以上模型在進行解碼時,都是以上一時刻的輸出作為下一時刻的輸入進行聲學(xué)參數(shù)的預(yù)測。這樣的自回歸解碼結(jié)構(gòu)極大限制了語音合成的實時性[21],并不能充分利用目前高度發(fā)展的(如GPU等)并行計算硬件的計算資源。為了提高解碼速度,研究人員進一步提出基于非自回歸聲學(xué)建模的語音合成模型[22],如FastSpeech[23]、FastSpeech2(s)[24]等。非自回歸聲學(xué)模型可以以給定文本為輸入,并行輸出全部聲學(xué)參數(shù)序列,而不依賴于歷史時刻解碼得到的聲學(xué)參數(shù)。

      對于聲碼器研究,研究人員提出了基于神經(jīng)網(wǎng)絡(luò)的聲碼器來直接對語音樣本點建模,如WaveNet[25]、WaveRNN[26]等。神經(jīng)聲碼器直接學(xué)習(xí)語音參數(shù)和語音波形采樣點之間的映射關(guān)系,顯著提高了合成語音的保真度[25]。但是基于WaveNet的聲碼器同樣遵循自回歸結(jié)構(gòu)進行語音波形采樣點的預(yù)測,這樣的自回歸生成過程耗時嚴重[27]。而語音重構(gòu)的時間效率同樣影響整個語音合成的實時性能。因此,為了加快神經(jīng)網(wǎng)絡(luò)聲碼器的語音生成速度,非自回歸神經(jīng)網(wǎng)絡(luò)聲碼器逐漸受到廣泛關(guān)注。如Parallel WaveNet[28]、WaveGlow[29]、MelGAN[30]、HiFi-GAN[31]等。在合成語音高保真的同時,極大提升了語音生成速度,能夠達到實時語音生成。

      當前,漢語和英語等主流語種的語音合成技術(shù)已發(fā)展較為成熟,低資源語言的語音合成逐漸受到越來越多研究人員的關(guān)注[32]。蒙古語隸屬于阿爾泰語系蒙古語族蒙語支,它是蒙古語族中最著名且使用最廣泛的語言[33]。在全世界范圍內(nèi),使用人數(shù)大約有600萬人[34]。同時,蒙古語也是中國內(nèi)蒙古自治區(qū)的主體民族語言。因此,研究面向蒙古語的語音合成技術(shù)對于少數(shù)民族地區(qū)的教育、交通、通信等領(lǐng)域具有重要意義。

      為了開發(fā)和研究蒙古語語音合成系統(tǒng),前人已經(jīng)開展了大量的工作。文獻[35-38]等結(jié)合蒙古語語言特點對基于波形拼接的傳統(tǒng)語音合成方法進行研究。文獻[39]提出了基于HMM聲學(xué)模型的蒙古語語音合成的方法。文獻[40]首次將深度學(xué)習(xí)技術(shù)引入蒙古語語音合成,使用基于DNN的聲學(xué)模型代替HMM聲學(xué)模型,進一步提升了蒙古語語音合成的整體表現(xiàn);文獻[41]實現(xiàn)了基于Tacotron的蒙古語語音合成系統(tǒng)。上述工作為蒙古語語音合成技術(shù)的研究奠定了堅實的基礎(chǔ)。其中,基于端到端模型的蒙古語語音合成系統(tǒng)的合成語音的整體表現(xiàn)相較傳統(tǒng)方法也獲得了顯著提升[41]。但是,基于Tacotron的端到端蒙古語語音合成系統(tǒng)在實時性和自然度兩方面還有很多問題需要解決,例如: ①現(xiàn)有端到端蒙古語語音合成模型采用自回歸聲學(xué)建模,依賴解碼歷史進行參數(shù)預(yù)測; ②語音重構(gòu)模塊使用Griffin-Lim算法等傳統(tǒng)信號處理技術(shù)。傳統(tǒng)算法進行語音重構(gòu)時會不可避免地引入特征偽影[8],限制了合成語音的音頻保真度,導(dǎo)致合成語音與真人發(fā)音還有很大差距。因此,如何提升現(xiàn)有蒙古語語音合成系統(tǒng)的實時性和合成語音音頻保真度,將是本文關(guān)注的重點。如前所述,非自回歸聲學(xué)建??梢圆⑿猩烧Z音參數(shù)序列,與自回歸聲學(xué)建模相比,其可以顯著提升合成語音的效率。同時,非自回歸神經(jīng)聲碼器以語音參數(shù)為條件輸入,可以直接對語音采樣點進行精確預(yù)測,從而保證合成語音具有很好的音頻保真度。

      根據(jù)以上研究,為了解決蒙古語語音合成系統(tǒng)目前面臨的實時性和音頻保真度兩個問題,本文首次提出了包括非自回歸聲學(xué)模型和非自回歸神經(jīng)聲碼器的完全非自回歸蒙古語語音合成模型MonTTS,其中非自回歸模型基于當前最先進的FastSpeech2[24]模型。但FastSpeech2中以語音幀為單位學(xué)習(xí)韻律變化的方式難以學(xué)習(xí)到蒙古語豐富的韻律變化,為了提高合成蒙古語語音的韻律自然度/保真度,我們面向蒙古語提出了以下三點創(chuàng)新性的改進: ①針對蒙古語文本表示,拉丁字符表示不足以表征蒙古語的發(fā)音信息,本文使用音素序列作為輸入表示; ②針對蒙古語韻律建模,我們提出音素級別的基頻、能量預(yù)測器,以更好地學(xué)習(xí)長時韻律變化; ③針對蒙古語時長建模,我們提出基于蒙古語語音識別和蒙古語自回歸語音合成模型對訓(xùn)練數(shù)據(jù)的音素時長信息進行提取,為非自回歸蒙古語時長預(yù)測提供精確的時長監(jiān)督信息。對于非自回歸神經(jīng)聲碼器,為了快速生成高保真合成語音,我們選擇當前最先進的基于生成對抗網(wǎng)絡(luò)(GAN)的聲碼器HiFi-GAN[31],進行語音波形的重建。

      為了確?;跀?shù)據(jù)驅(qū)動的端到端聲學(xué)建模技術(shù)在蒙古語中得到充分訓(xùn)練,我們構(gòu)建了當前最大規(guī)模(約40h)的蒙古語語音合成語料庫MonSpeech?;贛onSpeech數(shù)據(jù)的一系列實驗結(jié)果證明,本文提出的MonTTS模型在實時性和音頻保真度兩方面顯著優(yōu)于所有基線系統(tǒng)。

      綜上所述,本文的主要貢獻總結(jié)為如下幾點:

      (1) 提出了完全非自回歸蒙古語語音合成模型MonTTS,包括改進的非自回歸聲學(xué)建模和非自回歸神經(jīng)聲碼器。

      (2) 針對蒙古語提出了三點創(chuàng)新的改進,包括音素序列的文本發(fā)音表示、音素級別的長時韻律建模、蒙古語音素時長監(jiān)督提取等,在高效合成語音的同時,有效保證了合成蒙古語語音的韻律自然度。

      (3) 構(gòu)建了目前最大規(guī)模(約40h)的蒙古語語音合成語料庫MonSpeech,以盡可能滿足基于數(shù)據(jù)驅(qū)動的端到端語音合成模型的訓(xùn)練數(shù)據(jù)需求。

      (4) 首次針對非自回歸蒙古語語音合成開展研究,填補了國內(nèi)蒙古語語音合成研究的空白,本文工作也將對促進蒙古文智能信息處理和少數(shù)民族地區(qū)的人工智能技術(shù)發(fā)展貢獻力量。

      一系列的主觀和客觀實驗證明,本文的蒙古語語音合成模型MonTTS在音頻保真度和實時性兩方面均優(yōu)于現(xiàn)有的蒙古語語音合成基線系統(tǒng),并且可以為蒙古語上游語音交互系統(tǒng)提供基礎(chǔ)服務(wù)。

      本文組織結(jié)構(gòu)如下: 第1節(jié)介紹蒙古語文字及音系特點;第2節(jié)介紹蒙古語語音合成語料庫MonSpeech;第3節(jié)詳細介紹本文提出的MonTTS系統(tǒng)的模型框架;第4節(jié)展示詳細的實驗結(jié)果;最后對全文進行總結(jié)。

      1 蒙古語語言特點

      現(xiàn)行蒙古文擁有兩種不同的書寫系統(tǒng)[34]: 西里爾蒙古文和傳統(tǒng)蒙古文,傳統(tǒng)蒙古文是一種拼音文字,本文的研究對象是傳統(tǒng)蒙古文。

      在文字表示方面,傳統(tǒng)蒙古文形態(tài)豐富,其構(gòu)詞方式獨特且復(fù)雜。漢語言文字在形態(tài)方面幾乎不存在任何變化,其單詞表示是由獨立的字組成的,單詞又進一步組成短語。蒙古文單詞雖然也是由蒙古文字符直接拼接而成,但是與漢語相比其構(gòu)詞特點更加復(fù)雜,蒙古文單詞是通過在詞根或者詞干后連接后綴構(gòu)造而成的。蒙古文單詞可以拆分解構(gòu)為多個組成部分,包括詞根、構(gòu)詞后綴、構(gòu)形后綴和結(jié)尾后綴等。

      在音系表示方面,音素是蒙古語發(fā)音的基本單元,蒙古語發(fā)音是由音素決定的,音素序列相比于字符序列能夠更準確地表征發(fā)音信息。音節(jié)是由一個或幾個音素組成的最小的語音片段,語音的節(jié)奏一般指語句中各音節(jié)的長短快慢。另外,音節(jié)單元和詞干后綴一樣,同樣具有區(qū)別詞義的功能。

      本文將蒙古文拉丁序列表示中的每個拉丁單詞稱為單詞(Word),將拉丁單詞中的每個字母都稱為字符(Character),音素序列中的每個音素單元稱為音素(Phoneme)。

      2 蒙古語語音合成語料庫MonSpeech

      MonSpeech由內(nèi)蒙古大學(xué)計算機學(xué)院授權(quán),在內(nèi)蒙古大學(xué)計算機學(xué)院標準錄音室錄制完成。文字抄本包含約4萬條蒙古文語句,涉及政治、商業(yè)、運動、娛樂等領(lǐng)域。該抄本覆蓋了全部的蒙古文字母及豐富的單詞組合情況。發(fā)音人為一名蒙古族女性專業(yè)蒙古語播音員,年齡22歲。最終錄制數(shù)據(jù)總時長約40小時(其中平均每句話包含首尾靜音段0.3秒),數(shù)據(jù)存儲格式為: 采樣率44.1kHz,采樣精度16bit。

      MonSpeech數(shù)據(jù)統(tǒng)計情況如表1所示。整個數(shù)據(jù)的蒙古文字符總數(shù)(Total)為2 145 828個,平均(Mean)每一句話包含65個字符,最短(Min)句子的字符個數(shù)是5,最長(Max)句子的字符個數(shù)是210。對于音素單元,MonSpeech一共有2 259 159個音素,平均每句話包含72個音素,最短句子的音素個數(shù)是8,最長句子的音素個數(shù)是432。單詞的總數(shù)、平均數(shù)、最大數(shù)量和最小數(shù)量分別為332 500、10、2和34。最終統(tǒng)計得到音素集合59個,詞匯量38 744個。

      表1 MonSpeech數(shù)據(jù)統(tǒng)計詳情表

      另外,我們對數(shù)據(jù)中的句子時長進行統(tǒng)計,統(tǒng)計結(jié)果如圖1所示。圖中可以看到,大多數(shù)句子集中在4秒到6秒之間。由于MonSpeech中包含了大量蒙古文人名,因此1秒左右的語音比例達到了1%??傮w來說,句子時長服從正態(tài)分布。

      圖1 MonSpeech句子時長統(tǒng)計直方圖

      3 MonTTS: 完全非自回歸的實時、高保真蒙古語語音合成模型

      MonTTS語音合成模型完全采用非自回歸機制,具體包括非自回歸蒙古語聲學(xué)模型和非自回歸神經(jīng)聲碼器。如圖2(a)所示,給定蒙古文句子,非自回歸蒙古語聲學(xué)模型以蒙古文句子的音素序列為輸入,并行輸出對應(yīng)的Mel譜序列。非自回歸聲學(xué)聲碼器以句子的Mel譜序列為輸入,并行輸出語音采樣點并最終輸出合成蒙古語語音。下面將對這兩部分內(nèi)容做詳細介紹。

      圖2 MonTTS整體框架圖包括(a)模型結(jié)構(gòu); (b)音素級聲學(xué)調(diào)節(jié)器內(nèi)部結(jié)構(gòu)及相應(yīng)的損失函數(shù); (c)基于蒙古語語音識別的對齊方法; (d)基于蒙古語自回歸語音合成的對齊方法。

      3.1 非自回歸聲學(xué)模型

      非自回歸蒙古語聲學(xué)模型以FastSpeech2為基礎(chǔ),具體結(jié)構(gòu)包括蒙古文文本預(yù)處理(Mongolian Text Preprocessing)、蒙古文文本編碼器(Mongolian Text Encoder)、蒙古語聲學(xué)調(diào)節(jié)器(Mongolian Variance Adaptor)和蒙古語聲學(xué)解碼器(Mel Decoder)。其中,蒙古文文本預(yù)處理將輸入的蒙古文句子轉(zhuǎn)換為其音素表示,得到蒙古文音素序列(Mongolian Phoneme Sequence)。蒙古文文本編碼器以蒙古文音素序列為輸入,將其編碼為高層的音素特征表示;蒙古語聲學(xué)調(diào)節(jié)器內(nèi)部的時長(Duration)、基頻(Pitch)、能量(Energy)預(yù)測器以音素向量為輸入,分別預(yù)測出時長基頻能量等聲學(xué)信息并將其規(guī)整、附加到音素向量,得到調(diào)節(jié)后的隱含向量表示;最后聲學(xué)解碼器以隱含向量表示為輸入對Mel譜進行并行預(yù)測。

      需要注意的是,蒙古語文本編碼器和聲學(xué)解碼器采用類似于FastSpeech2[24]中的結(jié)構(gòu)。與FastSpeech2不同的是,本文的MonTTS模型針對蒙古語的語言特性做出三點必要的創(chuàng)新改進: ①使用蒙古文預(yù)處理器將蒙古文文本轉(zhuǎn)換為其音素序列表示。與拉丁字符序列相比,音素序列可以更好地表征蒙古文的發(fā)音信息。②FastSpeech2中的聲學(xué)調(diào)節(jié)器只對幀級別的基頻、能量信息進行預(yù)測。幀級別的聲學(xué)信息不足以學(xué)習(xí)到音素級別的超音段韻律信息,從而不能很好地刻畫長時變化的韻律結(jié)構(gòu)。蒙古語屬于黏著語,與漢語或英語相比,其發(fā)音具有很復(fù)雜的韻律變化[42]。為了更好地刻畫蒙古語的長時韻律變化,在蒙古語聲學(xué)調(diào)節(jié)器中,我們提出音素級別的基頻、能量預(yù)測器,以學(xué)習(xí)蒙古文豐富的長時韻律變化;③FastSpeech2中的聲學(xué)調(diào)節(jié)器在對英語句子的時長信息進行預(yù)測時,需要使用預(yù)提取的字符時間(語音幀的個數(shù))信息提供精確的監(jiān)督信號,而字符持續(xù)時間是一種與語種高度相關(guān)的信息。英語預(yù)提取時長信息在蒙古語場景下并不可用。為了對蒙古語時長預(yù)測器提供精確的監(jiān)督信號,我們分別提出基于預(yù)訓(xùn)練蒙古語語音識別模型和蒙古語自回歸語音合成模型兩種方法來完成時長預(yù)提取,并將在實驗部分對兩者的效果差異進行比較。下面將對蒙古文文本預(yù)處理、蒙古語聲學(xué)調(diào)節(jié)器和蒙古語時長預(yù)測器及相關(guān)損失函數(shù)進行詳細介紹。

      3.1.1 蒙古文文本預(yù)處理

      傳統(tǒng)蒙古文具有獨特的黏著語特性,這為蒙古文文本處理帶來巨大挑戰(zhàn)。具體來說,蒙古文字母在詞中的表現(xiàn)形式變化不定,其顯現(xiàn)形式在不同的上下文語境中會各不相同,因此導(dǎo)致蒙古文字母存在嚴重的形同音異現(xiàn)象。這種現(xiàn)象導(dǎo)致蒙古文文本數(shù)據(jù)中存在很多編碼錯誤的字母。如前所述,本文的蒙古文文本預(yù)處理主要將蒙古文文本轉(zhuǎn)換為其規(guī)范的音素序列表示。因此,蒙古文文本預(yù)處理包括編碼校正、拉丁轉(zhuǎn)換、文本正則化和字母轉(zhuǎn)音素四個模塊。首先,編碼校正模塊對輸入的蒙古文中的字符編碼進行校正[43],將編碼錯誤的蒙古文字符轉(zhuǎn)換為其正確的顯現(xiàn)形式;之后,根據(jù)蒙古文拉丁字母對照表[44],將校正后的蒙古文字符統(tǒng)一轉(zhuǎn)換為拉丁字符表示形式。其次,針對蒙古文文本中經(jīng)常出現(xiàn)的高頻特殊字符(如時間、日期、英文單詞和阿拉伯數(shù)字等),設(shè)計了140多種[44]相應(yīng)的正則表達式進行過濾。這140多種正則表達式基本覆蓋了95%以上的非蒙古文特殊字符情況[44],可以準確地將不規(guī)范蒙古文文本轉(zhuǎn)換為規(guī)范的蒙古文拉丁字符表示序列。之后我們使用基于聯(lián)合對齊注意力機制的蒙古文字母轉(zhuǎn)音素模型的蒙古文字母轉(zhuǎn)音素(Grapheme to Phoneme,G2P)模型[45]將拉丁字符序列轉(zhuǎn)換為其音素序列表示。該蒙古文字母轉(zhuǎn)音素模型詞錯誤率低至6.2%,與漢語、英語的前端文本處理模塊[2,13]相比,已達到可用水平。與漢語/英語等語音合成模型[2,13]類似,本文對前端文本處理模塊中引入的不可避免的少量錯誤忽略不計,將得到的音素序列作為蒙古文文本的表示序列。最后,文本編碼器用來將音素序列進行語義信息編碼,輸出音素向量。

      3.1.2 蒙古語聲學(xué)調(diào)節(jié)器

      3.1.2.1 蒙古語時長預(yù)測器

      蒙古語時長預(yù)測器以文本編碼器輸出的音素向量E為輸入,對音素的持續(xù)時間信息D={D1,D2,…,DT}(每個音素持續(xù)語音幀的數(shù)量)進行預(yù)測。其內(nèi)部結(jié)構(gòu)與FastSpeech2類似,包括兩層搭配ReLU激活函數(shù)的CNN網(wǎng)絡(luò)和一層全連接層。每一層CNN后都使用了正則化層(Layer Normalization,LN)和暫退層(Dropout Layer)來增加模型泛化性。

      如圖2(b)所示,在模型訓(xùn)練階段,我們需要為蒙古語聲學(xué)調(diào)節(jié)器中的時長預(yù)測器準備蒙古文音素的時長信息作為訓(xùn)練目標來計算時長損失函數(shù),如式(1)所示。

      (1)

      參照漢語和英語等主流語言的最新進展,目前面向非自回歸語音合成的時長預(yù)提取一般采用兩種方案: ①使用預(yù)訓(xùn)練的語音識別模型作為對齊工具,對語音解碼得到語言單位(如字符、音素等)的時長信息; ②使用預(yù)訓(xùn)練的自回歸語音合成模型,對語料庫的文本進行前向計算,將得到的注意力對齊信息轉(zhuǎn)換為時長信息。這兩種方法在英語、漢語等語言上表現(xiàn)出不錯的效果,但是由于字符時長信息表現(xiàn)出高度的語言相關(guān)性,因此,英語或漢語的時長提取模型無法直接使用,而面向非自回歸蒙古語語音合成的時長預(yù)提取也沒有可用模型可以直接使用。

      因此,如圖2(b)所示,本文采用大規(guī)模蒙古語語音識別數(shù)據(jù)下預(yù)訓(xùn)練的蒙古語語音識別模型以及MonSpeech下預(yù)訓(xùn)練的自回歸蒙古語語音合成模型進行蒙古語音素時長信息的提取,作為時長預(yù)測器的訓(xùn)練目標來計算Lossdur。下面將對這兩種方法進行詳細介紹。

      (1) 基于蒙古語語音識別的對齊方法(ASRDur)

      如圖2(c)所示,蒙古語語音識別模型以語音的梅爾倒頻譜系數(shù)(Mel Frequency Cepstral Coefficents,MFCC)為輸入,通過6層TDNN網(wǎng)絡(luò)和1層Softmax輸出層輸出每個音素的狀態(tài)標簽[46-47]。最后,所需要的音素時長可以根據(jù)“狀態(tài)標簽—語音幀—音素”三者之間的對應(yīng)關(guān)系轉(zhuǎn)換得到[47]。

      (2) 基于自回歸蒙古語語音合成的對齊方法(ARTTSDur)

      如圖2(d)所示,基于自回歸聲學(xué)建模的蒙古語語音合成模型以蒙古文音素表示為輸入,通過“編碼器—注意力—解碼器”的模型結(jié)構(gòu)對語音的Mel頻譜參數(shù)進行預(yù)測。在訓(xùn)練階段,編碼器與解碼器之間的注意力機制用來學(xué)習(xí)輸入音素與輸出語音幀之間的對齊關(guān)系。訓(xùn)練結(jié)束后,可以對任意輸入蒙古文音素序列進行前向計算,得到該序列的注意力矩陣,并從中解析出該輸入序列中每個音素的持續(xù)時間。

      基于自回歸的蒙古語語音合成模型采用與Tacotron2類似的結(jié)構(gòu)。編碼器由兩層CNN網(wǎng)絡(luò)、1層BiLSTM網(wǎng)絡(luò)組成。解碼器由兩層預(yù)處理Pre-Net網(wǎng)絡(luò)、兩層LSTM網(wǎng)絡(luò)、1層線性層和5層基于CNN的后處理Post-Net網(wǎng)絡(luò)組成。由于音素時長信息從注意力矩陣中解析得到,因此,注意力機制的選擇對最終時長信息的精確性密切相關(guān)。為了更好地學(xué)習(xí)到呈對角線狀態(tài)的注意力矩陣,與傳統(tǒng)Tacotron2中的location-aware attention[15]機制不同,本文采用guided attention[48]機制對注意力矩陣進行對角線約束,從而可以實現(xiàn)更加精確的時長學(xué)習(xí)。

      在實驗部分,本文將對這兩種方法提取的音素時長信息的準確性以及對非自回歸聲學(xué)建模的有效性進行詳細驗證和比較。

      3.1.2.2 音素級基頻和能量預(yù)測器

      音素級基頻和能量預(yù)測器以蒙古文文本編碼器輸出的音素向量E為輸入,分別對音素級別的基頻(Phoneme-level Pitch,PP)和能量(Phoneme-level Energy,PE)參數(shù)進行預(yù)測。

      如圖2(b)所示,在訓(xùn)練階段,我們使用從訓(xùn)練數(shù)據(jù)中提取的真實的音素級基頻和能量參數(shù)為目標來計算音素級的基頻和能量損失函數(shù),分別為Losspp和Losspe,如式(12)、式(13)所示。

      最后,時長規(guī)整器(Length Regulator,LR)根據(jù)時長預(yù)測器預(yù)測的字符時長D={D1,D2,…,DT},將字符級別的文本特征向量E={E1,E2,…,ET}、基頻向量EPP={EPP1,EPP2,…,EPPT}、能量向量EPE={EPE1,EPE2,…,EPET}等信息,下采樣為幀級別的聯(lián)合特征向量FE={Y1,Y2,…,YL}(L表示目標Mel譜的時長,即語音幀的數(shù)量),以與Mel譜進行長度匹配來并行預(yù)測梅爾頻譜參數(shù)。Mel譜解碼器(Mel Decoder)讀取聯(lián)合特征向量FE來并行預(yù)測Mel譜Y={Y1,Y2,…,YL},如式(4)所示。

      Y=MelDecoder(FE+Ω)

      (4)

      其中,Ω與3.1.1節(jié)中的Ω相同,均表示位置編碼。

      綜上所述,MonTTS的非自回歸蒙古語聲學(xué)模型部分可以對蒙古文文本進行處理,將其實時轉(zhuǎn)換為語音的Mel頻譜特征表示。訓(xùn)練階段的總損失函數(shù)Loss為Lossmel, Lossdur, Losspp, Losspe四個損失函數(shù)的總和。之后非自回歸神經(jīng)聲碼器將Mel譜特征實時生成語音波形。

      3.2 非自回歸神經(jīng)聲碼器

      非自回歸神經(jīng)聲碼器以語音的梅爾頻譜Y={Y1,Y2,…,YL}為輸入,并行預(yù)測輸出全部語音采樣點Z={Z1,Z2,…,ZK}(K表示語音采樣點的個數(shù)),最終輸出語音波形。非自回歸神經(jīng)聲碼器可以對語音采樣點進行并行生成,保證語音波形的實時生成。我們注意到非自回歸與自回歸神經(jīng)聲碼器已經(jīng)在漢語、英語等語種中表現(xiàn)出優(yōu)異的性能,但是當前蒙古語語音合成領(lǐng)域還只是停留在基于信號處理的聲碼器階段,關(guān)于實時高保真的神經(jīng)網(wǎng)絡(luò)聲碼器的研究實現(xiàn)還處于空白階段。

      因此,為了填補這一空白,確保蒙古語語音合成地又快又好,本文選擇當前最優(yōu)的基于GAN的聲碼器HiFi-GAN[31]進行蒙古語語音波形的生成。

      本文使用的HiFi-GAN與文獻[31]具有相似的結(jié)構(gòu),包括一個生成器和兩個判別器,兩個判別器分別為多周期判別器和多尺度判別器。生成器是一個CNN網(wǎng)絡(luò),用來對Mel譜進行升采樣,將長度L的Mel譜序列Y擴展到語音采樣點長度K。多周期判別器通過觀察輸出音頻在不同周期的不同部分來捕獲不同的隱式結(jié)構(gòu),多尺度判別器聚焦不同頻率范圍內(nèi)的音頻特征,從而保證語音信號的高保真生成。模型細節(jié)參見文獻[31]。MonTTS系統(tǒng)摒棄之前使用的Griffin-Lim語音重構(gòu)算法,首次使用蒙古語語音合成數(shù)據(jù)成功訓(xùn)練得到高質(zhì)量的蒙古語HiFi-GAN聲碼器,可以在實時Mel頻譜參數(shù)預(yù)測的基礎(chǔ)上,實時合成高保真的蒙古語語音。我們將在下一節(jié)的實驗部分對MonTTS系統(tǒng)的性能進行驗證。

      4 實驗

      4.1 實驗數(shù)據(jù)

      蒙古語語音合成模型訓(xùn)練數(shù)據(jù): 我們基于本文構(gòu)建的MonSpeech數(shù)據(jù)集進行語音合成的訓(xùn)練。如第1節(jié)中介紹,MonSpeech包含約40h的單說話人蒙古語語音及其對應(yīng)的約4萬句文字抄本。我們將數(shù)據(jù)按照8∶1∶1的比例劃分為訓(xùn)練集、驗證集和測試集。

      蒙古語語音識別模型預(yù)訓(xùn)練數(shù)據(jù): 針對基于蒙古語語音識別的時長預(yù)提取方法,我們使用內(nèi)蒙古大學(xué)計算機學(xué)院所有的約1 500h的多說話人蒙古語語音識別標準數(shù)據(jù)[46]進行語音識別模型的訓(xùn)練。文獻[46]首次使用該數(shù)據(jù)進行蒙古語語音識別實驗,請閱讀該文獻了解更多信息。

      4.2 對比實驗設(shè)計

      為了驗證本文提出的MonTTS在解碼效率和語音音質(zhì)兩方面的表現(xiàn),本文一共構(gòu)建了6個系統(tǒng)。

      (1)Tacotron2(GL): 該系統(tǒng)使用基于自回歸機制的Tacotron2語音合成模型進行Mel譜參數(shù)預(yù)測,之后使用Griffin-Lim算法進行語音重構(gòu)。

      (2)Tacotron2(HiFi-GAN): 該系統(tǒng)同樣使用Tacotron2模型預(yù)測Mel譜,與第一個系統(tǒng)不同的是,使用 HiFiGAN聲碼器進行語音的生成。

      (3)FastSpeech2+ASRDur(HiFi-GAN): 該系統(tǒng)采用FastSpeech2模型進行Mel預(yù)測,使用HiFiGAN聲碼器進行語音生成。其中,時長預(yù)測器的訓(xùn)練目標由蒙古語語音識別模型提供。ASRDur表示基于蒙古語語音識別模型的時長預(yù)提取方法。

      (4)FastSpeech2+ARTTSDur(HiFi-GAN): 該系統(tǒng)采用FastSpeech2模型進行Mel預(yù)測,使用HiFiGAN聲碼器進行語音生成。其中,時長預(yù)測器的訓(xùn)練目標由自回歸蒙古語語音合成模型提供。ARTTSDur表示基于自回歸蒙古語語音合成模型的時長預(yù)提取方法。

      (5)MonTTS+ASRDur(HiFi-GAN): 該系統(tǒng)采用本文提出的MonTTS模型進行Mel預(yù)測,使用HiFiGAN聲碼器進行語音生成。與FastSpeech2+ASRDur類似,時長預(yù)測器的訓(xùn)練目標由蒙古語語音識別模型提供。與模型(3)、模型(4)相比,MonTTS在蒙古語聲學(xué)調(diào)節(jié)器中使用字符級的基頻和能量預(yù)測器。

      (6)MonTTS+ARTTSDur(HiFi-GAN): 該系統(tǒng)同樣采用MonTTS模型和HiFiGAN聲碼器。其中,時長預(yù)測器的訓(xùn)練目標由自回歸蒙古語語音合成模型提供。

      4.3 實驗設(shè)置

      MonTTS的模型參數(shù)與FastSpeech2[24]相似。文本編碼器和聲學(xué)解碼器均包含4層FFT模塊,音素向量和內(nèi)部的隱層向量都是256維。我們將語音數(shù)據(jù)重采樣到22.05kHz并采用幀長50ms,幀移12.5ms提取80維的Mel譜參數(shù)。Pitch和Energy也使用與FastSpeech2[24]相同的參數(shù)配置計算。Dropout比率設(shè)置為0.5。Batch size大小設(shè)置為32。我們使用與FastSpeech2相似的學(xué)習(xí)率動態(tài)調(diào)整方法訓(xùn)練模型200k步。其余Tacotron2和FastSpeech2模型同樣訓(xùn)練200k步。對于HiFi-GAN聲碼器,我們先訓(xùn)練生成器100k步,之后聯(lián)合訓(xùn)練生成器和判別器300k步。ASRDur方法中6層TDNN的上下文語音幀擴展配置為[-1,0,1], [-1,0,1], [-3,0,3], [-3,0,3], [-3,0,3], [-6,-3,0]。ARTTSDur方法中的編碼器解碼器參數(shù)配置與Tacotron2相同。

      4.4 實驗結(jié)果

      4.4.1 蒙古文文本表示比較

      本文首先基于Tacotron2(GL)模型對蒙古文的文本表示方法進行比較。我們分別使用拉丁字符表示和音素表示進行模型的訓(xùn)練,并通過主觀聽力測試比較二者合成語音的質(zhì)量。我們從測試集中隨機選取50句蒙古文文本并分別使用字符和音素序列表示進行語音合成,之后邀請10位蒙古族青年學(xué)生對100句合成語音進行MOS[44]打分(5—優(yōu)秀,4—良好,3—可接受,2—一般,1—很差)。實驗結(jié)果如圖3所示,音素序列表示的MOS分數(shù)為3.98,顯著優(yōu)于字符序列的分值3.82,表明音素序列與蒙古文的發(fā)音信息直接相關(guān),可以合成自然度更高的語音。之后的實驗中,所有的蒙古語語音合成系統(tǒng)均以音素序列作為輸入。

      圖3 不同蒙古文文本表示的MOS分數(shù)(95%置信度)

      4.4.2 蒙古文時長對齊方法比較

      我們首先對基于蒙古語語音識別和自回歸蒙古語語音合成兩種音素時長對齊方法的準確度進行比較。我們從測試集中隨機選取50句蒙古語語音及其對應(yīng)音素序列,使用Praat軟件(1)https://www.fon.hum.uva.nl/praat/進行音素時長標注。之后,我們分別使用兩種對齊方法得到的音素時長和標注的真實音素時長計算時長準確率(phoneme duration accuracy)[24]。實驗結(jié)果如表2所示,從表中可以看到,語音識別對齊方法相比自回歸語音合成對齊方法可以得到更精確的時長信息。分析原因可能有以下兩點: ①蒙古語語音識別模型基于1 500h的大規(guī)模多說話人訓(xùn)練數(shù)據(jù)訓(xùn)練得到,模型具有很好的泛化性,可以得到精確的“狀態(tài)標簽—語音幀—音素”對應(yīng)關(guān)系; ②在于自回歸語音合成對齊方法中,注意力機制的選擇是能否得到精確對齊關(guān)系的關(guān)鍵之一,對角線指導(dǎo)的guided attention還沒有體現(xiàn)出注意力對齊的單調(diào)特性,可能導(dǎo)致對齊信息不夠精確。

      表2 ASRDur和ARTTSDur兩種方法的對齊精度比較

      4.4.3 蒙古語語音合成韻律自然度比較

      本節(jié)我們將從客觀實驗和主觀實驗兩個方面對不同系統(tǒng)在合成語音音質(zhì)方面的性能進行詳細比較。

      對于客觀實驗,我們選擇Mel Cepstral Distortion(MCD)[49]以及pitch和 energy的均方誤差(Mean Absolute Error,MAE)三個指標進行語音質(zhì)量的測試。我們從測試集中隨機選取50句文本并使用不同系統(tǒng)進行語音合成,之后分別從合成語音和真實語音中提取出mel、pitch和energy三種聲學(xué)特征并且計算上述三個指標。在指標計算時我們使用Dynamic Time Warping (DTW)算法[50]將合成語音和生成語音進行對齊。實驗結(jié)果如表3所示,可以發(fā)現(xiàn): ①所有的非自回歸語音合成模型FastSpeech2 和 MonTTS都明顯優(yōu)于Tacotron2模型。②本文提出的MonTTS模型與FastSpeech2相比可以合成更接近真實語音的語音參數(shù),從而合成更加自然的語音,也證明了我們的音素級別聲學(xué)調(diào)節(jié)器可以更好地學(xué)習(xí)蒙古語的長時韻律特征,從而生成韻律更自然的語音。③與MonTTS+ARTTSDur相比,MonTTS+ASRDur輸出的語音參數(shù)明顯較優(yōu),從另一角度證明語音識別對齊方法可以提供更加準確的時長監(jiān)督,有利于更加自然的語音生成。④本文基于MonSpeech訓(xùn)練的HiFi-GAN聲碼器顯著優(yōu)于傳統(tǒng)的Griffin-Lim算法,可以得到高質(zhì)量的合成語音。

      表3 針對語音自然度的客觀實驗結(jié)果

      對于主觀實驗,我們進行主觀MOS聽力測試。測試樣本選擇與客觀實驗相同,我們邀請15位蒙古族青年學(xué)生對所有合成語音和對應(yīng)的真實語音進行MOS打分。實驗結(jié)果如圖4所示,從圖中可以看出本文提出的MonTTS系統(tǒng)搭配我們首次基于MonSpeech數(shù)據(jù)訓(xùn)練得到的HiFi-GAN 聲碼器,可以輸出高保真的合成語音,合成語音獲得了接近4.53的MOS分數(shù),顯著優(yōu)于所有基線系統(tǒng),并且與真實語音的MOS分數(shù)基本相當。

      圖4 針對語音自然度的主觀實驗結(jié)果其中(1)~(6)分別表示4.2節(jié)中構(gòu)建的6個對比系統(tǒng),由于空間限制僅使用其數(shù)字編號代表系統(tǒng)名稱。

      上述客觀實驗和主觀實驗的實驗結(jié)果充分證明本文提出的MonTTS系統(tǒng)在合成語音音質(zhì)方面的強大性能。下一節(jié)我們將比較不同系統(tǒng)在合成效率方面的表現(xiàn)。

      4.4.4 蒙古語語音合成效率比較

      我們同樣采用上一節(jié)的50句測試集進行語音合成速度測試。我們使用不同系統(tǒng)對50句測試集進行10次語音合成,統(tǒng)計每次合成所需要的時間。之后以50句測試集對應(yīng)真實語音的時間為參照,計算語音合成實時率(Real-time factor,RTF)[24]。實驗結(jié)果如表4所示,從表中我們發(fā)現(xiàn): ①MonTTS(HiFi-GAN)與Tacotron2(HiFi-GAN)相比,實時率顯著提升,說明非自回歸聲學(xué)模型在合成效率上顯著優(yōu)于自回歸Tacotron2結(jié)構(gòu); ②Tacotron2(HiFi-GAN)與Tacotron2(GL)相比,說明本文訓(xùn)練得到的HiFi-GAN聲碼器同樣憑借其非自回歸的快速波形生成能力在合成效率上表現(xiàn)出優(yōu)秀的性能。本文提出的MonTTS(HiFi-GAN)的合成實時率達到了3.63×10-3,基本滿足實時合成要求,可以很好地滿足實際應(yīng)用需求。

      表4 不同系統(tǒng)的合成實時率比較

      綜上所述,本文提出的MonTTS模型在合成語音音質(zhì)和合成效率兩方面均表現(xiàn)出優(yōu)異的性能,顯著優(yōu)于所有基線系統(tǒng)。MonTTS實現(xiàn)了第一個全非自回歸的實時、高保真蒙古語語音合成系統(tǒng)。

      5 總結(jié)

      本文提出首個完全非自回歸機制的實時、高保真蒙古語語音合成系統(tǒng)MonTTS?;诋斍跋冗M的FastSpeech2并針對蒙古文文本表示、蒙古文韻律建模和蒙古文時長建模提出音素表示、音素級基頻和能量預(yù)測器以及基于蒙古語語音識別和自回歸蒙古語語音合成的時長對齊方法。實驗結(jié)果表明,本文提出的MonTTS在語音質(zhì)量和合成效率兩方面優(yōu)于所有基線系統(tǒng),達到高保真語音的實時合成,可以為上游蒙古語語音交互系統(tǒng)提供全新的技術(shù)服務(wù)。本文實驗僅使用單一女性說話人語料進行實驗,為了更好地驗證模型對不同說話人的效果,未來工作將收集整理更多的說話人數(shù)據(jù)(包括不同年齡段的男性和女性說話人等)對MonTTS模型的有效性進行驗證。更進一步,未來研究將對該模型進行擴展,實現(xiàn)高質(zhì)量的多說話人和多情感的蒙古語語音生成能力。

      猜你喜歡
      碼器蒙古文蒙古語
      磁吸式掃碼器固定調(diào)節(jié)裝置的研究
      五金科技(2023年5期)2023-11-02 01:50:06
      含有“心”一詞蒙古語復(fù)合詞的語義
      對于多位置條煙條形碼統(tǒng)一檢測的應(yīng)用研究
      電子測試(2021年22期)2021-12-17 11:19:16
      土默特地方蒙古語地名再探
      關(guān)于新發(fā)現(xiàn)的《字母匯編》(蒙古文)
      論蒙古語中反映心理逆境傾向的某些字的含義
      關(guān)于蒙古文在各種瀏覽器上顯示方法的探討
      俄語詞“Sherti”在蒙古語中的變義(蒙古文)
      略論Khandjamts夫人(基里爾蒙古文)
      康耐視 DataMan?8050系列手持式讀碼器
      自動化博覽(2014年4期)2014-02-28 22:31:13
      盖州市| 富锦市| 盐亭县| 安顺市| 桂林市| 南靖县| 舒城县| 巴彦县| 宜兰市| 紫金县| 天等县| 嘉兴市| 扎鲁特旗| 江华| 岳阳市| 准格尔旗| 东丽区| 深泽县| 遂平县| 高雄市| 宜春市| 镇坪县| 林甸县| 肇庆市| 墨竹工卡县| 烟台市| 措勤县| 长阳| 荔浦县| 合作市| 阳原县| 龙游县| 潮安县| 定结县| 平利县| 如皋市| 长垣县| 册亨县| 洛宁县| 平阴县| 安福县|