2014,07,18, Friday
おうちにあるMP3ファイル検索システムを作ろうかとして苦戦している件
はい。
いつの間にかまたひとつ歳を取ったほりさんです。
おうちにあるMP3ファイルの曲数が多くなりすぎて聞きたい曲を探すのに苦労するようになったので、MP3ファイルの検索システムを作ろうかなぁなどと考えていました。
前のパソコンではgoogleデスクトップの検索機能で済ませていたのですが、googleデスクトップがなくなってしまったこと、新しいパソコンにしてMP3をすべてNASに保管するようにしたことがあり、なにかしらの検索がほしいなぁとずっと思っていました。
んで。
昨日ちょこっと技術者っぽいことをやっていたのですが、なかなか苦戦したのでメモ代わりに記録を残しておきます。
結構長くなるので、続きが読みたい方だけ続きを見るからどうぞ。
いつの間にかまたひとつ歳を取ったほりさんです。
おうちにあるMP3ファイルの曲数が多くなりすぎて聞きたい曲を探すのに苦労するようになったので、MP3ファイルの検索システムを作ろうかなぁなどと考えていました。
前のパソコンではgoogleデスクトップの検索機能で済ませていたのですが、googleデスクトップがなくなってしまったこと、新しいパソコンにしてMP3をすべてNASに保管するようにしたことがあり、なにかしらの検索がほしいなぁとずっと思っていました。
んで。
昨日ちょこっと技術者っぽいことをやっていたのですが、なかなか苦戦したのでメモ代わりに記録を残しておきます。
結構長くなるので、続きが読みたい方だけ続きを見るからどうぞ。
1) PHPでMP3のタグを読めないか頑張ってみる
PEARのライブラリにPEAR::MP3Idv2というのがあるので、これをインストールしてサンプル(mp3testall.php)をベースにMP3のタグを読み込むPHPを作り始める。
サンプルはきれいに動くのだけど、MP3のタグを読み込む部分をコピペしてファイル名を自分が持ってるMP3に変えてみたところ、エラーは出ないけれど何の出力もされない状態に。
あれやこれやと1時間弱ぐらい試行錯誤した結果、サンプルのphpの記述が間違っていることがわかる。
これでタグの情報が出力されたぞーヒャッハーと思っていたら、コメントが出力されていないことに気付く。
コメントにはタイアップ情報を書いているのでこれがないと番組主題歌が検索できないので困る。
あれやこれやネットをさまよい、ID3v2の仕様書まで読んでみたりしていたところ、PEARのドキュメントに
なる記述を見つける。
赤字にした「COMM」がコメントなので、このモジュールではMP3のコメントが読み込めないことが判明
というわけで、PHPでタグを読み込むのはあきらめて、perlでリスト作成→作ったリストをPHPで検索という形にする方針に。
2) Windows7にPerlを入れる
CPANのライブラリにMP3-Tagというのがあるので、これを使ってみようとするも、すでに入っているPerl(XAMPPのPerl)では、CPANのライブラリがインストールできないらしい。
そこで、ActivePerlを新たにインストール。
インストールして、PerlにPATHが通ったところでCPANからMP3-Tagをインストール。
CPAN使うのは久しぶりだったので、使い方を思い出すのにちょっと苦労する。
インストールが終わったらネットで見つけたサンプルスクリプトを実行してみます。
タグ情報とれた!コメントも入ってる!
と、いうところまでを昨日の18時ぐらいから21時30分ぐらいまでやってました。
今日はパソコンを立ち上げて昨日の続きを…と思ったのですが、このブログの記事を書くのに疲れたので少し休憩してからやります。
■この記事は役に立ちましたか? この記事の平均評価: 未評価 (0人)
ツイート
PEARのライブラリにPEAR::MP3Idv2というのがあるので、これをインストールしてサンプル(mp3testall.php)をベースにMP3のタグを読み込むPHPを作り始める。
サンプルはきれいに動くのだけど、MP3のタグを読み込む部分をコピペしてファイル名を自分が持ってるMP3に変えてみたところ、エラーは出ないけれど何の出力もされない状態に。
あれやこれやと1時間弱ぐらい試行錯誤した結果、サンプルのphpの記述が間違っていることがわかる。
mp3testall.phpの365行目。
誤:$frames = $tag->getFrames();
正:$frames = $rtag->getFrames();
これでタグの情報が出力されたぞーヒャッハーと思っていたら、コメントが出力されていないことに気付く。
コメントにはタイアップ情報を書いているのでこれがないと番組主題歌が検索できないので困る。
あれやこれやネットをさまよい、ID3v2の仕様書まで読んでみたりしていたところ、PEARのドキュメントに
- currently not supported frames: AENC, COMM, COMR, ENCR, EQUA, ETCO, GEOB, GRID,
LINK, MLLT, OWNE, POSS, RVAD, RVAD, SYLT, SYTC (the other ~50 are supported!)
なる記述を見つける。
赤字にした「COMM」がコメントなので、このモジュールではMP3のコメントが読み込めないことが判明
というわけで、PHPでタグを読み込むのはあきらめて、perlでリスト作成→作ったリストをPHPで検索という形にする方針に。
2) Windows7にPerlを入れる
CPANのライブラリにMP3-Tagというのがあるので、これを使ってみようとするも、すでに入っているPerl(XAMPPのPerl)では、CPANのライブラリがインストールできないらしい。
そこで、ActivePerlを新たにインストール。
インストールして、PerlにPATHが通ったところでCPANからMP3-Tagをインストール。
CPAN使うのは久しぶりだったので、使い方を思い出すのにちょっと苦労する。
コマンドプロンプトで、
# cpan
(初回実行時は初期設定をするので10分弱ぐらい時間がかかります)
cpan> i /MP3-Tag/
Reading 'C:\Perl64\cpan\Metadata'
Database was generated on Thu, 17 Jul 2014 10:41:02 GMT
Distribution DAVECROSS/AudioFile-Info-MP3-Tag-1.06.tar.gz
Distribution ILYAZ/modules/MP3-Tag-0.9713.tar.gz
Distribution ILYAZ/modules/MP3-Tag-1.13.tar.gz
Distribution TRAVAIL/Template-Plugin-MP3-Tag-0.01.tar.gz
Distribution VVELOX/MP3-Tag-Utils-0.0.3.tar.gz
5 items found
(「MP3-Tag」と名のつくライブラリを検索しました。今回は赤字にしたMP3-Tag-0.9713をインストールします)
cpan> install ILYAZ/modules/MP3-Tag-0.9713.tar.gz
(5分ぐらい待つとインストールできます)
cpan> quit
(cpanを終了します)
インストールが終わったらネットで見つけたサンプルスクリプトを実行してみます。
タグ情報とれた!コメントも入ってる!
と、いうところまでを昨日の18時ぐらいから21時30分ぐらいまでやってました。
今日はパソコンを立ち上げて昨日の続きを…と思ったのですが、このブログの記事を書くのに疲れたので少し休憩してからやります。
■この記事は役に立ちましたか? この記事の平均評価: 未評価 (0人)
| メモ::おうちサーバー | 09:13 AM | comments (0) | trackback (0) |
9 years ago on this day
コメント
コメントする
トラックバックURL
http://horisanu.info/tb.php/295