馬一男 李沛東 陳群 嚴(yán)秋 萬(wàn)永菁
【摘 要】基于矢量量化的碼本映射方法是語(yǔ)音轉(zhuǎn)換的常用算法,其優(yōu)勢(shì)是轉(zhuǎn)換算法實(shí)現(xiàn)快捷、效率高。在語(yǔ)音轉(zhuǎn)換過程中,矢量碼本映射的關(guān)鍵參數(shù)選擇決定了轉(zhuǎn)換算法的運(yùn)行速度和目標(biāo)語(yǔ)音的實(shí)現(xiàn)效果。本文研究矢量量化碼本映射方法的關(guān)鍵參數(shù)的選擇問題,研究了矢量量化中碼書大小及LPC系數(shù)個(gè)數(shù)的選擇方法,并通過仿真結(jié)果驗(yàn)明參數(shù)選擇的有效性。
【關(guān)鍵詞】語(yǔ)音轉(zhuǎn)換 矢量量化 碼本映射 參數(shù)選擇
1 引言
語(yǔ)音轉(zhuǎn)換屬語(yǔ)音信號(hào)處理新興研究方向。語(yǔ)音轉(zhuǎn)換在提取源說(shuō)話人和目標(biāo)說(shuō)話人的語(yǔ)音特征的基礎(chǔ)上,通過語(yǔ)音轉(zhuǎn)換技術(shù)使目標(biāo)說(shuō)話人的語(yǔ)音酷似源說(shuō)話人語(yǔ)音。語(yǔ)音轉(zhuǎn)換在電影配音、保密通信、文語(yǔ)轉(zhuǎn)換系統(tǒng)應(yīng)用乃至醫(yī)學(xué)等方面都具有廣泛的應(yīng)用。
語(yǔ)音轉(zhuǎn)換常用算法有矢量量化算法(VQ)[1-3]、線性多變量回歸算法(LMR)、動(dòng)態(tài)頻率調(diào)整算法(DFW)[4],統(tǒng)計(jì)映射法[5],人工神經(jīng)網(wǎng)絡(luò)(ANN)[6],以及基于高斯混合模型(GMM)的語(yǔ)音轉(zhuǎn)換算法。其中,矢量碼本映射方法(VQ)是語(yǔ)音轉(zhuǎn)換常用的一種方法,該算法對(duì)源說(shuō)話人和目標(biāo)說(shuō)話人的特征參數(shù)進(jìn)行劃分,分別產(chǎn)生源碼本和目標(biāo)碼本,采用動(dòng)態(tài)時(shí)間規(guī)整(DTW)技術(shù)對(duì)齊源說(shuō)話人和目標(biāo)說(shuō)話人的碼本,并得到矢量碼本的映射矩陣,利用碼本映射矩陣實(shí)現(xiàn)語(yǔ)音轉(zhuǎn)換。
本文研究基于矢量量化算法的語(yǔ)音轉(zhuǎn)換技術(shù)的關(guān)鍵參數(shù)的選擇方法,在綜合考慮轉(zhuǎn)換效果及轉(zhuǎn)換效率的基礎(chǔ)上研究算法參數(shù)的選擇方法,并通過ABX及MOS測(cè)試方法對(duì)語(yǔ)音轉(zhuǎn)換結(jié)果進(jìn)行評(píng)測(cè)分析。仿真實(shí)驗(yàn)結(jié)果表明了參數(shù)選擇的有效性及正確性。
2 基于矢量量化的語(yǔ)音轉(zhuǎn)換算法
2.1 語(yǔ)音信號(hào)特征參數(shù)的提取方法
語(yǔ)音信號(hào)在短時(shí)間范圍內(nèi)可以認(rèn)為是穩(wěn)態(tài)信號(hào),通常對(duì)語(yǔ)音信號(hào)的處理是先經(jīng)過交疊分幀處理后,再對(duì)短時(shí)語(yǔ)音信號(hào)進(jìn)行分析,獲取源說(shuō)話人及目標(biāo)說(shuō)話人的語(yǔ)音特征。設(shè)語(yǔ)音信號(hào)的時(shí)間序列為x(n),加窗分幀處理后得到的語(yǔ)音信號(hào)為xi(m),其中i表示第i幀信號(hào),設(shè)每幀信號(hào)長(zhǎng)度為N,則0≤m≤N-1。
正常語(yǔ)音都含有有話幀和無(wú)話幀,語(yǔ)音特征提取只針對(duì)有話幀,本文采用譜熵法實(shí)現(xiàn)語(yǔ)音端點(diǎn)檢測(cè),分離語(yǔ)音信號(hào)中的有話幀和無(wú)話幀。對(duì)第i幀語(yǔ)音信號(hào)做快速傅里葉變換,并求出其頻率分量的能量譜,設(shè)為Ei(k),定義歸一化譜概率密度函數(shù),如式(1)所示。
2.2 矢量碼本映射及動(dòng)態(tài)時(shí)間規(guī)整[7]方法
基于VQ的語(yǔ)音轉(zhuǎn)換技術(shù)將源語(yǔ)音的LPC系數(shù)和目標(biāo)語(yǔ)音的LPC系數(shù)進(jìn)行矢量量化,然后利用動(dòng)態(tài)時(shí)間規(guī)整技術(shù)將特征向量對(duì)齊,尋找碼本映射矩陣,完成源語(yǔ)音到目標(biāo)語(yǔ)音的特征參數(shù)轉(zhuǎn)換。
本文采用LBG算法[8]進(jìn)行碼書提取。LBG算法是一種遞推算法,從一個(gè)事先選定的初始碼本開始迭代。首先,把訓(xùn)練序列按照碼本中的元素根據(jù)最鄰近準(zhǔn)則分組,然后,對(duì)每一分組找質(zhì)心,得到新的碼本并作為初始碼本,接著,再進(jìn)行分組,重復(fù)上述過程,直到描述系統(tǒng)性能的總失真度滿足要求或者不再有明顯的改進(jìn)為止。
為防止拖音或呼吸音造成單詞的端點(diǎn)檢測(cè)不準(zhǔn),識(shí)別率的降低,在語(yǔ)音轉(zhuǎn)換時(shí),要對(duì)語(yǔ)音信號(hào)進(jìn)行時(shí)間規(guī)整,將時(shí)間規(guī)整和距離測(cè)度計(jì)算結(jié)合起來(lái)。假設(shè)源語(yǔ)音特征矢量有I 幀矢量,而目標(biāo)特征有J幀矢量,且I≠J,則需要尋找一個(gè)時(shí)間規(guī)整函數(shù),其中、,該時(shí)間規(guī)整函數(shù)將源語(yǔ)音特征矢量的時(shí)間軸非線性地映射到目標(biāo)特征的時(shí)間軸上。第幀測(cè)試矢量和第幀模板矢量之間的距離測(cè)度用表示,這里,采用矢量歐式距離即2范數(shù)形式計(jì)算得到,距離測(cè)度如式(6)所示。
2.3 語(yǔ)音合成方法
對(duì)于測(cè)試的源語(yǔ)音信號(hào),提取其基音信息和LPC特征參數(shù),利用相應(yīng)的基音轉(zhuǎn)換方法和特征參數(shù)映射矩陣獲得目標(biāo)語(yǔ)音的基音參數(shù)及LPC特征參數(shù),并通過語(yǔ)音合成方法生成轉(zhuǎn)換后的語(yǔ)音信號(hào)。
語(yǔ)音合成過程利用白噪聲在無(wú)話段通過對(duì)應(yīng)的線性預(yù)測(cè)得到的濾波器合成清音幀,在有話段利用連續(xù)脈沖串通過時(shí)變?yōu)V波器合成人的濁音幀,并采用采用線性比例重疊相加法,把分幀時(shí)產(chǎn)生的重疊部分用一個(gè)線性比例加權(quán)后再相加,實(shí)現(xiàn)語(yǔ)音信號(hào)的平滑操作。
3 矢量量化語(yǔ)音轉(zhuǎn)換算法關(guān)鍵參數(shù)的選擇
3.1 參數(shù)選擇的實(shí)驗(yàn)方法
矢量量化關(guān)鍵參數(shù)的選擇包括碼書參數(shù)的選擇和LPC系數(shù)個(gè)數(shù)的選擇。本文通過實(shí)驗(yàn)分析得到合理的參數(shù)選擇方法。一般的口語(yǔ)漢句的平均漢字?jǐn)?shù)是12個(gè)。本文利用SAPI5 TTSAPP語(yǔ)音合成軟件生成頻率為8KHz的2男2女的語(yǔ)音,挑選兼具元輔音成分的漢語(yǔ)詞匯組成平均長(zhǎng)度為12個(gè)漢字的漢句。
3.2 碼書參數(shù)及LPC系數(shù)個(gè)數(shù)的選擇
輸入100個(gè)具有代表性的漢句進(jìn)行仿真實(shí)驗(yàn),通過比較不同碼書及LPC系數(shù)個(gè)數(shù)值下平均D值的大小以及運(yùn)算時(shí)間的長(zhǎng)短得到碼書參數(shù)的選擇方法。表1所示為不同碼書下的100個(gè)語(yǔ)音轉(zhuǎn)換結(jié)果的平均D值的比較,表2所示為不同LPC系數(shù)個(gè)數(shù)下的100個(gè)語(yǔ)音轉(zhuǎn)換結(jié)果的運(yùn)行時(shí)間的比較。
矢量量化碼書選擇范圍與語(yǔ)音的幀數(shù)有關(guān),本文采用的語(yǔ)音信號(hào)為8KHz采樣頻率,分幀幀長(zhǎng)為200,對(duì)于一個(gè)12個(gè)漢字組成的詞語(yǔ),分幀后的平均幀數(shù)在400左右??紤]到碼書大小在小于幀長(zhǎng)時(shí)才有意義,本文選取測(cè)試分析的碼書范圍在16~256之間。LPC系數(shù)個(gè)數(shù)通常的選擇范圍在7~16之間,本文選取測(cè)試的LPC系數(shù)個(gè)數(shù)也在此7~16之間。實(shí)驗(yàn)環(huán)境的PC機(jī)主要配置為IntelCore-i7-4700MQCPU,主頻2.40GHz,算法仿真平臺(tái)為MATLAB。
從表中數(shù)據(jù)可知,碼書越小,執(zhí)行時(shí)間越短;但平均D值在LPC系數(shù)為13處達(dá)到最佳,即此處的平均D值較小。實(shí)驗(yàn)表明,當(dāng)轉(zhuǎn)換長(zhǎng)度約12個(gè)漢字時(shí),選擇碼書大小為64、LPC系數(shù)為13最佳。
語(yǔ)音的幀長(zhǎng)與碼書的選取有很大關(guān)系,通過不同幀長(zhǎng)下的語(yǔ)音轉(zhuǎn)換實(shí)驗(yàn)得到,碼書的選擇應(yīng)為幀長(zhǎng)的1/6~1/7。而LPC系數(shù)個(gè)數(shù)則不論碼書的選取是多少,均在13左右達(dá)到最小的平均D值,故LPC系數(shù)的個(gè)數(shù)選取13為最佳值。
4 語(yǔ)音轉(zhuǎn)換效果評(píng)價(jià)
本文采用語(yǔ)音轉(zhuǎn)換常用的ABX和MOS測(cè)試對(duì)語(yǔ)音轉(zhuǎn)換結(jié)果進(jìn)行評(píng)價(jià)。ABX測(cè)試用于評(píng)價(jià)目標(biāo)語(yǔ)音與轉(zhuǎn)換語(yǔ)音的近似程度,讓聽眾從轉(zhuǎn)換后的語(yǔ)音中選擇更接近源語(yǔ)音還是目標(biāo)語(yǔ)音,并將接近度以正確率以百分比的形式展現(xiàn);MOS測(cè)試則讓聽眾采用5分制依次為轉(zhuǎn)換后的語(yǔ)音質(zhì)量進(jìn)行打分:1分表示非常差,2分表示較差,3分表示一般,4分表示較好,5分表示非常好。利用本文選取的碼書大小及LPC系數(shù)個(gè)數(shù),邀請(qǐng)20位聽眾對(duì)100個(gè)漢句的2位男聲及2位女聲的相互轉(zhuǎn)換結(jié)果進(jìn)行測(cè)評(píng),平均測(cè)試結(jié)果如表3所示。
表中結(jié)果顯示,當(dāng)語(yǔ)音轉(zhuǎn)換參數(shù)取最佳碼書大小及LPC系數(shù)個(gè)數(shù)下,進(jìn)行男聲與女聲的相互轉(zhuǎn)換時(shí),都能取得較好的轉(zhuǎn)換評(píng)測(cè)結(jié)果,但男聲到男聲和女聲到女聲的轉(zhuǎn)換結(jié)果還有待提高。其主要原因是基于VQ的語(yǔ)音轉(zhuǎn)換算法每一類數(shù)據(jù)都是用該類類心的特征參數(shù)來(lái)代替,轉(zhuǎn)換規(guī)則數(shù)量上的限制影響了轉(zhuǎn)換效果。盡管如此,基于VQ的語(yǔ)音轉(zhuǎn)換算法在程序效率上相對(duì)其他的語(yǔ)音轉(zhuǎn)換算法還是有很大的優(yōu)勢(shì)的,且在合適的碼書大小及LPC系數(shù)個(gè)數(shù)下仍可以取得男聲與女聲語(yǔ)音轉(zhuǎn)換的較滿意的結(jié)果,特別是在實(shí)時(shí)應(yīng)用場(chǎng)合以及便攜式設(shè)備中有其實(shí)用價(jià)值。
5 結(jié)語(yǔ)
本文針對(duì)矢量量化語(yǔ)音轉(zhuǎn)換算法的參數(shù)選擇問題進(jìn)行研究,通過實(shí)驗(yàn)分析得出最佳碼書與語(yǔ)音幀長(zhǎng)的關(guān)系以及LPC系數(shù)個(gè)數(shù)的選取方法。通過語(yǔ)音轉(zhuǎn)換實(shí)驗(yàn)驗(yàn)明了所選參數(shù)的有效性。本文研究的基于VQ的語(yǔ)音轉(zhuǎn)換算法關(guān)鍵參數(shù)的選取方法對(duì)實(shí)時(shí)語(yǔ)音轉(zhuǎn)換應(yīng)用具有實(shí)際意義。
參考文獻(xiàn):
[1]ABE M,NAKAMURA S,SHIKANO K.Voice conversion through vector quantization[M].New York 1988.
[2]Gersho A,Gray R M.Vector quantization and signal compression[M].Boston MA:Kluwer 1990.
[3]侯建愛.基于矢量量化的說(shuō)話人識(shí)別系統(tǒng)研究及實(shí)現(xiàn)[D].湖南師范大學(xué),2014.
[4]Toda,H.Saruwatari,K..Shikano.Voice Conversion Algorithm based on Gaussian Mixture Model with Dynamic Frequency Warping of STRAIGHT spectrum[A].Salt Lake City,USA 2001.
[5]KUN Liu.High quality voice conversion through combining modified GMM and formant mapping for Mandarin[A].New York:IEEE Press 2007.
[6]Desai S,Raghavendra E V,Yegnanarayana B.Voice conversion using artificial neural networks[A].2009.
[7]宋知用.MATALAB在語(yǔ)音信號(hào)分析與合成中的應(yīng)用[M].北京:背景航空航天大學(xué)出版社.
[8]Stephen So,Kuldip K Paliwal.Switched Split Vector Quanfisation of Line Spectral Frequencies for Wideband Speech Coding[A].Lisbon 2005.