Need help with python-audio-effects?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

268 Stars 43 Forks MIT License 139 Commits 14 Opened issues


Apply audio effects such as reverb and EQ directly to audio files or NumPy ndarrays.

Services available


Need anything else?

Contributors list


GitHub Workflow Status PyPI PyPI license

Apply audio effects such as reverb and EQ directly to audio files or NumPy ndarrays.

This is a lightweight Python wrapper for SoX - Sound eXchange. Supported effects range from EQ and compression to phasers, reverb and pitch shifters.



pip install pysndfx
The system must also have SoX installed.

For Debian-based operating systems:

apt install sox

For Anaconda:

conda install -c conda-forge sox


First create an audio effects chain. ```python

Import the package and create an audio effects chain function.

from pysndfx import AudioEffectsChain

fx = ( AudioEffectsChain() .highshelf() .reverb() .phaser() .delay() .lowshelf() )

Then we can call the effects chain object with paths to audio files, or directly with NumPy ndarrays.
python infile = 'myaudiofile.wav' outfile = 'myprocessedaudio_file.ogg'

Apply phaser and reverb directly to an audio file.

fx(infile, outfile)

Or, apply the effects directly to a ndarray.

from librosa import load y, sr = load(infile, sr=None) y = fx(y)

Apply the effects and return the results as a ndarray.

y = fx(infile)

Apply the effects to a ndarray but store the resulting audio to disk.

fx(x, outfile)

There's also experimental streaming support. Try applying reverb to a microphone input and listening to the results live like this:
sh python -c "from pysndfx import AudioEffectsChain; AudioEffectsChain().reverb()(None, None)" ```

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.