pydub
date: 2025-07-26 excerpt: pydubの概要と使い方
pydubの概要と使い方
概要
- pydubは簡単に音声ファイルを操作できるPythonライブラリ
- 音声の結合、音量調整、切り出し、フォーマット変換などが簡単
インストール
$ pip install pydub
ユースケース別の使い方
音声レベルを合わせて結合
from pydub import AudioSegment
from pathlib import Path
folder = Path("sounds")
mp3_paths = sorted(folder.glob("*.mp3")) # '0000.mp3' など
TARGET_DBFS = -20.0 # 目標ラウドネス(−16〜−20 dBFS が一般的)
segments = []
for p in mp3_paths:
seg = AudioSegment.from_mp3(p)
# 現在の dBFS を測定し、差分をゲイン調整
change_dB = TARGET_DBFS - seg.dBFS
seg = seg.apply_gain(change_dB)
segments.append(seg)
# 連結して書き出し
combined = sum(segments)
combined.export("all_norm.mp3", format="mp3", bitrate="192k")
print("書き出しました → all_norm.mp3")
音声の切り出し
from pydub import AudioSegment
# WAVファイルを読み込む
sound = AudioSegment.from_wav("input.wav")
start_time_ms = 5 * 60 * 1000 # 5分
end_time_ms = 9 * 60 * 1000 # 9分
# 切り出し
trimmed_sound = sound[start_time_ms:end_time_ms]
trimmed_sound.export("output.mp3", format="mp3", bitrate="192k")
参考
- pydub ドキュメント
- ffmpeg のインストールが必要