spotify/pedalboard
🎛 🔊 A Python library for audio.
Pedalboard – Python용 오디오 처리 라이브러리
무엇인가요 – WAV, AIFF, FLAC, MP3, OGG 등 다양한 포맷을 지원하는 Python 패키지입니다. 오디오 파일의 읽기/쓰기 및 변환, 라이브 오디오 스트리밍, 스타일리시한 효과(예: VST3 및 Audio Unit 플러그인 포함)를 Python 코드에서 직접 실행할 수 있습니다. Spotify의 오디오 인텔리전스 연구소에서 개발되었으며, 머신러닝 파이프라인의 데이터 증강 및 Spotify AI DJ 기능 등 내부적으로 사용되고 있습니다.
주요 기능
- 파일 I/O – macOS, Windows, Linux에서 WAV, AIFF, FLAC, MP3, OGG 등 다양한 포맷을 지원합니다. 메모리 사용량을 일정하게 유지하면서 실시간 리샘플링이 가능합니다.
- 내장 효과 – 코러스, 디스토션, 컴프레서, 게인, 리미터, 하이패스/로우패스 필터, 리버브, 딜레이, 피치시프트, 비트크러시, MP3/GSM 압축 등 즉시 사용 가능한 플러그인 모음.
- 제3자 플러그인 – 모든 플랫폼에서 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 친화적인 오디오 증강(예: 리버브, 디스토션, 피치시프트 추가)을 제공함으로써 음성 및 음악 관련 모델의 강건성을 향상시킵니다. 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 데모도 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트