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