Tan_pytorch_segmentation/pytorch_segmentation/PV_RNNOISE-master
L_J 63abdae2a9 “提交项目” 2025-05-19 20:48:24 +08:00
..
.github “提交项目” 2025-05-19 20:48:24 +08:00
.idea “提交项目” 2025-05-19 20:48:24 +08:00
doc “提交项目” 2025-05-19 20:48:24 +08:00
examples “提交项目” 2025-05-19 20:48:24 +08:00
include “提交项目” 2025-05-19 20:48:24 +08:00
m4 “提交项目” 2025-05-19 20:48:24 +08:00
src “提交项目” 2025-05-19 20:48:24 +08:00
training “提交项目” 2025-05-19 20:48:24 +08:00
AUTHORS “提交项目” 2025-05-19 20:48:24 +08:00
CMakeLists.txt “提交项目” 2025-05-19 20:48:24 +08:00
COPYING “提交项目” 2025-05-19 20:48:24 +08:00
README.md “提交项目” 2025-05-19 20:48:24 +08:00

README.md

RNNoise is a noise suppression library based on a recurrent neural network

Quick Demo application

While it is meant to be used as a library, a simple command-line tool is provided as an example.

build librnnoise & rnnoise_demo with CMake

# mkdir build
# cd build
# cmake ..
# make

It operates on wav and mp3 files, which can be used as:

# ./rnnoise_demo input.wav
# ./rnnoise_demo input.mp3

the output filename is "input_out.wav" or:

specify the output filename

# ./rnnoise_demo input.wav output.wav
# ./rnnoise_demo input.mp3 output.wav

Training Process

Audio feature extract

Build audio feature extraction tool

# cd src
# ./train_compile.sh

Use generated "denoise_training" to get the audio feature array from speech & noise audio clip

# ./denoise_training
usage: ./denoise_training <speech> <noise> <sample count> <output denoised>
# ./denoise_training speech.wav noise.wav 50000 feature.dat
matrix size: 50000 x 87

RNN model traning

Pick feature array to "training" dir and go through the training process

# cd training
# mv ../src/feature.dat .
# python bin2hdf5.py --bin_file feature.dat --matrix_shape 50000x87
# python rnn_train.py
# python dump_rnn.py

Training process will generate the RNN model weight code file (default is rnn_data.c) and layer definition header file (default is rnn_data.h). They can be used to refresh the "src/rnn_data.c", "src/rnn_data.h" and rebuild the rnnoise lib & demo app.

References and Resources:

Donating

If you found this project useful, consider buying me a coffee

Buy Me A Coffee