持ってる曲の一覧を渡すと歌詞を分析してタグ付けしていい感じのプレイリストを返してくれるやつが欲しい。
ただの思いつき。
ほしいもの
例えばあー元気でないなぁ励ましてくれる感じの曲だけ聞きたいなぁってときに、手持ちの音楽データからいい感じにプレイリストを作成してくれるやつ。
どうやればできそうか
- 手持ちの情報をの一覧をもらう
- 曲の歌詞をどっかからとってくる
- 歌詞をなんとかして分析する
- 分析結果をタグ付けする
- タグをぽちぽち選択する
- タグをキーにして曲の一覧を作成する
- 音楽プレーヤソフトが取り込める形のファイルとして出力する
- 音楽プレーヤソフトにインポートする
手持ちの曲の一覧を取得するには
itunesであればXMLファイルにエクスポートができる。
iTunes プレイリストをエクスポートする - YouTube
出力されるファイルの情報は、曲名、アーティスト、アルバム名ほか、最終的なプレイリストデータ作成に必要なファイルの保存場所も含まれる。
曲の歌詞を取得する
著作権的にどうなのかが不明なので要調査。Lyrics Masterがやってることを自分で実装すればいいんだろうけどどういう仕組なのかな…。
歌詞を分析する
いわゆる形態素解析ってやつか。はやりのmecabを使うのがよさそう。
分析結果のタグ付け
はてなダイアリーとかでやってるキーワード自動生成の技術として、マルコフ連鎖モンテカルロが紹介されていたような気がするけどもそれが書いてあった本がなぜか手元にないので間違ってるかもしれない。
タグをぽちぽち選択
jQueryとか使えばいけるやろ!(乱暴)
タグをキーにして曲の一覧作成
曲とタグをペアにしてDBなりに保存しておけば難しいことはなさそう。いや、ここのアルゴリズムが一番肝になるんじゃないか…?
音楽プレーヤソフトが取り込める形のファイルとして出力する
最初にもらったXMLの中身をどっかに保持しておいて、抽出された曲情報だけを取り出してファイル化する。これだけなら簡単だけど、どっかに保持ってどこがいいのかしら。メモリに乗せておける量なのかしら。自分の持ってる2602曲全てをエクスポートすると5.5MBだった。歌詞取得〜タグ付けの処理時間がすぐ終わればいいかもしれないけど結構かかりそうだし…。あ、もらったファイルそのまま置いておけばいいのか。
音楽プレーヤソフトにインポート
手作業でやってもらうしかないのかなぁ。ファイルをダウンロードしたら自動的に取り込まれるような仕組みがあったらいいんだけど。iPhoneでリンク叩くと特定のアプリが起動するあれみたいな。
手持ちの知識で実現可能性を検討してみたけど手を動かせばできそう。 実際作るかは未定。