Apply audio effects such as reverb and EQ directly to audio files or NumPy ndarrays.
Project Links
Meta
Author: Carl Thomé
Classifiers
Development Status
- 3 - Alpha
Intended Audience
- Developers
Topic
- Multimedia :: Sound/Audio
License
- OSI Approved :: MIT License
Programming Language
- Python :: 2
- Python :: 2.7
- Python :: 3
- Python :: 3.7
pysndfx
Apply audio effects such as reverb and EQ directly to audio files or NumPy ndarrays.
This is a lightweight Python wrapper for SoX, the Swiss Army knife of sound processing programs. Supported effects range from EQ and compression to phasers, reverb and pitch shifters.
Install
Install with pip as:
pip install pysndfx
The system must also have SoX installed (for Debian-based operating systems: apt install sox, or with Anaconda as conda install -c conda-forge sox)
Usage
First create an audio effects chain.
# 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.
infile = 'my_audio_file.wav'
outfile = 'my_processed_audio_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:
python -c "from pysndfx import AudioEffectsChain; AudioEffectsChain().reverb()(None, None)"
0.3.6
Sep 05, 2018
0.3.5
Aug 29, 2018
0.3.4
Jul 28, 2018
0.3.2
Jul 28, 2018
0.2.1
Jul 28, 2018
0.2.0
Nov 28, 2017
0.1.4
Nov 14, 2017
0.1.0
Oct 19, 2016
0.0.8
Oct 19, 2016
0.0.7
Oct 18, 2016
0.0.6
Oct 06, 2016
Files in release
No dependencies