基于WebRTC的噪声消除系统发布第二个版本
WebRTC Noise Suppression
工程主页&下载地址:http://tech.yushuai.xyz/WebRTC_deNoise/
这是一个基于WebRTC的单通道语音增强系统,其为浮点版本。
该工程包括:
- common_audio:处理音频所需要的文件在的文件夹。
- ns:Noise Suppression处理的核心文件在的文件夹
- dr_wav.h:读取和解析wav文件。
- main.c:整个程序的主程序,系统的入口。
- timing.h:计时使用的头文件。
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>
在使用的时候,若文件目录中已存在与输出文件名同名的文件,则系统提示该文件已经存在,需要判断是否覆盖,若键入N或n,则拒绝覆盖,程序报错退出;若键入Y或y,则覆盖。
Result
- Time domain image
- Frequency domain image
- SNR & PESQ
Related Efforts
To be continued
Maintainers
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]](http://www.yushuai.xyz)!
License
GPL-3.0 © Yushuai Zhang
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【swoole入门】如何快速创建一个web服务器
Swoole是一种PHP高级Web开发框架,可以提升网站的开发效率。本篇文章中小编将介绍如何用swoole创建web服务器,感兴趣的朋友可以来学习一下。http_server.php 0.0.0.0 表示监听所有IP地址,一台服务器可能同时有多个IP,如127.0.0.1本地回环IP、192.168.1.100局域网IP、210.127.20.2 外网IP,这里也可以单独指定监听一个IP。 1.启动服务 2.启动服务成功后,netstat查看 3.模拟http请求 服务端打印get/post请求数据 4.结束进程以上就是【swoole入门】如何快速创建一个web服务器的详细内容
- 下一篇
剖析nsq消息队列(三) 消息传输的可靠性和持久化[二]diskqueue
上一篇主要说了一下nsq是如何保证消息被消费端成功消费,大概提了一下消息的持久化,--mem-queue-size 设置为 0,所有的消息将会存储到磁盘。 总有人说nsq的持久化问题,消除疑虑的方法就是阅读原码做benchmark测试,个人感觉nsq还是很靠谱的。nsq自己实现了一个先进先出的消息文件队列go-diskqueue是把消息保存到本地文件内,很值得分析一下他的实现过程。 整体处理逻辑 go-diskqueue 会启动一个gorouting进行读写数据也就是方法ioLoop 会根据你设置的参数来进行数据的读写,流程图如下evernotecid://D2602A6B-6F53-4199-885D-97DFC21CBA3E/appyinxiangcom/2479854/ENResource/p1391 这个图画的也不是特别的准确 ioLoop 用的是 select 并不是if else 当有多个条件为true时,会随机选一个进行执行 nsq 生成的数据大致如下:evernotecid://D2602A6B-6F53-4199-885D-97DFC21CBA3E/appyinxia...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题