<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

語音信號自動增益控制方法與流程

文檔序號:11655874閱讀:3006來源:國知局

本發明涉及語音信號處理領域,特別涉及一種語音信號自動增益控制方法。



背景技術:

傳統的語音自動增益控制(agc)電路通過識別麥克風采集到的語音信號的強度,自動調整功率放大電路的增益,即當人說話時離麥克風近、人聲信號強度大,則降低功放電路增益,而當人說話時離麥克風遠、語音強度低,則調高功放增益。這一調整方法存在的弊端是在增強人聲信號的同時,也放大了背景噪聲,對于需要較高語音品質的網絡語音通信類產品、語音識別類產品,強的噪聲會造成較大的干擾。



技術實現要素:

本發明提供了一種語音信號自動增益控制方法,以解決現有技術在增強人聲信號的同時,也放大了背景噪聲,對于需要較高語音品質的網絡語音通信類產品、語音識別類產品,強的噪聲會造成較大的干擾的問題。

為解決上述問題,作為本發明的一個方面,提供了一種語音信號自動增益控制方法,包括:獲得來自麥克風的語音信號;將所述語音信號進行時域預處理,以得到第一信號;將所述第一信號從時域向頻域變換,以得到第二信號;從所述第二信號中提取出描述人聲特征的基音、共振峰頻點;將前256個所述頻點劃分為16個語音頻段;根據所述頻點的有效性判斷是語音幀還是靜音幀,如果有效則認為當前是有人說話的語音幀,如果無效則視為無人說話的靜音幀;對于語音幀執行增益的自動調整算法,對于靜音幀執行非人聲噪聲幅度計算算法,以得到第三信號;將所述第三信號通過快速傅立葉逆變換轉回時域以得到第四信號;根據所述第四信號通過dac電路輸出語音。

優選地,所述方法還包括:如果在當前語音幀中未找到人聲特征信息,則當前語音幀被視為靜音幀,此時對非人聲噪聲幅度進行估算,并依次計算16個語音頻段的噪聲幅度值并記錄。

優選地,對非人聲噪聲幅度進行估算,并依次計算16個語音頻段的噪聲幅度值并記錄包括:

步驟1,采用下式計算每個語音段的噪聲幅度:

其中,af為噪聲幅度;

μ為前一語音幀所有頻段噪聲幅度值的均值;

σ為當前頻段前一幀的、幅度值的、與μ的標準差;

a測量為當前頻段處的實測各頻點噪聲幅度的累加值;

a估計為使用最小二乘算法、擬合當前語音頻段噪聲參數隊列中前16個當前頻段處的噪聲幅度值,得到的一個當前頻點最新噪聲估計值;

步驟2,將步驟1計算出的當前語音頻段的af加入語音頻段噪聲參數隊列末尾,隊列采用先進先出模式,一直維持最新的16個計算值;

步驟3,當前靜音幀所有語音頻段的噪聲幅度值均計算完后,計算μ、σ值,加入到語音頻段噪聲參數隊列,這一隊列中保存的數據將在下一個靜音幀到來時運用到步驟1中的計算公式中。

優選地,在語音幀中通過對256個語音頻點逐點調整語音的頻域幅度值,從而完成語音增益的自動調整。

優選地,所述自動調整算法具體包括:步驟a,設置語音幀噪聲比例因子初始值kn=1;步驟b,依次計算16個語音頻段中各頻點實測幅度的累加值,并除以該頻段語音頻段噪聲參數隊列中最后一個af值,得到每個語音頻段的噪聲比例因子knf;步驟c,遍歷16個語音頻段的knf,找出knf<1.5的值中最大的一個,并將其賦值給kn,如找不到符合條件的knf,則保持kn=1不變;步驟d,執行增益自動調整操作,使用下式逐頻點計算調整后的幅度值:

ag=g(ar-kn*af)

其中,g為增益比例調節因子,由用戶通過旋鈕進行調整;ar為當前頻點實測的幅度值。

優選地,af是出現語音幀前,最后一個靜音幀的噪聲幅度值,從語音頻段噪聲參數隊列末尾取出。

由于采用了上述技術方案,本發明中的方法可依據人的聽覺模型,僅對語音信號中包含的有效人聲進行信號強度的自動調整,因此避免了在增強人聲信號的同時,放大了背景噪聲的問題,解決了對于需要較高語音品質的網絡語音通信類產品、語音識別類產品,強的噪聲會造成較大的干擾的問題。

具體實施方式

以下對本發明的實施例進行詳細說明,但是本發明可以由權利要求限定和覆蓋的多種不同方式實施。

本發明提供了一種語音信號自動增益控制方法,包括以下步驟:

步驟a,獲得來自麥克風的語音信號;其中,該語音信號由麥克風電路接收,經過4000hz的低通濾波器電路、100hz的高通濾波器電路、14bitsadc轉換電路,將語音信號送入主控dsp;

步驟b,將所述語音信號進行時域預處理,以得到第一信號;例如,由主控dsp完成語音信號的時域預處理,包括語音信號的8khz16bits采樣、加海明窗處理;

步驟c,通過dsp將所述第一信號從時域向頻域變換,以得到第二信號;例如,使用512點快速傅立葉變換(fft)算法,獲得語音信號的頻域512個頻點的幅度譜;

步驟d,使用mel倒譜算法,從所述第二信號中提取出描述人聲特征的基音、共振峰頻點;

步驟e,將前256個所述頻點劃分為16個語音頻段;

步驟f,根據所述頻點的有效性判斷是語音幀還是靜音幀,如果有效則認為當前是有人說話的語音幀,如果無效則視為無人說話的靜音幀;

步驟g,對于語音幀執行增益的自動調整算法,對于靜音幀執行非人聲噪聲幅度計算算法,以得到第三信號;

步驟h,將所述第三信號通過快速傅立葉逆變換轉回時域以得到第四信號;

步驟i,根據所述第四信號通過dac電路輸出語音。

由于采用了上述技術方案,本發明中的方法可依據人的聽覺模型,僅對語音信號中包含的有效人聲進行信號強度的自動調整,因此避免了在增強人聲信號的同時,放大了背景噪聲的問題,解決了對于需要較高語音品質的網絡語音通信類產品、語音識別類產品,強的噪聲會造成較大的干擾的問題。

由于流暢的網絡語音(voip)核心在于以較小的帶寬傳輸盡可能高質量的語音,則語音壓縮的核心是只將有效人聲進行壓縮,而背景或噪聲信號盡可能的拋棄,因此盡可能的放大人聲、壓制背景聲、噪聲能夠明顯的降低語音數據流對帶寬的要求;語音識別類應用產品,為了提高語音的識別成功率,也需要盡可能純凈的人聲信號作為輸入,即需要同時放大人聲并壓制噪聲,因此本發明能最大程度的提升前述兩類已經廣泛應用的技術的品質及效果。

優選地,所述方法還包括:如果在當前語音幀中未找到人聲特征信息,則當前語音幀被視為靜音幀,此時對非人聲噪聲幅度進行估算,并依次計算16個語音頻段的噪聲幅度值并記錄。具體地說,通過下述步驟1-3計算靜音幀噪聲幅度:

步驟1,采用下式計算每個語音段的噪聲幅度:

其中,af為噪聲幅度;

μ為前一語音幀所有頻段噪聲幅度值的均值;

σ為當前頻段前一幀的、幅度值的、與μ的標準差;

a測量為當前頻段處的實測各頻點噪聲幅度的累加值;

a估計為使用最小二乘算法、擬合當前語音頻段噪聲參數隊列中前16個當前頻段處的噪聲幅度值,得到的一個當前頻點最新噪聲估計值;

步驟2,將步驟1計算出的當前語音頻段的af加入語音頻段噪聲參數隊列末尾,隊列采用先進先出模式,一直維持最新的16個計算值;

步驟3,當前靜音幀所有語音頻段的噪聲幅度值均計算完后,計算μ、σ值,加入到語音頻段噪聲參數隊列,這一隊列中保存的數據將在下一個靜音幀到來時運用到步驟1中的計算公式中。

靜音幀噪聲估計算法的核心思想是:由于背景噪聲在微小(小于1秒)的時間區間內,是不會發生驟變的,因此通過歷史(滾動記錄的前16幀)信號幅度的擬合曲線能夠可靠的估計出當前幀的噪聲幅度,但不會發生驟變不代表不會有變化,因此使用當前幀實測噪聲幅度與歷史幀擬合出的估計噪聲幅度進行加權平均(σ/μ即為加權系數),可以有效的慮除估計噪聲幅度、實測噪聲幅度中包含的計算與測量誤差,從而使算法得出的結果始終以5%的浮動率跟隨真實噪聲水平。

優選地,在語音幀中通過對256個語音頻點逐點調整語音的頻域幅度值,從而完成語音增益的自動調整。

優選地,所述自動調整算法具體包括以下步驟a-d:

步驟a,設置語音幀噪聲比例因子初始值kn=1;

步驟b,依次計算16個語音頻段中各頻點實測幅度的累加值,并除以該頻段語音頻段噪聲參數隊列中最后一個af值,得到每個語音頻段的噪聲比例因子knf;

步驟c,遍歷16個語音頻段的knf,找出knf<1.5的值中最大的一個,并將其賦值給kn,如找不到符合條件的knf,則保持kn=1不變;

步驟d,執行增益自動調整操作,使用下式逐頻點計算調整后的幅度值:

ag=g(ar-kn*af)

其中,g為增益比例調節因子,由用戶通過旋鈕進行調整;ar為當前頻點實測的幅度值。

語音幀語音增益自動調整算法的核心思想是:統計上,盡管有可能長時間說話,但在毫秒級的時間分辨率上測量,人聲將被切分成持續時間短(1-2秒)的單句模式,而背景噪聲在長時間(3-5秒)內維持穩定是客觀可靠的,因此語音段中我們使用最后一幀靜音段得到的噪聲幅度值做為基本的噪音閥值,并通過噪聲比例因子來描述在多個語音幀中噪聲變化的程度,從而使算法能夠始終在語音幀中以5%的浮動率跟隨真實噪聲水平,從而得到真實的語音幅度水平。

優選地,af是出現語音幀前,最后一個靜音幀的噪聲幅度值,從語音頻段噪聲參數隊列末尾取出。之所以直接使用靜音幀中的數據,是因為在短時間(一句話的時間)內,環境噪音并不會出現突變,前一幀的噪聲閥值依然有效。

以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影