Registry / ai-ml / pyrnnoise

pyrnnoise

JSON →
library0.4.3pypypiunverified

Python wrapper for the RNN noise suppression library (RNNoise), enabling real-time speech denoising. Current version 0.4.3, maintained on GitHub.

pip install pyrnnoise
INSTALL
IMPORT
SIG · PYRNNOISE
P
pyrnnoise
ai-mlpythonv0.4.3
Install
11.2s avg
Import
1320ms
Disk
309MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v0.4.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
build_error
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 11.2s · import 0.264s · 303MB
309MB installed
● package 309MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

RNNoise
✓ from pyrnnoise import RNNoise
✗ from pyrnnoise import RNNoise

Load a noisy audio file, filter it with RNNoise, and save the denoised result.

from pyrnnoise import RNNoise import soundfile as sf denoiser = RNNoise() data, samplerate = sf.read('noisy_audio.wav') output = denoiser.filter(data) sf.write('denoised_audio.wav', output, samplerate)
Debug
Known issues
breakingThe RNNoise class expects audio data as a numpy array of shape (N,) with dtype float32. Providing int16 or multichannel data will cause silent errors or poor results.
fix
Convert to float32 and ensure mono: audio = audio.astype(np.float32) / 32768.0 for int16 input.
affects: all
gotchaThe filter() method expects the entire audio at once; it does not support streaming or chunked processing out of the box. Attempting to call filter() on small chunks may produce artifacts at boundaries.
fix
Process the whole audio array in one call, or implement overlap-add for streaming.
affects: all
deprecatedThe 'sample_rate' parameter in RNNoise constructor is deprecated and ignored; the model always operates at 48 kHz. Passing it may raise a warning in future versions.
fix
Remove the sample_rate argument; resample your audio to 48 kHz before passing to denoiser.
affects: 0.4.0+
Upgrade
Version history
0.4.3latest on PyPI · released Jan 14, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
15 hits · last 30 days
node
12
OpenAI (training)
1
Resources
pyrnnoise — pip install pyrnnoise · libregistry