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