(57)【特許請求の範囲】
【請求項１】
楽曲を検索する検索装置において，
楽曲を入力する楽曲入力手段と，
入力された楽曲を，検索しやすい形態に変換する楽曲データ変換手段と，
前記楽曲データ変換手段によって変換された楽曲を複数の音楽片に分割する音楽片分割手段と，
前記音楽片分割手段により分割された各音楽片に対して，所定の重要度付与基準に従ってそのそれぞれがどのくらい重要であるかを判定し，各音楽片の重要度を決定する音楽片重要度判定手段と，
前記音楽片重要度判定手段によって決定された重要度の情報を各音楽片に付加することにより，または重要度に応じて音楽片をグループに分けることにより，各音楽片を重要度に関連付けて格納する楽曲蓄積手段と，
検索キーとして入力された楽曲の一部または全体をもとに，前記楽曲蓄積手段に格納された楽曲の一部または全体の中から類似した楽曲を検索するにあたって，前記楽曲蓄積手段に格納された音楽片に関連付けられた重要度を用いて，重要度が低い音楽片よりも重要度が高い音楽片を優先的に検索対象として選択し，選択した音楽片と前記検索キーから得られた音楽片との間の類似度を計算し，類似度が所定の閾値を超える音楽片が所定数検索されるまで検索を続け，前記楽曲蓄積手段に格納された楽曲の一部または全体の中から類似した楽曲を検索する楽曲検索手段と，
検索結果を出力する検索結果出力手段とを備え，
前記所定の重要度付与基準は，少なくともその音楽片の中に含まれる音符のうち，直前の音符と異なる音程の音符の数である音符変動数の大きいものほど重要度が大きいとする重要度付与基準を含む
ことを特徴とする音楽検索装置。
【請求項２】
楽曲を検索する検索装置において，
楽曲を入力する楽曲入力手段と，
入力された楽曲を，検索しやすい形態に変換する楽曲データ変換手段と，
前記楽曲データ変換手段によって変換された楽曲を複数の音楽片に分割する音楽片分割手段と，
前記音楽片分割手段により分割された各音楽片に対して，所定の重要度付与基準に従ってそのそれぞれがどのくらい重要であるかを判定し，各音楽片の重要度を決定する音楽片重要度判定手段と，
前記音楽片重要度判定手段によって決定された重要度の情報を各音楽片に付加することにより，または重要度に応じて音楽片をグループに分けることにより，各音楽片を重要度に関連付けて格納する楽曲蓄積手段と，
検索キーとして入力された楽曲の一部または全体をもとに，前記楽曲蓄積手段に格納された楽曲の一部または全体の中から類似した楽曲を検索するにあたって，前記楽曲蓄積手段に格納された音楽片に関連付けられた重要度を用いて，重要度が低い音楽片よりも重要度が高い音楽片を優先的に検索対象として選択し，選択した音楽片と前記検索キーから得られた音楽片との間の類似度を計算し，類似度が所定の閾値を超える音楽片が所定数検索されるまで検索を続け，前記楽曲蓄積手段に格納された楽曲の一部または全体の中から類似した楽曲を検索する楽曲検索手段と，
検索結果を出力する検索結果出力手段とを備え，
前記所定の重要度付与基準は，少なくとも前記入力された楽曲中に繰り返しが存在する場合に，繰り返しの部分のうちの特定の一つの繰り返し部分に含まれる音楽片の重要度が高く，残りの繰り返しの部分に含まれる同一または類似する音楽片の重要度が低いとする重要度付与基準を含む
ことを特徴とする音楽検索装置。
【請求項３】
楽曲を検索する検索装置において，
楽曲を入力する楽曲入力手段と，
入力された楽曲を，検索しやすい形態に変換する楽曲データ変換手段と，
前記楽曲データ変換手段によって変換された楽曲を複数の音楽片に分割する音楽片分割手段と，
前記音楽片分割手段により分割された各音楽片に対して，所定の重要度付与基準に従ってそのそれぞれがどのくらい重要であるかを判定し，各音楽片の重要度を決定する音楽片重要度判定手段と，
前記音楽片重要度判定手段によって決定された重要度の情報を各音楽片に付加することにより，または重要度に応じて音楽片をグループに分けることにより，各音楽片を重要度に関連付けて格納する楽曲蓄積手段と，
検索キーとして入力された楽曲の一部または全体をもとに，前記楽曲蓄積手段に格納された楽曲の一部または全体の中から類似した楽曲を検索するにあたって，前記楽曲蓄積手段に格納された音楽片に関連付けられた重要度を用いて，重要度が低い音楽片よりも重要度が高い音楽片を優先的に検索対象として選択し，選択した音楽片と前記検索キーから得られた音楽片との間の類似度を計算し，類似度が所定の閾値を超える音楽片が所定数検索されるまで検索を続け，前記楽曲蓄積手段に格納された楽曲の一部または全体の中から類似した楽曲を検索する楽曲検索手段と，
検索結果を出力する検索結果出力手段とを備え，
前記所定の重要度付与基準は，少なくとも前記入力された楽曲の曲頭，楽曲中に何度か繰り返されるサビ部分，またはある長さ以上の休符の後のフレーズの先頭部分にある音楽片がそれ以外の音楽片よりも高い重要度となる重要度付与基準を含む
ことを特徴とする音楽検索装置。
【請求項４】
請求項１から請求項３までのいずれかに記載の音楽検索装置において，
前記楽曲蓄積手段は，重要度に応じて音楽片をグループに分け，そのすべてのグループまたは一部のグループを重要度の情報とともに格納する
ことを特徴とする音楽検索装置。
【請求項５】
請求項４記載の音楽検索装置において，
前記楽曲検索手段は，重要度の高い特定のグループに対して音楽片の検索を行い，その結果に応じて必要なときに別のグループに対しても音楽片の検索を続ける
ことを特徴とする音楽検索装置。
【請求項６】
請求項１から請求項５までのいずれかに記載の音楽検索装置において，
検索結果の妥当性を判断する検索結果妥当性判断手段と，
前記検索結果妥当性判断手段による判断結果をもとに前記楽曲蓄積手段における音楽片の重要度を再計算する音楽片重要度再計算手段とを備える
ことを特徴とする音楽検索装置。
【請求項７】
楽曲を検索する検索方法において，
楽曲を入力する楽曲入力過程と，
入力された楽曲を，検索しやすい形態に変換する楽曲データ変換過程と，
前記楽曲データ変換過程により変換された楽曲を複数の音楽片に分割する音楽片分割過程と，
前記音楽片分割過程により分割された各音楽片に対して，その音楽片の中に含まれる音符のうち，直前の音符と異なる音程の音符の数である音符変動数の大きいものほど重要度が大きいとする重要度付与基準，または前記入力された楽曲中に繰り返しが存在する場合に，繰り返しの部分のうちの特定の一つの繰り返し部分に含まれる音楽片の重要度が高く，残りの繰り返しの部分に含まれる同一または類似する音楽片の重要度が低いとする重要度付与基準，または前記入力された楽曲の曲頭，楽曲中に何度か繰り返されるサビ部分，またはある長さ以上の休符の後のフレーズの先頭部分にある音楽片がそれ以外の音楽片よりも高い重要度となる重要度付与基準のいずれかを少なくとも含む所定の重要度付与基準に従ってそのそれぞれがどのくらい重要であるかを判定し，各音楽片の重要度を決定する音楽片重要度判定過程と，
前記音楽片重要度判定過程により決定された重要度の情報を各音楽片に付加することにより，または重要度に応じて音楽片をグループに分けることにより，各音楽片を重要度に関連付けて楽曲のデータベースに格納する楽曲蓄積過程と，
検索キーとして入力された楽曲の一部または全体をもとに，前記楽曲のデータベースに格納された楽曲の一部または全体の中から類似した楽曲を検索するにあたって，前記楽曲のデータベースに格納された音楽片に関連付けられた重要度を用いて，重要度が低い音楽片よりも重要度が高い音楽片を優先的に検索対象として選択し，選択した音楽片と前記検索キーから得られた音楽片との間の類似度を計算し，類似度が所定の閾値を超える音楽片が所定数検索されるまで検索を続け，前記楽曲のデータベースに格納された楽曲の一部または全体の中から類似した楽曲を検索する楽曲検索過程と，
検索結果を出力する検索結果出力過程とを有する
ことを特徴とする音楽検索方法。
【請求項８】
計算機によって楽曲を検索するために用いるプログラムを記録したプログラム記録媒体であって，
楽曲を入力する楽曲入力処理と，
入力された楽曲を，検索しやすい形態に変換する楽曲データ変換処理と，
前記楽曲データ変換処理により変換された楽曲を複数の音楽片に分割する音楽片分割処理と，
前記音楽片分割処理により分割された各音楽片に対して，その音楽片の中に含まれる音符のうち，直前の音符と異なる音程の音符の数である音符変動数の大きいものほど重要度が大きいとする重要度付与基準，または前記入力された楽曲中に繰り返しが存在する場合に，繰り返しの部分のうちの特定の一つの繰り返し部分に含まれる音楽片の重要度が高く，残りの繰り返しの部分に含まれる同一または類似する音楽片の重要度が低いとする重要度付与基準，または前記入力された楽曲の曲頭，楽曲中に何度か繰り返されるサビ部分，またはある長さ以上の休符の後のフレーズの先頭部分にある音楽片がそれ以外の音楽片よりも高い重要度となる重要度付与基準のいずれかを少なくとも含む所定の重要度付与基準に従ってそのそれぞれがどのくらい重要であるかを判定し，各音楽片の重要度を決定する音楽片重要度判定処理と，
前記音楽片重要度判定処理により決定された重要度の情報を各音楽片に付加することにより，または重要度に応じて音楽片をグループに分けることにより，各音楽片を重要度に関連付けて楽曲のデータベースに格納する楽曲蓄積処理と，
検索キーとして入力された楽曲の一部または全体をもとに，前記楽曲のデータベースに格納された楽曲の一部または全体の中から類似した楽曲を検索するにあたって，前記楽曲のデータベースに格納された音楽片に関連付けられた重要度を用いて，重要度が低い音楽片よりも重要度が高い音楽片を優先的に検索対象として選択し，選択した音楽片と前記検索キーから得られた音楽片との間の類似度を計算し，類似度が所定の閾値を超える音楽片が所定数検索されるまで検索を続け，前記楽曲のデータベースに格納された楽曲の一部または全体の中から類似した楽曲を検索する楽曲検索処理と，
検索結果を出力する検索結果出力処理とを，
計算機に実行させるためのプログラムを計算機読み取り可能な記録媒体に記録した
ことを特徴とする音楽検索プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，音楽検索に係わり，特に，楽曲入力手段によって入力もしくは指定された楽曲の一部もしくは全体を検索キーとして，データベースに蓄積された楽曲の中から，検索キーと類似する楽曲の一部もしくは全体を検索する装置およびその方法に関する。
【０００２】
【従来の技術】
音楽の類似検索を行う場合，従来方法においては音符がマッチングの処理単位として用いられていた。この場合，音符とは，音の高さの変動もしくは変動率がある一定の閾値内に納まっている音の連続のことを言う。また，各音符は，音符情報として音の高さ（音高），音の長さ（音長），時間的に前後する音符との音高の差（相対音高），時間的に前後する音符との音長の比（相対音長）などを保有している。
【０００３】
従来の音符を単位としたＤＰマッチングを使用する方法は，以下のように行われる。まず，データベース構築のフェーズでは，検索対象とする楽曲を入力し，音符情報に変換して，それをデータベースに格納する。データベースへ格納した楽曲の検索は，検索キーとなる楽曲を入力し，それを音符情報に変換し，次に，データベース中の全楽曲の音符情報と検索キーから得られた音符情報について，データベース中の曲数分，ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  ）マッチングを実施し，もっとも類似した楽曲の候補を検索結果として出力する。
【０００４】
以上のように，音楽の類似検索を行う場合，従来方法においてはＤＰマッチングが使われていた（参考文献１，２）。
〔参考文献１〕園田智也，後藤真孝，村岡洋一：「ＷＷＷ上での歌声による曲検索システム」，電子情報通信学会技術報告，ＳＰ９７−１０３，  １９９８．
〔参考文献２〕蔭山哲也，高島羊典：「ハミング歌唱を手掛りとするメロディ検索」，電子情報通信学会論文誌，Ｖｏｌ．Ｊ７７−Ｄ−ＩＩ  Ｎｏ．８  ｐｐ．１５４３−１５５１，  １９９４．
ＤＰマッチングにおいては，検索キーと，データベース中の楽曲の一部または全体（候補部分曲）の対応関係が求められ，対応関係にある検索キーの音符と，候補部分曲の音符との間での，音符情報の差異の累計によって類似度が計算される。この検索キーとの間の類似度が最大になるような候補部分曲を，動的計画法によって探し出すのがＤＰマッチングである。
【０００５】
【発明が解決しようとする課題】
従来方法の音符をマッチングの単位とした検索方法では，一般に，許容できる音符数誤りの量を制限している。また，従来方法のＤＰマッチングでは，計算量を抑制するために，検索キーの音符列と，類似度計算対象となるデータベース中の楽曲の音符列との間の音符数の差異に制限を設けている。
【０００６】
したがって，音楽検索をする場合に，検索キー入力の際に，検索目標とするデータベース中の楽曲に対して一定量以上に音符の挿入・削除を行ってしまうと極端に検索精度が悪くなるという問題があった。
【０００７】
たとえ検索キー入力の際に，音符の挿入・削除が行われなかったとしても，検索キーから音符情報を抽出する際に，音符の挿入・削除が生じる可能性も大きく，そのために検索精度が悪いという問題があった。
【０００８】
また，ＤＰマッチングにおいては，インデクスを利用することができず，データベース中の全曲に対して全検索を施す必要があるために，たとえ計算量を抑制するために許容できる音符数誤りの量を制限したとしても，やはり検索に時間がかかるという問題があった。
【０００９】
このため，本発明者等は，マッチングを音符単位では行わずに，適当な長さの音楽片に分割し，音楽片同士の類似検索を行ういくつかの方法を提案している。音楽片を使用した検索の場合，インデクスを利用できるために検索時間を大幅に短縮することが可能であった。
【００１０】
この手法の一つとして，特願平１０−３４１７５４号（音楽検索装置，音楽検索方法および音楽検索プログラムを記録した記録媒体）で，本発明者等が提案しているものは，以下の方法を用いる。まず，データベースの構築では，検索対象とする楽曲を入力し，入力した楽曲を音符情報に変換し，その音符情報を複数の音楽片に分割し，高速検索が可能なように，インデクスを生成し，音楽片の情報をインデクスとともにデータベースに格納する。
【００１１】
次に，楽曲の検索では，検索キーとなる楽曲を入力し，入力した楽曲を音符情報に変換し，音符情報を複数の音楽片に分割する。音楽片の一つ一つを検索キーとして，インデクスを用いてデータベースに蓄積された音楽片から類似するものを検索する。検索結果として検出された音楽片同士の関係と，検索キーとなった音楽片同士の関係などを調べることで，検出された音楽片を含むデータベース中の楽曲の一部または全体との間の類似度を調べて，検索キーとなった楽曲の一部または全体と類似度の高いデータベース中の楽曲の一部または全部を検索結果として出力する。
【００１２】
また，音符情報を必ずしも必要としない方法としては，音楽情報への変換を行った後，類似検索を行うという手法がある。この手法は，本発明者等が，特願平１０−３２９１３１号（音楽情報検索装置，音楽情報蓄積装置，音楽情報検索方法，音楽情報蓄積方法およびそれらのプログラムを記録した記録媒体）で提案している方法である。
【００１３】
まず，データベースの構築において，楽曲を入力し，入力した楽曲から音楽的な特徴（特徴量）を抽出することが可能な音楽情報に変換し，それをデータベースに格納する。楽曲の検索において，検索キーとなる楽曲を入力し，入力した楽曲を同等な音楽情報への変換を行い，変換した音楽情報をもとに，データベース中の楽曲について類似検索を実施する。ここで，類似検索として，検索キーの楽曲の特徴量をデータベースに蓄積された楽曲の特徴量と比較して検索し，検索は距離関数を用いて距離の近いものを類似度の高いものとする類似度計算を行う。そして，類似したものを含む楽曲の候補を検索結果として出力する。
【００１４】
しかし，このような音楽情報を利用する方法においては，検索キーと，データベース中の曲とのテンポが異なる場合に，検索精度が悪いという問題点があった。
【００１５】
この問題点をさらに改善し，データベース中の楽曲および検索キーのテンポを規格化することにより，音符を単位とするのではなく，規格化された時間を単位とした検索を可能とすることによって音符数誤りによって影響を受けない楽曲の検索を行う手法として，本発明等は，特願平１１−８２７２２号（音楽検索装置，音楽検索方法および音楽検索プログラムを記録した記録媒体）で，以下のような方法を提案している。
【００１６】
この方法は，音楽検索において，データベースに入力された楽曲もしくは楽曲から変換された音楽情報のテンポを規格化した上でデータベースに蓄積し，また，検索キーとして入力された楽曲もしくは楽曲から変換された音楽情報のテンポを規格化した上で，音楽の類似検索を行うことを主な特徴とする。
【００１７】
まず，データベースの構築では，入力された楽曲もしくは楽曲から変換された音楽情報のテンポを，テンポ規格化手段によって規格化し，楽曲蓄積手段によりデータベースに格納する。検索の際には，テンポ規格化手段により検索キーとなる楽曲もしくは楽曲から変換された音楽情報のテンポを規格し，それをもとに楽曲検索手段により類似検索を行い，検索結果の楽曲を出力する。
【００１８】
この方法においては，ＤＰマッチングを使う必要がないため，インデクスを用いた検索を行うことが可能であり，高速な検索が可能である。また，検索を行う前にテンポを規格化するために，検索キーとデータベース中の曲とのテンポが異なっていた場合にも，高い検索精度を得ることが可能である。
【００１９】
以上説明したように，音楽片同士の類似検索を行う方法は，マッチングを音符単位で行う方法に比べて，特に，データベースに格納する楽曲の数が大量になった場合に検索速度，検索精度の点で有利である（マッチングを音符単位で行う方法に関しては，せいぜい２００曲程度のデータベースしか用いられていないが，音楽片同士の類似検索を行う方法では，１２００曲のデータベースが用いられている）。これは，インデクスを利用した効率的な検索ができると同時に，検索キーに対しての制約（音符単位のマッチングのように，フレーズ単位で入力する必要性や，許容できる音符の挿入・削除の量に制限を設けるなど）が少ないからである。
【００２０】
以上のような音楽片同士の類似検索を行う方法において，音楽片への分割方法は，Ｓｌｉｄｉｎｇ  Ｗｉｎｄｏｗ方式が用いられる。
【００２１】
Ｓｌｉｄｉｎｇ  Ｗｉｎｄｏｗの作り方としては，以下のものがある。
（１）  ｗｉｎｄｏｗの長さおよびずらし幅を一定の実時間にする方法（特願平１０−３２９１３１号）。
（２）  ｗｉｎｄｏｗの長さおよびずらし幅を一定の規格化された時間にする方法（特願平１１−８２７２２号）。
（３）  ｗｉｎｄｏｗの長さおよびずらし幅を一定の音符数にする方法（特願平１０−３４１７５４号）。
（４）  ｗｉｎｄｏｗの長さを一定の規格化された時間にし，ずらし幅を一定の音符数にする方法（特願平１１−８２７２２号）。
【００２２】
従来提案されているこれらの方法では，ｓｌｉｄｉｎｇ  ｗｉｎｄｏｗ方式で音楽片への分割を行うときに，ずらし幅を一定の量に固定している。そして，生成されるすべての音楽片をデータベースに格納し，音楽片検索は，データベースに格納されたすべての音楽片を対象に行われている。
【００２３】
これらの方法の課題は，以下のとおりである。音楽片同士の類似検索を行う際，検索キーの音楽片と，データベース中の楽曲の音楽片との位置がずれてしまった場合，検索精度（再現率）が悪くなる。音楽片分割のずらし幅を小さくすることにより，このずれが生じる可能性を減らすことができ，また，ずれが生じた場合でもずれの量を小さく抑えることができるために，再現率を高くすることが可能である。
【００２４】
しかし，音楽片分割のずらし幅を小さくすると，一つの楽曲から生成される音楽片の数が増え，類似する音楽片が増えるために，適合率が下がり，また，検索速度も遅くなる。この適合率を高くする方法として，音楽片分割のｗｉｎｄｏｗの長さを長くする方法がある。しかし，分割ｗｉｎｄｏｗ長を長くすると，入力する検索キーの長さを長くする必要があり，利用者に負担をかけることになる。
【００２５】
本発明は，上記の点に鑑みなされたもので，本発明の目的は，音楽片分割のずらし幅を小さくすることで再現率を高めつつも，データベース中の音楽片の重要度を判定し，重要度に応じて検索対象となる音楽片の数を抑えることによって，分割ｗｉｎｄｏｗ長を長くせずに適合率を下げないようにすることである。
【００２６】
【課題を解決するための手段】
本発明は，音楽片同士の類似検索を行う方法において，音楽片のずれによる検索精度の低下を抑えるために，音楽片分割の際のずらし幅を小さくしても問題が生じないように，データベース中の楽曲の音楽片について重要度を判定し，この重要度に応じた検索が可能なように，音楽片の分割，蓄積を行う。
【００２７】
重要度は，検索キーに含まれる可能性が高く，かつ，データベース中に類似度の高い音楽片が存在しない音楽片ほど高い。音楽片の重要度に応じて音楽片をグループ分けする。そして，もし必要なら検索キーも音楽片に分割した後，もっとも効率よく最終的な検索結果が得られるよう，音楽片検索を進める。
【００２８】
音楽片分割の際のずらし幅を小さくすることによって，生成される音楽片の数は増えるが，その音楽片を重要度に応じてグループ分けすることによって，音楽片検索の際に検索対象となる音楽片の数を減らすことができる。これによって，適合率が低下するのを防ぐことができる。
【００２９】
【発明の実施の形態】
図１は，本発明の構成例を示す図である。
【００３０】
楽曲入力手段１は，データベースの構築の際に蓄積する楽曲または検索時における検索キーとなる楽曲を入力する手段である。楽曲の入力装置として，ハミング，歌声等を入力するマイクロホン，楽譜等の音楽データの入力装置，テープやコンパクトディスク等の再生装置または音楽用キーボード等の楽曲のソースデータを入力する装置を用いることができる。特に現在では，多くの楽曲がＭＩＤＩデータ化されているので，ＭＩＤＩデータを入力情報として用いるとデータベースの構築を容易に行うことができる。
【００３１】
検索キーとして入力される楽曲に関しては，テンポ規格化が十分な精度で行われない可能性があるので，楽曲入力手段１に，一定の時間間隔もしくは決められた規則に従った時間間隔で信号を発するリズム信号発信手段を持たせることもできる。リズム信号発信手段によって一定の時間間隔もしくは決められた規則に従った時間間隔で信号を発信させ，その信号に合わせて楽曲入力者が楽曲の入力を行い，入力された楽曲と，リズム信号発信手段により発信される信号とによって正確なテンポ規格化を行うことが可能になる。
【００３２】
楽曲データ変換手段２は，楽曲入力手段１により入力された楽曲を，検索しやすい形態に変換する手段である。検索しやすい形態として，ソースデータをサンプリングして数値化する変換または音符情報への変換，テンポの規格化などがある。本発明では，この楽曲データの変換手法としてどのような方法を用いてもよい。例えば，入力されたＭＩＤＩデータから音符情報を生成する方法としては，ある音が発生された後，次の音が発生されるまでの間を一つの音符の区間とし，その音符の音程，音長，次の音との相対音程，相対音長を含めて音符情報とする。このときの各音符は，音の高さの変動または変動率がある一定の閾値内に収まっているものとする。
【００３３】
音楽片分割手段３は，楽曲データ変換手段２によって変換された楽曲を分割する手段である。図２に，音楽片分割方法の例を示す。図２（Ａ）の方法では，一番最初に出現する音符の開始時ｔＮ０を基準とし，固定の長さｔｗｓの音楽片を，  音楽片の開始点がずらし幅ｔｓａずつずれるように分割している。また，図２（Ｂ）の方法では，ずらし幅ｔｓａを固定するのではなく，音符毎に音楽片が開始されるように分割している。この他にも種々の分割が可能である。
【００３４】
音楽片重要度判定手段４は，音楽片分割手段３により分割された音楽片に対して，そのそれぞれがどのくらい重要であるかを判定する手段であり，特にデータベースに登録する楽曲についての音楽片に対する重要度の判定を行う。
【００３５】
楽曲蓄積手段５は，音楽片重要度判定手段４で判定された重要度に従って音楽片を格納するデータベースである。さらに，楽曲蓄積手段５は検索を高速化するためのインデクスを生成するようにしてもよい。インデクスの生成方法としては，Ｒ−ｔｒｅｅ  などを用いる。なお，Ｒ−ｔｒｅｅ  に関する参考文献としては以下のものがある。
〔参考文献〕Ａ．Ｇｕｔｔｍａｎ，  ”Ｒ−ｔｒｅｅｓ：  ａ  ｄｙｎａｍｉｃ  ｉｎｄｅｘ  ｓｔｒｕｃｔｕｒｅｓ  ｆｏｒ  ｓｐａｔｉａｌ  ｓｅａｒｃｈｉｎｇ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ＳＩＧＭＯＤ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ｔｈｅ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｄａｔａ，  ｐｐ．４７−５７，  Ｂｏｓｔｏｎ，  １９８４．
本発明において，音楽片に対する重要度を決定する音楽片重要度判定手段４と，重要度に従って音楽片を格納する楽曲蓄積手段５とを持ち，重要度を考慮した検索を可能とした点が，前述した特願平１０−３２９１３１号，特願平１０−３４１７５４号および特願平１１−８２７２２号に示されている発明（以下，関連発明という）と大きく異なる点である。
【００３６】
楽曲蓄積手段５による楽曲情報および音楽片の格納方法としては，以下が考えられる。
（１）  インデクス生成などに関しては，上記関連発明に示されている方法を用い，音楽片に関する情報に重要度の情報を付加して格納する。格納方法については，重要度に依存させない。検索の際には，各音楽片に付加された重要度の情報を利用する。
（２）  重要度に応じて音楽片をグループに分け，そのグループ毎に格納する。インデクス生成もグループ毎に行うか，もしくは検索時に容易にグループの絞り込みが可能なような形でインデクスを生成する。重要度の情報も利用可能なようにインデクス内に格納する。
（３）  重要度に応じて音楽片をグループに分け，重要度の高さに応じて一部のグループのみを格納する。重要度の高いグループのみをデータベースに格納することにより，音楽片のずらし幅を小さくしてもデータベースに蓄積する音楽片の総数を削減することが可能になる。
（４）  重要度に応じて音楽片をグループに分け，一部のグループを格納する。ただし，格納されなかった音楽片のうち，格納された特定の音楽片と関連があるものについては，その情報を，格納された音楽片と関連付けて蓄積しておく。これによって，データベースに格納されなかった音楽片についても，同一の他の音楽片または極めて類似した音楽片の情報を代用することが可能になる。
【００３７】
楽曲の検索時における検索キーについても，楽曲入力手段１，楽曲データ変換手段２を経由し，音楽片分割手段３により音楽片に分割する。音楽片重要度判定手段６は，検索キーとして入力された楽曲の一部から生成された各音楽片の重要度について，音楽片重要度判定手段４と同様の手法によりまたは異なる手法により判定し，重要度を決定する手段である。なお，検索キーについては，必ずしも音楽片の重要度を決定する必要がないので，音楽片重要度判定手段６は省略してもよい。
【００３８】
楽曲検索手段７は，楽曲蓄積手段５のデータベースに格納された音楽片の重要度，および，場合によっては検索キーから生成された音楽片の重要度の情報を用いて類似検索を行う手段である。
【００３９】
検索を行う方法としては，例えば以下の方法が考えられる。
（１）  重要度に関係なく，音楽片による類似検索をまず行う。その後，データベースに格納された音楽片の重要度の情報を用い，検索結果を絞り込む。
（２）  重要度に応じて音楽片がグループに分けられて格納されている場合に，各グループに対して音楽片の検索を行い，それぞれの検索結果から最終的な検索結果を判定する際に重要度を考慮する。
（３）  重要度に応じて音楽片がグループに分けられて格納されている場合に，特定のグループに対して音楽片の検索を行い，その結果に応じて，必要があれば別のグループに対しても音楽片の検索を行い，必要な回数この音楽片検索を行う。
（４）  重要度に応じて音楽片がグループに分けられ，一部のグループのみ格納されている場合にも，上記（２）  ，（３）  と同様に処理する。格納されているグループが一つだけの場合にはそのグループに対してのみ検索を行う。
（５）  重要度に応じて音楽片がグループに分けられ，一部のグループのみ格納されている場合であって，格納されなかった音楽片に関しては，代替可能な同一または類似する音楽片へのポインタ等の情報が蓄積されている場合には，その情報も考慮して最終的な検索結果を判定する。
【００４０】
検索結果出力手段８は，楽曲検索手段７による検索結果を出力する手段である。この検索結果出力手段８による検索結果の出力では，検索キーと，検索結果の候補となったデータベース中の楽曲の一部もしくは全体との間の類似度の高い順番に，楽曲の一部もしくは全体を提示する。ここで，データベース中の情報から楽曲の題名，音楽家名を表示することもできるし，検索キーと類似する楽曲の一部もしくは全体を演奏することもできる。
【００４１】
以上の各処理手段を計算機によって実現するためのプログラムは，計算機が読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記憶媒体に格納することができる。
【００４２】
図３は，図１に示す装置の処理概要を示す。図３（Ａ）に示すようなデータベース構築時の処理と，図３（Ｂ）に示すような楽曲の検索時の処理に大別される。
【００４３】
データベース構築時には，データベースに登録して検索対象とするすべての楽曲について，図３（Ａ）に示す処理を行う。まず，楽曲入力手段１によって楽曲を入力する（ステップＳ１）。入力した楽曲を，楽曲データ変換手段２によって，音符情報その他の検索しやすい形態に変換する（ステップＳ２）。次に，楽曲データ変換手段２によって変換された楽曲を，音楽片分割手段３によって複数の音楽片に分割する（ステップＳ３）。音楽片重要度判定手段４は，これらの分割された音楽片に対して，そのそれぞれがどのくらい重要であるかを判定する（ステップＳ４）。次に，楽曲蓄積手段５は，判定された重要度を考慮した方法によって音楽片を楽曲のデータベースに格納する（ステップＳ５）。同時にインデクスも作成する。インデクスとして，各音楽片を構成する各音符の特徴値をノードとするパトリシアツリーに基づくインデクス，または多次元のベクトルとして表した音楽片の特徴量に基づく多次元インデクスなどを用いることができる。
【００４４】
データベースに登録された楽曲の検索の場合，図３（Ｂ）に示す処理を行う。まず，楽曲入力手段１によって，検索キーとなる楽曲を入力する（ステップＳ１１）。ハミング等により楽曲を入力する場合，リズム信号受発信装置を補助的に使用してテンポ規格化を正確に行うことができるようにしてもよい。楽曲データ変換手段２は，検索キーとして入力された楽曲を，データベース構築の際と同様の手法により音符情報その他の検索しやすい形態に変換する（ステップＳ１２）。このとき，必要であればテンポ規格の処理なども併せて行う。次に，音楽片分割手段３は，変換された楽曲を複数の音楽片に分割する（ステップＳ１３）。
【００４５】
もし，検索キーについても音楽片の重要度を判定するシステムの場合には，次に検索キーから抽出された各音楽片の重要度を音楽片重要度判定手段６によって判定する（ステップＳ１４）。検索キーについて音楽片の重要度の判定を行わないシステムでは，ステップＳ１４の処理は省略される。
【００４６】
次に，楽曲検索手段７は，重要度を考慮した方法によってデータベース中の各音楽片と検索キーの各音楽片との類似度を計算し，検索キーに類似する楽曲を検索する（ステップＳ１５）。音楽片の類似度の計算では，例えば音楽片内での音程を初音との音程差で表現しているような場合，その初音を基準とした音程列について音楽片間のマンハッタン距離を計算するといった方法を用いることができる。もちろん，この類似度の計算方法は，音楽片の構成に依存するので，本発明はこのような方法に限定されるわけではない。
【００４７】
検索結果出力手段８は，楽曲検索手段７による検索結果をディスプレイやスピーカを介して出力する（ステップＳ１６）。楽曲入力手段１による検索キーの入力をネットワークを介して行うこともでき，その場合には，検索結果をネットワークを介して要求元の検索端末へ出力する。
【００４８】
図４は，本発明の第２の構成例を示す。図４において，図１と同符号のものは，図１に示すものと同様の機能を持つ。ただし，音楽片の重要度として，以下で説明する検索結果の妥当性判断の結果だけを用いる場合には，音楽片重要度判定手段４は，すべての音楽片の重要度に対してあらかじめ定められた初期値を与え，その初期重要度を楽曲蓄積手段５に通知する。
【００４９】
本装置では，図１に示す構成に加えて，さらに検索キー入力者からの入力などにより検索結果の妥当性を判断する検索結果妥当性判断手段９と，この検索結果妥当性判断手段９による判断結果を統計的に処理し，それをもとにデータベース中の音楽片の重要度を再計算する音楽片重要度再計算手段１０とを有する。
【００５０】
検索結果出力手段８により出力した検索結果が妥当であるかどうかを検索結果妥当性判断手段９が判断し，音楽片重要度再計算手段１０は，この判断結果に基づいて楽曲蓄積手段５のデータベース中の音楽片の重要度を再計算し，更新する。
【００５１】
検索結果妥当性判断手段９が，検索結果が妥当であるかどうかを判断する手法として，例えば以下が考えられる。
（１）  検索キー入力者に検索結果が妥当であるかどうかを問い合わせて，その問い合わせに対する回答から判断する。
（２）  いくつかの検索結果を検索キーの類似度順にメニュー形式により表示し，メニューの中で選択された楽曲を妥当な検索結果と判断する。
（３）  いくつかの検索結果を，検索キー入力者の指示により検索キーの類似度順に演奏などの形態で出力し，検索キー入力者が比較的短時間でさらに次の検索結果の出力を要求した場合には，その検索結果が妥当でなかったと判断し，一つの検索結果の演奏時間が比較的長く，次の検索結果の出力が要求されなかった場合には，その検索結果が妥当であると判断する。
【００５２】
このように本例では，実際に検索を行った結果の妥当性を判断し，妥当であると判断された検索結果の楽曲に含まれる音楽片のうち，検索キーに含まれる音楽片との類似度が大きいものについて重要度が高いものとする。これにより，楽曲蓄積手段５のデータベース中の重要度の情報を動的に更新することによって，データベースにおける音楽片の重要度の情報は，検索が繰り返されれば繰り返されるほど，利用者の要求にさらにマッチした精度のよい検索に寄与するようになる。
【００５３】
【実施例】
次に，本発明の具体的な実施例についていくつか説明する。
【００５４】
〔第１の実施例〕
本実施例においては，音楽片の重要度を判定するのに，音楽片の中に含まれる音符の音程がどのくらい変動したかという情報を用いる。すなわち，音楽片の中に含まれる音符のうち，直前の音符と異なる音程の音符の数を音符変動数と呼ぶことにしたときに，この音符変動数によつて音楽片の重要度を判定する。
【００５５】
まず，データベース中の音楽片を，この音符変動数の大きさをもとに適当な数のグループに分け，グループ毎に蓄積する。
【００５６】
検索キーの音楽片についても，この音符変動数を調べ，音符変動数の大きいものから音楽片検索を開始する。検索の際には，検索キーの音楽片の音符変動数と同じ音符変動数の音楽片が含まれるデータベース中の音楽片グループの中から検索を開始し，類似度が一定の閾値を超える音楽片が存在しなければ，データベース中の別の音楽片グループの中でも検索を行う。なお，音楽片同士の類似度の求め方は，前述した関連発明で用いられている方法を用いる。
【００５７】
類似度が一定の閾値を超える音楽片が一定数検索されるか，一定数の音楽片グループでの検索を終えた段階で，現在の検索キーの音楽片による音楽片検索を打ち切る。この音楽片検索の結果，類似度が一定の閾値を超える音楽片が十分な数だけ検索されなかった場合には，検索キーの音楽片の中で，これとは異なる音楽片のうち音符変動数の大きい音楽片を用いて，同様に音楽片検索を行う。
【００５８】
検索キーの音楽片の複数について音楽片検索を行つた場合，例えば特願平１０−３４１７５４号の明細書に記述されている音楽片整合の方法によって最終的な検索結果を決める。
【００５９】
具体的には，検索結果として検出された音楽片同士の関係と，検出された音楽片のそれぞれの検索キーとなった音楽片同士の関係を調べ，また，検出された音楽片の前後の音符と，検出された音楽片の検索キーとなった音楽片の前後の音符の関係を調べることで，検索キーとデータベースから検索された楽曲との間の類似度を調べる。このように音楽片同士の時間整合性を調べることにより，互いに結ばれる可能性のない音楽片を排除することができる。
【００６０】
第１の実施例に固有の効果として，以下が言える。音符変動数が大きい音楽片ほど，データベース中に類似度の高い音楽片が存在する確率が低くなるため，検索において正解を絞り込みやすい。したがって，本実施例に示したように，検索キーの音楽片のうち，音符変動数の大きい音楽片から検索を始め，かつ，検索対象となるデータベース中の音楽片を音符変動数により絞り込んでおいたほうが，検索精度，検索速度ともによくなる。
【００６１】
〔第２の実施例〕
本実施例においては，データベース中の一つの楽曲中に，繰り返しが存在する場合に，繰り返される部分のうち，一つに含まれる音楽片のみを重要度の高い音楽片とし，残りは重要度の低い音楽片とみなす。また，繰り返されない部分に含まれる音楽片についても重要度の高い音楽片とみなす。
【００６２】
今，仮にＡＢＣＢ’Ｃという構造の楽曲が存在したとする。一つ一つのローマ字は，それぞれ楽曲中の部分を表す。この楽曲は，まず，ＡＢＣという３つの部分が出現し，その後，ＢＣの部分が繰り返される。ただし，Ｂ’はＢを若干変更した形をしており，Ｃの部分は全く同じまま繰り返されている。この場合，最初のＡＢＣに含まれる音楽片は重要度の高い音楽片であるとし，後半のＢ’Ｃに含まれている音楽片は重要度の低い音楽片とする。
【００６３】
より具体的には，以下のように音楽片の重要度を判定する。まず，楽曲中のすべての音楽片同士の類似度を計算する。その結果，完全に一致する音楽片が存在する場合，一致する音楽片同士のうちもっとも最初に出現するものを重要度の高い音楽片，それ以外を重要度の低い音楽片とする。さらに，類似度に適当な閾値を設け，類似度が閾値より高い音楽片同士を，「類似する」音楽片の組として抽出する。そして，一致もしくは類似する音楽片の組同士の時間整合性について調べる。これは，例えば，音楽片ａとａ’，ｂとｂ’が相互に一致もしくは類似していたときに，音楽片ａ，ｂの開始時間の差が，音楽片ａ’，ｂ’の開始時間の差と一致（もしくは，ある閾値内で一致）するかを調べることによって行う。
【００６４】
類似する音楽片の組のうち，近傍に時間整合性の合う音楽片の組が，ある一定量存在するならば，類似度が高いのは繰り返しの存在のためであり，この場合も，類似する組の内部では，もっとも最初に出現するものを重要度の高い音楽片，それ以外を重要度の低い音楽片とする。
【００６５】
ここで，重要度の低い音楽片については，いずれもそれに類似もしくは一致する音楽片で，重要度の高い音楽片が存在する。この重要度の高い音楽片に，類似もしくは一致する重要度の低い音楽片の情報は，重要度の高い音楽片に関連付けられてデータベースに格納される。
【００６６】
データベースに登録する楽曲の音楽片については以上の重要度の判定を行うが，検索キーの音楽片については，特に重要度の判定はせず，適当な順番で音楽片検索を行い，音楽片検索を複数行った場合は，検索キーの音楽片と検索された音楽片の組同士の時間整合性を調べ，最終的な検索結果とする。ただし，時間整合性を見る際に，データベースに格納された重要度の低い音楽片の情報についても参照する。
【００６７】
〔第３の実施例〕
本実施例においては，第２の実施例の場合をさらに発展させ，楽曲中，人の記憶に残りやすい，曲頭の部分やサビの部分などに含まれる音楽片を重要度のもっとも高い音楽片とし，それ以外を重要度の低い音楽片とする。
【００６８】
まず，曲頭については，曲の始めから一定の範囲内に含まれる音楽片を重要度のもっとも高い音楽片とする。また，サビ部分は一般的に曲中何度か繰り返されることが多いことから，第２の実施例の場合のように，繰り返される部分の始めから一定の範囲内に含まれる音楽片を重要度のもっとも高い音楽片とする。また，上記以外で，一定の長さ以上の休符の後からフレーズが始まることが多く，このような休符の後の開始音から一定の範囲内に含まれる音楽片を重要度の高い音楽片とすることもできる。さらに，曲頭，繰り返し部分，フレーズの先頭から，その曲のリズムに含わせた拍数後（４／４なら４拍，３／４なら３拍など）に始まる音楽片についても重要度の高い音楽片とすることができる。それ以外の音楽片については，重要度の低い音楽片とする。
【００６９】
検索キーについては，検索キーの最初のほうの音楽片の検索を，データベース中の重要度の高い音楽片に対して行い，十分類似度の近い音楽片が存在しなければ，検索キーの，同じ音楽片に対して，データベース中のあまり重要度の高くない音楽片に対しても行うか，検索キーの，別の音楽片を使って音楽片検索を行う。複数の音楽片検索の結果については，時間整合性を調べることによって最終的な結果を求める。
【００７０】
〔第４の実施例〕
本実施例においては，音楽片の重要度を判定するのに，実際に本方式により音楽を検索するサービスを実施し，その結果を用いて音楽片の重要度を動的に変化させる。すなわち，入力された検索キーに対して，類似度が高いと判断された音楽片を含む楽曲を，検索キー入力者が，自分が意図した楽曲と同一であると判断した場合に，その楽曲の中では，その類似度が高いと判断された音楽片が，より重要度の高い音楽片とされる。逆に，同じ楽曲の中で，検索キーと類似度が高いと判断された音楽片から時間的に離れている音楽片は，重要度の低い音楽片とされる。
【００７１】
このため，本実施例では，図４に示すように，検索キー入力者から入力などにより検索結果の妥当性を判断する検索結果妥当性判断手段９と，この検索結果妥当性判断手段９による判断結果を統計的に処理し，それをもとにデータベース中の音楽片の重要度を再計算する音楽片重要度再計算手段１０を持つ。
【００７２】
音楽片の重要度は，以下のようにして再計算される。今，データベース中のある曲Ａが，ｎ個の音楽片に分割されていたとして，それぞれの重要度が，Ｉ（１），Ｉ（２），…，Ｉ（ｎ）と計算されていたとする。この重要度は，例えば適当な整数値をとり，検索の際に考慮される値である。
【００７３】
さて，実際に音楽検索サービスを実施した結果，曲ＡがＰ回，妥当な検索結果として選ばれたとする。このとき，各音楽片が検索キーと類似度が高いと判断された回数が，それぞれｐ１  ，ｐ２  ，…，ｐｎ  であったとする。ここで，ｐ１  ，ｐ２  ，…，ｐｎ  の平均値ｐと標準偏差σを計算し，あるパラメータαを用い，
ｐｘ  ＞ｐ＋ασ
を満たすｐｘ  が存在した場合には，対応する音楽片ｘの重要度Ｉ（ｘ）の値を大きくする。さらに，このようにして重要度が増加した音楽片がｘ１  ，ｘ２  ，…，ｘｋ  と存在した場合に，重要度が増加した音楽片の近傍の音楽片ｘ１  −β〜ｘ１  ＋β，ｘ２  −β〜ｘ２  ＋β，…，ｘｋ  −β〜ｘｋ  ＋βの重要度は同様に増加させ，重要度が増加した音楽片から時間的に遠い音楽片（ｘ１  ＋ｘ２  ）／２−γ〜（ｘ１  ＋ｘ２  ）／２＋γ，（ｘ２  ＋ｘ３  ）／２−γ〜（ｘ２  ＋ｘ３  ）／２＋γ，…の重要度は減少させるということもある。なお，β，γはあらかじめ定められた近傍等の範囲を示す値である。
【００７４】
本実施例に特有の効果として，データベース中の音楽片の重要度が，実際に入力された検索キーを用いて動的に判断されるために，重要度をより利用者の感性に近いものにすることができるという効果がある。
【００７５】
この第４の実施例で扱う重要度は，前述した第１ないし第３の実施例における重要度と同様に扱われる情報であってもよく，また第１ないし第３の実施例における重要度とは別の独立した重要度の情報であってもよい。すなわち，一つ音楽片が一つの重要度の値を持つだけでなく，複数の重要度の値を持つようにすることも可能である。
【００７６】
【発明の効果】
本発明によって，例えば，カラオケや，ミュージック・オン・デマンドシステム（自動ジュークボックス）などのシステムにおいて，利用者が選択したい楽曲の名前や作曲者名，演奏家名などを思い出せない場合においても，その楽曲のメロディーさえ覚えていれば目的の楽曲を容易に選択可能となる。特に，データベース中に格納される音楽片検索の際に，検索対象となる音楽片の数を減らすことができ，検索を高速化することが可能になるとともに，適合率が低下するのを防ぐこともできる。
【図面の簡単な説明】
【図１】本発明の構成例を示す図である。
【図２】音楽片分割方法の例を示す図である。
【図３】本発明の処理概要を示す図である。
【図４】本発明の第２の構成例を示す図である。
【符号の説明】
１    楽曲入力手段
２    楽曲データ変換手段
３    音楽片分割手段
４    音楽片重要度判定手段
５    楽曲蓄積手段
６    音楽片重要度判定手段
７    楽曲検索手段
８    検索結果出力手段
【図１】
0003597735.tif 000002
【図２】
0003597735.tif 000003
【図３】
0003597735.tif 000004
【図４】
0003597735.tif 000005