語音信號處理的方法及裝置的制造方法
【專利摘要】本發(fā)明涉及一種語音信號處理的方法及裝置。其中所述方法包括以下步驟:將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊;計算當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列;根據(jù)諧波峰值序列應(yīng)用梳狀濾波器對原始頻譜進行處理,得到當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜;對當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號;將當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。其通過梳狀濾波器對語音信號諧波進行增強處理,壓制非諧波部分分量。提升輸出語音的質(zhì)量。語音信號處理的裝置也具有上述優(yōu)點。
【專利說明】
語音信號處理的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信號處理技術(shù)領(lǐng)域,特別是涉及一種語音信號處理的方法及裝置。
【背景技術(shù)】
[0002]—般語音信號由基波和多個諧波組成。在環(huán)境噪音強烈或者麥克風(fēng)音腔設(shè)計不當(dāng)時,會導(dǎo)致語音信號的諧波被噪聲淹沒或減弱。此時會造成語音音質(zhì)不同程度的下降,影響輸出語音信號的質(zhì)量。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對上述技術(shù)問題,提供一種能夠提高語音信號輸出質(zhì)量的語音信號處理的方法及裝置。
[0004]—種語音信號處理的方法,所述方法包括以下步驟:
[0005]將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊;
[0006]計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列;
[0007]根據(jù)所述諧波峰值序列應(yīng)用梳狀濾波器對所述原始頻譜進行處理,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜;
[0008]對所述當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號;
[0009]將所述當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。
[0010]作為一種語音信號處理的方法的可實施方式,還包括以下步驟:
[0011]以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡所述輸出語音信號的高次諧波與低次諧波的能量水平。
[0012]作為一種語音信號處理的方法的可實施方式,在將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊步驟之前,還包括以下步驟:
[0013]計算所述當(dāng)前輸入信號幀的最大峰值能量;
[0014]判斷所述最大峰值能量是否大于能量預(yù)設(shè)值,若是,則繼續(xù)執(zhí)行所述將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊的步驟;若否,則判定所述當(dāng)前輸入信號幀為非語音信號。
[0015]作為一種語音信號處理的方法的可實施方式,還包括以下步驟:
[0016]求取所述當(dāng)前數(shù)據(jù)塊的線性預(yù)測殘差;
[0017]計算所述線性預(yù)測殘差歸一化自相關(guān)序列,得到歸一化殘差序列,并查找所述歸一化殘差序列中的最大幅值;
[0018]判斷所述最大幅值是否大于幅值預(yù)設(shè)值,若是,則判定所述當(dāng)前數(shù)據(jù)塊為語音信號,并繼續(xù)執(zhí)行所述計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列的步驟;若否,則判定所述當(dāng)前數(shù)據(jù)塊為非語音信號;
[0019]作為一種語音信號處理的方法的可實施方式,所述計算所述當(dāng)前數(shù)據(jù)塊的諧波峰值序列包括以下步驟:
[0020]計算所述當(dāng)前數(shù)據(jù)塊的功率譜;
[0021 ]選取所述最大幅值對應(yīng)的最大值頻率點,以及所述最大值頻率點前后頻率點;
[0022]根據(jù)所述最大值頻率點對應(yīng)的功率幅值,以及所述最大值頻率點前后頻率點對應(yīng)的功率幅值,采用二次插值算法計算所述當(dāng)前數(shù)據(jù)塊的基頻;
[0023]根據(jù)所述基頻在所述功率譜上進行查找,得到所述當(dāng)前數(shù)據(jù)塊的所述諧波峰值序列。
[0024]作為一種語音信號處理的方法的可實施方式,所述能量預(yù)設(shè)值為52。
[0025]作為一種語音信號處理的方法的可實施方式,所述幅值預(yù)設(shè)值為0.4。
[0026]作為一種語音信號處理的方法的可實施方式,所述以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡所述輸出語音信號的高次諧波與低次諧波的能量水平;包括:
[0027]根據(jù)所述當(dāng)前數(shù)據(jù)塊的IKHz以下諧波的平均功率水平與IKHz?3KHz的諧波平均水平功率之比,應(yīng)用在IKHz增益為OdB,特定滾降Kdb/oct的高通濾波器,平衡低次諧波與高次諧波的能量水平。
[0028]作為一種語音信號處理的方法的可實施方式,所述計算所述當(dāng)前數(shù)據(jù)塊的功率譜時,采用漢寧窗對所述當(dāng)前數(shù)據(jù)塊進行截取,再使用截取后的信號求取所述當(dāng)前數(shù)據(jù)塊的功率譜。
[0029]作為一種語音信號處理的方法的可實施方式,判定所述當(dāng)前數(shù)據(jù)塊為非語音信號后,還包括以下步驟:
[0030]判斷當(dāng)前數(shù)據(jù)塊的前一數(shù)據(jù)塊以及后一數(shù)據(jù)塊是否均為語音信號;
[0031]若是,則進行進一步計算所述當(dāng)前數(shù)據(jù)塊的基頻,若否,則不對所述當(dāng)前數(shù)據(jù)塊進行處理;
[0032]判斷所述基頻與所述當(dāng)前數(shù)據(jù)塊的前一數(shù)據(jù)塊的基頻之間的第一誤差,以及與所述當(dāng)前數(shù)據(jù)塊的后一數(shù)據(jù)塊的基頻之間的第二誤差是否均在預(yù)設(shè)范圍內(nèi),若是,則將所述當(dāng)前數(shù)據(jù)塊進行與語音信號相同的處理;若否,則不對所述當(dāng)前數(shù)據(jù)塊進行處理。
[0033]作為一種語音信號處理的方法的可實施方式,所述當(dāng)前輸入信號幀長度為64時,所述第一誤差與所述第二誤差的預(yù)設(shè)范圍相同,均為20Hz。
[0034]作為一種語音信號處理的方法的可實施方式,所述歸一化殘差序列中最大幅值的位置序號在(100?800)/Fs范圍內(nèi),其中Fs為所述語音信號的采樣率。
[0035]基于相同的發(fā)明構(gòu)思的一種語音信號處理的裝置,包括數(shù)據(jù)塊構(gòu)成模塊,用于將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊;
[0036]諧波計算模塊,用于計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列;
[0037]諧波處理模塊,用于根據(jù)所述諧波峰值序列應(yīng)用梳狀濾波器對所述原始頻譜進行處理,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜;
[0038]時域變換模塊,用于對所述當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號;
[0039]信號整合模塊,用于將所述當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。
[0040]作為一種語音信號處理的裝置的可實施方式,還包括能量平衡模塊,用于以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡所述輸出語音信號的高次諧波與低次諧波的能量水平。
[0041]本發(fā)明的有益效果包括:本發(fā)明提供的一種語音信號處理的方法,使用梳狀濾波器對輸入的語音信號進行諧波增強處理,避免諧波被噪聲淹沒或減弱,提升輸出語音質(zhì)量。同時提供的語音信號處理的裝置也具有前述優(yōu)點。
【附圖說明】
[0042]圖1為語音信號處理的方法一個實施例的流程圖;
[0043]圖2為語音信號處理的方法另一個實施例的流程圖;
[0044]圖3為語音信號處理的方法再一個實施例的流程圖;
[0045]圖4為語音信號處理的方法又一個實施例的流程圖;
[0046]圖5為語音信號處理的方法一個實施例中步驟S200執(zhí)行的流程圖;
[0047]圖6為語音信號處理的方法一個實施例中非語音信號處理的流程圖;
[0048]圖7為語音信號處理的方法一個具體實例的流程圖;
[0049]圖8為語音信號處理的裝置一個實施例的結(jié)構(gòu)示意圖;
[0050]圖9為語音信號處理的裝置另一實施例的結(jié)構(gòu)構(gòu)成示意圖;
[0051 ]圖10為語音信號處理的裝置又一實施例的結(jié)構(gòu)構(gòu)成示意圖;
[0052]圖11為語音信號處理的裝置再一實施例的結(jié)構(gòu)構(gòu)成示意圖。
【具體實施方式】
[0053]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本發(fā)明的語音信號處理的方法及裝置的【具體實施方式】進行說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0054]本發(fā)明語音信號處理的方法的一實施例中,如圖1所示,包括以下步驟:
[0055]S100,將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊。
[0056]假設(shè)當(dāng)前輸入信號幀為第η幀語音信號,記為Xn,則其前一幀的語音信號為第n-1幀語音信號,記為Xn-1。將第η幀語音信號和第n-1幀語音信號按照時間順序組合,即輸入時間靠前的語音信號放在前面,時間靠后的語音信號放在后面,組成一個更長的語音信號。且一般每個輸入的語音信號幀長度是一定的。假設(shè)本實施例中輸入的語音信號幀長度為M,則將兩幀語音信號組合構(gòu)成的當(dāng)前數(shù)據(jù)塊長度為2M。其中,幀長度M可根據(jù)實際設(shè)備對語音信號處理的速度確定。如M可選擇64,80等。
[0057]S200,計算當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列。
[0058]S300,根據(jù)諧波峰值序列應(yīng)用梳狀濾波器對原始頻譜進行處理,得到當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜。
[0059]本步驟中,根據(jù)當(dāng)前數(shù)據(jù)塊的諧波峰值序列構(gòu)建梳狀濾波器,并使用梳狀濾波器對當(dāng)前數(shù)據(jù)塊的頻譜(當(dāng)前數(shù)據(jù)塊的頻率表現(xiàn)形式)進行濾波處理。加深諧波波谷部分,突出諧波結(jié)構(gòu)。如此,則通過梳狀濾波器對當(dāng)前數(shù)據(jù)塊的諧波峰值部分進行加強,而壓制當(dāng)前數(shù)據(jù)塊的非諧波部分,降低外界環(huán)境等因素造成的噪聲的影響。
[0060]S400,對當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號。
[0061]對頻域的當(dāng)前數(shù)據(jù)塊進行諧波峰值增強后,再進行反變換,得到處理(或諧波增強)后的當(dāng)前數(shù)據(jù)塊的時域信號,即所述的當(dāng)前時域處理信號。
[0062]當(dāng)然,在本實施例中,輸入的當(dāng)前數(shù)據(jù)塊的時域長度為2M,經(jīng)過兩次時域和頻域之間的變換后,最終得到的當(dāng)前時域處理信號長度依然為2M。
[0063]S500,將當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。
[0064]根據(jù)本步驟可知,本發(fā)明實施例的語音信號處理的方法中,最終輸出的前一幀輸入信號幀對應(yīng)的語音信號。而且,進一步的,為了后續(xù)輸入信號幀語音信號的處理,對當(dāng)前數(shù)據(jù)塊進行分析處理得到當(dāng)前時域處理信號后,需要對所述當(dāng)前時域處理信號進行存儲,以便在對下一當(dāng)前數(shù)據(jù)塊進行語音信號處理時,對兩個數(shù)據(jù)塊的時域處理信號進行交錯相加,得到一幀輸入信號幀對應(yīng)的語音輸出信號。
[0065]本發(fā)明實施例的語音信號處理的方法,其在頻域根據(jù)語音信號諧波峰值,使用梳狀濾波器對語音信號進行處理,從而增強語音信號諧波結(jié)構(gòu),突出諧波分量,壓制非諧波部分分量。避免語音信號受噪聲影響而導(dǎo)致諧波被淹沒或者諧波減弱的情況。提高語音輸出的質(zhì)量。
[0066]如圖2所示,在本發(fā)明另一語音信號處理的實施例中,除包括上述實施例中的5個步驟之外,還包括下面的步驟S600。
[0067]S600,以預(yù)設(shè)頻率的諧波為基礎(chǔ),使用預(yù)設(shè)系數(shù)的滾降系數(shù)的濾波器對輸出語音信號進行處理,平衡輸出語音信號的高次諧波與低次諧波的能量水平。
[0068]其中,所述預(yù)設(shè)頻率與語音信號本身的頻率范圍,以及某些特殊使用環(huán)境有關(guān)(如真實語音信號與機器語音會有一定差別)??筛鶕?jù)具體使用環(huán)境確定所述預(yù)設(shè)頻率。
[0069]具體地,在一個具體實例中,根據(jù)IKHz以下諧波的平均功率水平與IKHz?3KHz的諧波平均水平功率之比,應(yīng)用在IKHz增益為OdB,特定滾降Kdb/oct的高通濾波器到所述長度為M的語音信號上。以平衡低次諧波與高次諧波的能量水平,提升聽感。
[0070]在另一實施例的語音信號處理的方法中,如圖3所示,在將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊步驟之前,還包括以下步驟:
[0071]S011,計算當(dāng)前輸入信號幀的最大峰值能量。
[0072]S012,判斷最大峰值能量是否大于能量預(yù)設(shè)值,若是,則繼續(xù)執(zhí)行S100,將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊;若否,則判斷當(dāng)前輸入信號幀為非語音信號,并返回對下一輸入信號幀進行最大峰值能量技進行判斷。
[0073]本實施例中,首先對輸入信號的能量進行判斷,對于能量較小的信號則直接判定為非語音信號,不再進行任何處理,避免占用系統(tǒng)的內(nèi)存,也避免處理時間的浪費。在另一角度上能夠提高本發(fā)明的語音信號處理的方法的處理速度。
[0074]當(dāng)然,具體的能量值大小的判斷可根據(jù)具體處理環(huán)境確定。如對于一般音量較高的環(huán)境,所述能量預(yù)設(shè)值會設(shè)置較高的數(shù)值;而對于大部分語音信號都較小的使用環(huán)境,所述能量預(yù)設(shè)值要設(shè)置的較低一些。
[0075]較佳地,在其中一個實施例中,選擇能量預(yù)設(shè)值為52,作為一般麥克風(fēng)輸出信號是否為語音信號的判斷。
[0076]具體的,最大峰值能量Engn = 20*logl0(Max(abs(Xn)))。其中,abs(Xn)為當(dāng)前輸入信號幀幅值序列,且所述最大峰值能量為最大絕對值峰值能量。
[0077]在另一實施例中,如圖4所示,還包括另一是否語音信號的判斷步驟。該步驟分幾步進行,均執(zhí)行在步驟S200之前具體如下:
[0078]S021,求取所述當(dāng)前數(shù)據(jù)塊的線性預(yù)測殘差。
[0079]在步驟SlOO將兩幀輸入信號組成當(dāng)前數(shù)據(jù)塊Sn后,本步驟進一步的進行線性預(yù)測,得到所述當(dāng)前數(shù)據(jù)塊Sn的線性預(yù)測LPC( I inear predictive coding,線性預(yù)測編碼)殘差 ESn 0
[0080]更佳的,可以對輸入信號先做降采樣,降低運算負(fù)載。且也可要限制線性預(yù)測LPC的階次,如LPC階數(shù)在SKHz采樣率下選為6階。此時對殘差計算精確度較高,而且計算量小。
[0081]S022,計算線性預(yù)測殘差歸一化自相關(guān)序列,得到歸一化殘差序列,并查找歸一化殘差序列中的最大幅值。
[0082]步驟S021得到當(dāng)前數(shù)據(jù)塊的殘差ESn后,本步驟對殘差進行歸一化處理,尋找ESn的歸一化自相關(guān)序列最大點的幅度MAX_AESAn,序號記為MAX_AESn。
[0083]其中,本步驟中對線性預(yù)測殘差進行歸一化處理,使本發(fā)明的語音信號處理的方法具有通用性,對每一幀輸入信號都能采用相同的步驟進行處理。且歸一化后的序列在數(shù)值大小方面較為統(tǒng)一(在O?I之間),便于后續(xù)根據(jù)數(shù)值大小直接進行判斷操作。
[0084]S023,判斷最大幅值MAX_AESAn是否大于幅值預(yù)設(shè)值,若是,則判定當(dāng)前數(shù)據(jù)塊為語音信號,并繼續(xù)執(zhí)行步驟S200,計算當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列;若否,則判定當(dāng)前數(shù)據(jù)塊為非語音信號。
[0085]其中,因為對線性預(yù)測殘差進行了歸一化處理,歸一化之后,取值會在O?I之間,所以,較為容易確定所述幅值預(yù)設(shè)值。較佳地,根據(jù)語音信號的特點,在其中一個實施例中設(shè)定所述幅值預(yù)設(shè)值為0.4。此幅值預(yù)設(shè)值能夠較好的對語音信號進行粗過濾。
[0086]本實施例中,再次對是否為語音信號進行判斷,進一步排除非語音信號,避免非語音信號的處理造成處理時間及器件占用造成的浪費。且對于一些非語音信號可直接做不輸出處理,也能避免非語音信號輸出的造成輸出信號噪聲影響。
[0087]具體的,如圖5所示,作為一種諧波峰值序列求取的方法,步驟S200中計算當(dāng)前數(shù)據(jù)塊的諧波峰值序列包括以下步驟:
[0088]S201,計算當(dāng)前數(shù)據(jù)塊的功率譜。
[0089]S202,選取最大幅值對應(yīng)的最大值頻率點,以及最大值頻率點前后頻率點。
[0090]S203,根據(jù)最大值頻率點對應(yīng)的功率幅值,以及最大值頻率點前后頻率點對應(yīng)的功率幅值,采用二次插值算法計算當(dāng)前數(shù)據(jù)塊的基頻。
[0091]本實施例中,對當(dāng)前數(shù)據(jù)塊加窗,較佳地選用漢寧窗,然后當(dāng)前數(shù)據(jù)塊的功率譜Pn,并根據(jù)MAX_AESn對應(yīng)的頻率fn點。選取Pn中對應(yīng)的頻率點以及前后的頻率點的幅度,利用二次插值計算準(zhǔn)確基頻Fpitchn。
[0092]根據(jù)已經(jīng)計算出的歸一化殘差序列中的最大幅值的位置,在當(dāng)前數(shù)據(jù)塊的功率譜上確定當(dāng)前數(shù)據(jù)塊的基頻。其中,進一步利用所述最大值頻率點兩側(cè)的頻率點利用二次插值進行基頻的求取,使當(dāng)前數(shù)據(jù)塊基頻確定更加準(zhǔn)確。
[0093]此處需要說明的是,步驟S200計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜時,也可采用漢寧窗對當(dāng)前數(shù)據(jù)塊進行加窗處理后,再求取頻譜Fn。當(dāng)然,在其他實施例中,也可采用其他類型的窗對當(dāng)前數(shù)數(shù)據(jù)塊進行加窗處理。
[0094]S204,根據(jù)基頻在功率譜上進行查找,得到當(dāng)前數(shù)據(jù)塊的諧波峰值序列。
[0095]需要說明的是,本實施例說明了一種特定的當(dāng)前數(shù)據(jù)塊基頻和諧波峰值序列的求取方式。尤其是還采用了二次插值計算了準(zhǔn)確的基頻。在其他實施例中,本領(lǐng)域技術(shù)人員也可采用其他算法或者方案求取當(dāng)前數(shù)據(jù)塊的基頻以及諧波峰值序列。且采用其他算法進行基頻及諧波峰值序列的求取不影響本發(fā)明的語音信號處理的方法的實施。
[0096]在其中一個實施例中,當(dāng)通過歸一化殘差序列最大幅值判定當(dāng)前數(shù)據(jù)塊為非語音信號后,如圖6所示,對所述非語音信號還要進行以下判斷處理:
[0097]SOOl,判斷當(dāng)前數(shù)據(jù)塊的前兩數(shù)據(jù)塊以及后兩數(shù)據(jù)塊是否均為語音信號;
[0098]S002,若是,則進行進一步計算當(dāng)前數(shù)據(jù)塊的基頻;S103,若否,則不對當(dāng)前數(shù)據(jù)塊進行處理,即放棄當(dāng)前數(shù)據(jù)塊,也不對當(dāng)前數(shù)據(jù)塊的處理結(jié)果進行保存。
[0099]S003,判斷當(dāng)前數(shù)據(jù)塊的基頻與當(dāng)前數(shù)據(jù)塊的前一數(shù)據(jù)塊的基頻之間的第一誤差,以及與當(dāng)前數(shù)據(jù)塊的后一數(shù)據(jù)塊的基頻之間的第二誤差是否均在預(yù)設(shè)范圍內(nèi),若是,則將當(dāng)前數(shù)據(jù)塊進行與語音信號相同的處理;若否,則不對當(dāng)前數(shù)據(jù)塊進行處理。
[0100]本發(fā)明實施例中,當(dāng)語音幀與語音幀之間出現(xiàn)無語音幀時,根據(jù)上兩幀和下兩幀的基頻檢測結(jié)果,判斷是否補充上本幀或者當(dāng)前數(shù)據(jù)塊的基頻或者跳過當(dāng)前數(shù)據(jù)塊的處理。而當(dāng)連續(xù)出現(xiàn)多幀輸入信號通過歸一化殘差序列最大幅值判定當(dāng)前數(shù)據(jù)塊為非語音信號時,則可以斷定當(dāng)前輸入信號幀無需再進行保存(其之前的兩個數(shù)據(jù)塊均為非語音信號)。從而語音幀和語音幀之間無語音幀信號保存的長度被限制在一定范圍內(nèi)。
[0101]在另一實施中,還對同一基頻檢測結(jié)果的語音幀長度進行限制。將其限制在一定范圍內(nèi)。具體的,當(dāng)檢測到連續(xù)多幀輸入信號幀的基頻均相同時,則判定之后輸入的輸入信號幀為非語音信號,不再對其進行諧波增強的處理。語音信號的處理速度更快。
[0102]具體的,在其中一個實施例中,當(dāng)前輸入信號幀長度為64時,第一誤差與第二誤差的預(yù)設(shè)范圍相同,均為20Hz。
[0103]更佳地,歸一化殘差序列中最大幅值的位置序號MAX_AESn(最大值頻率點)在(100?800)/Fs范圍內(nèi),其中Fs為語音信號的采樣率。
[0104]如圖7所示,為本發(fā)明的語音信號處理的方法一個具體實例流程圖。對輸入信號的處理按照以下步驟進行:
[0105]S1001,在時刻η時輸入M點信號幀Xn。
[0106]S1002,計算Xn的絕對值最大峰值能量Engn = 20*logl0(Max(abs(Xn)))。
[0?07] S1003,判斷Engn是否大于設(shè)定閾值Thr_Eng,若是,則執(zhí)行步驟S1004,如否則返回步驟S1001,輸入下一幀數(shù)據(jù)。
[0108]S1004,計算Xn與Xn-1組成的數(shù)據(jù)塊Sn的線性預(yù)測LPC殘差ESn。,
[0109]S1005,計算ESn的歸一化自相關(guān)序列,尋找歸一化自相關(guān)序列的最大幅度位置MAX_AESn與其最大幅度MAX_AESAn,并確定對應(yīng)基頻頻率Fpitchn。
[0110]S1006,判斷最大幅度位置MAX_AESn是否在設(shè)定范圍100/Fs?800/Fs內(nèi),以及ESn的歸一化自相關(guān)序列的最大值MAX_AESAn是否大于Thr_AESA,以及基頻Fpitchn = Fs/MAX_AESn與上一幀基頻Fpitchn-1之差小于第一誤差Thr_pitchdiff,若滿足所有條件,則執(zhí)行步驟S1007;若否,則當(dāng)前數(shù)據(jù)塊待定(步驟S1013)
[0111]S1007,計算Sn的加窗功率譜Pn和頻譜Fn。
[ΟΙ12] S1008,根據(jù)Fpitchn在Pn對應(yīng)位置的附近數(shù)據(jù)進行插值修正,得到準(zhǔn)確Fpitchn。
[0113]S1009,根據(jù)Fpitchn在功率譜Pn中根據(jù)一定規(guī)則尋找諧波峰值位置,得到諧波峰值位置序列Harmon icnD
[0114]S1010,根據(jù)諧波峰值位置序列Harmonicn對Fn應(yīng)用相應(yīng)梳狀濾波器。
[0115]SlOll,把經(jīng)梳狀濾波器處理后的Fn反變換到時域,得到2M點數(shù)據(jù)塊,并取前一半長度數(shù)據(jù)與上一次結(jié)果的后一半長度數(shù)據(jù)相加得到M點輸出on。
[0116]SI 012,計算IKHz以上諧波的平均功率水平與IKHz?3KHz的諧波平均水平功率之比,應(yīng)用在IKHz增益為OdB,特定滾降Kdb/oct的濾波器到M點輸出On上。
[0117]S1013,根據(jù)前兩幀以及后兩幀的語音幀判斷結(jié)果決定是否對本幀進行諧波增強處理。
[0118]該實施例通過平衡低次諧波與高次諧波的能量水平,提升聽感。
[0119]基于同一發(fā)明構(gòu)思,本發(fā)明實施例提供一種語音信號處理的裝置,由于此裝置解決問題的原理與前述一種語音信號處理的方法相似,因此,該系統(tǒng)的實施可以按照前述方法的具體步驟實現(xiàn),重復(fù)之處不再贅述。
[0120]如圖8所示,其中一個實施例的語音信號處理的裝置包括數(shù)據(jù)塊構(gòu)成模塊100、諧波計算模塊200、諧波處理模塊300、時域變換模塊400以及信號整合模塊500。
[0121]其中,數(shù)據(jù)塊構(gòu)成模塊100,用于將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊;諧波計算模塊200,用于計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列;諧波處理模塊300,用于根據(jù)所述諧波峰值序列應(yīng)用梳狀濾波器對所述原始頻譜進行處理,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜;時域變換模塊400,用于對所述當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號;信號整合模塊500,用于將所述當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。
[0122]該實施例的語音信號處理的裝置,通過使用梳狀濾波器對語音信號的諧波進行處理,增強語音信號的諧波分量壓制信號中的非諧波分量(噪聲),提升語音信號的辨識度。
[0123]在另一實施例中,如圖9所示,語音信號處理的裝置還包括能量平衡模塊600,用于以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡輸出語音信號的高次諧波與低次諧波的能量水平。
[0124]具體的,根據(jù)語音信號的特點,可以以IKHz作為基礎(chǔ)頻率點(高次諧波和低次諧波分界點),采用當(dāng)前數(shù)據(jù)塊的IKHz以下諧波的平均功率水平與IKHz?3KHz的諧波平均水平功率之比,應(yīng)用在IKHz處增益為OdB,帶有滾降系數(shù)的特定滾降Kdb/oct的高通濾波器對輸出的語音信號進行再次處理,平衡低次諧波與高次諧波的能量水平。
[0125]如圖10所示,語音信號處理的裝置中還可以包括能量值計算模塊010,以及第一信號判斷模塊011。
[0126]其中,能量值計算模塊010,用于計算當(dāng)前輸入信號幀的最大峰值能量;第一信號判斷模塊011,用于判斷最大峰值能量是否大于能量預(yù)設(shè)值,若是,則繼續(xù)執(zhí)行數(shù)據(jù)塊構(gòu)成模塊100;若否,則判定當(dāng)前輸入信號幀為非語音信號。
[0127]本領(lǐng)域技術(shù)人員可以理解,該實施例中,能量值計算模塊010和第一信號判斷模塊011均執(zhí)行在前述的數(shù)據(jù)塊構(gòu)成模塊100之前,先對輸入的當(dāng)前信號幀進行一次判斷,這樣可以避免對明顯非語音信號的復(fù)雜處理,提高語音信號處理的整體速度。
[0128]如圖11所示,一實施例的語音信號處理的裝置中還包括殘差求取模塊020、最大幅值查找模塊021以及第二判斷模塊022。
[0129]其中,殘差求取模塊020,用于求取當(dāng)前數(shù)據(jù)塊的線性預(yù)測殘差;最大幅值查找模塊021,用于計算線性預(yù)測殘差歸一化自相關(guān)序列,得到歸一化殘差序列,并查找歸一化殘差序列中的最大幅值;第二判斷模塊022,用于判斷最大幅值是否大于幅值預(yù)設(shè)值,若是,則判定當(dāng)前數(shù)據(jù)塊為語音信號,并繼續(xù)執(zhí)行諧波計算模塊200,計算當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列;若否,則判定當(dāng)前數(shù)據(jù)塊為非語音信號。
[0130]該實施例中,再次對輸入的信號進行是否語音信號的判斷,也能縮短非語音信號對處理程序的占用。
[0131]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述程序可存儲于一計算機可讀取存儲介質(zhì)中,如本發(fā)明實施例中,該程序可存儲于計算機系統(tǒng)的存儲介質(zhì)中,并被該計算機系統(tǒng)中的至少一個處理器執(zhí)行,以實現(xiàn)包括如上述各方法的實施例的流程。其中,所述存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,R0M)或隨機存儲記憶體(Random AccessMemory,RAM)等。
[0132]以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
[0133]以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項】
1.一種語音信號處理的方法,其特征在于,所述方法包括以下步驟: 將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊; 計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列; 根據(jù)所述諧波峰值序列應(yīng)用梳狀濾波器對所述原始頻譜進行處理,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜; 對所述當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號; 將所述當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。2.根據(jù)權(quán)利要求1所述的語音信號處理的方法,其特征在于,還包括以下步驟: 以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡所述輸出語音信號的高次諧波與低次諧波的能量水平。3.根據(jù)權(quán)利要求1所述的語音信號處理的方法,其特征在于,在將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊步驟之前,還包括以下步驟: 計算所述當(dāng)前輸入信號幀的最大峰值能量; 判斷所述最大峰值能量是否大于能量預(yù)設(shè)值,若是,則繼續(xù)執(zhí)行所述將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊的步驟;若否,則判定所述當(dāng)前輸入信號幀為非語音信號。4.根據(jù)權(quán)利要求1所述的語音信號處理的方法,其特征在于,還包括以下步驟: 求取所述當(dāng)前數(shù)據(jù)塊的線性預(yù)測殘差; 計算所述線性預(yù)測殘差歸一化自相關(guān)序列,得到歸一化殘差序列,并查找所述歸一化殘差序列中的最大幅值; 判斷所述最大幅值是否大于幅值預(yù)設(shè)值,若是,則判定所述當(dāng)前數(shù)據(jù)塊為語音信號,并繼續(xù)執(zhí)行所述計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列的步驟;若否,則判定所述當(dāng)前數(shù)據(jù)塊為非語音信號。5.根據(jù)權(quán)利要求4所述的語音信號處理的方法,其特征在于,所述計算所述當(dāng)前數(shù)據(jù)塊的諧波峰值序列包括以下步驟: 計算所述當(dāng)前數(shù)據(jù)塊的功率譜; 選取所述最大幅值對應(yīng)的最大值頻率點,以及所述最大值頻率點前后頻率點; 根據(jù)所述最大值頻率點對應(yīng)的功率幅值,以及所述最大值頻率點前后頻率點對應(yīng)的功率幅值,采用二次插值算法計算所述當(dāng)前數(shù)據(jù)塊的基頻; 根據(jù)所述基頻在所述功率譜上進行查找,得到所述當(dāng)前數(shù)據(jù)塊的所述諧波峰值序列。6.根據(jù)權(quán)利要求2所述的語音信號處理的方法,其特征在于,所述以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡所述輸出語音信號的高次諧波與低次諧波的能量水平;包括: 根據(jù)所述當(dāng)前數(shù)據(jù)塊的IKHz以下諧波的平均功率水平與I KHz?3KHz的諧波平均水平功率之比,應(yīng)用在IKHz增益為OdB,特定滾降Kdb/oct的高通濾波器,平衡低次諧波與高次諧波的能量水平。7.根據(jù)權(quán)利要求5所述的語音信號處理的方法,其特征在于,所述計算所述當(dāng)前數(shù)據(jù)塊的功率譜時,采用漢寧窗對所述當(dāng)前數(shù)據(jù)塊進行截取,再使用截取后的信號求取所述當(dāng)前數(shù)據(jù)塊的功率譜。8.根據(jù)權(quán)利要求4所述的語音信號處理的方法,其特征在于,判定所述當(dāng)前數(shù)據(jù)塊為非語音信號后,還包括以下步驟: 判斷當(dāng)前數(shù)據(jù)塊的前一數(shù)據(jù)塊以及后一數(shù)據(jù)塊是否均為語音信號; 若是,則進行進一步計算所述當(dāng)前數(shù)據(jù)塊的基頻,若否,則不對所述當(dāng)前數(shù)據(jù)塊進行處理; 判斷所述當(dāng)前數(shù)據(jù)塊的基頻與所述當(dāng)前數(shù)據(jù)塊的前一數(shù)據(jù)塊的基頻之間的第一誤差,以及與所述當(dāng)前數(shù)據(jù)塊的后一數(shù)據(jù)塊的基頻之間的第二誤差是否均在預(yù)設(shè)范圍內(nèi),若是,則將所述當(dāng)前數(shù)據(jù)塊進行與語音信號相同的處理;若否,則不對所述當(dāng)前數(shù)據(jù)塊進行處理。9.根據(jù)權(quán)利要求1所述的語音信號處理的方法,其特征在于,所述歸一化殘差序列中最大幅值的位置序號在100/Fs?800/Fs/Fs范圍內(nèi),其中Fs為所述語音信號的采樣率。10.一種語音信號處理的裝置,其特征在于,包括: 數(shù)據(jù)塊構(gòu)成模塊,用于將當(dāng)前輸入信號幀與相鄰前一輸入信號幀組合構(gòu)成當(dāng)前數(shù)據(jù)塊; 諧波計算模塊,用于計算所述當(dāng)前數(shù)據(jù)塊的原始頻譜和諧波峰值序列; 諧波處理模塊,用于根據(jù)所述諧波峰值序列應(yīng)用梳狀濾波器對所述原始頻譜進行處理,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前數(shù)據(jù)塊頻譜; 時域變換模塊,用于對所述當(dāng)前數(shù)據(jù)塊頻譜進行時域反變換,得到所述當(dāng)前數(shù)據(jù)塊的當(dāng)前時域處理信號; 信號整合模塊,用于將所述當(dāng)前時域處理信號的前一半長度數(shù)據(jù),與相鄰前一數(shù)據(jù)塊的前一時域處理信號的后一半長度數(shù)據(jù)求和,得到輸出語音信號。11.根據(jù)權(quán)利要求10所述的語音信號處理的裝置,其特征在于,還包括能量平衡模塊,用于以預(yù)設(shè)頻率的諧波為基準(zhǔn),使用帶有滾降系數(shù)的高通濾波器對所述輸出語音信號進行處理,平衡所述輸出語音信號的高次諧波與低次諧波的能量水平。
【文檔編號】G10L25/21GK105845146SQ201610348302
【公開日】2016年8月10日
【申請日】2016年5月23日
【發(fā)明人】黃榮均
【申請人】珠海市杰理科技有限公司