專利名稱:參數(shù)語音合成方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及參數(shù)語音合成技術(shù)領(lǐng)域,更為具體地,涉及一種連續(xù)合成任意時(shí)長語音的參數(shù)語音合成方法和系統(tǒng)。
背景技術(shù):
語音合成通過機(jī)械、電子的方法產(chǎn)生人造語音,其是使人機(jī)交互更加自然的一項(xiàng)重要技術(shù)。當(dāng)前常見的語音合成技術(shù)有兩類,一類是基于單元挑選和波形拼接的語音合成方法,另一類是基于聲學(xué)統(tǒng)計(jì)模型的參數(shù)語音合成方法。由于參數(shù)語音合成方法對(duì)存儲(chǔ)空間的要求相對(duì)較小,更適于應(yīng)用在小型電子設(shè)備上。在參數(shù)語音合成方法中,分為訓(xùn)練與合成兩個(gè)階段。在訓(xùn)練階段,參見圖1,首先提取出語料庫中所有語音的聲學(xué)參數(shù),這包括靜態(tài)參數(shù),如頻譜包絡(luò)參數(shù)、基因頻率參數(shù),和動(dòng)態(tài)參數(shù),如頻譜包絡(luò)參數(shù)和基音頻率參數(shù)的一階和二階差分參數(shù);然后為每個(gè)音素根據(jù)其上下文標(biāo)注信息訓(xùn)練出對(duì)應(yīng)的聲學(xué)統(tǒng)計(jì)模型,同時(shí)訓(xùn)練出針對(duì)整個(gè)語料庫的全局方差模型;最后由所有音素的聲學(xué)統(tǒng)計(jì)模型及全局方差模型組成模型庫。在合成階段,采用分層離線處理的方式,進(jìn)行語音的合成。如圖1所示,包括第一層分析輸入的整段文本得到所有帶上下文信息的音素組成音素序列。第二層從訓(xùn)練好的模型庫中提取音素序列中每個(gè)音素對(duì)應(yīng)的模型組成模型序列。第三層使用最大似然算法從模型序列中預(yù)測出每一幀語音對(duì)應(yīng)的聲學(xué)參數(shù)組成語音參數(shù)序列。第四層使用全局方差模型對(duì)語音參數(shù)序列進(jìn)行整體優(yōu)化。第五層將所有優(yōu)化后的語音參數(shù)序列輸入到參數(shù)語音合成器生成最終的合成語音。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下缺陷現(xiàn)有的參數(shù)語音合成方法,在合成階段的分層操作中采用一種橫向的處理方式 取出所有統(tǒng)計(jì)模型的參數(shù)、以最大似然算法預(yù)測生成所有幀的平滑參數(shù)、以全局方差模型得到所有幀的優(yōu)化參數(shù),最后從參數(shù)合成器輸出所有幀的語音,即在每一層都需要保存所有幀的相關(guān)參數(shù),導(dǎo)致語音合成時(shí)所需的隨機(jī)存儲(chǔ)器(Random Access Memory, RAM)的容量隨著合成語音時(shí)長的增長呈正比例增加,而芯片上RAM的大小是固定的,很多應(yīng)用中芯片的RAM小到不足100K字節(jié),現(xiàn)有的參數(shù)語音合成方法無法在具有較小RAM的芯片上連續(xù)合成任意時(shí)長語音。下面結(jié)合上述合成階段中第三層和第四層的操作,進(jìn)一步詳細(xì)說明造成上述問題的原因在上述合成階段的第三層操作中,參見圖4,運(yùn)用最大似然算法從模型序列中預(yù)測出語音參數(shù)序列的實(shí)施過程必須通過逐幀前向遞推和后向遞推兩步來實(shí)現(xiàn)。在第一步遞推過程結(jié)束后,會(huì)為每幀語音產(chǎn)生對(duì)應(yīng)的臨時(shí)參數(shù)。所有幀的臨時(shí)參數(shù)再輸入到第二步的反向遞推過程才能預(yù)測出所需的參數(shù)序列。當(dāng)合成語音時(shí)長越長時(shí),對(duì)應(yīng)的語音幀數(shù)就越多, 預(yù)測每幀語音參數(shù)時(shí)都會(huì)產(chǎn)生一幀對(duì)應(yīng)的臨時(shí)參數(shù)。所有幀的臨時(shí)參數(shù)都必須保存在RAM 中,才能完成第二步的遞推預(yù)測過程,從而導(dǎo)致無法在具有較小RAM的芯片上連續(xù)合成任意時(shí)長語音。并且,第四層中的操作需要從第三層輸出的所有幀語音參數(shù)中計(jì)算出均值與方差,再運(yùn)用全局方差模型對(duì)語音參數(shù)的平滑值進(jìn)行整體優(yōu)化生成最終的語音參數(shù)。因此,也需要相應(yīng)幀數(shù)的RAM保存第三層輸出的所有幀的語音參數(shù),也導(dǎo)致無法在具有較小RAM的芯片上連續(xù)合成任意時(shí)長語音。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明的目的是解決原有的語音合成過程中需要的RAM大小隨著合成語音長度呈正比例增加、進(jìn)而無法在小RAM的芯片上連續(xù)合成出任意時(shí)長語音的問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種參數(shù)語音合成方法,包括訓(xùn)練階段和合成階段,其中所述合成階段具體包括依次對(duì)輸入文本的音素序列中每一音素的每一幀語音進(jìn)行如下處理對(duì)輸入文本的音素序列中的當(dāng)前音素,從統(tǒng)計(jì)模型庫中提取相應(yīng)的統(tǒng)計(jì)模型,并將該統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值;利用所述粗略值以及當(dāng)前時(shí)刻之前預(yù)定數(shù)目語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;根據(jù)統(tǒng)計(jì)得到的所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù);對(duì)生成的所述語音參數(shù)進(jìn)行合成,得到對(duì)當(dāng)前音素當(dāng)前幀所合成的一幀語音。其中,優(yōu)選的方案是,利用所述粗略值以及上一時(shí)刻語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值,該上一時(shí)刻語音幀的信息為上一時(shí)刻所預(yù)測語音參數(shù)的平滑值。此外,優(yōu)選的方案是,利用如下公式,根據(jù)統(tǒng)計(jì)得到所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù)yt - r - (yt - m) + mZi = w(yt-yt) + yt其中,yt為t時(shí)刻的語音參數(shù)在優(yōu)化前的平滑值,Λ為初步優(yōu)化后的值,w為權(quán)重值,Zt為全局優(yōu)化后得到的所需的語音參數(shù),r為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局標(biāo)準(zhǔn)差比值,m為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局均值,r和m的取值為常數(shù)。進(jìn)一步的,本方案還包括利用子帶濁音度參數(shù)構(gòu)造濁音子帶濾波器和清音子帶濾波器;將由基音頻率參數(shù)構(gòu)造的準(zhǔn)周期性脈沖序列,經(jīng)過所述濁音子帶濾波器得到語音信號(hào)的濁音成分;將由白噪聲構(gòu)造的隨機(jī)序列,經(jīng)過所述清音子帶濾波器得到語音信號(hào)的清音成分;將所述濁音成分與清音成分相加得到混合激勵(lì)信號(hào);將所述混合激勵(lì)信號(hào)通過由頻譜包絡(luò)參數(shù)構(gòu)造的濾波器后輸出一幀合成的語音波形。進(jìn)一步的,本方案在所述合成階段之前,所述方法還包括訓(xùn)練階段,在訓(xùn)練階段,從語料庫中提取的聲學(xué)參數(shù)僅包括靜態(tài)參數(shù),或者,從語料庫中提取的聲學(xué)參數(shù)包括靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù);訓(xùn)練后所得到的統(tǒng)計(jì)模型的模型參數(shù)中僅保留靜態(tài)模型參數(shù);在合成階段中,根據(jù)所述當(dāng)前音素,將訓(xùn)練階段中所得到所述統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的靜態(tài)模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值。根據(jù)本發(fā)明的另一方面,提供了一種參數(shù)語音合成系統(tǒng),包括循環(huán)合成裝置,用于在合成階段,依次對(duì)輸入文本的音素序列中每一音素的每一幀語音進(jìn)行語音合成;所述循環(huán)合成裝置包括粗略搜索單元,用于對(duì)輸入文本的音素序列中的當(dāng)前音素,從統(tǒng)計(jì)模型庫中提取相應(yīng)的統(tǒng)計(jì)模型,并將該統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值;平滑濾波單元,用于利用所述粗略值以及當(dāng)前時(shí)刻之前預(yù)定數(shù)目語音幀的信息, 對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;全局優(yōu)化單元,用于根據(jù)統(tǒng)計(jì)得到的所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù);參數(shù)語音合成單元,用于對(duì)生成的所述語音參數(shù)進(jìn)行合成,得到對(duì)當(dāng)前音素當(dāng)前幀所合成的一幀語音。進(jìn)一步的,所述平滑濾波單元包括低通濾波器組,用于利用所述粗略值以及上一時(shí)刻語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值,該上一時(shí)刻語音幀的信息為上一時(shí)刻所預(yù)測語音參數(shù)的平滑值。進(jìn)一步的,所述全局優(yōu)化單元包括全局參數(shù)優(yōu)化器,用于利用如下公式,根據(jù)統(tǒng)計(jì)得到所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù)yt - r - (yt - m) + mZi =w-(y[-y[) + y[其中,yt為t時(shí)刻的語音參數(shù)在優(yōu)化前的平滑值,Λ為初步優(yōu)化后的值,w為權(quán)重值,Zt為全局優(yōu)化后得到的所需的語音參數(shù),r為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局標(biāo)準(zhǔn)差比值,m為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局均值,r和m的取值為常數(shù)。進(jìn)一步的,所述參數(shù)語音合成單元,包括濾波器構(gòu)造模塊,用于利用子帶濁音度參數(shù)構(gòu)造濁音子帶濾波器和清音子帶濾波器;所述濁音子帶濾波器,用于對(duì)由基音頻率參數(shù)構(gòu)造的準(zhǔn)周期性脈沖序列進(jìn)行濾波,得到語音信號(hào)的濁音成分;所述清音子帶濾波器,用于對(duì)由白噪聲構(gòu)造的隨機(jī)序列進(jìn)行濾波,得到語音信號(hào)的清音成分;加法器,用于將所述濁音成分與清音成分相加得到混合激勵(lì)信號(hào);合成濾波器,用于將所述混合激勵(lì)信號(hào)通過由頻譜包絡(luò)參數(shù)構(gòu)造的濾波器后輸出一幀合成的語音波形。
進(jìn)一步的,所述系統(tǒng)還包括訓(xùn)練裝置,用于在訓(xùn)練階段,從語料庫中提取的聲學(xué)參數(shù)僅包括靜態(tài)參數(shù),或者,從語料庫中提取的聲學(xué)參數(shù)包括靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù);以及,在訓(xùn)練后所得到的統(tǒng)計(jì)模型的模型參數(shù)中僅保留靜態(tài)模型參數(shù);所述粗略搜索單元,具體用于在合成階段中,根據(jù)所述當(dāng)前音素,將訓(xùn)練階段中所得到所述統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的靜態(tài)模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值。由上所述,本發(fā)明實(shí)施例的技術(shù)方案通過利用當(dāng)前幀之前的語音幀的信息以及預(yù)先統(tǒng)計(jì)得到語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值等技術(shù)手段,提供了一種新型的參數(shù)語音合成方案。本發(fā)明所提供的參數(shù)語音合成方法和系統(tǒng),采用縱向處理的合成方法,即每一幀語音的合成都需要經(jīng)過取出統(tǒng)計(jì)模型粗略值、濾波得平滑值、全局優(yōu)化得優(yōu)化值、參數(shù)語音合成得語音四個(gè)步驟,之后每一幀語音的合成都再次重復(fù)這四個(gè)步驟,從而在參數(shù)語音合成處理的過程中僅需要保存當(dāng)前幀需要的固定存儲(chǔ)容量的參數(shù)即可,使語音合成所需要的 RAM不會(huì)隨著合成語音長度的增加而增加,合成語音的時(shí)長不再受到RAM的限制。另外,本發(fā)明中所采用的聲學(xué)參數(shù)為靜態(tài)參數(shù),在模型庫中也僅保存各模型的靜態(tài)均值參數(shù),從而能夠有效減少統(tǒng)計(jì)模型庫的大小。再者,本發(fā)明在合成語音的過程中使用多子帶清濁混合激勵(lì),使每個(gè)子帶中清音與濁音按照濁音度進(jìn)行混合,從而使清音和濁音在時(shí)間上不再有明確的硬邊界,避免了語音合成后音質(zhì)的明顯畸變。本方案能夠合成出具有較高連續(xù)性、一致性和自然度的語音,有助于語音合成方法在小存儲(chǔ)空間芯片上的推廣和應(yīng)用。為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個(gè)或多個(gè)方面包括后面將詳細(xì)說明并在權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細(xì)說明了本發(fā)明的某些示例性方面。 然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物
通過參考以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,并且隨著對(duì)本發(fā)明的更全面理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中圖1為現(xiàn)有技術(shù)中基于動(dòng)態(tài)參數(shù)及最大似然準(zhǔn)則的參數(shù)語音合成方法分階段示意圖;圖2為本發(fā)明一個(gè)實(shí)施例的參數(shù)語音合成方法的流程圖;圖3為本發(fā)明一個(gè)實(shí)施例的參數(shù)語音合成方法分階段示意圖;圖4為現(xiàn)有技術(shù)中基于動(dòng)態(tài)參數(shù)的最大似然參數(shù)預(yù)測示意圖;圖5為本發(fā)明一個(gè)實(shí)施例的基于靜態(tài)參數(shù)的濾波平滑參數(shù)預(yù)測示意圖;圖6為根據(jù)本發(fā)明一個(gè)實(shí)施例的基于混合激勵(lì)的合成濾波器示意圖;圖7為現(xiàn)有技術(shù)中基于清/濁判決的合成濾波示意圖;圖8為本發(fā)明另一個(gè)實(shí)施例的參數(shù)語音合成系統(tǒng)的方框示意圖;圖9為本發(fā)明另一個(gè)實(shí)施例的參數(shù)語音合成單元的邏輯結(jié)構(gòu)示意8
圖10為本發(fā)明又一個(gè)實(shí)施例的參數(shù)語音合成方法的流程圖;圖11為本發(fā)明又一個(gè)實(shí)施例的參數(shù)語音合成系統(tǒng)的結(jié)構(gòu)示意圖。在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。
具體實(shí)施例方式以下將結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)描述。圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的參數(shù)語音合成方法的流程圖。如圖2所示,本發(fā)明所提供的能夠連續(xù)合成任意時(shí)長語音的參數(shù)語音合成方法的實(shí)現(xiàn)包括如下步驟S210 分析輸入文本,根據(jù)對(duì)輸入文本的分析獲取包含上下文信息的音素序列;S220:依次取出上述音素序列中的一個(gè)音素,在統(tǒng)計(jì)模型庫中搜索所述音素的各聲學(xué)參數(shù)對(duì)應(yīng)的統(tǒng)計(jì)模型,按幀取出所述音素的各統(tǒng)計(jì)模型作為待合成語音參數(shù)的粗略值;S230:使用濾波器組對(duì)上述待合成語音參數(shù)的粗略值進(jìn)行參數(shù)平滑,得到平滑后的語音參數(shù);S240:使用全局參數(shù)優(yōu)化器對(duì)所述平滑后的語音參數(shù)進(jìn)行全局參數(shù)優(yōu)化,得到優(yōu)化后的語音參數(shù);S250:利用參數(shù)語音合成器對(duì)所述優(yōu)化后的語音參數(shù)進(jìn)行合成,輸出一幀合成語
曰;S260:判斷所述音素的所有幀是否都處理完畢,如果沒有,則對(duì)所述音素的下一幀重復(fù)步驟S220 S250的語音合成處理,直至處理完所述音素序列中的所有音素的所有幀。為了能夠進(jìn)一步清楚的對(duì)本發(fā)明的參數(shù)語音合成技術(shù)進(jìn)行說明,以突出本發(fā)明的技術(shù)特點(diǎn),下面將分階段、分步驟與現(xiàn)有技術(shù)中的參數(shù)語音合成方法逐一進(jìn)行對(duì)比說明。圖3為本發(fā)明實(shí)施例的參數(shù)語音合成方法分階段示意圖。如圖3所示,與現(xiàn)有技術(shù)中基于動(dòng)態(tài)參數(shù)及最大似然準(zhǔn)則的參數(shù)語音合成方法相類似,本發(fā)明的參數(shù)語音合成的實(shí)現(xiàn)也包括訓(xùn)練和合成兩個(gè)階段,其中,訓(xùn)練階段用于通過語料庫中的語音信息提取語音的聲學(xué)參數(shù),并根據(jù)所提取的聲學(xué)參數(shù)訓(xùn)練出每個(gè)音素在每個(gè)上下文信息時(shí)對(duì)應(yīng)的統(tǒng)計(jì)模型,形成合成階段所需要的音素的統(tǒng)計(jì)模型庫。步驟S210 S260屬于合成階段,在合成階段,主要包括文本分析、參數(shù)預(yù)測和語音合成三部分,其中參數(shù)預(yù)測部分又可以細(xì)分為目標(biāo)模型搜索、參數(shù)生成和參數(shù)優(yōu)化三個(gè)環(huán)節(jié)。首先,在訓(xùn)練階段提取訓(xùn)練語料庫的聲學(xué)參數(shù)的過程中,本發(fā)明與現(xiàn)有參數(shù)語音合成技術(shù)的主要區(qū)別在于現(xiàn)有技術(shù)中所提取的聲學(xué)參數(shù)中包含動(dòng)態(tài)參數(shù),而本發(fā)明中所提取的聲學(xué)參數(shù)可以全部為靜態(tài)參數(shù),也可以包含表征前后幀參數(shù)變化的動(dòng)態(tài)參數(shù),如一階或二階差分參數(shù),以提高模型訓(xùn)練后的精度。具體地,本發(fā)明從語料庫中提取的聲學(xué)參數(shù)至少包括三種靜態(tài)參數(shù)頻譜包絡(luò)參數(shù)、基音頻率參數(shù)、子帶濁音度參數(shù),還可以選擇性地包括其它如共振峰頻率等參數(shù)。其中,頻譜包絡(luò)參數(shù)可以是線性預(yù)測系數(shù)(LPC)或其衍生參數(shù),如線譜對(duì)參數(shù) (LSP),也可以是倒譜類參數(shù);還可以是前幾個(gè)共振峰的參數(shù)(頻率、帶寬、幅值)或者離散傅立葉變換系數(shù)。另外,還可以使用這些頻譜包絡(luò)參數(shù)在美爾域的變種,以改善合成語音的音質(zhì)?;纛l率使用對(duì)數(shù)基音頻率,子帶濁音度為子帶中濁音所占比重。除了上述靜態(tài)參數(shù)外,從語料庫中提取的聲學(xué)參數(shù)還可以包括表征前后幀聲學(xué)參數(shù)變化的動(dòng)態(tài)參數(shù),如前后幾幀基音頻率間的一階或二階參數(shù)。訓(xùn)練時(shí)要將各音素自動(dòng)對(duì)齊到語料庫中大量的語音片段上,然后從這些語音片段中統(tǒng)計(jì)出該音素對(duì)應(yīng)的聲學(xué)參數(shù)模型。聯(lián)合使用靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù)進(jìn)行自動(dòng)對(duì)齊的精度略高于僅使用靜態(tài)參數(shù)的情形,使得模型的參數(shù)更準(zhǔn)確。但是,由于本發(fā)明在合成階段并不需要模型中的動(dòng)態(tài)參數(shù),因此,本發(fā)明在最終訓(xùn)練出的模型庫中僅保留靜態(tài)參數(shù)。在根據(jù)所提取的聲學(xué)參數(shù)訓(xùn)練出每個(gè)音素在不同上下文信息時(shí)各聲學(xué)參數(shù)對(duì)應(yīng)的統(tǒng)計(jì)模型的過程中,采用隱馬爾可夫模型(HMM,Hidden Markov Model)對(duì)各聲學(xué)參數(shù)進(jìn)行建模。具體地,對(duì)于頻譜包絡(luò)參數(shù)與子帶濁音度參數(shù),使用連續(xù)概率分布的HMM建模,而對(duì)于基音頻率則采用多空間概率分布的HMM建模。這種建模方案為現(xiàn)有技術(shù)中已有的建模方案,因此在下面的表述中只對(duì)該建模方案作簡單的說明。HMM是一種典型的統(tǒng)計(jì)信號(hào)處理方法,由于其隨機(jī)性、可以處理未知字長的字符串輸入、可以有效的避開切分的問題以及具有大量快速有效的訓(xùn)練和識(shí)別算法等特點(diǎn),被廣泛應(yīng)用于信號(hào)處理的各個(gè)領(lǐng)域。HMM的結(jié)構(gòu)為5個(gè)狀態(tài)左右型,每個(gè)狀態(tài)上觀察概率的分布為單高斯密度函數(shù)。而該函數(shù)由參數(shù)的均值和方差唯一確定。所述的均值由靜態(tài)參數(shù)的均值、動(dòng)態(tài)參數(shù)(一階與二階差分)的均值組成。所述的方差由靜態(tài)參數(shù)的方差、動(dòng)態(tài)參數(shù)(一階與二階差分)的方差組成。訓(xùn)練時(shí)根據(jù)上下文信息為每個(gè)音素的各聲學(xué)參數(shù)訓(xùn)練出一個(gè)模型,為了提高模型訓(xùn)練的穩(wěn)健性,需要根據(jù)音素的上下文信息對(duì)相關(guān)的音素進(jìn)行聚類,如采用基于決策樹的聚類方法。在上述聲學(xué)參數(shù)對(duì)應(yīng)的模型訓(xùn)練完成之后,再使用這些模型對(duì)訓(xùn)練語料庫中的語音進(jìn)行幀到狀態(tài)的強(qiáng)制對(duì)齊,然后利用對(duì)齊過程中產(chǎn)生的時(shí)長信息(即各狀態(tài)對(duì)應(yīng)的幀數(shù)),訓(xùn)練音素在不同上下文信息時(shí)采用決策樹聚類后的狀態(tài)時(shí)長模型,最終由每個(gè)音素在不同上下文信息時(shí)的各聲學(xué)參數(shù)對(duì)應(yīng)的統(tǒng)計(jì)模型形成統(tǒng)計(jì)模型庫。在訓(xùn)練完成后,本發(fā)明在模型庫中僅保存各模型的靜態(tài)均值參數(shù)。而現(xiàn)有的參數(shù)語音合成方法則需要保留靜態(tài)均值參數(shù)、一階差分參數(shù)、二階差分的均值參數(shù)及這些參數(shù)所對(duì)應(yīng)的方差參數(shù),統(tǒng)計(jì)模型庫較大。實(shí)踐證明,在本發(fā)明中,僅保存各模型的靜態(tài)均值參數(shù)的統(tǒng)計(jì)模型庫的大小只有現(xiàn)有技術(shù)中形成的統(tǒng)計(jì)模型庫的約1/6,極大地減少了統(tǒng)計(jì)模型庫的存儲(chǔ)空間。其中,所減少的數(shù)據(jù)雖然在現(xiàn)有的參數(shù)語音合成技術(shù)中是必須的,但對(duì)于本發(fā)明提供的參數(shù)語音合成技術(shù)方案則是不需要的,因此,數(shù)據(jù)量的減少并不會(huì)影響本發(fā)明參數(shù)語音合成的實(shí)現(xiàn)。在合成階段,首先需要對(duì)輸入的文本進(jìn)行分析,以便從中提取出包含上下文信息的音素序列(步驟S210),作為參數(shù)合成的基礎(chǔ)。在此,音素的上下文信息指的是與當(dāng)前音素前后相鄰的音素的信息,這些上下文信息可以是其前后一個(gè)或幾個(gè)音素的名稱,也可以包含其它語言層或音韻層的信息。比如,一個(gè)音素的上下文信息包括當(dāng)前音素名、前后兩個(gè)音素名、所在音節(jié)的音調(diào)或者重音,還可以選擇性地包括所在詞的詞性等。在確定了輸入文本中包含上下文信息的音素序列之后,就可以依次取出序列中的一個(gè)音素,在統(tǒng)計(jì)模型庫中搜索該音素的各聲學(xué)參數(shù)對(duì)應(yīng)的統(tǒng)計(jì)模型,然后按幀取出該音素的各統(tǒng)計(jì)模型作為待合成語音參數(shù)的粗略值(步驟S220)。在目標(biāo)統(tǒng)計(jì)模型的搜索過程中,將音素的上下文標(biāo)注信息輸入到聚類決策樹中,即可搜索出頻譜包絡(luò)參數(shù)、基音頻率參數(shù)、子帶濁音度參數(shù)、狀態(tài)時(shí)長參數(shù)對(duì)應(yīng)的統(tǒng)計(jì)模型。其中的狀態(tài)時(shí)長參數(shù)不是從原始語料庫中提取的靜態(tài)聲學(xué)參數(shù),它是在訓(xùn)練中作狀態(tài)與幀的對(duì)齊時(shí)生成的新參數(shù)。從模型各狀態(tài)中依次取出所保存的靜態(tài)參數(shù)的均值即為各參數(shù)對(duì)應(yīng)的靜態(tài)均值參數(shù)。其中,狀態(tài)時(shí)長均值參數(shù)被直接用于確定待合成的某個(gè)音素中各狀態(tài)該持續(xù)多少幀,而頻譜包絡(luò)、基音頻率、子帶濁音度等靜態(tài)均值參數(shù)就是待合成語音參數(shù)的粗略值。在確定了待合成語音參數(shù)的粗略值之后,基于濾波器組對(duì)所確定的語音參數(shù)粗略值進(jìn)行濾波,從而預(yù)測語音參數(shù)(步驟S230)。在這一步驟中,利用一組專門的濾波器分別對(duì)頻譜包絡(luò)、基音頻率和子帶濁音度進(jìn)行濾波,以預(yù)測合成效果更好的語音參數(shù)值。本發(fā)明在步驟S230中所采用的濾波方法為基于靜態(tài)參數(shù)的平滑濾波方法。圖5為本發(fā)明基于靜態(tài)參數(shù)的濾波平滑參數(shù)預(yù)測示意圖,如圖5所示,本發(fā)明用這組參數(shù)預(yù)測濾波器取代了現(xiàn)有的參數(shù)語音合成技術(shù)中的最大似然參數(shù)預(yù)測器,利用一組低通濾波器用以分別預(yù)測待合成語音參數(shù)的頻譜包絡(luò)參數(shù)、基音頻率參數(shù)、子帶濁音度參數(shù)。處理過程如公式(1)所示yt = ht*xt (1)其中,t表示時(shí)間為第t巾貞,^是從模型中得到的某個(gè)語音參數(shù)在第t幀時(shí)的粗略值,yt為經(jīng)過濾波平滑后的值,運(yùn)算符*表示卷積,ht為預(yù)先設(shè)計(jì)好的濾波器的沖擊響應(yīng)。對(duì)于不同類型的聲學(xué)參數(shù),由于參數(shù)特性不同,ht可以被設(shè)計(jì)成不同的表示。對(duì)于頻譜包絡(luò)參數(shù)、子帶濁音度參數(shù),可使用公式( 所示的濾波器進(jìn)行參數(shù)的預(yù)測。yt = α · yt_1+(l-a) · Xt (2)其中,α為預(yù)先設(shè)計(jì)好的固定的濾波器系數(shù),α的選擇可根據(jù)實(shí)際語音中頻譜包絡(luò)參數(shù)、子帶濁音度隨時(shí)間變化的快慢程度由實(shí)驗(yàn)確定。對(duì)于基音頻率參數(shù),則可使用公式(3)所示的濾波器進(jìn)行參數(shù)的預(yù)測。yt = β . y^+d-β) · xt (3)其中,β為預(yù)先設(shè)計(jì)好的固定的濾波器系數(shù),β的選擇可根據(jù)實(shí)際語音中基音頻率參數(shù)隨時(shí)間變化的快慢程度由實(shí)驗(yàn)確定??梢钥闯?,本發(fā)明所使用的這組濾波器在預(yù)測待合成語音參數(shù)的過程中所涉及的參數(shù)不會(huì)延及將來的參數(shù),某一時(shí)刻的輸出幀僅僅依賴于該時(shí)刻及之前的輸入幀或該時(shí)刻的前一時(shí)刻的輸出幀,而與將來的輸入或輸出幀無關(guān),從而使濾波器組所需要的RAM大小能夠事先固定。也就是說,在本發(fā)明中,運(yùn)用公式( 和( 預(yù)測語音的聲學(xué)參數(shù)時(shí),當(dāng)前幀的輸出參數(shù)僅依賴于當(dāng)前幀的輸入及前一幀的輸出參數(shù)。這樣,整個(gè)參數(shù)的預(yù)測過程使用固定大小的RAM緩存即可現(xiàn)實(shí),不會(huì)隨著待合成語音時(shí)長的增加而增加,從而就可以連續(xù)預(yù)測出任意時(shí)長的語音參數(shù),解決了現(xiàn)有技術(shù)中運(yùn)用最大似然準(zhǔn)則預(yù)測參數(shù)過程中所需RAM隨合成語音時(shí)長呈正比例增長的問題。由上述公式( 和( 可以看出,本方案在使用濾波器組對(duì)當(dāng)前時(shí)刻的待合成語音參數(shù)的粗略值進(jìn)行參數(shù)平滑時(shí),可以根據(jù)該時(shí)刻的粗略值以及上一時(shí)刻語音幀的信息,對(duì)該粗略值進(jìn)行濾波,得到平滑后的語音參數(shù)。在此,上一時(shí)刻語音幀的信息為上一時(shí)刻所預(yù)測語音參數(shù)的平滑值。在預(yù)測出語音參數(shù)的平滑值之后,就可以使用全局參數(shù)優(yōu)化器對(duì)平滑后的各語音參數(shù)進(jìn)行優(yōu)化,進(jìn)而確定優(yōu)化后的語音參數(shù)(步驟SM0)。為了使合成語音參數(shù)的方差與訓(xùn)練語料庫中語音參數(shù)的方差一致,改善合成語音的音質(zhì),本發(fā)明在優(yōu)化語音參數(shù)的過程中,使用下面的公式(4)對(duì)合成語音參數(shù)的變化范圍進(jìn)行調(diào)節(jié)。
權(quán)利要求
1.一種參數(shù)語音合成方法,包括在合成階段,依次對(duì)輸入文本的音素序列中每一音素的每一幀語音進(jìn)行如下處理 對(duì)輸入文本的音素序列中的當(dāng)前音素,從統(tǒng)計(jì)模型庫中提取相應(yīng)的統(tǒng)計(jì)模型,并將該統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值;利用所述粗略值以及當(dāng)前時(shí)刻之前預(yù)定數(shù)目語音幀的信息,對(duì)所述粗略值進(jìn)行濾波, 得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;根據(jù)統(tǒng)計(jì)得到的所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù);對(duì)生成的所述語音參數(shù)進(jìn)行合成,得到對(duì)當(dāng)前音素當(dāng)前幀所合成的一幀語音。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述粗略值以及當(dāng)前時(shí)刻之前預(yù)定數(shù)目語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值具體包括利用所述粗略值以及上一時(shí)刻語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;其中,所述上一時(shí)刻語音幀的信息為上一時(shí)刻所預(yù)測語音參數(shù)的平滑值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,利用如下公式,根據(jù)統(tǒng)計(jì)得到所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù) yt =r-(yt-m) + mzt =^<yt-yt)+yt其中,yt為t時(shí)刻的語音參數(shù)在優(yōu)化前的平滑值,滅為初步優(yōu)化后的值,W為權(quán)重值,Zt 為全局優(yōu)化后得到的所需的語音參數(shù),r為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局標(biāo)準(zhǔn)差比值, m為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局均值,r和m的取值為常數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)生成的所述語音參數(shù)進(jìn)行合成,得到對(duì)當(dāng)前音素當(dāng)前幀所合成的一幀語音包括利用子帶濁音度參數(shù)構(gòu)造濁音子帶濾波器和清音子帶濾波器; 將由基音頻率參數(shù)構(gòu)造的準(zhǔn)周期性脈沖序列,經(jīng)過所述濁音子帶濾波器得到語音信號(hào)的濁音成分;將由白噪聲構(gòu)造的隨機(jī)序列,經(jīng)過所述清音子帶濾波器得到語音信號(hào)的清音成分; 將所述濁音成分與清音成分相加得到混合激勵(lì)信號(hào);將所述混合激勵(lì)信號(hào)通過由頻譜包絡(luò)參數(shù)構(gòu)造的濾波器后輸出一幀合成的語音波形。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述合成階段之前,所述方法還包括訓(xùn)練階段,在訓(xùn)練階段,從語料庫中提取的聲學(xué)參數(shù)僅包括靜態(tài)參數(shù),或者,從語料庫中提取的聲學(xué)參數(shù)包括靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù);訓(xùn)練后所得到的統(tǒng)計(jì)模型的模型參數(shù)中僅保留靜態(tài)模型參數(shù); 合成階段中所述將該統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值具體為根據(jù)所述當(dāng)前音素,將訓(xùn)練階段中所得到所述統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的靜態(tài)模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值。
6.一種參數(shù)語音合成系統(tǒng),包括循環(huán)合成裝置,用于在合成階段,依次對(duì)輸入文本的音素序列中每一音素的每一幀語音進(jìn)行語音合成;所述循環(huán)合成裝置包括粗略搜索單元,用于對(duì)輸入文本的音素序列中的當(dāng)前音素,從統(tǒng)計(jì)模型庫中提取相應(yīng)的統(tǒng)計(jì)模型,并將該統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值;平滑濾波單元,用于利用所述粗略值以及當(dāng)前時(shí)刻之前預(yù)定數(shù)目語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;全局優(yōu)化單元,用于根據(jù)統(tǒng)計(jì)得到的所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù);參數(shù)語音合成單元,用于對(duì)生成的所述語音參數(shù)進(jìn)行合成,得到對(duì)當(dāng)前音素當(dāng)前幀所合成的一幀語音。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述平滑濾波單元包括低通濾波器組,所述低通濾波器組,用于利用所述粗略值以及上一時(shí)刻語音幀的信息,對(duì)所述粗略值進(jìn)行濾波,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;其中,所述上一時(shí)刻語音幀的信息為上一時(shí)刻所預(yù)測語音參數(shù)的平滑值。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述全局優(yōu)化單元包括全局參數(shù)優(yōu)化器,所述全局參數(shù)優(yōu)化器,用于利用如下公式,根據(jù)統(tǒng)計(jì)得到所述語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)所述當(dāng)前所預(yù)測語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù)yt =r-(yt-m) + mzt =^<yt-yt)+yt其中,yt為t時(shí)刻的語音參數(shù)在優(yōu)化前的平滑值,滅為初步優(yōu)化后的值,W為權(quán)重值,Zt 為全局優(yōu)化后得到的所需的語音參數(shù),r為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局標(biāo)準(zhǔn)差比值, m為統(tǒng)計(jì)得到的所預(yù)測語音參數(shù)的全局均值,r和m的取值為常數(shù)。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述參數(shù)語音合成單元,包括濾波器構(gòu)造模塊,用于利用子帶濁音度參數(shù)構(gòu)造濁音子帶濾波器和清音子帶濾波器;所述濁音子帶濾波器,用于對(duì)由基音頻率參數(shù)構(gòu)造的準(zhǔn)周期性脈沖序列進(jìn)行濾波,得到語音信號(hào)的濁音成分;所述清音子帶濾波器,用于對(duì)由白噪聲構(gòu)造的隨機(jī)序列進(jìn)行濾波,得到語音信號(hào)的清音成分;加法器,用于將所述濁音成分與清音成分相加得到混合激勵(lì)信號(hào);合成濾波器,用于將所述混合激勵(lì)信號(hào)通過由頻譜包絡(luò)參數(shù)構(gòu)造的濾波器后輸出一幀合成的語音波形。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括訓(xùn)練裝置,所述訓(xùn)練裝置,用于在訓(xùn)練階段,從語料庫中提取的聲學(xué)參數(shù)僅包括靜態(tài)參數(shù),或者,從語料庫中提取的聲學(xué)參數(shù)包括靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù);以及,在訓(xùn)練后所得到的統(tǒng)計(jì)模型的模型參數(shù)中僅保留靜態(tài)模型參數(shù);所述粗略搜索單元,具體用于在合成階段中,根據(jù)所述當(dāng)前音素,將訓(xùn)練階段中所得到所述統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的靜態(tài)模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值。
全文摘要
本發(fā)明提供了一種參數(shù)語音合成方法和系統(tǒng),該方法包括依次對(duì)輸入文本的音素序列中每一音素的每一幀語音進(jìn)行如下處理對(duì)當(dāng)前音素,從統(tǒng)計(jì)模型庫中提取相應(yīng)的統(tǒng)計(jì)模型,并將該統(tǒng)計(jì)模型在當(dāng)前音素當(dāng)前幀下相應(yīng)的模型參數(shù)作為當(dāng)前所預(yù)測語音參數(shù)的粗略值;利用粗略值以及當(dāng)前時(shí)刻之前預(yù)定數(shù)目語音幀的信息,得到當(dāng)前所預(yù)測語音參數(shù)的平滑值;根據(jù)統(tǒng)計(jì)得到的語音參數(shù)的全局均值和全局標(biāo)準(zhǔn)差比值,對(duì)語音參數(shù)的平滑值進(jìn)行全局優(yōu)化,生成所需的語音參數(shù);對(duì)生成的所述語音參數(shù)進(jìn)行合成,得到對(duì)當(dāng)前音素當(dāng)前幀所合成的一幀語音。利用本方案,能夠使語音合成所需要的RAM不會(huì)隨著合成語音長度的增加而增加,合成語音的時(shí)長不再受到RAM的限制。
文檔編號(hào)G10L19/08GK102385859SQ20111033182
公開日2012年3月21日 申請(qǐng)日期2011年10月27日 優(yōu)先權(quán)日2011年8月10日
發(fā)明者吳鳳梁, 職振華 申請(qǐng)人:歌爾聲學(xué)股份有限公司