→Midderが新しいMIDI検索を提案します。
Midderは他の検索エンジンに比べ、より多くのMIDIをインデックス化できます。これはロボットサーチを使用しているからです。サイト製作者側からの連絡が必要ないのでいままででは見つからなかったような方が入力したMIDIも検索する事ができます。これはより多くのMIDIを発見できる可能性があるということを意味しています。
自分の曲を無断で使用されていないかを確認するためにも役立ちます。たとえば、無断利用を禁止しているMIDIが他のサイトでBGM等に利用されていないかを確認できるということです。
現在日本で稼働中のMIDI検索エンジンは作者が登録するものばかりで、多くのMIDIを検索する事ができない状態です。しかしWebページの検索においてはロボット型の検索エンジンが主流であり、探している情報をすぐに検索し、発見する事ができます。
この文章で説明するMIDI検索エンジンは後者のロボット型で、作者の登録は基本的に必要ありません。ロボットが自動的にWebを巡回し、MIDIを発見し次第取得します。そのため今までより幅広いMIDIを検索することができるようになりました。
また、今までの検索エンジンではタイトルから検索するものがほとんどでしたがこの検索エンジンは作者や歌詞、メロディ等の全情報から検索することができます。
GNU Wgetを使用し、リンクを再帰的にたどります。そこにMIDIがあった場合はそれを保存します。Wget実行時のコマンドは以下を使用しています。
特に要望が無い限り、全ホストを無条件に巡回する形になりますがrobots.txtで巡回を禁止しているホストや巡回停止を要求されたホストには巡回しないように設定を行っています。
$ wget -nv -r -H -l 0 -U lxtoMidiSearchRobot -A .mid,.MID
取得したMIDIはホスト名ごとのディレクトリに分けられ、そのままの形で保管されます。これらは一定期間ごとにインデックス化されます。まず、SPICE付属の逆コンパイラを使用しMMLに変換されます。変換されたデータを元に、タイトル,著作権者,製作者等の基本情報、歌詞に分割し、曲情報データベースを構築します。また、MMLで記述されたオクターブ情報、音の長さ等の情報を切り捨て、音階のみになったものをメロディデータベースとして構築します。最後に二つのデータベースを結合し、検索可能なファイルにするため曲のURIと一緒に記録します。
- 検索時について
検索の際、ユーザ側が検索モードの切り替えを行います。検索モードはタイトル検索、著作権者検索、製作者検索、歌詞検索、メロディ検索に分けられます。ユーザが要求した条件に基づき、サーバはデータベースから一致するものを含む行を抜き出します。抜き出された行を指定された条件で点数化し、アクセスできるようにします。- ジャンプについて
MIDIへ直接リンクすることは作者に迷惑がかかることや著作権的な問題から行いません。要求されたMIDIはそのサーバへのリンクとなり小さいフレームで再生され、再利用できない形になります。また、そのMIDIのURIからそのサイトのIndexを割り出し、ユーザをそこへアクセスさせるようにします。これによりユーザはすぐにMIDIを再生することができ、サイトへのアクセスもカウントされます。