(57)【要約】【課題】  所望の音楽をより迅速かつ確実に検索できるようにする。【解決手段】  検索装置から送信されたクエリの音片を周波数変換部５８１で周波数スペクトルに分解し、検索候補絞込み部５８４が、検索対象候補となる音楽データを絞り込む。類似検索データ作成部１０４は、音楽ＤＢ１０３の音楽データを予め自己組織化マップにより、カテゴリ列に分類しており、クエリの音片と同じカテゴリ列の音楽データの情報を検索対象候補として検索候補絞り込み部５８４に提供する。パターンマッチング部５８２は、検索対象候補の音楽データとクエリの音片との類似度を表す評価値を演算し、スコアソート部５８３で検索結果を出力する。本発明は音楽の曲名を検索する装置に適用することができる。【選択図】  図２３
2005077865.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続される第１の情報処理装置と第２の情報処理装置からなる音楽検索システムであって、
前記第１の情報処理装置は、
前記第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録する記録手段と、
検索すべきデータの生成を指令する指令手段と、
前記指令手段により検索すべきデータの生成が指令された場合、前記記録手段により記録されている音データから検索データを生成する生成手段と、
前記生成手段により生成された前記検索データを、前記第２の情報処理装置に前記ネットワークを介して送信する送信手段と
を備え、
前記第２の情報処理装置は、
複数の音楽の周波数スペクトルの特徴量を記憶する記憶手段と、
前記第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、前記記憶手段により記憶されている周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索する検索手段と
前記検索手段により検索された音楽の情報を提供する提供手段と
を備えることを特徴とする音楽検索システム。
【請求項２】
ネットワークを介して相互に接続される第１の情報処理装置と第２の情報処理装置からなる音楽検索システムの音楽検索方法であって、
前記第１の情報処理装置は、
前記第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録し、
検索すべきデータの生成が指令されたか否かを判定し、
検索すべきデータの生成が指令された場合、記録されている前記音データから検索データを生成し、
生成された前記検索データを、前記第２の情報処理装置に前記ネットワークを介して送信し、
前記第２の情報処理装置は、
複数の音楽の周波数スペクトルの特徴量を記憶し、
前記第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、記憶されている周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索し、
検索された音楽の情報を提供する
ことを特徴とする音楽検索方法。
【請求項３】
複数の音楽の周波数スペクトルの特徴量を記憶する記憶手段と、
入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶手段に記憶されている周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索する検索手段と、
前記検索手段により検索された音楽の情報を提供する提供手段と
を備えることを特徴とする情報処理装置。
【請求項４】
複数の音楽の音データを取得し、前記音データの周波数に基づいて、複数のベクトルを生成するベクトル生成手段と、
前記ベクトル生成手段により生成された複数のベクトルをニューラルネットワークの自己組織化マップに入力し、自己組織化マップの出力層のクラスタ情報に基づいて、前記音楽の音データのクラスタ列を生成するクラスタ生成手段とを備え、
前記クラスタ列を前記周波数スペクトルの特徴量として、前記記憶手段に記憶する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記クラスタ生成手段は、前記自己組織化マップ内のニューロン間の距離に基づいて、前記自己組織化マップの出力層を複数のクラスタに分割する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記クラスタ生成手段により生成されたクラスタ列に基づいて、木構造のインデックス情報を生成するインデックス生成手段をさらに備え、
前記インデックス情報に基づいて、前記音楽の情報が特定される
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記検索手段は、
前記検索データの音データに基づいて周波数スペクトルを生成するスペクトル生成手段と、
前記スペクトル生成手段に生成された周波数スペクトルに基づいて、複数のベクトルを生成し、検索する対象となる音楽の音データを生成する検索対象データ生成手段と
を備えることを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記検索対象データ生成手段は、前記複数のベクトルのクラスタ列に基づくインデックス情報を求め、求めたインデックス情報に基づいて、前記音楽の情報を取得し、取得した音楽の情報に基づいて、前記検索する対象となる音データを生成する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記検索手段は、
前記検索データの音データと、前記検索対象データ生成手段により生成された音データを比較して、前記検索データの音データと、前記検索対象データ生成手段により生成された音データの類似度を表す評価値を演算する演算手段と、
前記演算手段により演算された評価値が予め設定された基準を満足する前記音データを選択する選択手段と
をさらに備えることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記検索対象データ生成手段は、前記演算手段により演算された評価値が予め設定された基準を満足する前記音データがない場合、前記インデックス情報に基づいて、新たな音楽の情報を取得し、取得された音楽の情報に基づいて、新たに検索する対象となる音楽の音データを生成する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置の情報処理方法であって、
記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶する記憶ステップと、
入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶ステップの処理により記憶された周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索する検索ステップと、
前記検索ステップの処理により検索された音楽の情報を出力する出力ステップと
を含むことを特徴とする情報処理方法。
【請求項１２】
ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置のプログラムであって、
記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶するように制御する記憶制御ステップと、
入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶制御ステップの処理により記憶された周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索するように制御する検索制御ステップと、
前記検索制御ステップの処理により検索された音楽の情報の出力を制御する出力制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置のプログラムが記録される記録媒体であって、
記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶するように制御する記憶制御ステップと、
入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶制御ステップの処理により記憶された周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索するように制御する検索制御ステップと、
前記検索制御ステップの処理により検索された音楽の情報の出力を制御する出力制御ステップと
をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽検索システムおよび方法、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に所望の音楽をより迅速かつ確実に検索できるようにする音楽検索システムおよび方法、情報処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、コンテンツとして音楽が放送された場合、放送された音楽の曲名、アーティスト名などの情報を取得するニーズが高まってきている。この場合、ユーザは、音楽が放送された放送局などを調べて音楽の情報を取得する必要があり、情報の取得（検索）に手間がかかる。
【０００３】
そこで、本出願人は、音声で入力されたメロディに基づいて、そのメロディを有する可能性のある音楽を検索し、その情報をユーザに提供する技術を先に提案した（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２００１−６００９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、検索したい音楽のメロディをユーザが発声して入力し、入力されたメロディに対応する音楽を膨大な量の音楽データの中から検索しなければならず、また、入力されたメロディは検索対象の音楽のどの部分なのか特定できないため、検索の対象となるデータ量が多く、検索に時間がかかるという課題があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、所望の音楽をより迅速かつ確実に検索できるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の音楽検索システムは、ネットワークを介して相互に接続される第１の情報処理装置と第２の情報処理装置からなる音楽検索システムであって、第１の情報処理装置は、第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録する記録手段と、検索すべきデータの生成を指令する指令手段と、指令手段により検索すべきデータの生成が指令された場合、記録手段により記録されている音データから検索データを生成する生成手段と、生成手段により生成された検索データを、第２の情報処理装置にネットワークを介して送信する送信手段とを備え、第２の情報処理装置は、複数の音楽の周波数スペクトルの特徴量を記憶する記憶手段と、第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、記憶手段により記憶されている周波数スペクトルの特徴量を比較して、検索データの音データと類似度が高い音楽の情報を検索する検索手段と検索手段により検索された音楽の情報を提供する提供手段とを備えることを特徴とする。
【０００８】
本発明の音楽検索方法は、ネットワークを介して相互に接続される第１の情報処理装置と第２の情報処理装置からなる音楽検索システムの音楽検索方法であって、第１の情報処理装置は、第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録し、検索すべきデータの生成が指令されたか否かを判定し、検索すべきデータの生成が指令された場合、記録されている音データから検索データを生成し、生成された検索データを、第２の情報処理装置にネットワークを介して送信し、第２の情報処理装置は、複数の音楽の周波数スペクトルの特徴量を記憶し、第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、記憶されている周波数スペクトルの特徴量を比較して、検索データの音データと類似度が高い音楽の情報を検索し、検索された音楽の情報を提供することを特徴とする。
【０００９】
本発明の音楽検索システムおよび方法においては、第１の情報処理装置により、第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録され、検索すべきデータの生成が指令されたか否かが判定され、検索すべきデータの生成が指令された場合、記録されている音データから検索データを生成され、生成された検索データが、第２の情報処理装置にネットワークを介して送信される。また、第２の情報処理装置により、複数の音楽の周波数スペクトルの特徴量が記憶され、第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、記憶されている周波数スペクトルの特徴量が比較され、検索データの音データと類似度が高い音楽の情報を検索され、検索された音楽の情報が提供される。
【００１０】
本発明の情報処理装置は、複数の音楽の周波数スペクトルの特徴量を記憶する記憶手段と、入力された検索データの音データの周波数スペクトルの特徴量と、記憶手段に記憶されている周波数スペクトルの特徴量を比較して、検索データの音データと類似度が高い音楽の情報を検索する検索手段と、検索手段により検索された音楽の情報を提供する提供手段とを備えることを特徴とする。
【００１１】
複数の音楽の音データを取得し、音データの周波数に基づいて、複数のベクトルを生成するベクトル生成手段と、ベクトル生成手段により生成された複数のベクトルをニューラルネットワークの自己組織化マップに入力し、自己組織化マップの出力層のクラスタ情報に基づいて、音楽の音データのクラスタ列を生成するクラスタ生成手段とを備え、クラスタ列を周波数スペクトルの特徴量として、記憶手段に記憶するようにすることができる。
【００１２】
前記クラスタ生成手段は、自己組織化マップ内のニューロン間の距離に基づいて、自己組織化マップの出力層を複数のクラスタに分割するようにすることができる。
【００１３】
前記クラスタ生成手段により生成されたクラスタ列に基づいて、木構造のインデックス情報を生成するインデックス生成手段をさらに備え、インデックス情報に基づいて、音楽の情報が特定されるようにすることができる。
【００１４】
前記検索手段は、検索データの音データに基づいて周波数スペクトルを生成するスペクトル生成手段と、スペクトル生成手段に生成された周波数スペクトルに基づいて、複数のベクトルを生成し、検索する対象となる音楽の音データを生成する検索対象データ生成手段とを備えるようにすることができる。
【００１５】
前記検索対象データ生成手段は、複数のベクトルのクラスタ列に基づくインデックス情報を求め、求めたインデックス情報に基づいて、音楽の情報を取得し、取得した音楽の情報に基づいて、検索する対象となる音データを生成するようにすることができる。
【００１６】
前記検索手段は、検索データの音データと、検索対象データ生成手段により生成された音データを比較して、検索データの音データと、検索対象データ生成手段により生成された音データの類似度を表す評価値を演算する演算手段と、演算手段により演算された評価値が予め設定された基準を満足する前記音データを選択する選択手段とをさらに備えるようにすることができる。
【００１７】
前記検索対象データ生成手段は、演算手段により演算された評価値が予め設定された基準を満足する音データがない場合、インデックス情報に基づいて、新たな音楽の情報を取得し、取得された音楽の情報に基づいて、新たに検索する対象となる音楽の音データを生成するようにすることができる。
【００１８】
本発明の情報処理方法は、ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置の情報処理方法であって、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶する記憶ステップと、入力された検索データの音データの周波数スペクトルの特徴量と、記憶ステップの処理により記憶された周波数スペクトルの特徴量を比較して、検索データの音データと類似度が高い音楽の情報を検索する検索ステップと、検索ステップの処理により検索された音楽の情報を出力する出力ステップとを含むことを特徴とする。
【００１９】
本発明のプログラムは、ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置のプログラムであって、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶するように制御する記憶制御ステップと、入力された検索データの音データの周波数スペクトルの特徴量と、記憶制御ステップの処理により記憶された周波数スペクトルの特徴量を比較して、検索データの音データと類似度が高い音楽の情報を検索するように制御する検索制御ステップと、検索制御ステップの処理により検索された音楽の情報の出力を制御する出力制御ステップとをコンピュータに実行させることを特徴とする。
【００２０】
本発明の記録媒体は、ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置のプログラムが記録される記録媒体であって、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶するように制御する記憶制御ステップと、入力された検索データの音データの周波数スペクトルの特徴量と、記憶制御ステップの処理により記憶された周波数スペクトルの特徴量を比較して、検索データの音データと類似度が高い音楽の情報を検索するように制御する検索制御ステップと、検索制御ステップの処理により検索された音楽の情報の出力を制御する出力制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
【００２１】
本発明の情報処理装置および方法、並びにプログラムにおいては、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量が生成されて記憶され、入力された検索データの音データの周波数スペクトルの特徴量と、記憶された周波数スペクトルの特徴量が比較されて、検索データの音データと類似度が高い音楽の情報が検索され、検索された音楽の情報が出力される。
【発明の効果】
【００２２】
本発明によれば、音楽を検索することができる。特に、所望の音楽を迅速かつ確実に検索することができる。
【発明を実施するための最良の形態】
【００２３】
以下に本発明の実施の形態を説明するが、本明細書に記載した発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が明細書に記載されていることを確認するためのものである。従って、明細書には記載されているが、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２４】
さらに、この記載は、明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出願、または追加される発明の存在を否定するものではない。
【００２５】
本発明により音楽検索システムが提供される。この音楽検索システムは、ネットワークを介して相互に接続される第１の情報処理装置（例えば、図１の検索装置１）と第２の情報処理装置（例えば、図１のサーバ３）からなる音楽検索システムであって、前記第１の情報処理装置は、前記第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録する記録手段（例えば、図２の音バッファ６２）と、検索すべきデータの生成を指令する指令手段（例えば、図１の検索ボタン４１）と、前記指令手段により検索すべきデータの生成が指令された場合、前記記録手段により記録されている音データから検索データを生成する生成手段（例えば、図３のクエリ作成部９１）と、前記生成手段により生成された前記検索データを、前記第２の情報処理装置に前記ネットワークを介して送信する送信手段（例えば、図３の検索実行部９２）とを備え、前記第２の情報処理装置は、複数の音楽の周波数スペクトルの特徴量を記憶する記憶手段（例えば、図４の音楽ＤＢ１０３）と、前記第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、前記記憶手段により記憶されている周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索する検索手段（例えば、図４の検索部１０２）と前記検索手段により検索された音楽の情報を提供する提供手段（例えば、図４の通信部１１０）とを備える。
【００２６】
本発明により音楽検索方法が提供される。この音楽検索方法は、ネットワークを介して相互に接続される第１の情報処理装置（例えば、図１の検索装置１）と第２の情報処理装置（例えば、図１のサーバ３）からなる音楽検索システムの音楽検索方法であって、前記第１の情報処理装置は、前記第１の情報処理装置の周囲の音のデータであって、予め設定された時間分の最新の音データを記録し、検索すべきデータの生成が指令されたか否かを判定し（例えば、図２１のステップＳ１０１）、検索すべきデータの生成が指令された場合、記録されている前記音データから検索データを生成し（例えば、図２１のステップＳ１０３）、生成された前記検索データを、前記第２の情報処理装置に前記ネットワークを介して送信し（例えば、図２２のステップＳ１２３）、前記第２の情報処理装置は、複数の音楽の周波数スペクトルの特徴量を記憶し（例えば、図６の類似検索データ作成処理）、前記第１の情報処理装置から送信された検索データの音データの周波数スペクトルの特徴量と、記憶されている周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索し（例えば、図２４のステップＳ１４３）、検索された音楽の情報を提供する。
【００２７】
本発明により情報処理装置が提供される。この情報処理装置は、複数の音楽の周波数スペクトルの特徴量を記憶する記憶手段（例えば、図５のツリーインデックスＤＢ１３４）と、入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶手段に記憶されている周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索する検索手段（例えば、図４の検索部１０２）と、前記検索手段により検索された音楽の情報を提供する提供手段（例えば、図４の通信部１１０）とを備える。
【００２８】
この情報処理装置は、複数の音楽の音データを取得し、前記音データの周波数に基づいて、複数のベクトル（例えば、図９のベクトル列２０１）を生成するベクトル生成手段（例えば、図５のベクトル生成部１３１）と、前記ベクトル生成手段により生成された複数のベクトルをニューラルネットワークの自己組織化マップに入力し、自己組織化マップの出力層のクラスタ情報に基づいて、前記音楽の音データのクラスタ列（例えば、図１９のクラスタ列４２１）を生成するクラスタ生成手段（例えば、図５の分類部１３２）とを備え、前記クラスタ列を前記周波数スペクトルの特徴量として、前記記憶手段に記憶するようにすることができる。
【００２９】
この情報処理装置は、前記クラスタ生成手段が、前記自己組織化マップ内のニューロン間の距離（例えば、図１５の距離２７２−２と２７２−３）に基づいて、前記自己組織化マップの出力層（例えば、図１８の出力層３７１）を複数のクラスタ（例えば、図１８のクラスタ３９１乃至３９３）に分割するようにすることができる。
【００３０】
この情報処理装置は、前記クラスタ生成手段により生成されたクラスタ列に基づいて、木構造のインデックス情報を生成するインデックス生成手段（例えば、図５のインデックスデータ制御部１３３）をさらに備え、前記インデックス情報に基づいて、前記音楽の情報が特定されるようにすることができる。
【００３１】
この情報処理装置は、前記検索手段が、前記検索データの音データに基づいて周波数スペクトルを生成するスペクトル生成手段（例えば、図２３の周波数変換部５８１）と、前記スペクトル生成手段に生成された周波数スペクトルに基づいて、複数のベクトルを生成し、検索する対象となる音楽の音データ（例えば、図２７の検索対象候補データ６２１−１と６２１−２）を生成する検索対象データ生成手段（例えば、図２３の検索候補絞り込み部５８４）とを備えるようにすることができる。
【００３２】
この情報処理装置は、前記検索対象データ生成手段が、前記複数のベクトルのクラスタ列に基づくインデックス情報を求め、求めたインデックス情報に基づいて、前記音楽の情報（例えば、図２７のスタックの情報メモリ５０４に記憶される情報）を取得し、取得した音楽の情報に基づいて、前記検索する対象となる音データを生成するようにすることができる。
【００３３】
この情報処理装置は、前記検索手段が、前記検索データの音データと、前記検索対象データ生成手段により生成された音データを比較して、前記検索データの音データと、前記検索対象データ生成手段により生成された音データの類似度を表す評価値を演算する演算手段（例えば、図２３のパターンマッチング部５８２）と、前記演算手段により演算された評価値が予め設定された基準を満足する前記音データを選択する選択手段（例えば、図２３のスコアソート部５８３）とをさらに備えるようにすることができる。
【００３４】
この情報処理装置は、前記検索対象データ生成手段が、前記演算手段により演算された評価値が予め設定された基準を満足する前記音データがない場合、前記インデックス情報に基づいて、新たな音楽の情報（例えば、図２７のスタックのポインタメモリ５０５に記憶されるポインタ）を取得し、取得された音楽の情報に基づいて、新たに検索する対象となる音楽の音データを生成する（例えば、図２８のステップＳ１８７の処理）ようにすることができる。
【００３５】
本発明により情報処理方法が提供される。この情報処理方法は、ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置（例えば、図１のサーバ３）の情報処理方法であって、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶する記憶ステップ（例えば、図６の類似データ作成処理）と、入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶ステップの処理により記憶された周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索する検索ステップ（例えば、図２４のステップＳ１４３）と、前記検索ステップの処理により検索された音楽の情報を出力する出力ステップ（例えば、図２４のステップＳ１４５）とを含む。
【００３６】
本発明によりプログラムが提供される。このプログラムは、ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置（例えば、図１のサーバ３）のプログラムであって、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶するように制御する記憶制御ステップ（例えば、図６の類似データ作成処理）と、入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶制御ステップの処理により記憶された周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索するように制御する検索制御ステップ（例えば、図２４のステップＳ１４３）と、前記検索制御ステップの処理により検索された音楽の情報の出力を制御する出力制御ステップ（例えば、図２４のステップＳ１４５）とをコンピュータに実行させる。
【００３７】
本発明により記録媒体が提供される。この記録媒体には、ネットワークを介して他の情報処理装置と接続され、複数の音楽の情報を記憶する情報処理装置（例えば、図１のサーバ３）のプログラムが記録される記録媒体であって、記憶されている音楽の情報に基づいて、周波数スペクトルの特徴量を生成して記憶するように制御する記憶制御ステップ（例えば、図６の類似データ作成処理）と、入力された検索データの音データの周波数スペクトルの特徴量と、前記記憶制御ステップの処理により記憶された周波数スペクトルの特徴量を比較して、前記検索データの音データと類似度が高い音楽の情報を検索するように制御する検索制御ステップ（例えば、図２４のステップＳ１４３）と、前記検索制御ステップの処理により検索された音楽の情報の出力を制御する出力制御ステップ（例えば、図２４のステップＳ１４５）とをコンピュータに実行させるプログラムが記録される。
【００３８】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、本発明を適用した音楽検索システムの構成例を示す図である。この構成例においては、インターネットなどに代表されるネットワーク４を介して、サーバ３と基地局２が接続されている。基地局２と検索装置１とは、無線により接続されており、検索装置１は、基地局２とネットワーク４を介してサーバ３と通信を行う。
【００３９】
例えば、PDA（Personal  Digital  Assistants）で構成される検索装置１の上部には、基地局２と無線による通信を行う通信アンテナ２１、および検索装置１の周辺の音を入力（収音）するマイクロフォン２２が設けられている。マイクロフォン２２は、必要に応じて検索装置１から取り外せるように構成されている。
【００４０】
検索装置１の右下には、操作パネルなどにより構成される入力インタフェース２３が設けられ、その左側には、音声信号に基づいて音を発生するスピーカ２４が設けられている。入力インタフェース２４には、音楽の検索を行うとき操作される検索ボタン４１が設けられている。
【００４１】
入力インタフェース２３の上方には、例えば、LCD（Liquid Crystal Display）により構成される表示部２５が設けられている。ユーザが入力インタフェース２３を操作して音楽の検索を指令すると、検索結果が表示部２５に表示される。また、表示部２５には必要に応じてGUI（Graphical User Interface）が表示され、ユーザは、GUIに基づいて入力インタフェース２３を操作し、必要に応じて、表示部２５に音楽の情報を表示し、スピーカ２４から音を出力させる。
【００４２】
図２は、検索装置１の構成例を示すブロック図である。マイクロフォン２２は、検索装置１の周囲の音を収集し、その音のデータを音バッファ６２により入力する。音バッファ６２は、マイクロフォン２２から入力された音データを予め設定された時間分だけ蓄積する。入力部６１は、音バッファ６２を制御して、音データを読み出し、バス６３を介して各部に出力する。出力部６４は、スピーカ２４または表示部２５へのデータの出力を制御する。クエリバッファ６５は、検索を行うとき必要な音データなどで構成されるクエリを蓄積し、CPU（Central  Processing  Unit）６６の制御に基づいて、クエリを各部に出力する。
【００４３】
CPU６６は、バス６３を介して各部を制御し、必要に応じて、RAM（Random Access Memory）６７にデータを一時的に記憶する。ROM（Read Only Memory）６８には、検索装置１を動作させるために必要なプログラム、初期値などのデータが記憶される。通信部８０は、通信アンテナ２１と接続されており、CPU６６の制御に基づいて、データの送受信を行う。
【００４４】
図３は、図２のCPU６６の機能的構成例を示すブロック図である。クエリ作成部９１は、音楽を検索するとき必要なデータであるクエリを作成する。クエリは、検索ボタン４１が押下されたときの時刻を表す情報、音バッファ６２に記憶されている音データ、検索装置１を特定するＩＤ情報などにより構成される。検索実行部９２は、クエリをサーバ３に送信し、サーバ３により検索された音楽の情報を取得する。
【００４５】
図４は、サーバ３の構成例を示すブロック図である。入力部１０１は、キーボード、マウスなどにより構成され、ユーザの操作入力を受け付ける。検索部１０２は、検索装置１から送信されたクエリに基づいて、音楽情報の検索を行う。音楽ＤＢ（データベース）１０３には、各種の音楽がA/D変換されディジタルデータとして記憶されており、音楽ＤＢ１０３に記憶されたデータは、バス１０６を介して各部へ提供される。
【００４６】
類似検索データ作成部１０４は、クエリに基づいて、音楽データを検索するとき、検索される音楽データを絞り込むためのデータ（類似検索データ）の作成を行う部分であり、音楽ＤＢ１０３に記憶される音楽データを、予め周波数ベクトルに変換し、その周波数ベクトルに基づいて、ＳＯＭ（Self Organization Maps：自己組織化マップ）を生成する。そして、自己組織化マップに基づいて、音楽データをクラスタ列に分類し、クラスタ列に対応するツリーインデックスデータベースを類似検索データとして作成する。なお、ツリーインデックスデータベースについては後述する。
【００４７】
また、クエリに基づいて、音楽データの検索を行う場合、類似検索データ作成部１０４は、検索部１０２から供給されるクエリの周波数ベクトルに基づいて、ツリーインデックスデータベースを検索し、ツリーインデックスに対応するスタックに記憶される情報を検索部１０２に提供する。
【００４８】
CPU（Central  Processing  Unit）１０７は、ROM（Read  Only  Memory）１０９に記憶されているプログラム、または図示せぬハードディスクなどの記憶部からRAM（Random  Access  Memory）１０８にロードされたプログラムに従って各種の処理を実行する。RAM１０８にはまた、CPU１０７が各種の処理を実行する上において必要なデータなども適宜記憶される。通信部１１０は、ネットワーク４を介しての通信処理を行う。
【００４９】
図５は、類似検索データ作成部１０４の機能的構成例を示すブロック図である。ベクトル生成部１３１は、入力された音楽データを周波数ベクトルに変換し、分類部１３２に供給する。
【００５０】
分類部１３２は、入力された周波数ベクトルに基づいて自己組織化マップ（ＳＯＭ）を生成する。上述したように、本発明においては、ＳＯＭを用いて、音楽データを分類する。ＳＯＭは、ニューラルネットワークにより構成され、入力層において入力されたベクトルに対応して、出力層の状態を変化させるアルゴリズムであり、その詳細については、例えば、「自己組織化マップ」、Ｔ．コホネン  著、徳高平蔵／岸田悟／藤村喜久郎  訳、シュプリンガーフェアラーク東京出版、「自己組織化マップの応用−多次元情報の２次元可視化」、徳高平蔵／岸田悟／藤村喜久郎  著、海文堂などに記載されている。また、分類部１３２は、生成されたＳＯＭをクラスタに分類し、分類されたクラスタを特定する情報をインデックスデータ制御部１３３に供給する。
【００５１】
インデックスデータ制御部１３３は、その音楽データの周波数ベクトルに基づくクラスタ列を生成し、クラスタ列をツリー状のインデックスデータとして、ツリーインデックスＤＢ（データベース）１３４に記憶する。また、インデックスデータ制御部１３３は、音楽データの検索を行う場合、検索部１０２から供給されるクエリに基づいて、ツリーインデックスを検索し、検索結果を検索部１０２に提供する。
【００５２】
次に、図６を参照して、類似検索データ生成処理について説明する。この処理は、サーバ３において、所定の周期（例えば、１日毎）で実行されるようにしてもよいし、サーバ３のユーザ（管理者）からの指令に基づいて実行されるようにしてもよい。
【００５３】
ステップＳ１において、ベクトル生成部１３１は、図７を参照して後述するベクトル生成処理を実行する。これにより、音楽データに基づいて、周波数ベクトルが生成される。ステップＳ２において、分類部１３２は、図１０を参照して後述するクラスタ分類処理を実行する。これにより、周波数ベクトルに基づいてクラスタが特定される。ステップＳ３において、インデックスデータ制御部１３３は、ステップＳ３で特定されたクラスタに基づいて、図１７を参照して後述するクラスタインデックスツリー作成処理を実行する。これにより、その音楽データのクラスタ列が求められ、クラスタ列に対応するツリーインデックスが作成される。
【００５４】
次に、図７を参照して、図６のステップＳ１のベクトル生成処理の詳細について説明する。ステップＳ２１において、ベクトル生成部１３１は、音楽ＤＢ１０３に記憶されている音楽データを周波数スペクトルに変換する。ステップS２２において、ベクトル生成部１３１は、ステップS２１で得られた周波数スペクトルに基づいて、ベクトルを生成する。
【００５５】
図８と図９を参照して、さらに詳しく説明する。いま、ステップS２１で変換される音楽データは、図８に示されるような波形をもつものとする。同図においては、横軸を時間、縦軸を振幅として音楽データの波形が示されている。この波形が所定の長さの単位としての時間区分（t1，t2,・・・，tn）で分割され、周波数スペクトルが生成される。
【００５６】
図９は、図８の波形の中の時間区分t1の部分から生成された周波数スペクトルを示す図である。同図においては、横軸を周波数、縦軸を出力（レベル）とし、周波数スペクトルが示されている。そして、ステップS２２において、周波数スペクトルが所定の周波数単位（例えば、f1,f2,・・・fm）でサンプリング、量子化され、ベクトル２０１が生成される。この例では、時間区分t1のベクトル２０１は、周波数f1,f2,・・・fmの出力値（大きさ）により構成されるｍ次元のベクトルとなる。同様に、図８の波形の中の時間区分t２,t3,・・・tnの部分からも周波数スペクトルが生成され、その周波数スペクトルに基づいてｎ個のベクトルが生成される。
【００５７】
このようにして、音楽データに基づいて、ベクトル（周波数のベクトル）が生成される。
【００５８】
次に、図１０を参照して、図６のステップS２のクラスタ分類処理について説明する。ステップS４１において、分類部１３２は、ベクトル生成部１３１により生成されたベクトルを初期状態のマップ（ニューラルネットワーク）に入力する。図１１に初期状態のマップの例を示す。ここで、マップは、複数のニューロンにより構成され、図中、矢印を円で囲んだ図形がそれぞれニューロンを表し、各ニューロンは、ベクトル生成部１３１により生成されたベクトルと同じ次元（いまの場合、ｍ次元）のベクトルを保持する。初期状態のマップにおいては、各ニューロンのベクトルが、できるだけばらばらになるように（ベクトル間の距離が遠くなるように）構成される。
【００５９】
ステップS４２において、分類部１３２は、自己組織化マップ（ＳＯＭ）を生成する。このとき、ＳＯＭの生成は、次のようにして行われる。図１２Ａにおいては、ステップＳ４１において入力されるベクトルが、ニューロンと同様に、矢印を円で囲んだ図形として表示されている。図１２Ｂには、初期状態のマップの中で、図１２Ａに示される入力ベクトルと距離が最も近いベクトルを有するニューロン２３１が、図中中央付近に示されている。この例では、図中矢印の向きが、入力ベクトルの矢印の向きに最も近い方向を示しているニューロンのベクトルが、もっとも距離が近いベクトルとする。なお、実際には、ベクトル間の距離は、ユークリッド距離により表される。
【００６０】
そして、分類部１３２は、ニューロン２３１（入力ベクトルと最も距離が近いベクトルを有するニューロン）およびその周辺のニューロンを抽出し、それらのニューロンの各ベクトルに対して、予め設定された所定の修正率を掛けて、ニューロン２３１およびその周辺のニューロンの各ベクトルと、入力ベクトル２３１との距離が近くなるようにベクトル（ニューロン）の修正を行う。図１２Ｃにおいては、ニューロン２３１を中央に含む図中六角形でしめされた領域２５１内のニューロンが、周辺のニューロンとして選択され、領域２５１内のニューロンのベクトル（図中の矢印の向き）が入力ベクトルと距離が近くなるように修正されている。
【００６１】
この例では、領域２５１には、ニューロン２３１の周辺の６個のニューロンが含まれているが、実際には、もっと多くのニューロンを含む領域が抽出され、その領域内のニューロンが修正される。このように、ニューロンの修正が複数回行われる（学習される）ことにより、ＳＯＭが生成される。
【００６２】
例えば、ニューロンの修正が３回行われる場合、図１３に示されるように、第１回目の修正では、ニューロン２３１を中心とした六角形の領域２５１−１が抽出され、領域２５１−１内のニューロンが修正される。第２回目の修正では、ニューロン２３１を中心として、領域２５１−１より小さい領域２５１−２が抽出され、領域２５１−１内のニューロンが修正され、第３回目の修正では、ニューロン２３１を中心とする、領域２５１−２より小さい領域２５１−３内のニューロンが修正される。このように、修正回数（図１３下のグラフの横軸）が増える毎に、抽出される領域の範囲（図１３下のグラフの縦軸）は小さくなる。
【００６３】
また、ニューロン２３１およびその周辺のニューロン対して、用いられる修正率も、やはり、修正回数に対応して（修正回数が多くなるにつれて）小さくなるように設定されている。なお、修正率の値が大きいほどベクトルは大きく修正される。図１４は、修正回数と、修正率の関係の例を示す図である。同図においては、縦軸を修正率、横軸を修正回数として、修正率の変化が示されており、修正回数が増えるのに従って、修正率は小さくなるように変化している。
【００６４】
以上の処理が、各時間区分ｔ１乃至ｔｎの各ベクトルについて行われる。各区分のベクトルをどの位置のセルに対応付けるかは、予め決められている。
【００６５】
図１０に戻って、ステップＳ４３において、分類部１３２は、ＳＯＭ内のニューロンを分析し、ステップＳ４４において、ＳＯＭをクラスタに分ける。クラスタは、閾値以下の距離の任意の数のニューロンにより構成される。
【００６６】
図１５と図１６を参照してさらに詳しく説明する。図１５は、ステップＳ４２の処理により生成されたＳＯＭの別の例を示す図である。この例では、図１１または図１２の場合と異なり、図中、点線により区切られた六角形の領域が、1つのニューロンを表し、各ニューロンのベクトル間の距離は、六角形の領域の中心にある丸印間の距離により表される。ステップＳ４３においては、隣接する各ニューロン（ベクトル）間の距離が分析される。そして、ニューロン間の距離が予め設定された閾値より大きい場合、ニューロン間に境界線分が作成される。
【００６７】
例えば、図１５において、ニューロン２７１−１とそれに隣接する６個のニューロン２７１−２乃至２７１−７との距離うち、ニューロン２７１−２とニューロン２７１−１との距離２７２−２と、ニューロン２７１−３とニューロン２７１−１との距離２７２−３が閾値より大きい場合、ニューロン２７１−１とニューロン２７１−２との間、およびニューロン２７１−１とニューロン２７１−３との間に、図中太い線で示されるように境界線分２９１が作成される。ニューロン２７１−１とニューロン２７１−４乃至２７１−７の距離２７２−４乃至２７２−７は、閾値以下であるので、それらの間には境界線分は作成されない。
【００６８】
図１６は、図１５を参照して上述したようにして、各ニューロン間の距離が分析され、境界線分が作成されたＳＯＭの例を示す図である。同図においては、図中太い線で境界線分３１１が示されている。そして、境界線分３１１に基づいて、４つのクラスタが設定される。すなわち、図中、境界線分３１１で囲まれた領域がクラスタ３３１とされ、図中、境界線分３１１の右上の領域がクラスタ３３３とされ、境界線分３１１の左の領域がクラスタ３３２とされ、境界線分３１１の下の領域がクラスタ３３４とされる。ステップＳ４４においては、このように、ＳＯＭが複数のクラスタに分けられる。
【００６９】
次に、図１７を参照して、図６のステップＳ３のクラスタ列インデックスツリー作成処理について説明する。ステップＳ６１において、インデックスデータ制御部１３３は、ベクトルに対応するクラスタ列を求める。図８と図９を参照して上述したように、音楽データは、所定の時間区分（t1,t2,・・・tn）に分割され、各時間区分に対応する複数の周波数ベクトルが生成されている。ステップＳ６１においては、この複数の周波数ベクトルが、図１０を参照して上述したクラスタ分類処理により、クラスタ分類されたＳＯＭに入力される。
【００７０】
いま、図１８に示されるように、例えば、最初の時間区分t1に対応する周波数ベクトル３５１と最も距離が近いベクトルをもつニューロンが、ニューロン３７２である場合、ＳＯＭの入力層において、ベクトル３５１（x1,x2,・・・xm）が入力されると、出力層３７１において、ニューロン３７２が発火する。この例では、出力層３７１は、クラスタ３９１乃至３９３の３つのクラスタに分類されており、発火したニューロン３７２は、クラスタ３９１に含まれている。このとき、クラスタ３９１に対応するクラスタＩＤ（例えば、Ｃ１）が取される。なお、クラスタＩＤは、各クラスタに対して予め設定されたユニークなＩＤである。
【００７１】
次に、第２番目の時間区分t2に対応する周波数ベクトルが入力された場合、ニューロン３７３が発火するものとすると、ニューロン３７３は、クラスタ３９２に含まれているので、クラスタ３９２に対応するクラスタＩＤ（例えば、Ｃ２）が取得される。このようにして、各時間区分のベクトルに対応するクラスタＩＤが取得される。同様の処理が繰り返されることにより図１９にしめされるように、時間区分t1,t2,・・・，ｔnに対応する周波数ベクトルのベクトル列４１１に対応して、クラスタ列４２１（C1,C2,・・・Ｃｎ）が求められる。
【００７２】
図１７に戻って、ステップS６２において、インデックスデータ制御部１３３は、ステップS６１で求められたクラスタ列をツリーに入力する。ここで、ツリーインデックスＤＢ１３４には、クラスタ列の組み合わせの分だけ、木構造のインデックスデータ（ツリー）が予め生成されているものとする。例えば、クラスタの数がｋ個、入力ベクトルの数がｎ個である場合、横方向にｋ個、縦方向にｎ個の木構造のインデックスデータが予め生成されている。ステップＳ６３において、インデックスデータ制御部１３３は、ツリーに対応するスタックに音楽データに関する情報を入力する。
【００７３】
図２０を参照して、さらに詳しく説明する。いま、ステップS６１の処理により、音楽データ５０１に基づいて、周波数ベクトルのベクトル列が生成され、そのベクトル列に対応するクラスタ列５０２が求められているものとする。クラスタ列５０２は、ｎ個のクラスタＩＤ（ｃ１,ｃ２，・・・ｃ２）により構成されている。クラスタ列５０２がツリー５０３に入力されると、クラスタＩＤに基づいて、ツリー５０３が、図中斜線で示されるように、Ｃ１，Ｃ２，・・・Ｃ２と辿られる。そして、最後のクラスタＩＤＣ２（図中縦方向にｎ番目のクラスタＩＤ）に対応してスタックが設けられている。すなわち、ツリーは、上述したように、横方向にｋ個、縦方向にｎ個の木構造のインデックスデータなので、ｋのｎ乗のインデックスデータが存在し、そのインデックスに対応してスタックが特定される。
【００７４】
いま、クラスタ列５０２のクラスタＩＤに基づいて、ツリー５０３が、Ｃ１，Ｃ２，・・・Ｃ２と辿られたインデックスを、第ｉ番目のインデックスとすると、第ｉ番目のインデックスに対応するスタックＳiの情報メモリ５０４に、音楽データ５０１の情報Ｐｂが入力される。情報Ｐｂは、音楽データ５０１において、その開始位置から、クラスタ列５０２の先頭位置までの距離（時間）ｐｄと、音楽データ５０１の楽曲ＩＤが含まれている。また、情報Pbに、音楽データ５０１のアドレス（音楽ＤＢ１０３上のアドレス）、曲名などが必要に応じて入力されるようにしてもよい。
【００７５】
このように、音楽データ５０１の中で、その開始位置から、クラスタ列の先頭位置までの距離（時間）ｐｄを少しずつずらし、それぞれクラスタ列が求められる。そして各クラスタ列のクラスタＩＤに基づいて、ツリー５０３が辿られて、ｎ番目のクラスタＩＤに対応付けられた番号がインデックスとされ、そのインデックスのスタックに音楽データ５０１の情報が入力される。すなわち、音楽データ５０１の中の任意の部分（時刻）を開始点とするクラスタ列が全て求められ、クラスタ列に対応するインデックスのスタックに音楽データ５０１の情報（音楽データ５０１の開始位置から、そのクラスタ列の先頭位置までの距離、楽曲ＩＤなど）が入力される。
【００７６】
数多くの音楽データのクラスタ列が求められ、クラスタ列に対応するインデックスのスタックにその音楽データの情報が入力される。
【００７７】
このようにして、多くの音楽のインデックスとそのインデックスに対応するスタックの情報が、ツリーインデックスＤＢ１３４に記憶される。このように、音楽データを予めクラスタ列に分類しておくことで、所望の音楽データを検索するとき、検索候補を絞り込んで、迅速に検索することができる。また、ツリーインデックスＤＢ１３４には、音楽データの中の任意の部分（時刻）を開始点として求められたクラスタ列に対応するように、音楽データの情報が記憶されているので、所望の音楽を検索するとき、例えば、その音楽を検索するためのクエリの音データ（音片）が、音楽の途中の部分から始まっている場合でも、簡単に検索候補を絞り込むことができる。
【００７８】
また、スタックSｉのポインタメモリ５０５には、ツリー５０３が、Ｃ１，Ｃ２，・・・Ｃ２と辿られた場合と、その要素が１つだけ異なるスタックへのポインタが記憶される。
【００７９】
スタックSｉと、その要素が１つだけ異なるスタックの例としては、例えば、図２０のツリー５０３が、最後のクラスタＩＤ（要素）だけが異なるように、Ｃ１，Ｃ２，・・・Ｃ１と辿られたインデックスのスタックであるスタックＳｉ-1がある。ポインタメモリ５０５の中には、スタックＳｉ-1のように、スタックSｉと、その要素（クラスタＩＤ）が１つだけ異なる複数のスタックのポインタが記憶される。このようにポインタを記憶することにより、インデックスデータ制御部１３３は、スタックの情報を読み出すとき、その都度クラスタ列をツリーに入力しなくても、例えば、スタックＳｉのポインタメモリ５０５のポインタに基づいて、スタックＳｉ-1に記憶される情報を読み出すことができ、その結果、図２４を参照して後述する音楽データ検索処理において、音楽データを迅速に検索することができる。
【００８０】
以上の処理は、サーバ３において、サービスの開始前に、事前に行われる処理である。
【００８１】
次に、図２１を参照して、検索装置１によるクエリ作成処理について説明する。この処理は、例えば、ユーザが街中で検索したい音楽を聴いたとき、検索装置１の入力インタフェース２４を操作することにより実行される。
【００８２】
ユーザは、街中で検索したい音楽を聴いたとき、検索ボタン４１を押下する。そこで、ステップＳ１０１において、クエリ作成部９１は、検索ボタン４１が押下されたか否かを判定し、検索ボタン４１が押下されたと判定されるまで待機する。検索ボタン４１が押下されたと判定されたと判定された場合、ステップＳ１０２において、クエリ作成部９１は、音バッファ６２から所定の時間分の音データを抽出し、ステップＳ１０３において、検索ボタン４１が押下された時刻（日時）を表す情報、検索装置１を特定するＩＤ情報など付与してクエリを作成し、作成したクエリをクエリバッファ６５に格納する。ここで、作成されるクエリは、上述したクラスタ列と、時間的に同じ長さの音データとする。例えば、図１９において、クラスタ列４２１は、ベクトル４１１に基づいて作成されるので、その時間的な長さは、t1＋t2＋・・・，+tnとなる。
【００８３】
なお、音バッファ６２は、マイクロフォン２２から入力された音をＡ／Ｄ変換し、音データとして常に記憶する動作を繰り返している。その結果、音バッファ６２は、直近の所定の時間分の音データを常に保持している。あるいはまた、所定の時間間隔でサンプリングが行われ、所定の時間分の音データを記憶する処理が繰り返される。
【００８４】
このようにして、ユーザが検索ボタン４１を操作すると、音楽を検索するために必要なデータであるクエリが作成される。
【００８５】
次に、図２２を参照して、検索装置１による検索実行処理について説明する。この処理は、クエリバッファ６５にクエリが所定の数（例えば５個）だけ蓄えられたとき、実行されるようにしてもよいし、ユーザが、入力インタフェース２３を操作したとき実行されるようにしてもよい。
【００８６】
ステップＳ１２１において、検索実行部９２は、サーバ３との通信が可能であるか否かを判定し、サーバ３との通信が可能であると判定されるまで待機する。ステップＳ１２１において、サーバ３との通信が可能であると判定された場合、ステップＳ１２２に進み、検索実行部９２は、クエリバッファ６５の中にクエリがあるか否かを判定する。
【００８７】
ステップＳ１２２において、クエリバッファ６５の中にクエリがないと判定された場合、処理は、ステップＳ１２１に戻る。ステップＳ１２２において、クエリバッファ６５の中にクエリがあると判定された場合、ステップＳ１２３に進み、検索実行部９２は、バッファ６５内のクエリを、ネットワーク４を介して、サーバ３に送信する。その結果、図２４を参照して後述するようにサーバ３において、ステップＳ１２３で送信されたクエリに基づいて、音楽の検索が行われる。
【００８８】
ステップＳ１２４において、検索実行部９２は、ネットワーク４を介して、サーバ３にアクセスし、サーバ３に検索結果があるか否か（サーバ３が検索結果を出力したか否か）を判定し、検索結果があると判定されるまで（すなわち、サーバ３で音楽の検索が終了するまで）待機する。ステップＳ１２４において、検索結果があると判定された場合、ステップＳ１２５に進み、検索実行部９２は、検索結果をサーバ３から取得し、ステップＳ１２６において、取得済の検索結果をサーバ３のデータから削除する。そして、ステップＳ１２７において、検索実行部９２は、ステップＳ１２５で取得された検索結果を表示部２５に表示する。その後、処理はステップＳ１２１に戻り、それ以降の処理が繰り返される。
【００８９】
このようにして、音楽の検索が行われる。その結果、ユーザは、例えば、街中で偶然音楽を聞いた場合、検索ボタン４１を操作するだけで、その音楽の情報（曲名、アーティスト名など）を取得することができる。
【００９０】
次に、サーバ３における音楽情報の検索について説明する。図２４は、図４の検索部１０２の機能的構成例を示すブロック図である。検索装置１から送信されたクエリは、ネットワーク４を介してサーバ３で受信され、クエリ取得部５８０が、クエリの中の音データである音片を取得する。音片は周波数変換部５８１に入力され、周波数スペクトルに変換され、検索候補絞り込み部５８４とパターンマッチング部５８２に出力される。
【００９１】
検索候補絞り込み部５８４は、周波数変換部５８１から供給された周波数スペクトルに基づいて、類似データ作成部１０４から検索候補データを取得する。すなわち、検索候補絞り込み部５８４は、音楽ＤＢ１０３に記憶されている音楽データの中から、パターンマッチング部５８２に、マッチングを行わせるデータを絞り込む（検索対象候補データを生成する）。
【００９２】
パターンマッチング部５８２は、検索候補絞込み部５８４から検索すべきデータ（検索対象候補データ）を取得し、周波数スペクトルに基づいて、マッチングを行い、クエリの音片と検索候補絞込み部５８４から取得した検索対象候補データのマッチングを行い、類似度を表す評価値を演算し、演算した結果をスコアソート部５８３に出力する。なお、この例の場合、評価値は、類似度が高いほど小さい値とされる。
【００９３】
スコアソート部５８３は、パターンマッチング部５８２から取得した検索対象候補データの評価値をソートして、閾値以下となった検索対象候補データを出力する。
【００９４】
勿論、評価値は、類似度が高いほど大きい値とすることもできる。この場合は、閾値以上のものが出力される。すなわち、所定の基準が満足されたもの（類似度が高いもの）が選択され、出力される。
【００９５】
次に、図２４を参照して、サーバ３による音楽データ検索処理について説明する。この処理は、検索装置１から、基地局２とネットワーク４を介して送信されてきたクエリを受信したとき実行される。
【００９６】
ステップＳ１４１において、クエリ取得部５８０は、クエリを取得し、音片を周波数変換部５８１に出力する。
【００９７】
ステップＳ１４２において、検索候補絞り込み部５８４は、図２５を参照して後述する検索対象候補作成処理を実行する。これにより、音片に基づいて、クラスタ列が求められ、クラスタ列に基づいて、検索対象候補データが作成される。
【００９８】
ステップＳ１４３において、パターンマッチング部５８２は、図２８を参照して後述する検索候補データチェック処理を実行する。これにより、検索対象候補データの音データと音片の類似度（評価値）が求められ、検索結果出力される。ステップＳ１４４において、スコアソート部５８３は、検索結果の評価値に基づいて、結果リストをソートする。ステップＳ１４５において、スコアソート部５８３は、ステップＳ１４４でソートされた結果リストを出力する。
【００９９】
このようにして、サーバ３において、検索装置１から送信されたクエリに基づいて、音楽が検索される。
【０１００】
次に、図２５を参照して、図２４のステップＳ１４２の検索対象候補作成処理の詳細について説明する。ステップＳ１６１において、周波数変換部５８１は、クエリの音片を周波数スペクトルに分解して検索候補絞り込み部５８４に出力する。ステップＳ１６２において検索候補絞り込み部５８４は、ステップＳ１６１の処理で得られた周波数スペクトルに基づいてベクトルを生成する。その結果、図８と図９を参照して上述した場合と同様に、所定の時間区分に対応する複数のベクトル（ベクトル列）が生成される。
【０１０１】
ステップＳ１６３において、検索候補絞り込み部５８４は、ステップＳ１６２で生成されたベクトル列を類似検索データ作成部１０４に出力する。類似検索データ作成部１０４は、図１８と図１９を参照して上述した場合と同様に、ベクトル列に対応するクラスタ列を求める。ステップＳ１６４において、類似検索データ作成部１０４は、クラスタ列に基づいてツリーを検索して、インデックスを求め、インデックスのスタックの内容を読み出し、検索候補絞り込み部５８４に出力する。検索候補絞り込み部５８４は、類似検索データ作成部１０４から供給されたスタックの内容に基づいて、検索対象候補データを生成する。
【０１０２】
図２６と図２７を参照して、以上の処理をさらに詳しく説明する。図２６には、縦軸を振幅、横軸を時間とし、クエリの音片の波形６０１が示されている。ステップＳ１６１では、波形６０１が所定の時間区分で分割され、それぞれの時間区分の周波数スペクトルが生成される。そして、ステップＳ１６２で、各周波数スペクトルに対応する複数のベクトル（ベクトル列）が生成され、ステップＳ１６３で、各ベクトルに対応するクラスタ列６０２（Ｃ１,Ｃ２，・・・Ｃ２）が求められる。
【０１０３】
ステップＳ１６４では、クラスタ列６０２に基づいて、ツリー５０３が検索される。これにより、図２７に示されるように、ツリー５０３が、図中斜線で示されるようにＣ１，Ｃ２，・・・Ｃ２と辿られて、スタックＳｉのインデックスが得られ、スタックＳｉの情報メモリ５０４とポインタメモリ５０５の内容が読み出される。この例では、情報メモリ５０４には先頭からの時間を表す情報ＰｂとＰｃが記憶されている。なお、ポインタメモリ５０５の内容については後述する。
【０１０４】
検索候補絞り込み部５８４は、情報Ｐｂに基づいて、音楽ＤＢを検索し、音楽データ５０１−１を取得し、音楽データ５０１−１の開始位置から時間ｐｂだけ後の、クラスタ列５０２と時間的に同じ長さとなる、データ６２１−１を抽出し、同様に、情報Ｐｃに基づいて、音楽ＤＢを検索し、音楽データ５０１−２を取得し、音楽データ５０１−２の開始位置から、時間ｐｃだけ後のクラスタ列５０２と、時間的に同じ長さとなるデータ６２１−２を抽出する。そして、データ６２１−１と６２１−２が検索対象候補データとされる。
【０１０５】
なお、この例では、クエリの音データが、基準の長さ（図１９を参照して上述したクラスタ列４２１と、時間的に同じ長さ）の音データとすることとしたが、クエリの音データが、基準の長さより長い（クラスタ列４２１より時間的に長い）データとされるようにしてもよい。この場合、例えば、ステップＳ１６２において生成されたベクトル列が、基準の長さであるクラスタ列４２１と時間的に同じ長さとなる複数のベクトル列に分解され、ステップＳ１６３で、それぞれのベクトル列に対応する複数のクラスタ列が求められる。
【０１０６】
また、クエリの音データが、基準の長さより短い（クラスタ列４２１より時間的短い）音データとされるようにしてもよい。例えば、図１９において、基準の長さ（クラスタ列４２１の時間的な長さ）は、t1＋t2＋・・・，+tnとされるのに対して、クエリの音データの長さが、t1＋t2＋・・・，+tn-1である場合、クエリの音データに基づいて生成されるクラスタ列は、n-1個のクラスタＩＤにより構成される。このような場合、例えば、ステップＳ１６３で、第ｎ番目のクラスタＩＤを任意のクラスタＩＤ（いまの場合Ｃ１，Ｃ２，・・・Ｃｋ）とするｋ個のクラスタ列が求められる。
【０１０７】
このようにして、検索対象候補データが生成される。検索されるクエリの音片に基づいて、クラスタ列を生成し、そのクラスタ列に基づいて、音楽データの中から検索対象候補データを絞り込むようにしたので、音楽ＤＢ１０３に記憶される大量の音楽データの中からクエリの音片に類似すると推定される音データを、迅速に絞り込むことができる。その結果、所望の音楽を迅速に検索することができる。
【０１０８】
次に、図２８を参照して、図２４の検索候補データチェック処理の詳細について説明する。
【０１０９】
ステップＳ１８１において、検索候補絞り込み部５８４は、ステップＳ１４２（図２４）の処理により生成された検索対象候補データの中から、１つのデータを取り出す。ステップＳ１８２において、検索候補絞込み部５８４は、データがあったか（ステップＳ１８１でデータを取得できたか）否かを判定し、データがあると判定された場合、ステップＳ１８３に進む。
【０１１０】
ステップＳ１８３において、パターンマッチング部５８２は、図２９を参照して後述するパターンマッチング処理を実行する。これにより、クエリの音片と検索対象候補データの類似度が評価値として演算される。
【０１１１】
ステップＳ１８４において、パターンマッチング部５８２は、ステップＳ１８３の処理により演算された評価値が予め設定された閾値以下か否か、すなわち類似度が高いか否かを判定し、評価値が閾値以下であると判定された場合（基準を満足する評価である場合）、ステップＳ１８５に進み、このデータの音楽情報をリストに保存する。このとき、この音楽に関連する情報（例えば、曲名、アーティスト名など）が取得され音楽情報としてリストに保存される。
【０１１２】
ステップＳ１８５の処理の後、または、ステップＳ１８４で評価値は閾値以下ではない（類似度が低い）と判定された場合、処理はステップＳ１８１に戻り、それ以降の処理が繰り返し実行される。
【０１１３】
ステップＳ１８２において、データがないと判定された場合（全てのデータのチェックが完了した場合）、検索候補絞り込み部５８４は、ステップＳ１８６に進み、リストが空か否かを判定する。ステップＳ１８６において、リストが空であると判定された場合、全ての検索対象候補データについてパターンマッチング処理を行ったが、基準を満足する評価の音楽のデータが得られなかったと考えられる。そこで、ステップＳ１８７において、検索候補絞り込み部５８４は、スタックのポインタメモリ５０５（図２７）に記憶されていたポインタに基づいて、新たな検索対象候補データを生成する。
【０１１４】
例えば、ポインタメモリ５０５には、スタックＳi-1へのポインタが記憶されており、スタックＳi-1は、クラスタ列６０２と１つだけ要素が違うクラスタ列に対応するスタックである。すなわち、クラスタ列６０２は、そのクラスタＩＤがＣ１，Ｃ２，・・・Ｃ２となるクラスタ列であるが、スタックＳi-1に対応するクラスタ列は、そのクラスタＩＤが、Ｃ１，Ｃ２，・・・Ｃ１となるクラスタ列であり、最後のクラスタＩＤ（要素）だけが異なっている。このような、クラスタ列の音楽データは、クエリの音片と類似している可能性が高いので、スタックＳi-1の情報メモリの内容に基づいて、新たな検索対象候補データが生成される。
【０１１５】
ステップＳ１８７の処理の後、処理は、ステップＳ１８１に戻り、それ以降の処理が繰り返し実行される。
【０１１６】
ステップＳ１８６において、リストは空ではないと判定された場合、処理は終了される。
【０１１７】
このようにして、検索対象候補データとクエリの音片の類似度がチェックされ、その結果がリストに保存される。全ての検索対象候補データについてパターンマッチング処理を行っても、基準を満足する評価が得られなかった場合、クエリの音片のクラスタ列と１つだけ要素が違うクラスタ列に対応するスタックに基づいて、新たに検索対象候補データが生成されるので、より確実かつ迅速に所望の音楽を検索することができる。
【０１１８】
次に、図２９を参照して、図２８のステップＳ１８３のパターンマッチング処理の詳細について説明する。
【０１１９】
ステップＳ２０１において、パターンマッチング部５８２は、クエリの音片（音データ）の周波数スペクトルを時間と周波数でメッシュ分解する。
【０１２０】
ここで、図３０乃至図３３を参照して、音片の周波数スペクトルがメッシュ分解される原理を説明する。図３０は、音片の音データの信号を、縦軸を出力レベルとし、横軸を時間として波形で示した図である。音片の音データは、周波数変換部５８１により周波数変換され、図３１に示されるような周波数スペクトルに変換される（図２５のステップＳ１６１）。この例では、横軸を時間、縦軸を周波数として、周波数スペクトルが表示されている。そして、図３１に示される周波数スペクトルが、図３２に示されるように、所定の時間（t1，t2，t3，・・・ｔｎ）と、所定の周波数（f1，f2，f3，・・・fm）を単位としてｎ×ｍ個のブロックにメッシュ分解される。
【０１２１】
図３３は、このとき生成されるメッシュデータの例を示す図である。この例では、時間区分t1，t2，・・・tnにおける各周波数の値f1，f2，・・・fmにおける値Ｆ11乃至Ｆnmが、データ数と時間または周波数の間隔を表す刻み幅とともに記述されている。
【０１２２】
図２９に戻って、ステップＳ２０２において、パターンマッチング部５８２は、ステップＳ２０１と同様にして、検索対象候補データの周波数スペクトルを時間と周波数でメッシュ分解する。これにより検索対象候補データについても、図３３と同様のメッシュデータが生成される。
【０１２３】
ステップＳ２０３において、パターンマッチング部５８２は、ステップS２０１の処理で得られたクエリの音片のメッシュデータと、ステップS２０２の処理で得られた検索対象候補データのメッシュデータをベクトルとして比較する。
【０１２４】
このとき、図３４に示されるように、検索対象候補データのメッシュデータ６２１の中から時間区分t1に対応する周波数成分（Ｆ11,F12,・・・F1m）が抽出され、所定の重み（a1，a2，・・・am）で重み付けされて、ｍ次元のベクトルであるベクトルＴ１（a1・F11，a2・F12，・・・am・F1m）が生成される。同様にクエリの音片のメッシュデータの時間区分r1に対応する周波数成分（Ｆ'11,F'12,・・・F'1m）が抽出され、やはり所定の重み（a'1，a'2，・・・a'm）で重み付けされて、ｍ次元のベクトルであるベクトルＲ１（a'1・F'11，a'2・F'12，・・・a'm・F'1m）が生成される。なお、図３４において、ベクトルＴ１とＲ１は、ｆ１、ｆ２、およびｆ３の３次元で表されているが、実際には、ｍ次元となる。
【０１２５】
同様に、検索対象候補データのメッシュデータ６２１の中から時間区分t2，t3,・・・tnに対応する周波数成分が抽出され、所定の重みで重み付けされ、ベクトルＴ２，Ｔ３，・・・Ｔｎが生成され、クエリの音片のメッシュデータの時間区分r2，r3,・・・rnに対応する周波数成分が抽出され、所定の重みで重み付けされ、ベクトルＲ２，Ｒ３，・・・Ｒｎが生成される。
【０１２６】
ステップＳ２０４において、パターンマッチング部５８２は、図３４に示されるベクトルＴ１とＲ１がなす角度α１、ベクトルＴ２とＲ２がなす角度α２、・・・ベクトルＴｎとＲｎがなす角度αｎの総和を求めて評価値を演算する。各ベクトル間の角度の総和は、次式により求められる。
【０１２７】
【数１】
2005077865.tif 000003
【０１２８】
なお、評価値は、ベクトルＴ１とＲ１の距離Ｌ１、ベクトルＴ２のＲ２距離Ｌ２、・・・ベクトルＴｎとＲｎの距離Ｌｎの総和により演算されるようにしてもよい。各ベクトル間の距離の総和は、次式により求められる。
【０１２９】
【数２】
2005077865.tif 000004
【０１３０】
このようにして、評価値が演算される。評価値は、音片の音データと検索対象候補データのそれぞれの周波数スペクトルを、時間と周波数でメッシュ分解することにより生成された複数のベクトルが、それぞれ個々に比較されることにより演算されるので、より精度の高い類似度を表すことができる。
【０１３１】
上述したように、サーバ３により検索された音楽情報は、ネットワーク４と基地局２を介して検索装置１により取得され、検索結果が表示される（図２２のステップＳ１２７）。このとき表示される画面の例を図３５乃至図３７に示す。
【０１３２】
最初に、図３５に示されるような画面が、検索装置１の表示部２５に表示される。この例では、３件の検索結果が表示されている。図３５において日付と時刻（2003/2/20  13:35:26など）の記述７０１−１乃至７０１−３は、検索ボタン４１が押下された日付と時刻を表している。入力インタフェース２３を操作して画面中央のアイコン７０２−１乃至７０２−３のいずれかをダブルクリックすると、そのクエリの音片の音データが再生され、スピーカ２４から再生された音が出力される。
【０１３３】
図中右側の「検索結果」と表示されたアイコン７０３−１乃至７０３−３は、検索結果の有無を表している。アイコン７０３−１とアイコン７０３−２は実線で表示されており、サーバ３による検索結果が、すでに検索装置１により取得されていることを表す。アイコン７０３−３は破線で表示されており、サーバ３による検索結果が、まだ検索装置１により取得されていないことを表す。検索結果の詳細を表示させるとき、ユーザは、入力インタフェース２３を操作して、アイコン７０３−１乃至７０３−３をダブルクリックする。
【０１３４】
図３６は、アイコン７０３−１がダブルクリックされた場合の画面の表示例を示す図である。この例では、検索ボタン４１が押下された日付と時刻（2003/2/20  13:35:26）の記述７１１と、クエリの音片の音データを再生するためのアイコン７１２が表示されている。
【０１３５】
また、検索された音楽情報として、曲名と歌手名の記述７１３−１と７１３−２が表示されている。検索された音楽情報が複数ある場合は、図２９を参照して上述したパターンマッチング処理により、演算された評価値が小さい順（類似度が高い順）に音楽情報が表示される。
【０１３６】
入力インタフェース２３を操作して、アイコン７１４−１または、アイコン７１４−２をダブルクリックすると、パターンマッチング処理で用いられた検索対象候補データの音データが再生され、スピーカ２４からその音が出力される。
【０１３７】
また、ユーザは、入力インタフェース２３を操作して、図３６に示される表示画面において、音楽情報７１３−１を選択し、詳細表示を指示することにより、図３７に示されるような画面を表示することができる。図３７の例では、曲名、歌手名の記述７２１の後ろにアイコン７２２とアイコン７２３が表示されている。
【０１３８】
図３７の表示画面においてアイコン７２２がダブルクリックされると、この音楽（コンテンツ）を視聴するためのデータが取得されて再生され、スピーカ２４から再生された音が出力される。また、アイコン７２３がダブルクリックされると、この音楽のコンテンツが購入可能となる。音楽の視聴または購入は、ネットワーク４に接続される所定のサーバにアクセスすることにより行われる。
【０１３９】
また、図３７の表示画面の下部の参考情報表示部７２４には、この音楽を検索した他のユーザがよく検索する音楽情報が必要に応じて表示される。
【０１４０】
以上においては、検索装置１で検索結果を取得するようにしたが、他の装置（例えば、家庭にあるパーソナルコンピュータ）で、検索結果を取得するようにしてもよい。
【０１４１】
なお、上述した一連の処理をハードウェアで実現するか、ソフトウェアで実現するかは問わない。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図３８に示されるような汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１４２】
図３８において、CPU（Central  Processing  Unit）９０１は、ROM（Read  Only  Memory）９０２に記憶されているプログラム、または記憶部９０８からRAM（Random  Access  Memory）９０３にロードされたプログラムに従って各種の処理を実行する。RAM９０３にはまた、CPU９０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１４３】
CPU９０１、ROM９０２、およびRAM９０３は、バス９０４を介して相互に接続されている。このバス９０４にはまた、入出力インタフェース９０５も接続されている。
【０１４４】
入出力インタフェース９０５には、キーボード、マウスなどよりなる入力部９０６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ（表示部）、並びにスピーカなどよりなる出力部９０７、ハードディスクなどより構成される記憶部９０８、モデム、ターミナルアダプタなどより構成される通信部９０９が接続されている。通信部９０９は、インターネットなどのネットワークを介しての通信処理を行う。
【０１４５】
入出力インタフェース９０５にはまた、必要に応じてドライブ９１０が接続され、ドライブ９１０には、本発明のプログラムが記録された記録媒体として、例えば、リムーバブルメディア９１１が装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部９０８にインストールされる。
【０１４６】
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１４７】
【図１】本発明の音楽検索システムの構成例を示す図である。
【図２】図１の検索装置の構成例を示すブロック図である。
【図３】図２の検索装置のＣＰＵの機能的構成例を示すブロック図である。
【図４】図１のサーバの構成例を示すブロック図である。
【図５】図４の類似検索データ作成部の機能的構成例を示すブロック図である。
【図６】類似検索データ作成処理を説明するフローチャートである。
【図７】図６のステップＳ１のベクトル作成処理を説明するフローチャートである。
【図８】音データが時間区分で分割される例を示す図である。
【図９】周波数スペクトルに基づいて、ベクトルが生成される例を示す図である。
【図１０】図６のステップＳ２のクラスタ分類処理を説明するフローチャートである。
【図１１】初期状態のマップの例を示す図である。
【図１２】入力ベクトルに基づいて、各ニューロンが修正される例を示す図である。
【図１３】修正回数と修正される領域の範囲の関係を表す図である。
【図１４】修正回数と修正率の関係を表す図である。
【図１５】ニューロン間の境界線分の例を示す図である。
【図１６】クラスタに分けられたマップの例を示す図である。
【図１７】図６のステップＳ３のクラスタ列インデックスツリー作成処理を説明するフローチャートである。
【図１８】ＳＯＭの入力層と出力層の関係を表す図である。
【図１９】ベクトル列に基づいて、クラスタ列が生成される例を示す図である。
【図２０】クラスタ列に基づいて、ツリーインデックスデータが作成される例を示す図である。
【図２１】クエリ作成処理を説明するフローチャートである。
【図２２】検索実行処理を説明するフローチャートである。
【図２３】図４の検索部の機能的構成例を示すブロック図である。
【図２４】音楽データ検索処理を説明するフローチャートである。
【図２５】図２４のステップＳ１４２の検索対象候補作成処理を説明するフローチャートである。
【図２６】クエリの音片からクラスタ列が生成される例を示す図である。
【図２７】クラスタ列に基づいて、ツリーが検索される様子を示す図である。
【図２８】図２４のステップＳ１４３の検索候補データチェック処理を説明するフローチャートである。
【図２９】図２８のステップＳ１８３のパターンマッチング処理を説明するフローチャートである。
【図３０】音データの波形を示す図である。
【図３１】音データに基づいて生成される周波数スペクトルの例を示す図である。
【図３２】図３１の周波数スペクトルスペクトルをメッシュ分解した例を示す図である。
【図３３】図３２でメッシュ分解されたメッシュデータの構成例を示す図である。
【図３４】クエリの音片と検索対象候補データをベクトル化する例を示す図である。
【図３５】音楽情報の検索結果の表示画面の例を示す図である。
【図３６】図３５の検索結果の内容を表示する画面の表示例を示す図である。
【図３７】音楽情報の詳細を表示する画面の表示例を示す図である。
【図３８】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１４８】
１  検索装置，  ３  サーバ，  ６１  入力部，  ６２  音バッファ，  ６７  ＣＰＵ，  ９１  クエリ作成部，  ９２  検索実行部，  １０２  検索部，  １０３  音楽ＤＢ，  １０４類似検索データ作成部，  １３１  ベクトル生成部，  １３２  分類部，  １３３  インデックスデータ制御部，  １３４  ツリーインデックスＤＢ，  ５８１  周波数変換部，  ５８２  パターンマッチング部，  ５８４  検索候補絞込み部
【図１】
2005077865.tif 000005
【図２】
2005077865.tif 000006
【図３】
2005077865.tif 000007
【図４】
2005077865.tif 000008
【図５】
2005077865.tif 000009
【図６】
2005077865.tif 000010
【図７】
2005077865.tif 000011
【図８】
2005077865.tif 000012
【図９】
2005077865.tif 000013
【図１０】
2005077865.tif 000014
【図１１】
2005077865.tif 000015
【図１２】
2005077865.tif 000016
【図１３】
2005077865.tif 000017
【図１４】
2005077865.tif 000018
【図１５】
2005077865.tif 000019
【図１６】
2005077865.tif 000020
【図１７】
2005077865.tif 000021
【図１８】
2005077865.tif 000022
【図１９】
2005077865.tif 000023
【図２０】
2005077865.tif 000024
【図２１】
2005077865.tif 000025
【図２２】
2005077865.tif 000026
【図２３】
2005077865.tif 000027
【図２４】
2005077865.tif 000028
【図２５】
2005077865.tif 000029
【図２６】
2005077865.tif 000030
【図２７】
2005077865.tif 000031
【図２８】
2005077865.tif 000032
【図２９】
2005077865.tif 000033
【図３０】
2005077865.tif 000034
【図３１】
2005077865.tif 000035
【図３２】
2005077865.tif 000036
【図３３】
2005077865.tif 000037
【図３４】
2005077865.tif 000038
【図３５】
2005077865.tif 000039
【図３６】
2005077865.tif 000040
【図３７】
2005077865.tif 000041
【図３８】
2005077865.tif 000042