當前位置:
首頁 > 科技 > 強烈推薦!這項技術可以實現遊戲降噪

強烈推薦!這項技術可以實現遊戲降噪

經常逛遊戲論壇的朋友會深有感觸,很多玩家經常會在論壇里吐槽在網吧開黑的體驗很差,噪音太多。在遊戲語音開黑的過程中,如果其中一個隊友身處網吧,則其他人的耳機總是難免會被各種嘈雜的噪音所充斥,這是十分糟糕的體驗,甚至會影響整個團隊的發揮,那麼在這樣的場景下,降噪就成為了提升遊戲體驗的基本操作。

網吧場景下的降噪難度往往大於普通噪音環境下的降噪難度,其源於網吧的噪音環境和普通的雜訊環境差別很大,網吧的噪音來源比較廣泛,包括有眾多人的聊天、呼喊聲,大幅度的滑鼠鍵盤敲擊聲,桌椅挪動人員走動等等,有些網吧還像理髮店那樣廣播背景音樂及一些語音廣播。並且網吧座位離得較近,幾乎每個人左右都有很近的鄰居,這些近距離的聲音互相干擾更加惱人。

消除這些複雜的噪音卻不是一件簡單的事情,網吧環境下的雜訊幾乎都是非平穩的,所以傳統雜訊消除方法難以很好的應用在網吧場景下。騰訊雲遊戲多媒體引擎GME(Gaming Multimedia Engine,以下簡稱 GME)針對網吧場景提出了一套降噪技術解決方案,能在複雜的環境下將噪音對語音的影響降到最低。

如何在複雜的網吧環境下實現降噪?

在網吧嘈雜環境下的降噪訴求是:隊友不講話時,聽不到任何其他聲音,當隊友講話的時候,希望聽到的是隊友清晰的聲音,當隊友話畢其他聲音隨即靜默。

以上要解決的問題可以抽象成嘈雜環境里單一主講人的通話處理。針對可容忍的體驗訴求,需要一個排除主講人以外聲音的語音活性檢測演算法(VAD)。而這個VAD演算法和常規意義的語音檢測有所不同,因為它不但要排除掉非語音,還要排除掉主講人以外的語音,否則隊友附近的人的話音甚至環境較遠處的嘈雜語音仍會被發送給耳機這頭的你。

針對這樣的情況,GME朝著滿足訴求的方向,給出了這個「VAD」演算法,流程如下:

在判斷聲音性質時,一個要進行的過程是,計算語音的相關性,相關性測度定義如下:

其中β為增益因子,N為分析幀長。令

?E(τ)

=

,求得:

從而,有

相對誤差能量為

其中

為了得到這個結果,還需要做一些預處理:

1,去均值:分析窗口內非零均值或非常低的低頻雜訊出現時,

ρ(τ)

會在所有τ上都很大,這對依賴

ρ(τ)

進行清濁分類時的安靜段語音尤其麻煩。解決辦法是去掉均值:

2,低通濾波:為減小高頻共振峰和高頻雜訊的影響,要進行一個800赫茲的低通濾波,去掉大部分共振峰影響,並可以再基音頻率最高500赫茲時仍能保留其一次,二次諧波,其技術指標要求為:

據此,由雙線性變換法設計一個五階的濾波器,幅頻響應如圖:

3,數值濾波:

上述低通濾波可以較為有效的去掉第三個第四個共振峰的影響,但前兩個共振峰的影響仍然存在,濁音語音周期性會模糊,為了去掉這一影響,進行數值濾波。數值濾波能正確顯現信號的趨勢,如上升沿:

但這個是個非因果的數字系統,為了因果性改寫如下:

注意,這個過程引入了演算法延時。在一些參數編碼原理的語音編碼器中,會用LPC過程的殘差來估計基音周期,就是因為殘差經過「白化」排出了共振峰影響。因為lpc分析主要產出並非為計算基音,而其又涉及加重疊窗又需要求解尤利沃克方程或burg迭代所以本文並未使用。

我們最終關心的是,周期性水平的度量,我們定義如下

當這個周期性水平滿足條件後,還要看周期是否滿足語音信號基音周期範圍:語音信號的基音頻率範圍是60Hz到500Hz;對於8k採樣,用採樣周期表示的區間為[80,147],[40,79],[20,39],同時滿足周期性和周期範圍,我們認為該聲音性質具備語音特性。

其他環節,諸如底噪包絡跟蹤,主講聲強跟蹤這裡不再詳述。

在此方案下,我們將大部分嘈雜的聲音從時間段上全部排除掉了,如圖:

上側:原始聲音,下方:排除掉嘈雜後的聲音

通過效果圖可以明顯看到,雜訊被大大的抑制了,但沒有影響玩家正常的語音對話,網吧嘈雜環境的訴求得到了滿足。

通過自研技術,GME已經能在複雜的網吧環境下也準確的檢測到特定的人聲並有效的去掉環境音或其他玩家帶來的雜訊,給玩家帶來了極致的開黑體驗,讓好友之間的語音互動不再有噪點。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲加社區 的精彩文章:

3行代碼可以做什麼?
遊戲AI是什麼?從AlphaGo到MOBA遊戲開發探索

TAG:雲加社區 |