機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

ffprobeでmp3のメタデータを取得する

AD

プログラミング

自分の好きな曲、いつも聴いている曲をブログとかで紹介したいなーなんてとき、どうしましょうか。
曲名だけなら、フォルダを全選択してコピーすればいいかもしれません。

しかし、もし、さらにアーティスト名も書きたいなーという場合はどうしましょうか。

ここまで来るとプログラミングですが、フォルダーの特定のアーティストのみのタイトルを取得したい、なんて場合はどうしましょうか。

そんなとき役に立つのが、ffmpegの”ffprobe”です。

メタデータの種類を知りたい

プログラミング

そもそも、メタデータの種類が知りたい、という場合は、ffprobeコマンドです。
BPMってどう書くんやろ…みたいな場合。

ffprobe "0002 - Broken 8cmix.mp3"

Metadata:
encoder         : LAME 32bits version 3.99.5 (http://lame.sf.net)
title           : Broken 8cmix
artist          : iroha(sasaki)
album           : Sound Voltex Soundtrack
track           : 2
album_artist    : Various Artists
disc            : 1/3
TBPM            : 150
TLEN            : 107205

mp3のメタデータをCSVとして出力

プログラミング

format_tags=オプションを任意のメタデータに書き換えることで、出力を変えます。

for f in *; do 
 echo "\
 $(ffprobe -loglevel error -show_entries format_tags=track -of default=noprint_wrappers=1:nokey=1 "$f"),\
 $(ffprobe -loglevel error -show_entries format_tags=title -of default=noprint_wrappers=1:nokey=1 "$f"),\
 $(ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 "$f")\
 " 
done

出力

"2", "Broken 8cmix", "iroha(sasaki)"
"8", "smooooch・∀・ KN mix", "KN"
"9", "Love♡sicK", "8#Prince(八王子P)"
"16", "Ha・lle・lu・jah", "SOUND HOLIC feat. Nana Takahashi"
"30", "Xepher Light and Darkness Dragon REMIX", "デッドボールP"
"38", "TYCOON", "SOUND HOLIC feat. Nana Takahashi"

mp3のメタデータをCSVとして出力(ダブルクォーテーションあり)

プログラミング
for f in *; do 
 echo "\
 \"$(ffprobe -loglevel error -show_entries format_tags=track -of default=noprint_wrappers=1:nokey=1 "$f")\",\
 \"$(ffprobe -loglevel error -show_entries format_tags=title -of default=noprint_wrappers=1:nokey=1 "$f")\",\
 \"$(ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 "$f")\"\
 " 
done

出力

"2", "Broken 8cmix", "iroha(sasaki)"
"8", "smooooch・∀・ KN mix", "KN"
"9", "Love♡sicK", "8#Prince(八王子P)"
"16", "Ha・lle・lu・jah", "SOUND HOLIC feat. Nana Takahashi"
"30", "Xepher Light and Darkness Dragon REMIX", "デッドボールP"

tips

プログラミング
  • 曲数を知りたい

| wc -lで出力の行数を数えることで、曲数を数えることができます。

  • mp3info

ちなみに、mp3infoという選択肢もありますが、
mp3infoは不具合が多いですので非推奨です。

$ mp3info -p %t "0002 - Broken 8cmix.mp3"
%a
$ mp3info -p %t "0008 - smoooochã»âã» KN mix.mp3"
smooooch??? KN mix

文字化けしてたり、なんかよくわからない変換されてたり。だめですね。

SPONSOR

オンラインブートキャンプ全12コースの「ウケ放題」 AD

コメントを残す

Close Menu