Skip to main content

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

Project description

pysndfx

Build 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, 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)"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysndfx-0.3.6.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file pysndfx-0.3.6.tar.gz.

File metadata

  • Download URL: pysndfx-0.3.6.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for pysndfx-0.3.6.tar.gz
Algorithm Hash digest
SHA256 ce168812963e398e849ad60aa1dc74e78f452ce0c948679367b2627459f39c9c
MD5 7d426660844d6eba314e497144a3a005
BLAKE2b-256 f64605d3b20d6512b73874623f6202f11d988ed6655ebccdb877eff8e25f8d2e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page