1.下载源码点击下载rnnoise代码,或者去github下载
2.编译源码
- sudo apt-get install autoconf automake libtool
- ./autogen.sh
- ./configure
- make3
3.训练
- pip依赖
pip install numpy h5py pip install grpcio==1.36.1 pip install keras==2.2.4 tensorflow==1.12.0 #版本必须对应 tensorflow-gpu==1.12.0 pip install protobuf==3.8.0 - cd src ; ./compile.sh
- ./denoise_training signal.raw noise.raw 10000 > training.f32
- cd training ; ./bin2hdf5.py …/src/training.f32 10000 87 training.h5
- ./rnn_train.py
- ./dump_rnn.py weights.hdf5 …/src/rnn_data.c rnn_data.h orig
4.降噪
- ./rnnoise_demo noise.raw out.raw
附:
tensorflow: Your CPU supports instructions that this TensorFlow binary was not compiled to use: FMA
遇到了这个问题,意思是你的 CPU 支持AVX2 FMA(加速CPU计算),但安装的 TensorFlow 版本不支持
如果是初学者 或者 没有太大计算速度的需求,在开头加上这两行忽略这个提示即可
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
PS:
os.environ["TF_CPP_MIN_LOG_LEVEL"] = '1' # 默认,显示所有信息
os.environ["TF_CPP_MIN_LOG_LEVEL"] = '2' # 只显示 warning 和 Error
os.environ["TF_CPP_MIN_LOG_LEVEL"] = '3' # 只显示 Error
音频文件合并处理脚本
#coding: utf-8
import os
import os.path
import binascii
out_file_name='1.raw'
ignore_filename = [".raw", ".py"]
def ignore_check_file(file):
for ignore in ignore_filename:
if file.find(ignore) > 0:
return True
return False
#字符串 >> 二进制 >> hex >> hex 字符串
def str_to_hexStr(string):
str_bin = string #string.encode('utf-8')
return binascii.hexlify(str_bin).decode('utf-8')
#hex 字符串 >> hex >> 二进制 >> 字符串
def hexStr_to_str

本文详细介绍了如何使用RNNoise库进行音频降噪,包括从下载源码到编译、训练以及实际应用的全过程。重点提到了训练过程中对pip依赖的版本要求,特别是TensorFlow版本必须与特定的CUDA版本匹配。此外,还提供了一个音频文件合并处理的Python脚本,用于读取和处理.wav文件。

1万+

被折叠的 条评论
为什么被折叠?



