Demlo
Demlo は Lua と FFmpeg を使用する音楽ライブラリ管理・タグ付けバッチツールです。変換・照合・CUE シート・MusicBrainz によるオンラインタグ設定・お好きなエディタによる手動タグ編集・カバー画像のダウンロード・設定などができます。
インストール
設定
パッケージには設定サンプルが含まれています。最初はサンプルを使用すると良いでしょう:
$ install -Dm644 /usr/share/demlo/demlorc -t ~/.config/demlo
スクリプト
Demlo は引数として渡されたファイルに一連の Lua スクリプトを適用します。 利用するスクリプトを設定ファイルか実行時に選択できます。
それぞれのスクリプトは input
テーブルを読み取ることができ、 パス、タグ、カバー、エンコーディングなどの情報で output
テーブルを書き換えます。
Demlo には公式スクリプトが付属しており、それらから選んで使えます。
一時的なスクリプトを書きたい場合 (あるアルバムにのみ使えるようなスクリプトなど)、ローカルフォルダにスクリプトを作成して、コマンドラインから呼び出して、削除することができます。
何度も使用するユーザースクリプトの場合、Demlo の設定フォルダにスクリプトを保存します。
公式スクリプトから派生して作成することができます:
$ install -Dm644 /usr/share/demlo/scripts/tag.lua -t ~/.config/demlo/scripts/
ユーザースクリプトのディレクトリはシステムスクリプトよりも優先されます: 同じ名前を持つスクリプトが2つ存在した場合、ユーザースクリプトが優先されます (フルパスで指定しなかった場合)。
使用方法
オプション無しでは、Demlo は変更をプレビューし実際の処理は行いません。処理を行なうには -p
コマンドラインオプションを加えて実行します。
全てのオプションおよびパラメータは demlo -h
を参照してください。また、demlo manual も閲覧できます。
使用方法の例:
ファイルセットに対して Demlo を実行して変更をプレビュー:
$ demlo *.ogg album/ other-album/*.flac
スクリプトチェインを設定して結果を変更:
$ demlo -s tag'-s ./my-script.lua -s encoding "input-files"
細かく調整したい場合、コマンドラインからスクリプトチェインの前後に Lua コマンドを実行できます:
$ demlo -pre 'o.artist="John Doe";o.disc=output.filename:match("Disc (\d+)")' -post 'output.format="ogg"' "input-files"
ファイルを処理するには -p
パラメータを使います。Demlo はデフォルトで利用可能な全てのコアを使います。使用するコアを制限するには:
$ demlo -cores 2 -p input-files
カバー画像をオンラインから取得したい場合:
$ demlo -c -s cover -s 90-rmsrc -p input-files
タグやプロパティを手動で編集したい場合 (スクリプトで自動的に修正できないときなど)、インデックスファイルに変更をエクスポートできます:
$ demlo some-tuning input-files >> ./index.json
同じインデックスファイルに出力を集めることもできます。ファイルはお好きなエディタで編集してください。変更を適用するには、ファイルセットを指定して -i
オプションを付けて Demlo を実行します。スクリプトを実行することもできますし、変更を加えたくない場合、スクリプトは使わないようにすることもできます。
$ demlo -i ./index.json -r '' -post 'o.artist,o.album_artist=o.album_artist,artist' input-files
インデックスファイルを使うことで他のプログラムと Demlo を入出力で組み合わせることが可能です。