Note: These documents are written in Japanese.
MP3ファイルのID3タグをCSV経由で一括編集するツールです。
コードやドキュメントはウチのAIチームのclaudeがほとんど手がけています。
処理の流れ:
- .mp3ファイル群のID3タグを
- mp3_to_csv.pyで
- mp3_tags.csvに出力し
- 表計算アプリで編集してから
- csv_to_mp3.pyで
- .mp3ファイル群に書き込む
主に
- アルバム単位でのmp3タグ情報書き込み
- 手元のmp3ライブラリの整理
のために作りました。
- CSV経由で一括編集 — 使い慣れた表計算アプリで自由に編集できます
- カンマ/タブ区切りを自動判定 — CSV(カンマ区切り)・TSV(タブ区切り)のどちらでも動作します
- Shift-JIS文字化けを自動修正 — 古い日本語環境でリッピングされたファイルに対応
- ID3v2.3 + UTF-16で統一保存 — 互換性が最も高い組み合わせ
- 触らない情報は保持 — アートワーク(APIC)、コメント(COMM)等は変更しません
- 音声データ部分は触らない — mutagenライブラリがタグ領域のみを操作します
- Python 3.14.3
- mutagenライブラリ
- macOS 26
詳しい使い方はmanual.mdを参照して下さい。
「CLIよく分からん」という人向けにbeginner_setup.mdを書いてもらいました。参考にして下さい。
スクリプトの実行にはmutagenライブラリが必要です。
pip install mutagenpython3 mp3_to_csv.pyスクリプトと同じディレクトリ以下の .mp3 を再帰スキャンして mp3_tags.csv を生成します。
python3 mp3_to_csv.py /path/to/your/mp3/folder相対パスでディレクトリを指定することもできます。
mp3_tags.csv を Numbers、Excel、またはテキストエディタ等で開いて編集します。
注意:
file_path列は絶対に変更しないでください(ファイルの特定に使います)id3_version列は参考情報です(変更しても書き戻しには影響しません)- セルを空欄にすると、そのフィールドが 削除 されます
python3 csv_to_mp3.py mp3_tags.csv /path/to/your/mp3/folder元ファイルを直接上書きします。
| ファイル | 内容 |
|---|---|
| analyze_mp3.py | 本番前に使った分析・統計スクリプト |
| mp3_to_csv.py | mp3のID3タグ情報をcsvに書き出すスクリプト |
| csv_to_mp3.py | csvのID3情報をmp3に書き込むスクリプト |
| gemini_id3q.md | geminiによるID3タグの解説 |
| notes_why_id3v2_3.md | ID3v2.3を採用した理由 |
| beginner_setup.md | ターミナル操作に慣れていない人向けのガイド |
| mutagen_troubleshooting.md | mutagenインストール時に遭遇したエラーとその対処方法 |
| notes_mp3_to_csv1.md | mp3_to_csv.py 開発ノート(前編) |
| notes_mp3_to_csv2.md | mp3_to_csv.py 開発ノート(後編) |
| notes_csv_to_mp3.md | csv_to_mp3.py 開発ノート |
| technical_notes_mp3id3.md | テクニカルノート |
| designers_notes_mp3id3.md | デザイナーズノート |
Windowsに表計算ソフト的なUIでmp3のID3タグを編集できるソフトがあったんですよ。
Mac環境に移行して、そのソフトが使えなくなりました。
Macで同じようなソフトはあるのだろうか?無いに決まってる。偏見。
ならば自分で作るしかない、正確にはAIさんに作ってもらうしかないと思い、「ぼくのかんがえたすばらしいアイデア」を引っさげてclaudeの所に行きました。
俺「claudeくん、これこれこういうソフトってMac OSには無いよね?」
claude「ありますよ」
俺「え」
しかし使えそうなソフトはだいたい有料か、「無料(アプリ内課金)」でした。
しかも3500円とか4000円とか微妙に高いし。何となく「イラッ ☆ミ」と来ました。
そこで再びclaudeの所に行き、「ちょっと冷蔵庫の中のビール取って」と同じくらいの気安さでこう言いました。
俺「claudeくーん。ちょっとコード書いてー」
claude:コード全部・ドキュメントのほとんど
gemini:ID3タグについての助言
gptちゃん:ドキュメントの不備チェック
俺:椅子にふんぞり返って指示文書くだけの人間・スクリプト動作確認
このリポジトリはCC0 1.0 全世界 (Public Domain Dedication) の下に提供されています。
著作権法上の権利を放棄するとともに、著作者人格権を行使しないことを宣言します。
営利・非営利を問わず、複製、改変、再配布など、あらゆる目的で自由に利用可能です。
クレジット表記も不要です。
※AI生成物の著作権の扱いは各国法令により異なります。
お約束。
- スクリプトの動作は、これを保証しない。
- 投稿者は、バグフィックスおよびバージョンアップの義務を負わない。
- スクリプトを書いたのはAIなので、実行前に精査する事を強く奨める。
[End of File]