![見出し画像](https://assets.st-note.com/production/uploads/images/24329852/rectangle_large_type_2_de9d2c1eeb977b1917e9cad93ea951d8.png?width=1200)
ターミナルでflacファイルのメタデータを編集
CDから音楽を取り込んだときに違うアルバムに別れてしまうことや、アルバム名やアーティスト名が違うことがよくあります。気にしないことにしてしばらく放置していたのだけれども、そろそろちゃんとすることにしました。
とりあえず ”音楽ファイル 情報 編集” とかでググると色々出てくるのだけれど、どれがいいのかよく分からない。それに、WindowsやMacで使えるものしか無い(普段はUbuntuを使ってる)。
音楽ファイルって所詮ファイルなんだからvimとかで編集できないの?
そもそもアルバム名やアーティスト名ってどこに保存してるの?
色々調べていると`metaflac`なるコマンドを見つけました。
しかもFLACの公式ツールらしい。
使い方
1. flacファイルの情報を見る。
現在設定されているアルバム名やアーティスト名を確認できます。
(実行例は私の好きなアーティストのこゑださんの音楽ファイルで行っています。)
$ metaflac --list --block-type=VORBIS_COMMENT 00-01-おとなのことば.flac 04/30 03:13:29
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
length: 180
vendor string: Lavf57.71.100
comments: 8
comment[0]: ALBUM=I'scream
comment[1]: ALBUMARTIST=こゑだ
comment[2]: ARTIST=こゑだ
comment[3]: DATE=2019
comment[4]: GENRE=POP
comment[5]: DISCNUMBER=1/1
comment[6]: TITLE=おとなのことば
comment[7]: TRACKNUMBER=01/13
また、
metaflac --export-tags-to=export_tags.txt 00-01-おとなのことば.flac
を実行することで、メタデータをファイルに書き出せます。
2. メタデータを書き込む。
タグと値をセットでflacファイルに追加することができます。例えば、以下のようにすると”TITLE”タグに”おとなのことば”を追加できます。
$ metaflac --set-tag="TITLE=おとなのことば"
ただし、タグを編集するのではなく追加なので、何回も実行すると”TITLE”タグが実行した分だけ増えます。
では、どうすれはいいか。
メタデータの書き込みには他にも方法があります。
$ metaflac --remove-all-tags --import-tags-from={import_file} 00-01-おとなのことば.flac
このようにすると、import_fileに書いてあるタグを一括で追加してくれます。`--remove-all-tags`はすでに登録してあるタグをすべて消してくれます。
なので、使い方としては
$ metaflac --export-tags-to=export_tags.txt 00-01-おとなのことば.flac
$ vim export_tags.txt
$ metaflac --remove-all-tags --import-tags-from=export_tags.txt 00-01-おとなのことば.flac
のように、一旦ファイルにメタデータを書き出して編集し、それを書き込むようにするのがいいかと思います。
私はアルバム単位で一括して処理を行えるようにshellやらMakefileやらを作りました。
flacファイルも所詮ファイルなので、余計なアプリ入れずにターミナルでコマンドとvimを使って編集しましょう。
他の形式の音楽ファイルでも同じように編集可能ですが、メタデータの形式が違うので、それぞれにあった方法で設定しましょう。
余談
ちなみにflacファイルの構成は以下のようになっている。
参考:FLAC-ドキュメント
いいなと思ったら応援しよう!
![mizuhof](https://assets.st-note.com/production/uploads/images/23964846/profile_d5bbc62dc46633e4d35a3145a14db703.png?width=600&crop=1:1,smart)