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を使って簡単にインストールできます。

Bash
 
pip install mutagen

 

mutagenを使ったID3タグ編集の基本

 

mutagenを使ってMP3ファイルのID3タグを編集する基本的な手順を説明します。

 

MP3ファイルのID3タグを読み込む

 

mutagen.mp3.MP3クラスを使用してMP3ファイルを読み込みます。

Python
 
from mutagen.mp3 import MP3

audio = MP3("sample.mp3") # 'sample.mp3'は編集したいMP3ファイルのパス
print(audio.pprint()) # 現在のタグ情報を表示

pprint()メソッドは、現在設定されているタグ情報を整形して出力します。ファイルにタグが設定されていない場合、何も表示されないか、非常に少ない情報が表示されます。

 

ID3タグを編集・追加する

 

ID3タグは辞書のように扱うことができます。新しいタグを追加したり、既存のタグを更新したりできます。

Python
 
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フレームです。それぞれのフレームにencodingtextを設定して値を代入し、最後にsave()メソッドで変更をファイルに書き込みます。

 

特定のID3タグを削除する

 

不要なタグはdelキーワードで削除できます。

Python
 
from mutagen.mp3 import MP3

audio = MP3("sample.mp3")

if "TPE1" in audio: # アーティストタグが存在するか確認
    del audio["TPE1"] # アーティストタグを削除
    audio.save()
    print("アーティストタグが削除されました。")
else:
    print("アーティストタグは見つかりませんでした。")

 

すべてのID3タグを削除する

 

ファイルから全てのID3タグを消去するには、clear()メソッドを使用します。

Python
 
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爆速講座