基于WebRTC的噪声消除系统发布第二个版本

简介: WebRTC Noise Suppression这是一个基于WebRTC的单通道语音增强系统,其为浮点版本。

WebRTC Noise Suppression

这是一个基于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) Windows 10 x64
VS版本 Microsoft Visual Studio 2015
操作系统(GCC环境) Cent OS6.4
操作系统(GCC) GCC 4.8

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>

在使用的时候,若文件目录中已存在与输出文件名同名的文件,则系统提示该文件已经存在,需要判断是否覆盖,若键入Nn,则拒绝覆盖,程序报错退出;若键入Yy,则覆盖。

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


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

License

相关文章
|
23天前
|
机器学习/深度学习 编解码 人工智能
SeedVR:高效视频修复模型,支持任意长度和分辨率,生成真实感细节
SeedVR 是南洋理工大学和字节跳动联合推出的扩散变换器模型,能够高效修复低质量视频,支持任意长度和分辨率,生成真实感细节。
73 16
SeedVR:高效视频修复模型,支持任意长度和分辨率,生成真实感细节
|
8月前
软件的质量特性及其子特性快速记忆表
软件的质量特性及其子特性快速记忆表
92 0
|
异构计算
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
126 0
2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV
2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV
230 0
|
算法 异构计算
基于FPGA的控制参数在线实时调整的自适应PI控制器设计,包含testbench测试程序
基于FPGA的控制参数在线实时调整的自适应PI控制器设计,包含testbench测试程序
234 0
|
自然语言处理 API Python
除庄周梦蝶外,庄子还讲过哪些梦你知道吗?新故事引出新版本——
除庄周梦蝶外,庄子还讲过哪些梦你知道吗?新故事引出新版本——
193 0
HIMA B9302 传递特性偏离理想值的程度
HIMA B9302 传递特性偏离理想值的程度
HIMA B9302  传递特性偏离理想值的程度
|
机器学习/深度学习 数据可视化
CVPR2023 | 无需动态区域分割!多帧深度估计新进展:跨线索注意力机制提升动态区域精度
CVPR2023 | 无需动态区域分割!多帧深度估计新进展:跨线索注意力机制提升动态区域精度
398 0
|
机器学习/深度学习 算法 机器人
盘点 | 从单目标优化到多目标优化,3D 打印材料开发进入 100X 倍速阶段
盘点 | 从单目标优化到多目标优化,3D 打印材料开发进入 100X 倍速阶段
150 0
|
5G 调度
带你读《5G 无线增强设计与国际标准》第二章接入增强2.1 2步随机接入(二)
《5G 无线增强设计与国际标准》第二章接入增强2.1 2步随机接入(二)
带你读《5G 无线增强设计与国际标准》第二章接入增强2.1 2步随机接入(二)