基于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

相关文章
|
7天前
|
机器学习/深度学习 编解码 人工智能
SeedVR:高效视频修复模型,支持任意长度和分辨率,生成真实感细节
SeedVR 是南洋理工大学和字节跳动联合推出的扩散变换器模型,能够高效修复低质量视频,支持任意长度和分辨率,生成真实感细节。
54 16
SeedVR:高效视频修复模型,支持任意长度和分辨率,生成真实感细节
|
2月前
|
编解码 人工智能 开发者
长短大小样样精通!原始分辨率、超长视频输入:更灵活的全开源多模态架构Oryx
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据。其核心创新在于能够对图像和视频进行任意分辨率编码,并通过动态压缩器模块提高处理效率。Oryx 在处理长视觉上下文(如视频)时表现出色,同时在图像、视频和3D多模态理解方面也展现了强大能力。该模型的开源性质为多模态研究社区提供了宝贵资源,但同时也面临一些挑战,如选择合适的分辨率和压缩率以及计算资源的需求。
43 3
|
8月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
浏览器的渐进增强和优雅降级之间有什么不同?
浏览器的渐进增强和优雅降级之间有什么不同?
|
安全 UED
渐进增强和优雅降级之间的区别
渐进增强和优雅降级之间的区别
|
机器学习/深度学习 定位技术 计算机视觉
即插即用 | CEASA模块给你所有,小目标精度提升的同时速度也变快了(一)
即插即用 | CEASA模块给你所有,小目标精度提升的同时速度也变快了(一)
452 0
|
数据可视化
即插即用 | CEASA模块给你所有,小目标精度提升的同时速度也变快了(二)
即插即用 | CEASA模块给你所有,小目标精度提升的同时速度也变快了(二)
171 0
|
机器学习/深度学习 数据可视化
CVPR2023 | 无需动态区域分割!多帧深度估计新进展:跨线索注意力机制提升动态区域精度
CVPR2023 | 无需动态区域分割!多帧深度估计新进展:跨线索注意力机制提升动态区域精度
393 0
汽车电子-使用GENY移植增加CAN协议的合并
汽车电子-使用GENY移植增加CAN协议的合并
|
机器学习/深度学习 算法 机器人
盘点 | 从单目标优化到多目标优化,3D 打印材料开发进入 100X 倍速阶段
盘点 | 从单目标优化到多目标优化,3D 打印材料开发进入 100X 倍速阶段
147 0