项目源码
https://github.com/danteliujie/rnnoise
- 基本流程
1.include目录中存放rnnoise.h库函数接口
2.my_training目录存放神经网络模型训练的python文件
3.resources目录用于存放噪声文件和被导出的文件
4.rnnoise_windows目录存放降噪演示程序
rnnoise_demo这段代码是一个使用rnnoise库进行音频降噪的演示程序,可以减少音频中的背景噪声,通常用于语音处理应用。其中rnnoise_demo函数是一个降噪演示函数,它读取输入的wav文件,进行降噪处理,然后写入输出wav文件。包括打开wav文件、创建rnnoise降噪块、设置循环次数和输出模式、进行降噪处理帧并输出、计算处理时间、反初始化wav 文件和rnnoise对象等步骤。
5.src目录存放三方库和自定义库
6.unittest-tool目录存放wav导入测试相关的工具
7.buIld目录是CMAKE的构建项目时自动生成的目录,用于存放可执行文件
- 运行条件
2.1 平台vscode+pycharm
项目主要分为两部分,模型训练部分和运行部分
原项目实际模型训练部分是在树莓派linux上进行的,采用的深度学习框架是TensorFlow,这边之间在Pycharm上进行
运行部分在vscode上运行,由于运行代码采用c语言需要配置cmake框架和mingw64,具体流程如下:
1. mingw64下载链接
MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net
2.cMake下载链接 Download CMake
安装完成后配置环境变量并重新启动计算机
2.2 数据来源
说明一下,源代码的训练部分在windows上是有问题的,如果你需要完整训练流程请自己摸索,这边主要是介绍代码运行的部分
数据集下载链接(大小6.4gb):
https://media.xiph.org/rnnoise/rnnoise_contributions.tar.gz
该数据集由rnnoise原作者提供
也有部分文章说可以用urbansound8k训练,不过我没试过,有成功的朋友可以私信我,数据集如下
链接:https://pan.baidu.com/s/1g6tejlD9WarDF7W3ZNPg3A
提取码:7aqb
由于该项目只支持48k采样率,这边有一个作者提供的48k的数据集,建议chrome打开
- 运行步骤
1.导入项目后点击左下角更换编译器
2.点击左下角生成
这时左侧项目栏会出现bulid文件夹
bin目录中出现rnnoise-windows.exe的可执行文件
输出出现如下内容说明运行成功
3.点击左下角运行
出现下图说明运行成功
- 结果
注:如需更改输入音频文件,再resources文件夹放入文件后,修改rnnoise_demo.c中路径即可