2008 . 06 . 02

Winampやfoobar2000とLyrics Masterを連携させる方法

Lyrics Masterは様々な歌詞サイトを検索して、歌詞を表示する専用ソフトです。
当サイトで公開しているRainmeter用スキン A2では、歌詞の取得漏れを補う目的で試験的に Lyrics Masterとの連携機能を搭載しています。
今回はRainmeterスキンの話題からは少し離れ、Winampやfoobar2000で直接 Lyrics Masterを使う方法をご紹介します。

まずは、曲の切り替わり毎に Lyrics Masterに曲情報を送るために必要なプラグインである「AMIP プラグイン(Advanced mIRC Integration Plug-in)」をダウンロードしてインストールしておきます。(プラグインは使用するプレイヤー用のものを選びましょう)
AMIPプラグインは元々はWINAMPで再生中の曲をmIRCでIRCのコメントとして融合させるためのプラグインでしたが、曲の切り替えタイミングで任意のテンプレートを出力したり、バッチコマンドを送ったりと最近では汎用的なプラグインとして実装されています。

(以降、Lyrics Master はすでにインストール済みとしています)

次に、 Lyrics Masterの「環境設定>その他」から「外部ソフトウェアの設定」を開き「外部ソフトウェアを使用する」にチェックを入れて、「曲名+歌手名」を選択し、コピーボタンをクリックします。
すると、クリップボードに設定パスがコピーされますので、これをメモ帳などに控えておきます。ちなみに私の環境(Windows2000)では下のようなパスになります。
C:\WINNT\system32\wscript.exe "C:\Program Files\Lyrics Master\ExtSupport.js" multi "[title]" "[artist]"
さて、方法的には上の"[title]"と"[artist]"部分を、AMIPプラグインを使って置換えた後 Lyrics Masterに送ってやればよいだけです。では、具体的な設定例を見てみましょう。

プレーヤーそれぞれの設定画面からAMIPプラグインの設定画面を開きます。
Enable AMIP」にチェックを入れ、下のテキストエリアに先ほど控えておいた設定パスを元に以下にように入力します。
1から4までのプリセットボタンによって設定を切り替えることができるので、任意のところを選びましょう。デフォルトではIRC用のサンプル設定がすでに入力されていますが、必要なければ消して構いません。
(下線部分は設定パスによって異なります)
/exec:(C:\WINNT\system32\wscript.exe) "C:\Program Files\Lyrics Master\ExtSupport.js" multi "%2" "%1"
%2はAMIPプラグインでID3タグの曲名を表す変数で、同様に%1はアーティスト名の変数です。
そして、曲の更新毎に Lyrics Master に対しコマンドを実行するという設定です。

上の設定例は極めて単純なID3タグ情報によるものですが、AMIPには強力な文字列処理に関する機能が実装されていますので、これを使わない手はないでしょう。
以下はA2で用いている設定例です。
(下線部分は設定パスによって異なります)
/exec:(C:\WINNT\system32\wscript.exe) "C:\Program Files\Lyrics Master\ExtSupport.js" multi "$if(%2,%2,$regrep(\s+$,,$regmatch(%s,- *\([^\(]+\),1)))" "$if(%1,%1,$regmatch(%s,\(.*?\) *-,1))"
曲にID3タグがない場合には、デフォルトフォーマット
[ARTIST] - [TITLE]から抽出するという例です。これによりインターネットラジオにようにタグ情報を持たないメタデータでも
[ARTIST] - [TITLE]というフォーマットであれば、対応することが可能です。

さて、一通り設定が済んだらプレイヤーを再生してみましょう。
曲名、歌手名が入力された状態で Lyrics Master が立ち上がれば成功です。
あとは、 Lyrics Master 側の設定次第で、歌詞の取得や表示などを自動化することも容易ですので、いろいろ試してみるとよいでしょう。

Lyrics Master は歌詞の取得/表示にバツグンのソフトですが、iTune用にしか連携機能がないのが難点と思われていた方には、今回紹介したような方法で比較的簡単に、Winampやfoobarと連携させることができることができるので、試してみてはいかがでしょう。

AMIPプラグインはUnicodeに対応していません。よってUnicodeの文字含むタグを持つ曲では、誤動作を引き起こす可能性があるのでご注意ください。