基于LabVIEW開(kāi)發(fā)平臺(tái)的聲音能量設(shè)計(jì)
LabVIEW開(kāi)發(fā)平臺(tái)
LabVIEW是目前唯一的編譯型圖形化編程語(yǔ)言,使用“所見(jiàn)即所得”的可視化技術(shù)建立人機(jī)界面,用圖標(biāo)表示功能模塊,用圖標(biāo)之間的連線來(lái)表示各模塊間的數(shù)據(jù)傳遞。同時(shí),LabVIEW繼承了高級(jí)編程語(yǔ)言的結(jié)構(gòu)化和模塊化編程的優(yōu)點(diǎn),支持模塊化與層次化設(shè)計(jì),這種結(jié)構(gòu)的設(shè)計(jì)增強(qiáng)了程序的可讀性,其界面非常直觀形象。
虛擬儀器是以計(jì)算機(jī)作為儀器的硬件支撐,充分利用計(jì)算機(jī)的運(yùn)算、存儲(chǔ)、調(diào)用、顯示及文件管理等功能,把傳統(tǒng)儀器的專(zhuān)業(yè)化功能軟件化,使之與計(jì)算機(jī)結(jié)合起來(lái)融為一體,這樣便構(gòu)成了一臺(tái)從外觀到功能都完全與傳統(tǒng)儀器相同,同時(shí)又充分享用了計(jì)算機(jī)資源的儀器系統(tǒng)。傳統(tǒng)儀器通常由信號(hào)采集、信號(hào)分析、信號(hào)輸出三部分組成;虛擬儀器同樣可以劃分為數(shù)據(jù)采集、數(shù)據(jù)分析處理、顯示結(jié)果三大功能模塊。
虛擬儀器的系統(tǒng)組成
虛擬儀器系統(tǒng)是由計(jì)算機(jī)、硬件平臺(tái)和應(yīng)用軟件組成的。從構(gòu)成方式,則有以數(shù)據(jù)采集卡(DAQ)和信號(hào)調(diào)理電路組成的PC-DAQ測(cè)試系統(tǒng);以GPIB、VXI、串行總線和現(xiàn)場(chǎng)總線等標(biāo)準(zhǔn)總線儀器為硬件方式組成的GPIB系統(tǒng)、VXI系統(tǒng)、串行總線系統(tǒng)、現(xiàn)場(chǎng)總線系統(tǒng)等。目前通常采用的方法是在計(jì)算機(jī)上插入數(shù)據(jù)采集卡,用軟件在屏幕上生成儀器面板,用軟件進(jìn)行信號(hào)分析處理等。這也正是本文設(shè)計(jì)的核心。我們采用PCI總線技術(shù)開(kāi)發(fā)了虛擬儀器系統(tǒng)硬件平臺(tái),其基于PCI總線的數(shù)據(jù)采集卡包括信號(hào)調(diào)理和數(shù)據(jù)采集兩部分,數(shù)據(jù)采集卡結(jié)合計(jì)算機(jī)數(shù)據(jù)處理軟件可以構(gòu)造各種虛擬儀器。圖1為虛擬儀器系統(tǒng)構(gòu)成框圖。
圖1 虛擬儀器系統(tǒng)構(gòu)成框圖
語(yǔ)音信號(hào)的時(shí)域處理方法
數(shù)字語(yǔ)音處理的方法常常分為時(shí)域方法、頻域方法、同態(tài)方法、線性預(yù)測(cè)編碼方法以及其他各種方法等。時(shí)域方法涉及到語(yǔ)音信號(hào)的波形,利用時(shí)域方法來(lái)分析的語(yǔ)音信號(hào)特征參數(shù)包括語(yǔ)音的短時(shí)平均幅度和能量,短時(shí)平均過(guò)零率,短時(shí)自相關(guān)函數(shù)以及短時(shí)平均幅度差函數(shù)等。利用這些特征參數(shù)可以分析或處理語(yǔ)音,如清濁音分類(lèi),基音周期檢測(cè)等。限于篇幅,這里只對(duì)短時(shí)能量和短時(shí)平均幅度進(jìn)行分析。語(yǔ)音信號(hào)的時(shí)域分析就是分析和提取語(yǔ)音信號(hào)的時(shí)域參數(shù),其特點(diǎn)如下。
⑴表示語(yǔ)音信號(hào)較直觀、物理意義明確;
⑵實(shí)現(xiàn)較簡(jiǎn)單、運(yùn)算量少;
⑶可以得到語(yǔ)音的重要參數(shù);
⑷使用示波器等通用設(shè)備可看到變化,使用方便。
考慮到上述優(yōu)點(diǎn),本文就語(yǔ)音信號(hào)的時(shí)域處理方法進(jìn)行系統(tǒng)的分析。
● 短時(shí)能量分析
語(yǔ)音信號(hào)是一種隨時(shí)間而變化的信號(hào),是濁音激勵(lì)還是清音激勵(lì),濁音的基音周期以及信號(hào)幅度等都隨時(shí)間而變化,此變化又是緩慢的,可以認(rèn)為在一小段時(shí)間里,例如10~20ms內(nèi)語(yǔ)音信號(hào)近似不變。于是,可以把語(yǔ)音信號(hào)分成一些短段(或稱(chēng)為分析幀)來(lái)進(jìn)行處理。這些短段具有固定的特性,短段間經(jīng)常有一定的重疊組成一段語(yǔ)音。這種方法稱(chēng)為“短時(shí)”處理方法。這種短時(shí)處理方法可以用式1來(lái)表示。
(1)
式中T[]表示對(duì)話音進(jìn)行變換,此變換不一定是線性的,也可以是非線性的。把變換后的序列乘以窗函數(shù)。這個(gè)窗序列位于與抽樣標(biāo)志n相一致的時(shí)間,窗函數(shù)的寬度是有限的,然后對(duì)乘積的所有非零值求和所得到的Qn,就是在n這個(gè)時(shí)刻的T[x(k)]的部分加權(quán)平均值。短時(shí)能量通常定義為:
(2)
這個(gè)表示式還可以表示成:
(3)
圖2為相應(yīng)的數(shù)學(xué)模型原理圖。
圖2 短時(shí)能量分析數(shù)學(xué)模型
綜上所述,語(yǔ)音的短時(shí)能量表示取決于h(n)的選擇或w(n)的選擇,通常使用兩種窗,其中一種為矩形窗,其窗函數(shù)如式4所示。
(4)
實(shí)驗(yàn)結(jié)果表明,En值明顯小于濁音段的能量。因此,根據(jù)短時(shí)能量函數(shù)可以大致區(qū)分濁音和清音。在高En信噪比的情況下,利用短時(shí)能量函數(shù)也可以區(qū)分有聲和無(wú)聲。
● 短時(shí)平均幅度
由上式定義的短時(shí)能量函數(shù)由于需要計(jì)算,因此對(duì)于高電平信號(hào),其值經(jīng)過(guò)平方后則更大,而對(duì)于低電平信號(hào)其值為小于1的值,經(jīng)過(guò)平方后則更小。以致短時(shí)能量E(n)對(duì)于信號(hào)電平值過(guò)于敏感。為了克服這個(gè)缺點(diǎn),定義了一種短時(shí)平均幅度函數(shù),見(jiàn)式5。平均能量的數(shù)學(xué)模型如圖3所示。
圖3 平均能量分析數(shù)學(xué)模型
(5)
式中用信號(hào)的絕對(duì)值代替信號(hào)的平方值。Mn能較好地反映Mn清音范圍內(nèi)的幅度變化。在這一方面,Mn要比En好,Mn所能反映幅度變化的動(dòng)態(tài)范圍也要比En好。所反映清音語(yǔ)音和濁音語(yǔ)音之間的電平差不如En那樣明顯。
短時(shí)能量與短時(shí)平均幅度的主要用途如下。
(1)可以從語(yǔ)音中區(qū)分出濁音來(lái),因?yàn)闈嵋舻哪芰恳惹逡舸蟮亩啵?BR>(2)可以用來(lái)區(qū)分聲母與韻母的分界、無(wú)聲與有聲的分界、連字的分界等;
(3)作為一種語(yǔ)音段信息,用于語(yǔ)音識(shí)別。
LabVIEW軟件設(shè)計(jì)
軟件設(shè)計(jì)主要分為信號(hào)采集流程和處理處理流程。硬件的波形信號(hào)采集流程如圖4所示,采集后對(duì)信號(hào)進(jìn)行分析和處理的流程如圖5所示,即進(jìn)行平均能量和短時(shí)能量分析。
圖4 波形采集流程
圖5 聲音能量分析流程圖
實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)中,通過(guò)單線耳塞(耳塞一端要把線露出來(lái),把信號(hào)接入)將電腦上正在播放的音樂(lè)作為輸入信號(hào),接入PCI-6025E數(shù)據(jù)采集卡中,設(shè)置數(shù)據(jù)采集卡通道為0,選擇采樣點(diǎn)為50,采樣率為8000,得到的實(shí)驗(yàn)結(jié)果如圖6所示。選擇電腦中隨機(jī)播放的音樂(lè)作為數(shù)據(jù)輸入,而沒(méi)有直接用函數(shù)信號(hào)發(fā)生器產(chǎn)生理想的正弦波波形,是因?yàn)槔硐氲恼也ㄊ侵芷谝?guī)律性變化的,對(duì)于短時(shí)平均能量或者短時(shí)平均幅度,其效果并不會(huì)那么明顯,從而更容易對(duì)數(shù)據(jù)進(jìn)行分析。由圖6可見(jiàn),原始聲音波形為-0.02~0.02之間,在0~100s的時(shí)間內(nèi),平均幅度比短時(shí)能量的坡度更大、更高,它們集中在0~0.3之間,比原始聲音波形的幅度要大,而短時(shí)能量的最高點(diǎn)也是不到0.005的幅度,100s之后,短時(shí)能量和平均幅度的趨勢(shì)基本相同,趨于0。
圖6 實(shí)驗(yàn)結(jié)果的數(shù)據(jù)和曲線
結(jié)束語(yǔ)
本文用LabVIEW對(duì)聲音進(jìn)行短時(shí)能量和平均幅度分析??梢杂脭?shù)據(jù)采集卡對(duì)輸入信號(hào)進(jìn)行采集,將信號(hào)做為一種語(yǔ)音段信息,對(duì)語(yǔ)音進(jìn)行識(shí)別,并可以從語(yǔ)音中區(qū)分出濁音來(lái),還可以用來(lái)區(qū)分聲母與韻母的分界、無(wú)聲與有聲的分界、連字的分界等。用LabVIEW來(lái)對(duì)聲音進(jìn)行處理,比C語(yǔ)言的編程更加簡(jiǎn)單,且其界面美觀,處理結(jié)果也可以直接在前面板中進(jìn)行描述。
評(píng)論