• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

pydub

date: 2025-07-26 excerpt: pydubの概要と使い方

tag: jupyterkagglepythonsound音声音声認識音声処理音声分離音源分離音響信号処理機械学習AI


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 のインストールが必要


jupyterkagglepythonsound音声音声認識音声処理音声分離音源分離音響信号処理機械学習AI Share Tweet