spotify/pedalboard

🎛 🔊 A Python library for audio.

Pedalboard – Python 音频处理库

是什么 – 一个 Python 包,可让你读取、写入和转换音频文件,实时流式传输音频,并直接从 Python 代码运行专业级效果(包括 VST3 和 Audio Unit 插件)。由 Spotify 音频智能实验室开发,内部用于机器学习管道中的数据增强,以及 Spotify AI DJ 等功能。

核心功能

  • 文件 I/O – 支持 macOS、Windows 和 Linux 上的 WAV、AIFF、FLAC、MP3、OGG 等多种格式。可在内存使用恒定的情况下实时重采样。
  • 内置效果 – 一组即用型插件(如合唱、失真、压缩器、增益、限幅器、高/低通滤波器、混响、延迟、音高偏移、比特粉碎、MP3/GSM 压缩等)。
  • 第三方插件 – 所有平台支持加载 VST3 音源/效果,macOS 上支持 Audio Unit,可使用任何商业或开源插件。
  • 线程安全且快速 – 释放 Python GIL,无需 multiprocessing 即可实现多核处理。基准测试显示,单次转换比 pySoX 快达 300 倍,文件加载速度比 librosa 快 4 倍。
  • TensorFlow 集成 – 可在 tf.data 管道中使用,实现数据流中实时音频增强。
  • 实时流媒体 – AudioStream 允许你将设备输入通过 Pedalboard 链路路由,并实时输出到扬声器。

典型用法 – 加载音频文件,构建一个 Pedalboard(插件的列表型容器),用 NumPy 音频缓冲区和采样率调用它,然后将结果写回磁盘或实时流式输出。同一对象可嵌套、混合或并行运行,以实现复杂的音效路由。

安装 – pip install pedalboard(提供 macOS、Windows、Linux 及 Apple-Silicon 的预构建轮子)。支持 Python 3.10–3.15。

对 AI/ML 的意义 – 通过在数据管道中直接提供快速、GPU 友好的音频增强(如添加混响、失真、音高偏移),Pedalboard 有助于提升语音和音乐相关模型的鲁棒性。其支持 VST 插件的能力,使研究人员无需 DAW 即可实验真实工作室效果。

许可证 – GPL v3(多个内嵌库采用兼容许可证)。


快速示例

from pedalboard import Pedalboard, Chorus, Reverb
from pedalboard.io import AudioFile

board = Pedalboard([Chorus(), Reverb(room_size=0.25)])

with AudioFile('input.wav') as src, \
     AudioFile('output.wav', 'w', src.samplerate, src.num_channels) as dst:
    while src.tell() < src.frames:
        chunk = src.read(src.samplerate)          # 1 秒块
        processed = board(chunk, src.samplerate) # 应用效果
        dst.write(processed)

更多资源 – 仓库中链接了完整文档、示例和 Colab 笔记本;还有 YouTube 演示视频和 Hugging Face Spaces 演示。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目