況 鵬,黃 海,毛少帥,王康利(國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心 河南 鄭州450000)
基于TMS320C6678的合成語(yǔ)音檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
況 鵬,黃 海,毛少帥,王康利
(國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心 河南 鄭州450000)
針對(duì)合成語(yǔ)音檢測(cè)系統(tǒng)在大規(guī)模電信網(wǎng)應(yīng)用中的實(shí)時(shí)性需求,在分析合成語(yǔ)音檢測(cè)原理和多核DSP任務(wù)并行的基礎(chǔ)上,提出了一種基于TMS320C6678的合成語(yǔ)音檢測(cè)算法并行實(shí)現(xiàn)方法,該方法實(shí)現(xiàn)了任務(wù)級(jí)并行流水和核間高效通信。實(shí)驗(yàn)結(jié)果表明,該方法是可行、有效的,并且基于TMS320C6678的合成語(yǔ)音檢測(cè)系統(tǒng)的實(shí)時(shí)處理能力有很大提升。
合成語(yǔ)音檢測(cè);多核DSP;TMS320C6678;實(shí)時(shí)處理
隨著漢語(yǔ)語(yǔ)音合成技術(shù)的成熟和語(yǔ)音合成技術(shù)的應(yīng)用的普及和推廣,目前,在PC機(jī)上可以做到上百個(gè)通道平行實(shí)時(shí)合成,語(yǔ)音的質(zhì)量有一部分可以達(dá)到“以假亂真”的程度,大部分也都能夠達(dá)到可被聽眾接受的水平,合成語(yǔ)音已經(jīng)開始成為信息交流的一種手段[1],催生了電信網(wǎng)許多之前不能夠開展的新業(yè)務(wù),極大地促進(jìn)了電信網(wǎng)業(yè)務(wù)的多元化,但也導(dǎo)致電信網(wǎng)中的詐騙電話由傳統(tǒng)的人工錄制向人工合成轉(zhuǎn)變,更加加劇了垃圾網(wǎng)絡(luò)電話(SPIT)的危害性,使得電信網(wǎng)安全和信息通信的可信度面臨越來(lái)越嚴(yán)重的威脅。
根據(jù)對(duì)某警用系統(tǒng)采集到的SPIT分析發(fā)現(xiàn),相對(duì)于人工錄制的SPIT,人工合成的SPIT具有更新速度快、變換形式多等特點(diǎn),為SPIT非重復(fù)化地廣泛傳播提供了可能。而現(xiàn)有SPIT檢測(cè)系統(tǒng)大多采用模板匹配的方法應(yīng)對(duì)SPIT,針對(duì)這類SPIT的防范效果非常有限。為對(duì)電信網(wǎng)中的人工合成的SPIT進(jìn)行有效的偵測(cè)和阻斷,文獻(xiàn)[2]基于支持向量機(jī)通過反應(yīng)語(yǔ)音質(zhì)量的聲學(xué)特征參數(shù)雖實(shí)現(xiàn)了對(duì)這類SPIT的精確識(shí)別,但該方法防范的實(shí)效性較差,難以滿足在大規(guī)模電信網(wǎng)中的應(yīng)用需求。為此,本文改進(jìn)了文獻(xiàn)[2]提出的合成語(yǔ)音檢測(cè)算法,并設(shè)計(jì)了一種基于TMS320C6678的合成語(yǔ)音實(shí)時(shí)檢測(cè)系統(tǒng)實(shí)現(xiàn)方法,能夠在大規(guī)模電信網(wǎng)中實(shí)現(xiàn)對(duì)人工合成的SPIT的實(shí)時(shí)、準(zhǔn)確檢測(cè)功能。
文中在文獻(xiàn)[2]提出的算法基礎(chǔ)上將特征參數(shù)由4維增加到20維,并縮短檢測(cè)語(yǔ)音長(zhǎng)度,具體算法實(shí)現(xiàn)過程如下。
1.1合成語(yǔ)音聲學(xué)特征參數(shù)提取
合成語(yǔ)音是非自然語(yǔ)音,屬于語(yǔ)音的一個(gè)失真類,它和自然語(yǔ)音在反映語(yǔ)音質(zhì)量[3-4]的聲學(xué)特征參數(shù)上存在差異。一是聲道參數(shù)[5-7],聲道參數(shù)是衡量語(yǔ)音質(zhì)量的一個(gè)重要特征,在自然語(yǔ)音中,聲道參數(shù)是緩變得,只有在音素過度時(shí),會(huì)有較大變化,而失真語(yǔ)音則有可能出現(xiàn)。所以可根據(jù)聲道的平均長(zhǎng)度,不同部位的截面積大小以及不同部位的過渡特征來(lái)判斷是否為合成語(yǔ)音。二是語(yǔ)音信號(hào)的高階統(tǒng)計(jì)參數(shù)[7],常用的如LPC參數(shù)和倒譜的偏度和峰度,它們用來(lái)描述參數(shù)的分布特征偏離高斯分布的程度,研究表明自然語(yǔ)音和合成語(yǔ)音的這類參數(shù)有較大差異。三是機(jī)器性參數(shù)[7],如非自然的嘟嘟聲、急劇下降參數(shù)等。相對(duì)于自然語(yǔ)音,合成語(yǔ)音具有以下特點(diǎn),如濁音部分持續(xù)時(shí)間通常過短、一段語(yǔ)音的濁音信號(hào)可能具有多個(gè)周期性以及在語(yǔ)音開始和結(jié)尾沒有退化,會(huì)突然出現(xiàn)急劇下降等,這些都決定了合成語(yǔ)音的不自然性。參考ITU-T P.563標(biāo)準(zhǔn)[3-4]可知,描述語(yǔ)音不自然損傷的聲學(xué)特征參數(shù)有20種,因此,文中基于P.563標(biāo)準(zhǔn)提取了這20個(gè)特征參數(shù),構(gòu)建20維的聲學(xué)特征參數(shù),文中稱之為自然度聲學(xué)參數(shù)作為區(qū)分自然語(yǔ)音和合成語(yǔ)音的依據(jù)。
1.2分類決策
由于合成語(yǔ)音檢測(cè)是典型的二元判決問題,本文選用了支持向量機(jī)[9-10]最為最佳分類器。其基本思路:首先獲取電信網(wǎng)呼叫語(yǔ)音的ITU-T P.563的20個(gè)自然度聲學(xué)參數(shù),并作歸一處理,然后將所得的自然度聲學(xué)參數(shù)集合分為訓(xùn)練樣本和測(cè)試樣本兩部分,將訓(xùn)練樣本送入SVM模型訓(xùn)練,將語(yǔ)音模板存入模板庫(kù)。訓(xùn)練完畢后,將測(cè)試樣本輸入SVM中進(jìn)行合成語(yǔ)音檢測(cè)?;赟VM的合成話音檢測(cè)原理如圖1所示。
圖1 基于SVM的合成話音檢測(cè)原理
1.3改進(jìn)算法性能測(cè)試
為了驗(yàn)證本文改進(jìn)的方法在合成話音檢測(cè)上的應(yīng)用效果。文中對(duì)6 000個(gè)電話語(yǔ)音進(jìn)行了分析處理。本文所采用的所有呼叫語(yǔ)音均來(lái)自某警用系統(tǒng)采集的的語(yǔ)料,所有語(yǔ)料均保存為8 000 Hz、16 bit、單聲道的PCM格式,其中:3 000個(gè)正常電話語(yǔ)音,3 000個(gè)合成話音。從該語(yǔ)料庫(kù)中選取2 000個(gè)正常電話語(yǔ)音和2 000個(gè)合成語(yǔ)音作為訓(xùn)練集,另從該語(yǔ)料庫(kù)中選取1 000個(gè)正常電話語(yǔ)音和1 000個(gè)合成語(yǔ)音作為測(cè)試集。
方法的性能采用查全率和查準(zhǔn)率來(lái)評(píng)價(jià),定義正確分類和錯(cuò)誤分類的合成話音個(gè)數(shù)為TP和FN,正確分類和錯(cuò)誤分類的正常電話話音個(gè)數(shù)為TN和FP,查全率定義為:TP/(TP+ FP),查準(zhǔn)率定義為:TP/(TP+FN)。
實(shí)驗(yàn)結(jié)果如表1所示。
表1 不同檢測(cè)語(yǔ)音長(zhǎng)度的分類結(jié)果對(duì)比
從表1數(shù)據(jù)可以看出,文中改進(jìn)的算法在語(yǔ)音檢測(cè)長(zhǎng)度為2 s時(shí),對(duì)合成語(yǔ)音檢測(cè)的查全率為93.2%,查準(zhǔn)率為92.8%,相對(duì)于文獻(xiàn)[1]所提算法在檢測(cè)語(yǔ)音長(zhǎng)度為10 s的情況下,檢測(cè)率為82%,檢測(cè)精度提高較大,具有一定的可行性。
2.1合成語(yǔ)音檢測(cè)算法分解
文中的合成語(yǔ)音檢測(cè)算法主要是由特征提取和分類判決2個(gè)功能模塊組成,其中算法第一功能模塊主要是基于P. 563標(biāo)準(zhǔn)實(shí)現(xiàn),如圖2中虛線框所示,由于P.563算法共提取43個(gè)特征參數(shù),這里本文只保留了20個(gè)特征參數(shù)的計(jì)算模塊,屏蔽其它參數(shù)計(jì)算模塊。
圖2 特征提取功能模塊
特征提取模塊的任務(wù)包括預(yù)處理、聲道和不自然度分析、噪聲分析、連續(xù)性分析等過程,該模塊結(jié)束后即輸出20維的特征參數(shù)。
2.2算法實(shí)時(shí)性分析
首先在算法代碼未經(jīng)任何優(yōu)化的情況下對(duì)各模塊的運(yùn)算實(shí)時(shí)性進(jìn)行分析。以長(zhǎng)度為2 s的5個(gè)語(yǔ)音文件進(jìn)行測(cè)試,其中有效語(yǔ)音長(zhǎng)度分別為0、0.5、1.5和2 s,實(shí)驗(yàn)結(jié)果如表2所示,其中model1、2、3分別表示特征提取過程中3個(gè)獨(dú)立的功能模塊。
表2 不同有效語(yǔ)音長(zhǎng)度對(duì)應(yīng)的算法的計(jì)算復(fù)雜度(ms)
從表1數(shù)據(jù)可知:1)特征提取過程中model2大約占了總時(shí)間的61%;2)特征提取時(shí)間與檢測(cè)語(yǔ)音中的有效語(yǔ)音所占比例的關(guān)系無(wú)關(guān);3)分類判決耗時(shí)很少,不到1ms;4)按照最大耗時(shí)545ms推算,單核可并行處理3路2 s語(yǔ)音。為此,本文將基于TMS320C6678平臺(tái)對(duì)算法進(jìn)行優(yōu)化。
2.3算法優(yōu)化
一般的代碼分為3個(gè)過程:1)編譯器優(yōu)化;2)C語(yǔ)言優(yōu)化;3)線性匯編優(yōu)化。此外還有對(duì)Cache以及數(shù)據(jù)的搬移等方面進(jìn)行優(yōu)化[12]。
本文首先以2 s有效語(yǔ)音為例,研究編譯器設(shè)置不同優(yōu)化級(jí)別時(shí)算法性能的改善情況,實(shí)驗(yàn)結(jié)果如表3所示。
表3 不同優(yōu)化級(jí)別對(duì)應(yīng)的檢測(cè)時(shí)間(m s)
可以看出,優(yōu)化級(jí)別越高,性能提高越大。由于不優(yōu)化、0級(jí)優(yōu)化和1級(jí)優(yōu)化時(shí)算法提取的特征一樣,而2級(jí)優(yōu)化對(duì)應(yīng)的特征稍有變化,可能會(huì)增加誤檢率。因此,綜合考慮性能和精度,文中采用1級(jí)優(yōu)化。
基于以上分析,本文對(duì)原有程序進(jìn)行以下優(yōu)化:1)特別針對(duì)model2精簡(jiǎn)特征提取算法流程,刪除頻繁調(diào)用且與檢測(cè)無(wú)關(guān)的函數(shù);2)FFT運(yùn)算采用DSPlib中優(yōu)化的庫(kù)函數(shù)進(jìn)行替代,并提前計(jì)算好相關(guān)參數(shù);3)工程編譯時(shí)設(shè)置為1級(jí)優(yōu)化。測(cè)試結(jié)果如表4所示。
表4 優(yōu)化后算法的計(jì)算復(fù)雜度(m s)
從表3數(shù)據(jù)可知:1)特征提取過程中model2大約占了總時(shí)間的57%;2)按照最大耗時(shí)195ms推算,單核可并行處理10路2 s語(yǔ)音。
特征提取模塊的內(nèi)存運(yùn)行空間經(jīng)人工估算最大為508K,C66x的單核的512K的二級(jí)存儲(chǔ)可滿足需求,且單核經(jīng)優(yōu)化后可并行處理10路2 s語(yǔ)音,易于在單核上執(zhí)行。為充分利用多核DSP平臺(tái)的并行處理能力,文中采用主從式的并行控制模式設(shè)計(jì)基于TMS320C6678的合成語(yǔ)音檢測(cè)系統(tǒng)[13]。TMS320C6678集成8個(gè)C66x核,核的編號(hào)為0-7。其中0核為主核(Master),其余的核都為從核(Slave)。合成語(yǔ)音檢測(cè)系統(tǒng)主要工程過程如下:Master核用于任務(wù)分配、同步控制和數(shù)據(jù)傳輸?shù)裙δ?。?duì)于待檢測(cè)語(yǔ)音,Master核完成初始化后,Master核將任務(wù)分配到可用的Slave核上執(zhí)行,并傳遞任務(wù)執(zhí)行所必需的數(shù)據(jù)到Slave核;Slave核負(fù)責(zé)特征提取及分類判決。合成語(yǔ)音檢測(cè)并行實(shí)現(xiàn)方案如圖3所示。
圖3 合成語(yǔ)音檢測(cè)并行實(shí)現(xiàn)方案
4.1合成語(yǔ)音檢測(cè)算法在TMS320C6678中的實(shí)現(xiàn)
基于上述分析,將本文算法在TMS320C6678上實(shí)現(xiàn),并利用CCSV5.2集成開發(fā)環(huán)境進(jìn)行軟件仿真,其中利用SYS/BIOS[14]實(shí)現(xiàn)核間任務(wù)調(diào)度,利用IPC[15-16]實(shí)現(xiàn)核間同步和通信。
合成語(yǔ)音檢測(cè)系統(tǒng)的軟件實(shí)現(xiàn)方案如圖4所示。本文將軟件分為二級(jí)引導(dǎo)程序IBL,主核軟件和從核軟件3個(gè)部分,其中主核軟件和從核軟件啟動(dòng)后,需要首先確定自己的身份(即核ID),根據(jù)自己的身份執(zhí)行相應(yīng)的任務(wù)。
圖4 合成語(yǔ)音檢測(cè)并行實(shí)現(xiàn)方案
首先啟動(dòng)合成語(yǔ)音檢測(cè)系統(tǒng),初始化所有核,調(diào)用Ipc_start函數(shù)進(jìn)入同步等待狀態(tài),然后每個(gè)核上的程序才會(huì)繼續(xù)執(zhí)行。將4 096 KB的多核共享存儲(chǔ)器劃出MSM_IN和MSM_OUT2塊存儲(chǔ)區(qū),其中MSM_IN存儲(chǔ)待檢測(cè)語(yǔ)音數(shù)據(jù)在外接DDR中地址信息,MSM_OUT2存儲(chǔ)判決結(jié)果。Core0從DDR中提取多路語(yǔ)音數(shù)據(jù)的地址信息,并通過Notify_sendEvent函數(shù)將上述地址信息發(fā)送到處于空閑狀態(tài)的從核,直到Master核發(fā)送數(shù)據(jù)地址,合成語(yǔ)音檢測(cè)任務(wù)開始并行執(zhí)行,分別根據(jù)數(shù)據(jù)地址從DDR中讀取語(yǔ)音數(shù)據(jù),合成語(yǔ)音檢測(cè)完畢后將判決結(jié)果寫入MSM_OUT。
4.2實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證基于TMS320C6678平臺(tái)的合成語(yǔ)音檢測(cè)系統(tǒng)的性能,將采用優(yōu)化后的算法與在VC++6.0平臺(tái)中的檢測(cè)性能進(jìn)行對(duì)比。實(shí)驗(yàn)語(yǔ)料保持不變,表5給出了基于兩種不同平臺(tái)的系統(tǒng)查全率和查準(zhǔn)率。
表5 不同平臺(tái)的分類結(jié)果對(duì)比
實(shí)驗(yàn)結(jié)果表明,基于TMS320C6678平臺(tái)的浮點(diǎn)軟件仿真結(jié)果和VC++6.0平臺(tái)下的浮點(diǎn)計(jì)算結(jié)果完全一致。從而驗(yàn)證了TMS320c6678平臺(tái)實(shí)現(xiàn)合成語(yǔ)音檢測(cè)系統(tǒng)的正確性。
針對(duì)合成語(yǔ)音檢測(cè)系統(tǒng)在大規(guī)模電信網(wǎng)應(yīng)用中的實(shí)時(shí)性需求,在分析合成語(yǔ)音檢測(cè)原理和多核DSP任務(wù)并行的基礎(chǔ)上,提出了一種基于TMS320C6678的合成語(yǔ)音檢測(cè)算法并行實(shí)現(xiàn)方法,并經(jīng)過多核DSP平臺(tái)優(yōu)化,測(cè)試結(jié)果表明本系統(tǒng)無(wú)論是從檢測(cè)效果提升還是處理時(shí)間上,都可以滿足實(shí)際部署需求。在某SPIT防護(hù)系統(tǒng)中,驗(yàn)證了該方法的有效性和實(shí)用性,并已應(yīng)用于大規(guī)模電信網(wǎng)絡(luò)中。
[1]劉豫軍,夏聰.語(yǔ)音合成技術(shù)在網(wǎng)絡(luò)服務(wù)中的應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015,47(4).65-66.
[2]李邵梅,郭云飛,陳福才.垃圾網(wǎng)絡(luò)電話檢測(cè)技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(6):11-14.
[3]ITU P.563,Single-ended method for objective speech quality assessment in narrow-band telephony applications[P].Geneva: ITU,2004.
[4]Abareghi M,Homayounpour M M,Dehghan M,et al.A Improved ITU-P.563 non-intrusive speech quality assessment method for covering VOIP conditions[C]//10th International Conference on Advanced Communication Technology,2008:354-357.
[5]王欣.考慮傳輸損傷的話音質(zhì)量客觀評(píng)測(cè)[D].北京:北京郵電大學(xué),2011.
[6]楊波.基于P.563的話音質(zhì)量客觀評(píng)價(jià)[D].北京:北京郵電大學(xué),2014.
[7]李祎斐.無(wú)參考的客觀語(yǔ)音質(zhì)量評(píng)價(jià)方法的研究和實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2015.
[8]彭海玲.參數(shù)化統(tǒng)計(jì)語(yǔ)音合成的自然度研究—面向遠(yuǎn)程醫(yī)療服務(wù)的應(yīng)用[D].南京:東南大學(xué),2014.
[9]汪云路,程義民,田源,等.基于支持向量機(jī)的語(yǔ)音隱藏信息盲檢測(cè)方法[J].電路與系統(tǒng)學(xué)報(bào),2009,14(4):92-96.
[10]張磊.基于支持向量機(jī)的反垃圾電話技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2010.
[11]吉立新,劉偉偉,李邵梅.基于TMS320C6678的語(yǔ)種識(shí)別并行算法設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,38(10):37-40.
[12]彭益智,霍家道,許偉.一種基于TMS320C6678的JPEG編碼算法并行實(shí)現(xiàn)方法[J].指揮控制與仿真,2012,34(1):119-122.
[13]肖鵬,肖衛(wèi)華,吳宏超.TMS320C6678的LPI雷達(dá)信號(hào)檢測(cè)模型設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015,15(3):62-65.
[14]吳灝,肖吉陽(yáng),范紅旗.TMS320C6678多核DSP的核間通信方法[J].嵌入式技術(shù),20112,38(9):11-13.
[15]楊方.基于TMS320C6678的多核DSP并行處理應(yīng)用技術(shù)研究[D].北京:北京理工大學(xué),2015.
[16]石敏.基于TMS320C6678的恒虛警和目標(biāo)凝聚算法的實(shí)現(xiàn)[D].南京:南京理工大學(xué),2015.
Design and implementation of synthetic speech detection system based on TMS320C6678
KUANG Peng,HUANG Hai,MAO Shao-shuai,WANG Kang-li
(National Digital Switching System Engineering&Technological R&D Center,Zhengzhou 450000,China)
Aiming at the real-time requirement of synthetic speech detection in large-scale telecommunication network application,based on the analysis of synthetic speech detection and parallel task in multicore DSP,this paper designs a method of synthetic speech detection algorithm parallel implementation based on TMS320C6678,themethod implements tasklevel parallel pipeline and efficient inter-core capability.Experimental results show that themethod is feasible and effective,and the real-time processing capability ofsynthetic speech detection system based on TMS320C6678 has improved somuch.
synthetic speech detection;multicore DSP;TMS320C6678;real-time processing
TP302
A
1674-6236(2016)19-0098-04
2016-03-12稿件編號(hào):201603147
國(guó)家自然科學(xué)基金資助項(xiàng)目(61521003)
況 鵬(1990—),男,江西高安人,碩士。研究方向:電信網(wǎng)安全、智能信息處理。