Youtube MusicにMP3ファイルをアップロードしたら順番がぐちゃぐちゃになったので、Pythonでなんとかしてみた

Youtube Musicはトラックナンバーがないと曲順がぐちゃぐちゃになる

音声ファイルの集まりをYoutube Musicにアップロードしたら順番がぐちゃぐちゃになってしまった。

この音声ファイル群にはMP3のタグ(メタデータ)のうちtracknumber(曲順)の情報が欠落していた。

そこで、pythonを使ってtracknumberに妥当な数字を入れてやることで曲順を想定どおりのものにすることができた。

要するに曲順情報がないとYoutube Musicはうまいこと曲ファイルを並べられないようです。

Pythonでmutagenというモジュールを使う方法を紹介しますが、MP3のタグをいじれるツールがあればなんでもOKだと思います。

Python mutagenモジュールでMP3のタグを自由自在に編集

TOEIC_LKCというフォルダに1~475の音声ファイルがあります。例えばこんな感じ、

./TOEIC_LKC/223.mp3

この番号が曲順なのですがYoutube Musicはこの順番には再生してくれません。めちゃくちゃ不便です。

pip install mutagen

でmutagenをインストールします。

これで、MP3のタグ(ヘッダーみたいなもの)をいじれるようになります。

MP3タグを覗いてみると、確かに、'tracknumber': ['223']の項目はありません。

{'album': ['新TOEIC TEST 英単語・熟語高速マスター'], 'composer': ['高山英士著'], 'encodedby': ['iTunes 8.2.0.23'], 'title': ['223'], 'artist': ['Linkage Club'], 'genre': ['語学\u3000英語'], 'date': ['2012']}


from mutagen.easyid3 import EasyID3
import glob
mp3_files = sorted(glob.glob("./TOEIC_LKC/*"))

print(mp3_files, len(mp3_files))
for f in mp3_files:
    tags = EasyID3(f)
    tags["tracknumber"] = f.split('/')[-1].split(".")[0]
    tags.save()

tags["tracknumber"] = f.split('/')[-1].split(".")[0] のところで、tracknumberというタグを追加して、ファイル名から曲順を抜き出して、入れてやるということをしています。

tags.save()

で保存をする必要があります。

コメント