pedalboard is a Python library for working with audio: reading, writing, rendering, adding effects, and more. It supports most popular audio file formats and a number of common audio effects out of the box, and also allows the use of VST3® and Audio Unit formats for loading third-party software instruments and effects.
Features:
- Built-in audio I/O utilities (pedalboard.io)
- Support for reading and writing AIFF, FLAC, MP3, OGG, and WAV files on all platforms with no dependencies
- Additional support for reading AAC, AC3, WMA, and other formats depending on platform
- Support for on-the-fly resampling of audio files and streams with
O(1)memory usage - Live audio effects via
AudioStream
- Built-in support for a number of basic audio transformations, including:
- Guitar-style effects:
Chorus,Distortion,Phaser,Clipping - Loudness and dynamic range effects:
Compressor,Gain,Limiter - Equalizers and filters:
HighpassFilter,LadderFilter,LowpassFilter - Spatial effects:
Convolution,Delay,Reverb - Pitch effects:
PitchShift - Lossy compression:
GSMFullRateCompressor,MP3Compressor - Quality reduction:
Resample,Bitcrush
- Guitar-style effects:
- Supports VST3® instrument and effect plugins on macOS, Windows, and Linux (
pedalboard.load_plugin) - Supports instrument and effect Audio Units on macOS
- Strong thread-safety, memory usage, and speed guarantees
- Releases Python’s Global Interpreter Lock (GIL) to allow use of multiple CPU cores
- No need to use
multiprocessing!
- No need to use
- Even when only using one thread:
- Processes audio up to 300x faster than pySoX for single transforms, and 2-5x faster than SoxBindings (via iCorv)
- Reads audio files up to 4x faster than librosa.load (in many cases)
- Releases Python’s Global Interpreter Lock (GIL) to allow use of multiple CPU cores
- Tested compatibility with TensorFlow – can be used in
tf.datapipelines!
