FLAC のタグ打ち
今までは FLAC のタグは foobar2000 上で打っていました (masstagger) が、スクリプトを書いたほうが自由度が高いことに気がつきました。スクリプトというと今まではバッチしか知りませんでしが VBScript を使うともっと自由度が高くなると聞き、早速 VBScript について学習しました。
目標は指定した cue シートのアルバムごとの演奏者情報をトラックごとに分割して、それを flac にタグとして埋め込むこと。具体的には次のような cue シートの処理です。
...
CATALOG 0028944776522
PERFORMER "(1-5,7,8) Orch: ベルリン・フィルハーモニー管弦楽団 - 指揮: ピエール・ブーレーズ - (6) Sop: クリスティアーネ・エルツェ - Orch: ベルリン・フィルハーモニー管弦楽団 - 指揮: ピエール・ブーレーズ"
TITLE "(2/6) 管弦楽・声楽作品集 / ブーレーズ"
...
私はアルバムアーティストに全曲の演奏者名をまとめて書くことにしています。しかし、このままでは正直見づらいです。例えば、6 曲目の演奏者を知りたいときにいちいち目で探さなくてはなりません。しかも、表示領域にも限界があります。
私の設定した foobar2000 では演奏者名の領域は 2 行分確保していますが、それでも曲数が増えてくると全ての曲の演奏者を表示することは不可能です。
折角、内部 cue (internal cue) シートを使っているのですから各曲ごとに演奏者名をタグ打ちすればいいわけです。しかし、手作業ではとても大変です。そこで、登場するのが VBScript です。
VBScript はウィンドウズに標準でインストールされている Windows Script Host 上で動く言語だそうです。特にアプリケーションをインストールすることなく標準で利用できるのがいいですね。バッチでは .bat という拡張子のファイルでしたが、VBScript では .vbs というファイルです。バッチ同様ダブルクリックするだけで動いてくれます。
さて、上記の目標を達成するスクリプトですが、結局下記のようになりました。まだ、分かっていないことだらけなので無駄も多いと思いますし、できていないことも多いので、これからもどんどん改良していきます。夜しか時間がとれないので、一から勉強して 10 日もかかってしまいました。下記のテキストエリア内では全選択ができますのでコピーしたい方は Ctrl + A を使ってください。
追記
このスクリプトにはダイアクリティカルマークが消えてしまうという欠陥があることが判明しています。これを修正したスクリプトはこちら です。
今後、今までにバッチでやってた処理も VBScript 化したい。VBScript なら Code2Code や mfind みたいなツールの助けを借りずに色々できそう。
関連記事
トラックバック
URL:
コメント
この記事のコメントフィード
コメント投稿