spotify/pedalboard
🎛 🔊 A Python library for audio.
Pedalboard – Python用オーディオ処理ライブラリ
何であるか – WAV、AIFF、FLAC、MP3、OGGなど多数のフォーマットをサポートするPythonパッケージ。オーディオファイルの読み書き・変換、ライブオーディオストリーミング、スタジオ品質のエフェクト(VST3およびAudio Unitプラグインを含む)をPythonコードから直接実行可能。SpotifyのAudio Intelligence Labが開発し、機械学習パイプラインにおけるデータ拡張や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用の事前ビルド済みウェHEELあり)。Python 3.10–3.15に対応。
AI/MLにおける重要性 – データパイプライン内で高速かつGPU対応のオーディオ拡張(例:リバーブ、ディストーション、ピッチシフトの追加)を提供することで、音声・音楽関連モデルのロバスト性を向上。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のデモも利用可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト