Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

TeaPoly/speexdsp-ns-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

7 Commits

Repository files navigation

Python bindings of speexdsp noise suppression library

Modified from https://github.com/xiongyihui/speexdsp-python

You can use it in Noise reduction model training as said in Personalized PercepNet: Real-time, Low-complexity Target Voice Separation and Enhancement.

Use a VAD and lightweight denoiser (SpeexDSP1) to eliminate the stationary noise before using this data for training.

Requirements

  • swig
  • compile toolchain
  • python
  • libspeexdsp-dev

Build

sudo apt install libspeexdsp-dev
sudo apt install swig
python setup.py install

Get started

"""Acoustic Noise Suppression for wav files."""
import wave
import sys
from speexdsp_ns import NoiseSuppression
if len(sys.argv) < 3:
 print('Usage: {} near.wav out.wav'.format(sys.argv[0]))
 sys.exit(1)
frame_size = 256
near = wave.open(sys.argv[1], 'rb')
if near.getnchannels() > 1:
 print('Only support mono channel')
 sys.exit(2)
out = wave.open(sys.argv[2], 'wb')
out.setnchannels(near.getnchannels())
out.setsampwidth(near.getsampwidth())
out.setframerate(near.getframerate())
print('near - rate: {}, channels: {}, length: {}'.format(
 near.getframerate(),
 near.getnchannels(),
 near.getnframes() / near.getframerate()))
noise_suppression = NoiseSuppression.create(frame_size, near.getframerate())
in_data_len = frame_size
in_data_bytes = frame_size * 2
while True:
 in_data = near.readframes(in_data_len)
 if len(in_data) != in_data_bytes:
 break
 in_data = noise_suppression.process(in_data)
 out.writeframes(in_data)
near.close()
out.close()

or

python examples/main.py in.wav out.wav

Noise suppression as show in figure below:

image

About

Python bindings of speexdsp noise suppression library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /