MP3ファイルにトラック番号をPythonで付与する
すべてはYouTube Music君のせい
背景
- ちょっくら英語の勉強を始めようかと某出版社の単語帳(受験生向け)を購入する
- CD付きだったがストリーミングまたはダウンロードもできる、という令和な構成に感謝しつつ音声をダウンロード
- Androidスマートフォン経由で音声を聞くために、YouTube Musicのアップロード機能で自分用にアップロード
- ダウンロードした音声にトラック番号が付与されていなかったので、アップロードした際に順番が滅茶苦茶になる
- ファイル名はソートされていたので、YouTube Music上でソートして再生すればよいのだが、そんな機能はない
- 元々、楽曲を管理していたiTune側にも自動的にトラック番号を付与する機能はない
- 勉強にならない!!!
やりたいこと
解法
mutagen
を使う
コード
さっさとやりたかったので細かいことは何も考えていない。
import pathlib import mutagen.easyid3 path = pathlib.Path("/path/to/mp3") for idx, p in enumerate(path.glob("*.mp3"), start=1): tags = mutagen.easyid3.EasyID3(p) tags["tracknumber"] =[f"{idx}/150"] tags.save()
感想
- iPodが復活してほしい。