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 演示。
相关
- 项目
- 项目
- 项目
- 项目
- 项目