本發(fā)明涉及語音相關(guān),特別是一種說話人音高預(yù)測方法、裝置、電子設(shè)備、存儲(chǔ)介質(zhì)。
背景技術(shù):
1、文本轉(zhuǎn)語音(text?to?speech,tts)為一種語音合成技術(shù),用于將文本轉(zhuǎn)化為語音?,F(xiàn)有的tts技術(shù)中,通常將多個(gè)說話人訓(xùn)練一個(gè)tts模型,模型采用編碼器(編碼器)將輸入文本進(jìn)行編碼成高維特征,并通過解碼器(解碼器)將編碼器中的高維特征進(jìn)行解碼,生成音頻特征。訓(xùn)練時(shí)會(huì)加入音高(pitch)特征來穩(wěn)定生成的音高。預(yù)測時(shí),編碼器同樣需要預(yù)測出pitch加入解碼器解碼器中。其中,pitch是指各種音調(diào)高低不同的聲音,即音的高度,音的基本特征的一種。聲音的本質(zhì)是機(jī)械波,所以聲速一定時(shí),音的高低是由機(jī)械波的頻率和波長決定的。頻率高、波長短,則音"高",反之,頻率低、波長長,則音"低"。
2、現(xiàn)有的tts技術(shù)中,通常把pitch作為編碼器的一個(gè)特征進(jìn)行輸入,保持合成出音頻音高的準(zhǔn)確性。但是不同說話人pitch范圍通常不同,男女之間更是差距較大,需要進(jìn)行歸一化后加入模型中。歸一化是一種簡化計(jì)算的方式,即將有量綱的表達(dá)式,經(jīng)過變換,化為無量綱的表達(dá)式,成為標(biāo)量。
3、然而,如果所有說話人統(tǒng)一進(jìn)行歸一化,則每個(gè)說話人分布差距較大,這樣在編碼器預(yù)測pitch時(shí),會(huì)造成預(yù)測不準(zhǔn),從而導(dǎo)致合成音頻音高不準(zhǔn)的問題。如圖1所示為現(xiàn)有技術(shù)的編碼器預(yù)測的總體歸一化的音高示意圖,橫坐標(biāo)為音頻幀,縱坐標(biāo)為總體歸一化的音高。從圖1可以看出,現(xiàn)有技術(shù)總體歸一化的音高值,多數(shù)在均值0以下,分布不均勻,且有部分異常點(diǎn)(音高異常高)。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)現(xiàn)有技術(shù)合成音頻音高不準(zhǔn)的技術(shù)問題,提供一種說話人音高預(yù)測方法、裝置、電子設(shè)備、存儲(chǔ)介質(zhì)。
2、本發(fā)明提供一種說話人音高預(yù)測方法,包括:
3、獲取每個(gè)說話人的多個(gè)音高,對(duì)每個(gè)說話人的每個(gè)音高分別進(jìn)行歸一化得到每個(gè)音高的個(gè)體歸一化音高,將多個(gè)所述個(gè)體歸一化音高輸入文本轉(zhuǎn)語音模型的編碼器進(jìn)行編碼訓(xùn)練;
4、對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行全局歸一化,得到每個(gè)所述個(gè)體歸一化音高對(duì)應(yīng)的絕對(duì)歸一化音高,將所述絕對(duì)歸一化音高輸入文本轉(zhuǎn)語音模型的解碼器進(jìn)行解碼音頻特征訓(xùn)練;
5、采用訓(xùn)練后的編碼器預(yù)測待預(yù)測說話人的待轉(zhuǎn)換文本的音高,由訓(xùn)練后的編碼器和解碼器基于所述音高合成出所述待轉(zhuǎn)換文本的音頻特征。
6、進(jìn)一步地,所述對(duì)每個(gè)說話人的音高進(jìn)行歸一化得到個(gè)體歸一化音高,包括:
7、對(duì)每個(gè)說話人的音高分別計(jì)算各自的音高均值和音高方差;
8、基于每個(gè)說話人的音高均值和音高方差,計(jì)算每個(gè)說話人的每個(gè)音高的個(gè)體歸一化音高。
9、更進(jìn)一步地,所述基于每個(gè)說話人的音高均值和音高方差,計(jì)算每個(gè)說話人的每個(gè)音高的個(gè)體歸一化音高,包括:
10、計(jì)算第i個(gè)說話人的第j個(gè)音高對(duì)應(yīng)的個(gè)體歸一化音高為:
11、pitchnormi,j=(pitchi,j-meani)/stdi;
12、其中,pitchnormi,j為第i個(gè)說話人的第j個(gè)音高對(duì)應(yīng)的個(gè)體歸一化音高,pitchi,j為第i個(gè)說話人的第j個(gè)音高,meani為第i個(gè)說話人的音高均值,stdi為第i個(gè)說話人的音高方差。
13、進(jìn)一步地,所述對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行全局歸一化,得到每個(gè)所述個(gè)體歸一化音高對(duì)應(yīng)的絕對(duì)歸一化音高,包括:
14、計(jì)算所有說話人的音高的總均值作為全局音高均值,計(jì)算所有說話人的音高的總方差作為全局音高方差;
15、對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行反歸一化,然后再基于全局音高均值和全局音高方差進(jìn)行全局歸一化,得到絕對(duì)歸一化音高。
16、更進(jìn)一步地,所述對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行反歸一化,然后再基于全局音高均值和全局音高方差進(jìn)行全局歸一化,得到絕對(duì)歸一化音高,包括:
17、在其中一個(gè)實(shí)施例中,所述對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行反歸一化,然后再基于全局音高均值和全局音高方差進(jìn)行全局歸一化,得到絕對(duì)歸一化音高,包括:
18、計(jì)算第i個(gè)說話人的第j個(gè)音高對(duì)應(yīng)的絕對(duì)歸一化音高為:
19、pitchfi,i=((pitchnormi,j*stdi+meani)-mean)/std;
20、其中,pitchfi為第i個(gè)說話人的第j個(gè)音高對(duì)應(yīng)的絕對(duì)歸一化音高,pitchnormi為第i個(gè)說話人的第j個(gè)音高對(duì)應(yīng)的個(gè)體歸一化音高,meani為第i個(gè)說話人的音高均值,stdi為第i個(gè)說話人的音高方差,mean為所述全局音高均值,std為所述全局音高方差。
21、進(jìn)一步地,所述采用訓(xùn)練后的編碼器預(yù)測待預(yù)測說話人的待轉(zhuǎn)換文本的音高,包括:
22、采用訓(xùn)練后的編碼器,基于待預(yù)測說話人的待轉(zhuǎn)換文本,預(yù)測所述待預(yù)測說話人的個(gè)體歸一化音高;
23、獲取所述待預(yù)測說話人的音高均值和音高方差,基于所述待預(yù)測說話人的音高均值和音高方差,計(jì)算所述待預(yù)測說話人的個(gè)體歸一化音高的絕對(duì)歸一化音高,將所述待預(yù)測說話人的絕對(duì)歸一化音高作為所述待預(yù)測說話人的待轉(zhuǎn)換文本的音高。
24、更進(jìn)一步地,所述基于所述待預(yù)測說話人的音高均值和音高方差,計(jì)算所述待預(yù)測說話人的個(gè)體歸一化音高的絕對(duì)歸一化音高,包括:
25、查找所述待預(yù)測說話人的音高均值、所述待預(yù)測說話人的音高方差、全局音高均值以及全局音高方差;
26、計(jì)算所述待預(yù)測說話人的個(gè)體歸一化音高的絕對(duì)歸一化音高為:
27、pitchp=((pitchnormp*stdp+meanp0-mean)/std;
28、其中,pitchp為待預(yù)測說話人的絕對(duì)歸一化音高,pitchnormp為采用訓(xùn)練后的解碼器預(yù)測的所述待預(yù)測說話人的個(gè)體歸一化音高,meanp為所述待預(yù)測說話人的音高均值,stdp為所述待預(yù)測說話人的音高方差,mean為全局音高均值,std為全局音高方差。
29、本發(fā)明提供一種說話人音高預(yù)測裝置,包括:
30、編碼器訓(xùn)練模塊,用于獲取每個(gè)說話人的多個(gè)音高,對(duì)每個(gè)說話人的每個(gè)音高分別進(jìn)行歸一化得到每個(gè)音高的個(gè)體歸一化音高,將多個(gè)所述個(gè)體歸一化音高輸入文本轉(zhuǎn)語音模型的編碼器進(jìn)行編碼訓(xùn)練;
31、解碼器訓(xùn)練模塊,用于對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行全局歸一化,得到每個(gè)所述個(gè)體歸一化音高對(duì)應(yīng)的絕對(duì)歸一化音高,將所述絕對(duì)歸一化音高輸入文本轉(zhuǎn)語音模型的解碼器進(jìn)行解碼音頻特征訓(xùn)練;
32、預(yù)測模塊,用于采用訓(xùn)練后的編碼器預(yù)測待預(yù)測說話人的待轉(zhuǎn)換文本的音高,由訓(xùn)練后的編碼器和解碼器基于所述音高合成出所述待轉(zhuǎn)換文本的音頻特征。
33、本發(fā)明提供一種電子設(shè)備,包括:
34、至少一個(gè)處理器;以及,
35、與至少一個(gè)所述處理器通信連接的存儲(chǔ)器;其中,
36、所述存儲(chǔ)器存儲(chǔ)有可被至少一個(gè)所述處理器執(zhí)行的指令,所述指令被至少一個(gè)所述處理器執(zhí)行,以使至少一個(gè)所述處理器能夠執(zhí)行如前所述的說話人音高預(yù)測方法。
37、本發(fā)明提供一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,當(dāng)計(jì)算機(jī)執(zhí)行所述計(jì)算機(jī)指令時(shí),用于執(zhí)行如前所述的說話人音高預(yù)測方法的所有步驟。
38、本發(fā)明在訓(xùn)練階段,分別對(duì)每個(gè)說話人的音高進(jìn)行歸一化得到個(gè)體歸一化音高,將多個(gè)所述個(gè)體歸一化音高輸入文本轉(zhuǎn)語音模型的編碼器進(jìn)行編碼訓(xùn)練;對(duì)每個(gè)所述個(gè)體歸一化音高進(jìn)行全局歸一化,得到每個(gè)所述個(gè)體歸一化音高對(duì)應(yīng)的絕對(duì)歸一化音高,將所述絕對(duì)歸一化音高輸入文本轉(zhuǎn)語音模型的解碼器進(jìn)行解碼音頻特征訓(xùn)練;在預(yù)測階段,采用訓(xùn)練后的編碼器預(yù)測待預(yù)測說話人的待轉(zhuǎn)換文本的音高,由訓(xùn)練后的編碼器和解碼器基于所述音高合成出所述待轉(zhuǎn)換文本的音頻特征。本發(fā)明根據(jù)不同說話人分別進(jìn)行歸一化,保證不同說話人的音高分布相同,從而提高了編碼器在預(yù)測音高時(shí)的準(zhǔn)確性。同時(shí),在解碼器進(jìn)行返歸一化,再進(jìn)行全局歸一化,得到絕對(duì)歸一化音高,保證解碼器解碼時(shí),可以合成音高準(zhǔn)確的音頻特征。