手元の CD をデータ化して保存し、CD 自体は処分してモノを減らそうというのをずっとやっています。
経緯
環境は Plamo Linux です。次のソフトウェアを使っていました。
Asunder でメディアファイル化し、EasyTag で Asunder が入れてくれてないタグを編集していたわけです(アルバムアーティストとか、ジャケット画像の埋め込みとか)。

音楽を聴く環境は今やスマホです。音楽データは Google Drive に置き、そこから直接データを取得して再生できるアプリを使っています。スマホのローカルストレージに音楽データ入れるとそれだけでスマホのストレージが一杯になってしまうので。
先日までは "CloudBeats" というのを使っていました。必要最低限の機能はあるアプリでしたが、不満がありました。
- 「最近追加した音楽」みたいな見せ方ができない
私は大量の CD データがあるので、最近リッピングして追加したやつをとりあえず聞きたいなあと思っても、どれが最近のやつかわからない。これではせっかくデータ化したのに結局聴かないままのアルバムが増えてしまう。
"CloudBeats" を使ってる限りでは、Asunder + EasyTag で不満はなかったのですが、最近 Claude AI と会話してて "Symfonium" というアプリが良さそうということを知って、有料だけど良さそうなので購入してみました。
このアプリはなかなか豪華で、結構多機能。最近追加したアルバムも表示してくれるし、世の中のプレーヤーアプリの多くになくて一番不満な「ジャンル→アーティスト→アルバム」という階層にも対応してます(これはCloudBeatsも対応してる)し、ランダムにアルバムを表示してくれる機能もあったりします。画面のカスタマイズも細かくできて自分好みのプレーヤーにできそう。
色々触ってると、ライブラリーの分類に「国」ってのがあるんですよね。プログレ(Progressive Rock)好きな私にとって、プログレをサブジャンルで分けるとともに、国で分けるのはあるあるなのです。プログレ専門店行ったら国・地域別でわかれてるくらいなので一般的だと思います。それ以外にも、ライブラリーを色々なタグをベースに分類して表示してくれます。

そうなると、「プログレのアルバムを国別で探せたら」と思うのはヲタクの性です。でも EasyTag には「国」を入力する欄はない。ここでまた Claude 君の出番です。
今までは「将来的に使えるかな」と思って「コメント」タグに国名を入れてたんですよね。Symfonium で、任意のタグでグルーピングして表示はできないのかな?と思って調べたけど、それはできないみたい。あらかじめ定められたタグでのグルーピングのみ。
すると、タグをエディターで書き込むことになります。「国」のタグを扱えるタグエディタがないか聞いてみると、
を候補として挙げてくれました。
「国」タグ
タグの知識がないので、これも AI に。とりあえず "Symfonium" の「国」(Country)に出すには、どういうタグをセットすれば良いのかを調べてもらいました。それぞれ、
- ID3v2(MP3):
TXXX:COUNTRY - Vorbis Comments(FLAC/Ogg):
RELEASECOUNTRY - iTunes/MP4 tags(M4A):
----:com.apple.iTunes:RELEASECOUNTRYor----:com.apple.iTunes:MusicBrainz Album Release Country
というタグに書き込むと "Symfonium" から「国」で見えるようです。
これらはいずれも標準的なタグでないのか、「カスタムタグ」のようです。
タグエディタの検討
Kid3, Ex Falso は Plamo にはパッケージがないので、ビルドを考えないといけません。あまり依存関係で大量のパッケージを作らないといけなくなると面倒なので、機能面以外にも依存関係が少ないのが望ましいです。そういう観点で調べてみました。
Kid3
まず Kid3 の依存関係を調べると、Qt6 は Plamo にあるから良いとして、KDE 関係のモノが大量に依存関係で必要そうなので、これは諦めました。
Ex Falso
Ex Falso は Quod Libet というプレーヤー付属のタグエディタです。Ex Falso だけビルドできないかな?と思ったけど、一体でビルドが必要そうでした。
Quod Libet は結構シンプルですが、必要最低限の機能は備えてそうなプレーヤーです。

しかし、依存関係も少なく、これなら簡単にできる!! ってことでパッケージを作ったら 4 つほどパッケージを作っただけで起動しました。依存関係として、AI が教えてくれた Mutagen が必要でしたが、これは Plamo 標準でありました。

で、起動してみたのですが、Ex Falso/Quod Libet では、MP3 ファイルでは任意のタグ名を入れられるのですが、M4A ファイルを開くとタグ名はプルダウンメニューで決まったものしか選べません。タグの編集は Quod Libet でもできるのですが、機能は当然同じです。


調べてもらうと、Ex Falso/Quod Libet は MP4(M4A)ではカスタムタグに未対応という話でした。

せっかく作ったので確認とかで便利だからソフトは入れたままですが、結局これも私が使うタグエディタとしては使えなさそうという結論です。
Mutagen
他にもあるのかもしれませんが、結局 Claude 君が出してきたのは Mutagen で Python スクリプトを書けばええやん、というものでした。
こんな感じで書けば、カスタムタグに書いてくれるみたいです。
from mutagen.mp4 import MP4 audio = MP4("file.m4a") audio["----:com.apple.iTunes:RELEASECOUNTRY"] = b"Japan" # バイト文字列として設定 audio.save()
で、書いてもらって、タグを表示するスクリプトも
#!/usr/bin/env python3 from mutagen.mp4 import MP4 audio = MP4("file.m4a") for key, value in audio.items(): print(f"{key}: {value}")
これもやってあれもやってとスクリプト書いてもらうと、結局 CLI のタグエディタが出来上がった感じです。今は、オプションで色々な(私が必要な)タグを指定できる、ファイルタイプも識別して適切なタグに書き込んでくれるスクリプトを作ってくれました。
上記のコードはそのベースになったものです。そこから膨らませて、全部 AI に丸投げで作ったので誰でも作ってもらえるでしょうから、公開はしないし、ここには貼りません。
今まで EasyTag では「コメント」に国名を入れてましたが、「コメントに文字列が入っていたら『国』タグにコピーしてくれるスクリプト」も作ってもらいましたw
無事、Symphonium の「国」にも書き込んだ国名が出てきました。

AIに質問や依頼を投げながらスクリプト書いてもらって問題解決するの、なかなか楽しいですね。