天天看點

基于WebRTC的噪聲消除系統釋出第二個版本WebRTC Noise Suppression

WebRTC Noise Suppression

工程首頁&下載下傳位址:

http://tech.yushuai.xyz/WebRTC_deNoise/

這是一個基于WebRTC的單通道語音增強系統,其為浮點版本。

該工程包括:

  1. common_audio:處理音頻所需要的檔案在的檔案夾。
  2. ns:Noise Suppression處理的核心檔案在的檔案夾
  3. dr_wav.h:讀取和解析wav檔案。
  4. main.c:整個程式的主程式,系統的入口。
  5. timing.h:計時使用的頭檔案。

本工程具體算法流程圖及函數解釋詳見

連結1

連結2

Directory description

目錄 說明
WebRTC_NS-GCC GCC版本的程式
WebRTC_NS-VS VS版本的程式

以上檔案夾各自目錄下的工程名稱解釋如下:

v**_mm

其中:

  • **表示版本号。如20表示2.0版本。
  • mm表示浮點或頂點,其中float表示浮點版本,fixed表示定點版本。

Development Environment

v2.0版本

項目 内容
作業系統(VS環境) Windows 10 x64
VS版本 Microsoft Visual Studio 2019
作業系統(GCC環境) Cent OS6.4
作業系統(GCC) GCC 4.8

v1.0版本

作業系統(VS)
Microsoft Visual Studio 2015

ChangeLog

v2.0(2019.9.1)

  • 将原來參考的程式檔案全部替換為從WebRTC中提取的檔案,更加忠實于原工程版本。
  • 将程式中所有使用C++類的部分、使用函數模闆的部分等全部替換為了C語言中的實作。
  • 将音頻檔案讀取的函數整合到了主程式之中。
  • 2.0版本暫未提供GCC下工程,請暫時參考VS2019工程和1.0版本的GCC下工程,自行修改CMakeList.txt并進行編譯。

v1.0(2019.7.18)

  • 參考 cpuimage 的程式實作了WebRTC_NS的功能。

Install

Linux下請确認是否安裝GCC,确認方式,輸入

$ gcc -v           

若傳回相應的GCC版本資訊,則代表安裝完成。

具體按照GCC方法請Google即可。

Usage

對于VS版本來說,你可以直接打開VS工程進行調試或者生成測試。

對于Linux下版本來說,請在工程目錄下執行

$ mkdir build
$ cd ./build
$ cmake ..
$ make           

即可編譯連結完成,運作的時候,運作下面的指令

$ ./ns <input> <output>           

在使用的時候,若檔案目錄中已存在與輸出檔案名同名的檔案,則系統提示該檔案已經存在,需要判斷是否覆寫,若鍵入N或n,則拒絕覆寫,程式報錯退出;若鍵入Y或y,則覆寫。

Result

  • Time domain image
  • Frequency domain image
  • SNR & PESQ

Related Efforts

To be continued

Maintainers

@dqhplhzz2008

.

Contact Me

If you have any questions, please

submit

a message.

Contributors

You can focus on my WeChat Official Account

基于WebRTC的噪聲消除系統釋出第二個版本WebRTC Noise Suppression

At same time, welcome to [My blog[Simplified Chinese]](

http://www.yushuai.xyz)!

License

GPL-3.0

© Yushuai Zhang