spotify/pedalboard

🎛 🔊 A Python library for audio.

What it solves

Pedalboard is a Python library designed to bring studio-quality audio effects and processing to Python environments. It eliminates the need for a Digital Audio Workstation (DAW) to apply complex audio transformations, making it easier to integrate professional audio effects into automated workflows, content creation, and machine learning pipelines.

How it works

The library provides a high-level Python interface to a core audio processing engine (based on JUCE). It allows users to create a "pedalboard"—a chain of audio plugins—and process audio through them. It supports reading and writing various audio formats (AIFF, FLAC, MP3, OGG, WAV) and provides built-in effects like reverb, chorus, and compressors. Crucially, it allows the loading of third-party VST3 and Audio Unit plugins, enabling the use of professional software instruments and effects from within Python code.

Who it’s for

  • ML Engineers: Those using audio data for training models, specifically for data augmentation to improve model robustness.
  • Audio Developers: Developers who want to programmatically apply audio effects or create audio rendering pipelines without a DAW.
  • AI Researchers: Researchers working on audio-based AI, such as AI DJs or voice translation tools.

Highlights

  • Professional Plugin Support: Supports VST3 and Audio Unit formats for third-party effects and instruments.
  • High Performance: Processes audio significantly faster than pySoX and librosa.load, and releases the Python GIL to utilize multiple CPU cores.
  • ML Integration: Tested compatibility with TensorFlow, allowing it to be used directly within tf.data pipelines.
  • Live Audio: Supports real-time audio manipulation via AudioStream for live input/output.
  • Crosspatform: Works across macOS, Windows, and Linux.

Related

  • Project
  • Project
  • Project
  • Project
  • Project