Skip to content

Python で pydub を使ってから .mp3 ファイルを操作する

Python から .mp3 ファイルを操作するには pydub が便利です。 pydub は内部的に FFmpeg を利用しているようなので、事前に Homebrew などで FFmpeg をインストールしておく必要があります。 今回は pydub を使って .mp3 ファイルから情報取得するサンプルをメモしておきます。

尚、API に関するドキュメントは API Documentation にあるようです (ちょっと見辛い…)。

検証環境

対象 バージョン
macOS 15.0
Python 3.11.10

インストール

uv pip でインストールします。

1
uv pip install pydub

サンプルコード

サンプルコードは以下の通りです。 .mp3 ファイルから情報取得します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from pydub import AudioSegment

audio = AudioSegment.from_mp3("test.mp3")

print(f"Default Codecs         : {audio.DEFAULT_CODECS}")
print(f"Channel                : {audio.channels}")
print(f"Converter              : {audio.converter}")
print(f"ffmpeg                 : {audio.ffmpeg}")
print(f"frame_width            : {audio.frame_width}")
print(f"max_dBFS               : {audio.max_dBFS}")
print(f"dBFS                   : {audio.dBFS}")
print(f"Max                    : {audio.max}")
print(f"RMS                    : {audio.rms}")
print(f"Max Possible Amplitude : {audio.max_possible_amplitude}")
print(f"Sample Width           : {audio.sample_width}")
print(f"Frame Rate             : {audio.frame_rate}")
print(f"Duration Seconds       : {audio.duration_seconds}")

実行結果

実行結果は以下の通りです。

$ python3 sample1.py
Default Codecs         : {'ogg': 'libvorbis'}
Channel                : 2
Converter              : ffmpeg
ffmpeg                 : ffmpeg
frame_width            : 4
max_dBFS               : 0.0
dBFS                   : -9.679213584999358
Max                    : 32768
RMS                    : 10752
Max Possible Amplitude : 32768.0
Sample Width           : 2
Frame Rate             : 48000
Duration Seconds       : 295.2185416666667