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の文字含むタグを持つ曲では、誤動作を引き起こす可能性があるのでご注意ください。



#1
2009 . 07 . 16  12 : 47 AM
KERBEROS

各最新版で試してみたのですが、

/exec:(C:\WINNT\system32\wscript.exe) "C:\Program Files\Lyrics Master\ExtSupport.js" multi "%2" "%1"

でタグが取得できていないようです。
もし解決方法があればお願い致します。

#2
2009 . 07 . 16  02 : 45 AM
kenz0

>KERBEROSさん
漠然とした状況なので、的確な指摘は出来かねますが、予想できる範囲でお答えしますと、まずは、パスですが、これはそちらの環境にあったものでしょうか?
「タグが取得できていない」ということであれば、とりあえずLyrics Masterやパス云々以前の問題でAMIPが正常に働いてないということになりますが、そのテストとして以下のコマンドを「/exec: ・・」の代わりに入力してプレーヤーを再生してみてください。


/fileonce:(C:\song.txt) "%2 - %1"


AMIPの動作に問題なければC:\ディレクトリに「song.txt」が作成されそこに曲名ーアーティスト名が記載されているはずです。
もしこれが行われなかった場合AMIPの設定に問題があることが考えられますし、動作が正常に行われれば、AMIP以外が原因ということが特定できます。
最後にAMIPの"%2"や"%1"の変数はID3タグがある場合のみ出力される変数なので、その曲にタグが付いてない場合は当然のことながら機能しませんが、そんなことはないですよね。

#3
2009 . 07 . 16  11 : 13 PM
KERBEROS

ヒントを頂きありがとうございます。
どうもID3タグがあっても、zip圧縮されていると出力されないようです。
ひとまず出来ない理由が分かりましたので納得致しました。

#4
2009 . 12 . 10  05 : 58 AM
hf

素晴しい方法を教えていただき、感激です。
CDをリッピングしたところ、ファイル名が「01 - 瞳がほほえむから with 河野圭 - 今井美樹.flac」となりました。これを「Lyrics Master」で歌詞検索しようとすると、曲名が「瞳がほほえむから with 河野圭」となり、歌詞をダウンロードできません。手動で曲名を「瞳がほほえむから」に変更することが必要です。AMIPプラグインの設定等で自動で曲名を修正する方法はないでしょうか。よろしくお願いいたします。

#5
2009 . 12 . 10  04 : 40 PM
kenz0

> hfさん

ご要望から察するに「with 某」を省けばいいだけなら、とりあえず以下のような設定が使えます。

"$if($regmatch(%2,\(.*?\) ?with ?.*,1),$regmatch(%2,\(.*?\) ?with ?.*,1),%2)"

このコードを上記で示したオレンジ色の[TITLE]部分に当てはめてください。
ただこれは、あくまで単純にタイトル後部の「with 〇〇」を除去するパターンであり、もちろん「featuring 〇〇」では反応しませんので、あしからず。

#6
2009 . 12 . 10  09 : 08 PM
hf

hfです。早速ご教示いただき、深謝いたします。
お願いしました問題点は解決いたしました。今後もよろしくお願いいたします。

#7
2011 . 04 . 18  06 : 49 AM
teru

初めまして、このページを見て曲が変わる度に歌詞を自動取得する設定をしたのですが、日本語の曲名またはアーティストに場合に文字化けして検索ができない場合がありました。
自分なりに調べたんですが決定的な解決方法が見つからなかったので解決できる方法を教えていただければ幸いです。

ちなみに、CDから曲をPCに入れるときはitunesを使用しています。しかし、itunes上で曲のプロパティを開いてもid3タグの項目がなく、さらに変換の欄もありませんでした。昔に入れてた曲はあるのですが、最近入れてる曲は全てid3タグの表示がなくて、その曲に限って上記の文字化けを起こしてしまいます。

kenz0さんが頼りです、すみませんw

#8
2011 . 04 . 18  02 : 35 PM
kenz0

>teru
最近こういったことから離れているもんで、この記事を書いた当時のことを忘れている部分もあって、信用できる回答ができるか自身ありませんが、もしAMIPを使っているのであれば、このプラグインはユニコードに対応してないんですよね。なのでユニコードでタグが書かれている曲なんかは文字化けしてしまうことになります。ID3タグの文字コードに関してはプレーヤーごとにデフォルトが違ったりしていろいろ厄介なことがあったりして、iTunesのデフォルトは確かユニコードだったんじゃないかと記憶します。
ただ、iTunesを使っているならAMIPは使っていないのだろうと察しますが、そうなるとiTunesかLyrics Masterかということになりますが、Lyrics Masterに関しては過去のバージョンで一部正しく表示されないバグが存在するようで、現在は修正版がリリースされていますが、もしかしたらそれが原因かもしれません。
iTunesに関しては普段使っていないプレーヤーなので残念ながら詳しいことは分かりませんが、基本的にエクスプローラー上のでファイルを右クリックしてプロパティーから詳細設定でタグ情報が確認/編集できませんか?
正確なタグ管理をする意味でも専用のタグ編集ソフトを使ってみるのも有効かもしれません。

#9
2011 . 04 . 18  04 : 50 PM
teru

素早い回答ありがとうございます!
AMIPはwinampで再生して歌詞を探すときにということでこのページで書いてありまして、現在PC上での音楽再生はwinampを使っていたのでそのようにしていました。
しかし、どうやらlyrics masterとitunesのコンビネーションで歌詞をどんどん取り込んであとからlyriの歌詞編集でitunesで取り込んだ歌詞をD&Dすればいいことに気がつきました><
ちなみに、itunesで取り込んだ曲はユニコードでid3ではないみたいで、やはりタグ情報の表示がありませんでした。ですので、AMIPでは文字化けするということだったんですね^^;
kenz0さんの回答のおかげで状況の打開ができましたことを心より感謝致します!