袁三男, 吳立新, 劉 虹
(1.上海電力大學(xué),上海 200090; 2.上??平娮有畔⒓夹g(shù)有限公司,上海 200030)
現(xiàn)代生活中,噪聲的種類多種多樣,人們所處的環(huán)境是被噪聲包圍的,但是調(diào)頻廣播中的噪聲與自然界的噪聲不一樣,是一種似高斯噪聲[1]。這種噪聲可以被用來(lái)監(jiān)測(cè)黑廣播的出現(xiàn)。黑廣播是指未經(jīng)批準(zhǔn)設(shè)置、非法占用無(wú)線調(diào)頻廣播頻率的無(wú)線電發(fā)射電臺(tái)。黑廣播極大地影響了社會(huì)安全、國(guó)家穩(wěn)定和社會(huì)和諧,并對(duì)居民的身體健康造成威脅[2-3]。傳統(tǒng)噪聲和語(yǔ)音的區(qū)分采用頻域的方法,即傅里葉變換,這是因?yàn)榇蟛糠衷肼暤哪芰考性诟哳l段,而語(yǔ)音的能量主要分布在低頻段[4-5]。調(diào)頻廣播中出現(xiàn)的這種噪聲有些不同,其能量主要分布在中低頻段,采用傳統(tǒng)的方法很難將噪聲和語(yǔ)音區(qū)分開(kāi)來(lái)。因此,針對(duì)這種情況,本文提出了計(jì)算相關(guān)函數(shù)最大值和短時(shí)能零比的方差這兩種方法,來(lái)區(qū)分調(diào)頻廣播中的噪聲和語(yǔ)音。
似高斯噪聲是一種和高斯噪聲分布類似的聲音。該聲音的功率決定了其分布的寬度。這種似噪聲的聲音幅度可以超過(guò)載波過(guò)調(diào)的起始電平,這時(shí),載波的瞬時(shí)頻率就超出接收機(jī)的中頻濾波器[6],引起被解調(diào)信號(hào)的損耗,引發(fā)射頻噪聲的解調(diào)。接收端接受的唯一信號(hào)就是解調(diào)出的射頻噪聲。這種含有射頻噪聲的聲音與接收機(jī)沒(méi)有準(zhǔn)確地調(diào)到某個(gè)臺(tái)時(shí)所產(chǎn)生的強(qiáng)烈噪聲是相同的[7]。調(diào)制的聲音幅度超過(guò)了過(guò)調(diào)發(fā)生電平的那個(gè)時(shí)間,接收機(jī)將產(chǎn)生出偏離某個(gè)臺(tái)的噪聲以取代原先的調(diào)制信號(hào)。解調(diào)后的噪聲具有很大的沖擊量,這種噪聲就是人耳聽(tīng)到的“呲呲”的聲音。因此黑廣播出現(xiàn)前常常伴隨著這類噪聲的出現(xiàn)。
噪聲語(yǔ)音的相關(guān)函數(shù)有著很大的差別,一般情況下,噪聲的相關(guān)函數(shù)最大值要比語(yǔ)音的相關(guān)函數(shù)最大值小很多[8]。語(yǔ)音、噪聲以及含噪語(yǔ)音的自相關(guān)函數(shù)最大值如圖1所示。圖1(a)中語(yǔ)音信號(hào)的自相關(guān)函數(shù)最大值的幅值區(qū)間在1~7,圖1(b)中噪聲的自相關(guān)函數(shù)最大值的幅值均在1以下。但這種大小是相對(duì)的,無(wú)法找到一個(gè)閾值區(qū)分所有的噪聲和語(yǔ)音。圖1(c)是一段調(diào)頻廣播中音頻的自相關(guān)函數(shù)最大值,該音頻前3 s為語(yǔ)音,后2 s為似高斯噪聲,該段語(yǔ)音的自相關(guān)函數(shù)最大值幅值在1.5左右,而噪聲自相關(guān)函數(shù)最大值的幅值卻在0~2.5之間,因此單靠自相關(guān)函數(shù)最大值無(wú)法準(zhǔn)確區(qū)分調(diào)頻廣播中的噪聲和語(yǔ)音。語(yǔ)音的自相關(guān)函數(shù)最大值波動(dòng)較大,噪聲的自相關(guān)函數(shù)最大值波動(dòng)較小,而方差描述的是數(shù)據(jù)的變化,因此可以采用基于相關(guān)函數(shù)最大值的方差來(lái)區(qū)分調(diào)頻廣播中的噪聲和語(yǔ)音。假設(shè)語(yǔ)音信號(hào)x(n),分幀為xi(n),i=1,2,3,…,M。M為幀數(shù),則每幀語(yǔ)音的自相關(guān)函數(shù)的定義為
圖1 自相關(guān)函數(shù)的最大值
(1)
式中:L——幀長(zhǎng);
k——延遲量。
在相鄰兩幀之間計(jì)算相關(guān)函數(shù),即為互相關(guān)函數(shù),其公式為
i=2,3,4,…,M
(2)
通常,噪聲信號(hào)的短時(shí)能量小,而語(yǔ)音信號(hào)的短時(shí)能量大[9],同樣,這種大小也是相對(duì)的,不適用于所有的音頻。短時(shí)能量的公式為
i=1,2,3,…,M
(3)
短時(shí)平均過(guò)零率表示一幀語(yǔ)音中語(yǔ)音信號(hào)波形穿過(guò)橫軸(零點(diǎn)平)的次數(shù)[10]。若為連續(xù)語(yǔ)音信號(hào),短時(shí)平均過(guò)零率就是時(shí)域波形通過(guò)時(shí)間軸的次數(shù);若為離散信號(hào),過(guò)零即為相鄰的抽樣值改變符號(hào),短時(shí)平均過(guò)零率就是樣本數(shù)值改變符號(hào)的次數(shù)。噪聲和語(yǔ)音信號(hào)的短時(shí)平均過(guò)零率分別如圖2和圖3所示。由圖2和圖3可知,噪聲的短時(shí)平均過(guò)零率高,而語(yǔ)音信號(hào)的短時(shí)平均過(guò)零率低。第i幀語(yǔ)音信號(hào)xi(n)的短時(shí)平均過(guò)零率Z(i)為
圖2 噪聲的短時(shí)平均過(guò)零率
圖3 語(yǔ)音信號(hào)的短時(shí)平均過(guò)零率
(4)
語(yǔ)音信號(hào)的短時(shí)能量比噪聲短時(shí)能量大,而短時(shí)平均過(guò)零率比噪聲小。能零比則是用每一幀語(yǔ)音信號(hào)的短時(shí)能零比上短時(shí)平均過(guò)零率,因此語(yǔ)音的短時(shí)能零比比噪聲的短時(shí)能零比大很多。圖4為一段音頻的短時(shí)能零比值,前3 s為噪聲,2 s之后為語(yǔ)音,噪聲段的能零比的波動(dòng)幅度較小,而語(yǔ)音段的能零比的波動(dòng)幅度較大。因此,可以在短時(shí)能零比的基礎(chǔ)上,再用方差來(lái)區(qū)分調(diào)頻廣播中的噪聲和語(yǔ)音。
圖4 含噪語(yǔ)音短時(shí)能零比值
實(shí)驗(yàn)軟件為VC++2010,實(shí)驗(yàn)數(shù)據(jù)為廣播調(diào)頻中的音頻數(shù)據(jù)。由于原始廣播調(diào)頻檢測(cè)的音頻為MP4格式,不利于數(shù)據(jù)的讀取,因此首先將MP4格式經(jīng)ffmpeg轉(zhuǎn)碼轉(zhuǎn)換為wav文件。由MP4轉(zhuǎn)換的wav文件和原始wav文件數(shù)據(jù)存儲(chǔ)的位置不同[11],但在00H-23H之間,兩者數(shù)據(jù)的存儲(chǔ)位置是一樣的,從24H開(kāi)始,原始wav文件和轉(zhuǎn)換后的wav文件數(shù)據(jù)存儲(chǔ)位置如表1所示。在24H-45H之間,轉(zhuǎn)換后的wav文件存儲(chǔ)的是LIST的標(biāo)志、字節(jié)數(shù)以及內(nèi)容。
表1 wav文件與經(jīng)ffmpeg轉(zhuǎn)碼后的wav文件的區(qū)別
從46A開(kāi)始的數(shù)據(jù)內(nèi)容才與原始wav文件24H之后的存儲(chǔ)數(shù)據(jù)一致。
對(duì)輸入的語(yǔ)音信號(hào)進(jìn)行分幀。由于語(yǔ)音信號(hào)是一個(gè)非穩(wěn)態(tài)、時(shí)變的信號(hào),但是可以在“短時(shí)間”范圍內(nèi)認(rèn)為語(yǔ)音信號(hào)是穩(wěn)態(tài)的,不隨時(shí)間變化。這個(gè)短時(shí)間一般指10~30 ms,本文幀長(zhǎng)為20 ms。求每幀語(yǔ)音信號(hào)的短時(shí)自相關(guān)函數(shù)的最大值。由于1 s內(nèi)噪聲的自(互)相關(guān)函數(shù)的最大值波動(dòng)程度比語(yǔ)音信號(hào)小,由此可判定每秒的音頻是噪聲還是語(yǔ)音?;谙嚓P(guān)函數(shù)最大值的方差法區(qū)分噪聲和語(yǔ)音檢測(cè)流程圖如圖5所示。
圖5 基于相關(guān)函數(shù)最大值的方差法區(qū)分噪聲和語(yǔ)音檢測(cè)流程
首先,開(kāi)始分幀,每幀長(zhǎng)20 ms,因此1 s內(nèi)有50幀;先計(jì)算每幀語(yǔ)音信號(hào)的自相關(guān)函數(shù),再計(jì)算1 s內(nèi)自相關(guān)函數(shù)最大值的方差,設(shè)置一個(gè)閾值Th。信號(hào)方差大于設(shè)定閾值Th時(shí),判斷其為語(yǔ)音;信號(hào)方差小于設(shè)定閾值Th時(shí),判定其為噪聲。
對(duì)輸入的語(yǔ)音信號(hào)進(jìn)行分幀。計(jì)算每幀語(yǔ)音信號(hào)的短時(shí)能量。一般語(yǔ)音信號(hào)的能量隨時(shí)間變化比較明顯,且噪聲的能量比語(yǔ)音的能量小很多?;诙虝r(shí)能零比的方差法區(qū)分噪聲和語(yǔ)音檢測(cè)流程如圖6所示。
圖6 基于短時(shí)能零比的方差法區(qū)分噪聲和語(yǔ)音檢測(cè)流程
分幀后,先計(jì)算每幀語(yǔ)音信號(hào)的短時(shí)平均過(guò)零率,即每幀內(nèi)信號(hào)通過(guò)零值的次數(shù),再計(jì)算每幀信號(hào)的短時(shí)能量與短時(shí)平均過(guò)零率的比值。對(duì)1 s內(nèi)50幀能零比進(jìn)行方差計(jì)算,得到的方差可以反映信號(hào)的波動(dòng)程度,因此可以根據(jù)噪聲的情況,設(shè)置一個(gè)閾值Th。信號(hào)方差大于設(shè)定閾值Th時(shí),判斷其為語(yǔ)音;信號(hào)方差小于設(shè)定閾值Th時(shí),判定其為噪聲。
實(shí)驗(yàn)結(jié)果表明,調(diào)頻廣播中的噪聲與語(yǔ)音的區(qū)分采用基于短時(shí)能零比的方差法效果更好。短時(shí)能零比的方差閾值Th設(shè)定為5×10-6,因?yàn)樯钪屑儍舻恼Z(yǔ)音很少,大多為含噪語(yǔ)音。為了更好地監(jiān)測(cè)調(diào)頻廣播中“黑廣播”的出現(xiàn),本文將音頻的質(zhì)量劃分了5個(gè)等級(jí),具體如表2所示。
表2 音頻等級(jí)的劃分
表2中,Vad是每秒短時(shí)能零比的方差。為了方便計(jì)算,Vad乘上106后再進(jìn)行等級(jí)劃分,閾值Th乘以106后為5,因此在0~5之間的等級(jí)為1,即為噪聲,等級(jí)在5以上的為語(yǔ)音,等級(jí)越高,語(yǔ)音質(zhì)量越好,語(yǔ)音的純凈度就越高。
實(shí)驗(yàn)結(jié)果如圖7所示。圖7為一段調(diào)頻廣播中的音頻,在第58 s之前,語(yǔ)音質(zhì)量一直較好,音頻等級(jí)為5,在第58 s時(shí),音頻質(zhì)量下降,音頻等級(jí)為2,在第59 s之后,音頻等級(jí)下降為1,因此從第59 s開(kāi)始,出現(xiàn)了噪聲,也就意味著黑廣播的出現(xiàn)。
圖7 實(shí)驗(yàn)結(jié)果
本文針對(duì)調(diào)頻廣播中的似高斯噪聲難以用頻域方法區(qū)分的問(wèn)題,對(duì)比分析噪聲和語(yǔ)音的時(shí)域差異,提出了區(qū)分噪聲與語(yǔ)音的兩種方法,根據(jù)計(jì)算的相關(guān)函數(shù)最大值的方差和每秒短時(shí)能零比的方差,設(shè)定合適的閾值進(jìn)行區(qū)分。實(shí)驗(yàn)證明這兩種方法可以有效地區(qū)分調(diào)頻廣播中的噪聲和語(yǔ)音,同時(shí)本文還為音頻質(zhì)量劃分了等級(jí),可用于監(jiān)測(cè)黑廣播以及提升調(diào)頻廣播中的語(yǔ)音質(zhì)量。