PythonとmutagenでMP3のID3タグを自在に編集!
この記事では、Pythonライブラリのmutagenを使って、MP3などの音声ファイルのID3タグを編集する方法について解説します。音楽ファイルのタイトル、アーティスト名、アルバム名といった情報を整理・管理したい時にmutagenは非常に役立ちます。
ID3タグとは?
ID3タグは、MP3ファイルに埋め込まれたメタデータの一種です。これにより、楽曲のタイトル、アーティスト、アルバム、ジャンル、リリース年、トラック番号など、様々な情報をファイル自体に保存できます。音楽プレイヤーやソフトウェアはこれらのID3タグを読み取り、楽曲情報を表示したり、ライブラリを整理したりするのに利用します。
なぜID3タグを編集するのか?
-
音楽コレクションの整理: 正確なタグ情報により、大量の音楽ファイルを効率的に管理し、検索しやすくなります。
-
プレイヤーでの表示: 音楽プレイヤーで正しい情報が表示され、より快適なリスニング体験が得られます。
-
楽曲の特定: 情報が不完全なファイルに正しいタグを付与することで、楽曲を特定しやすくなります。
mutagenとは?
mutagenは、Pythonで様々なオーディオファイルのメタデータを読み書きするためのライブラリです。MP3のID3タグだけでなく、FLAC、Ogg Vorbis、MP4、WMAなど、多種多様なフォーマットに対応しており、統一されたインターフェースでメタデータを扱えます。
mutagenのインストール方法
mutagenはpipを使って簡単にインストールできます。
pip install mutagen
mutagenを使ったID3タグ編集の基本
mutagenを使ってMP3ファイルのID3タグを編集する基本的な手順を説明します。
MP3ファイルのID3タグを読み込む
mutagen.mp3.MP3クラスを使用してMP3ファイルを読み込みます。
from mutagen.mp3 import MP3
audio = MP3("sample.mp3") # 'sample.mp3'は編集したいMP3ファイルのパス
print(audio.pprint()) # 現在のタグ情報を表示
pprint()メソッドは、現在設定されているタグ情報を整形して出力します。ファイルにタグが設定されていない場合、何も表示されないか、非常に少ない情報が表示されます。
ID3タグを編集・追加する
ID3タグは辞書のように扱うことができます。新しいタグを追加したり、既存のタグを更新したりできます。
from mutagen.mp3 import MP3
from mutagen.id3 import TIT2, TPE1, TALB, TRCK, TDRC, TCON # 各タグの種類をインポート
audio = MP3("sample.mp3")
# 各タグを設定
audio["TIT2"] = TIT2(encoding=3, text=["新しい曲のタイトル"]) # TIT2: タイトル
audio["TPE1"] = TPE1(encoding=3, text=["アーティスト名"]) # TPE1: アーティスト
audio["TALB"] = TALB(encoding=3, text=["アルバム名"]) # TALB: アルバム
audio["TRCK"] = TRCK(encoding=3, text=["5/10"]) # TRCK: トラック番号 (例: 5/10)
audio["TDRC"] = TDRC(encoding=3, text=["2025"]) # TDRC: リリース年
audio["TCON"] = TCON(encoding=3, text=["J-Pop"]) # TCON: ジャンル
audio.save() # 変更を保存
print("ID3タグが更新されました。")
上記のコードは、sample.mp3というファイルのID3タグを更新する例です。TIT2はタイトル、TPE1はアーティスト、TALBはアルバムを表すID3フレームです。それぞれのフレームにencodingとtextを設定して値を代入し、最後にsave()メソッドで変更をファイルに書き込みます。
特定のID3タグを削除する
不要なタグはdelキーワードで削除できます。
from mutagen.mp3 import MP3
audio = MP3("sample.mp3")
if "TPE1" in audio: # アーティストタグが存在するか確認
del audio["TPE1"] # アーティストタグを削除
audio.save()
print("アーティストタグが削除されました。")
else:
print("アーティストタグは見つかりませんでした。")
すべてのID3タグを削除する
ファイルから全てのID3タグを消去するには、clear()メソッドを使用します。
from mutagen.mp3 import MP3
audio = MP3("sample.mp3")
audio.clear() # 全てのID3タグを削除
audio.save()
print("全てのID3タグが削除されました。")
その他のフォーマットへの対応
mutagenはMP3だけでなく、FLACやOgg Vorbis、MP4など、様々なオーディオフォーマットのメタデータ編集に対応しています。基本的な使い方はMP3の場合と同様で、それぞれのフォーマットに対応するクラス(例: mutagen.flac.FLAC, mutagen.oggvorbis.OggVorbisなど)をインポートして使用します。
まとめ
mutagenを使うことで、Pythonから簡単にMP3などの音声ファイルのID3タグを読み書き、編集できます。大量の音楽ファイルを管理したり、自動で情報を付与したりする際に非常に強力なツールとなります。ぜひmutagenを活用して、あなたの音楽コレクションをより快適に整理してみてください!
■プロンプトだけでオリジナルアプリを開発・公開してみた!!
■AI時代の第一歩!「AI駆動開発コース」はじめました!
テックジム東京本校で先行開始。
■テックジム東京本校
「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。
<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。
<月1開催>放送作家による映像ディレクター養成講座
<オンライン無料>ゼロから始めるPython爆速講座



