(57)【特許請求の範囲】
【請求項１】
楽曲を検索する検索装置において，
楽曲を入力する楽曲入力手段と，
上記楽曲入力手段により入力されたすべての楽曲のすべての部分において１拍の長さが一定の時間的な長さになるように，入力された楽曲部分を変換し，テンポを規格化するテンポ規格化手段と，
少なくとも上記テンポ規格化手段によりテンポ規格化された楽曲を蓄積する楽曲蓄積手段と，
検索キーとして入力された楽曲の一部または全体から上記テンポ規格化手段によりテンポ規格化された楽曲の一部または全体をもとに，上記楽曲蓄積手段に蓄積された楽曲の一部または全体の中から，互いにテンポ規格化された楽曲の時間的に対応する位置の特徴量の距離計算によって，類似した楽曲を検索する楽曲検索手段と，
上記楽曲検索手段により検索された楽曲を出力する楽曲出力手段とを有する
ことを特徴とする音楽検索装置。
【請求項２】
請求項１記載の音楽検索装置において，
上記楽曲入力手段により入力された楽曲を音楽情報に変換する音楽情報変換手段を有し，
上記テンポ規格化手段は，楽曲を上記音楽情報変換手段により音楽情報に変換した後でテンポ規格化を行う
ことを特徴とする音楽検索装置。
【請求項３】
請求項１または請求項２記載の音楽検索装置において，
上記楽曲入力手段は，一定の時間間隔もしくは決められた規則に従った時間間隔で信号を発信するリズム信号発信手段，または，楽曲入力者が入力中の楽曲のリズムを合わせて入力できるようなリズム信号受信手段を有する
ことを特徴とする音楽検索装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の音楽検索装置において，
上記テンポ規格化手段は，上記楽曲入力手段により入力された楽曲，上記音楽情報変換手段により変換された音楽情報，上記リズム信号発信手段により発信された信号，上記リズム信号受信手段により受信された信号の少なくとも一つを用いてテンポを抽出するテンポ抽出手段を有し，
抽出されたテンポを用いてテンポ規格化を行う
ことを特徴とする音楽検索装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の音楽検索装置において，
上記楽曲検索手段は，テンポ規格化された検索キーの一部または全体をもとに，上記楽曲蓄積手段に蓄積された，テンポ規格化された楽曲の一部または全体を検索する際に，テンポ規格化された検索キーの一部または全体と，テンポ規格化された検索キーの一部または全体と同じ長さの，検索対象となるテンポ規格化された楽曲の一部または全体との類似度を調べる
ことを特徴とする音楽検索装置。
【請求項６】
請求項１ないし請求項４のいずれかに記載の音楽検索装置において，
上記テンポ規格化された楽曲もしくはテンポ規格化された音楽情報に対して，少なくとも複数の音符を含む長さであって，規格化された時間軸上ですべて同じになる長さの音楽片への分割を行う音楽片生成手段を有し，
上記楽曲蓄積手段に音楽片に分割された楽曲の情報を蓄積する
ことを特徴とする音楽検索装置。
【請求項７】
請求項６記載の音楽検索装置において，
上記音楽片生成手段は，音楽片を生成する際に，同じ楽曲に対する音楽片は，一定の時間間隔で音楽片が開始するように生成する，または音楽片が音符の始まりから開始するように生成する
ことを特徴とする音楽検索装置。
【請求項８】
請求項６または請求項７記載の音楽検索装置において，
上記楽曲検索手段は，検索を行う際に，検索キーとして入力された楽曲から生成された音楽片と，上記楽曲蓄積手段に蓄積された楽曲の音楽片との間の時間的に対応する位置の特徴量の距離計算によって，上記入力された楽曲から生成された音楽片のそれぞれと類似する音楽片を，上記楽曲蓄積手段の中から検索し，その結果の音楽片同士の関係から最終的な検索結果を導く音楽片検索手段を有する
ことを特徴とする音楽検索装置。
【請求項９】
楽曲を検索する検索装置において，
楽曲を入力する楽曲入力手段と，
上記楽曲入力手段により入力されたすべての楽曲のすべての部分において１拍の長さが一定の時間的な長さになるように，入力された楽曲部分を変換し，テンポを規格化するテンポ規格化手段と，
上記テンポ規格化された楽曲に対して，少なくとも複数の音符を含む長さであって，規格化された時間軸上ですべて同じになる長さの音楽片への分割を行う音楽片生成手段と，
上記音楽片生成手段により音楽片に分割された楽曲を蓄積する楽曲蓄積手段と，
検索キーとして入力された楽曲から生成された音楽片と，上記楽曲蓄積手段に蓄積された楽曲の音楽片との間の時間的に対応する位置の特徴量の距離計算によって，上記入力された楽曲から生成された音楽片のそれぞれと類似する音楽片を，上記楽曲蓄積手段の中から検索し，その結果の音楽片同士の関係から最終的な検索結果を導くことにより，検索キーとして入力された楽曲に類似した楽曲を検索する楽曲検索手段と，
上記楽曲検索手段により検索された楽曲を出力する楽曲出力手段とを有する
ことを特徴とする音楽検索装置。
【請求項１０】
請求項８または請求項９に記載の音楽検索装置において，
上記楽曲検索手段は，検索キーの音楽片同士の関係と，検索結果の音楽片同士の関係の整合性を調べた後，最終的な検索結果を導く音楽片整合手段を有する
ことを特徴とする音楽検索装置。
【請求項１１】
請求項１ないし請求項１０のいずれかに記載の音楽検索装置において，
上記楽曲蓄積手段に蓄積する前に音楽情報への変換を行う音楽情報変換手段を有する
ことを特徴とする音楽検索装置。
【請求項１２】
請求項１ないし請求項１１のいずれかに記載の音楽検索装置において，
楽曲を蓄積する際に，検索を高速化するためのインデクスを生成するインデクス生成手段を有し，
上記楽曲検索手段は，検索を行う際にインデクスを用いる
ことを特徴とする音楽検索装置。
【請求項１３】
少なくとも楽曲入力手段と，テンポ規格化手段と，楽曲蓄積手段と，楽曲検索手段と，楽曲出力手段とを備える計算機によって楽曲を検索する検索方法であって，
上記楽曲入力手段が，楽曲を入力する過程と，
上記テンポ規格化手段が，上記楽曲入力手段により入力されたすべての楽曲のすべての部分において１拍の長さが一定の時間的な長さになるように，入力された楽曲部分を変換し，テンポを規格化する過程と，
上記楽曲蓄積手段が，少なくとも上記テンポ規格化手段によりテンポ規格化された楽曲を蓄積する過程と，
上記楽曲検索手段が，検索キーとして入力された楽曲の一部または全体から上記テンポ規格化手段によりテンポ規格化された楽曲の一部または全体をもとに，蓄積された楽曲の一部または全体の中から，互いにテンポ規格化された楽曲の時間的に対応する位置の特徴量の距離計算によって，類似した楽曲を検索する過程と，
上記楽曲出力手段が，上記楽曲検索手段により検索された楽曲を出力する過程とを有する
ことを特徴とする音楽検索方法。
【請求項１４】
計算機によって楽曲を検索するために用いるプログラムを記録したプログラム記録媒体であって，
前記計算機を，
楽曲を入力する楽曲入力手段と，
上記楽曲入力手段により入力されたすべての楽曲のすべての部分において１拍の長さが一定の時間的な長さになるように，入力された楽曲部分を変換し，テンポを規格化するテンポ規格化手段と，
少なくとも上記テンポ規格化手段によりテンポ規格化された楽曲を蓄積する楽曲蓄積手段と，
検索キーとして入力された楽曲の一部または全体から上記テンポ規格化手段によりテンポ規格化された楽曲の一部または全体をもとに，上記楽曲蓄積手段に蓄積された楽曲の一部または全体の中から，互いにテンポ規格化された楽曲の時間的に対応する位置の特徴量の距離計算によって，類似した楽曲を検索する楽曲検索手段と，
上記楽曲検索手段により検索された楽曲を出力する楽曲出力手段として，
機能させるための音楽検索プログラムを記録した計算機読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，音楽検索に係わり，特に，楽曲入力手段によって入力もしくは指定された楽曲の一部もしくは全体を検索キーとして，データベースに蓄積された楽曲の中から，検索キーと類似する楽曲の一部もしくは全体を検索する装置およびその方法に関する。
【０００２】
【従来の技術】
音楽の類似検索を行う場合，従来方法においては音符がマッチングの処理単位として用いられていた。この場合，音符とは，音の高さの変動もしくは変動率がある一定の閾値内に納まっている音の連続のことを言う。また，各音符は，音符情報として音の高さ（音高），音の長さ（音長），時間的に前後する音符との音高の差（相対音高），時間的に前後する音符との音長の比（相対音長）などを保有している。
【０００３】
図９は，従来方法による音楽検索のうち，音符を単位としたＤＰマッチングを使用するものの原理を説明する図である。まず，データベース構築のフェーズでは，検索対象とする楽曲を入力し（ステップＳ１０１），音符情報に変換する（ステップＳ１０２）。それをデータベースへ格納する（ステップＳ１０３）。データベースへ格納した楽曲の検索は，検索キーとなる楽曲を入力し（ステップＳ１１１），それを音符情報に変換する（ステップＳ１１２）。次に，データベース中の全楽曲の音符情報と検索キーから得られた音符情報について，データベース中の曲数分，ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  ）マッチングを実施し（ステップＳ１１３），もっとも類似した楽曲の候補を検索結果として出力する（ステップＳ１１４）。
【０００４】
以上のように，音楽の類似検索を行う場合，従来方法においてはＤＰマッチングが使われていた（参考文献１，２）。
〔参考文献１〕園田智也，後藤真孝，村岡洋一：「ＷＷＷ上での歌声による曲検索システム」，電子情報通信学会技術報告，ＳＰ９７−１０３，  １９９８．
〔参考文献２〕蔭山哲也，高島羊典：「ハミング歌唱を手掛りとするメロディ検索」，電子情報通信学会論文誌，Ｖｏｌ．Ｊ７７−Ｄ−ＩＩ  Ｎｏ．８  ｐｐ．１５４３−１５５１，  １９９４．
ＤＰマッチングにおいては，検索キーと，データベース中の楽曲の一部または全体（候補部分曲）の対応関係が求められ，対応関係にある検索キーの音符と，候補部分曲の音符との間での，音符情報の差異の累計によって類似度が計算される。この検索キーとの間の類似度が最大になるような候補部分曲を，動的計画法によって探し出すのがＤＰマッチングである。
【０００５】
【発明が解決しようとする課題】
従来方法の音符をマッチングの単位とした検索方法では，一般に，許容できる音符数誤りの量を制限している。
【０００６】
また，従来方法のＤＰマッチングでは，計算量を抑制するために，検索キーの音符列と，類似度計算対象となるデータベース中の楽曲の音符列との間の音符数の差異に制限を設ける。
【０００７】
したがって，音楽検索をする場合に，検索キー入力の際に，検索目標とするデータベース中の楽曲に対して一定量以上に音符の挿入・削除を行ってしまうと極端に検索精度が悪くなるという問題があった。
【０００８】
たとえ検索キー入力の際に，音符の挿入・削除が行われなかったとしても，検索キーから音符情報を抽出する際に，音符の挿入・削除が生じる可能性も大きく，そのために検索精度が悪いという問題があった。
【０００９】
また，ＤＰマッチングにおいては，インデクスを利用することができず，データベース中の全曲に対して全検索を施す必要があるために，たとえ計算量を抑制するために許容できる音符数誤りの量を制限したとしても，やはり検索に時間がかかるという問題があった。
【００１０】
一方，音楽片を使用した検索の場合，インデクスを利用できるために検索時間を大幅に短縮することが可能であった。
【００１１】
図１０は，音楽片を使用する音楽検索の原理を説明する図である。この手法は，特願平１０−３４１７５４号（音楽検索装置，音楽検索方法および音楽検索プログラムを記録した記録媒体）で，本発明者等が提案しているものである。
【００１２】
まず，データベースの構築では，検索対象とする楽曲を入力し（ステップＳ２０１），入力した楽曲を音符情報に変換し（ステップＳ２０２），その音符情報を複数の音楽片に分割し（ステップＳ２０３），高速検索が可能なように，インデクスを生成し（ステップＳ２０４），音楽片の情報をインデクスとともにデータベースに格納する（ステップＳ２０５）。
【００１３】
次に，楽曲の検索では，検索キーとなる楽曲を入力し（ステップＳ２１１），入力した楽曲を音符情報に変換し（ステップＳ２１２），音符情報を複数の音楽片に分割する（ステップＳ２１３）。音楽片の一つ一つを検索キーとして，インデクスを用いてデータベースに蓄積された音楽片から類似するものを検索する（ステップＳ２１４）。検索結果として検出された音楽片同士の関係と，検索キーとなった音楽片同士の関係などを調べることで，検出された音楽片を含むデータベース中の楽曲の一部または全体との間の類似度を調べて（ステップＳ２１５），検索キーとなった楽曲の一部または全体と類似度の高いデータベース中の楽曲の一部または全部を検索結果として出力する（ステップＳ２１６）。
【００１４】
音楽片検索を行う場合には，類似度を計算する音楽片同士の音符の数が一致しているために，ＤＰマッチングを用いて音符同士の対応関係を求める必要がなく，インデクスを利用した高速な検索が可能であった。
【００１５】
しかし，音楽片検索をする際は，音符数誤りが認められないために，音楽片の長さ分だけ，音符の挿入・削除のない区間が必要であるという制限があった。すなわち，音楽片の長さ分だけ，音符の挿入・削除のない区間がなければ，検索精度が悪いという問題点があった。
【００１６】
また，音符情報を必ずしも必要としない方法としては，音楽情報への変換を行った後，類似検索を行うという手法がある。
【００１７】
図１１は，音符情報を使用しない音楽検索の原理を説明する図である。この手法は，特願平１０−３２９１３１号（音楽情報検索装置，音楽情報蓄積装置，音楽情報検索方法，音楽情報蓄積方法およびそれらのプログラムを記録した記録媒体）で，本発明等が提案しているものである。
【００１８】
まず，データベースの構築において，楽曲を入力し（ステップＳ３０１），入力した楽曲から音楽的な特徴（特徴量）を抽出することが可能な音楽情報に変換し（ステップＳ３０２），それをデータベースへ格納する（ステップＳ３０３）。
【００１９】
楽曲の検索において，検索キーとなる楽曲を入力し（ステップＳ３１１），入力した楽曲を同等な音楽情報への変換を行い（ステップＳ３１２），変換した音楽情報をもとに，データベース中の楽曲について類似検索を実施する（ステップＳ３１３）。ここで，類似検索として，検索キーの楽曲の特徴量をデータベースに蓄積された楽曲の特徴量と比較し検索し，検索は距離関数を用いて距離の近いものを類似度の高いものとする類似度計算を行う。類似したものを含む楽曲の候補を検索結果として出力する（ステップＳ３１４）。
【００２０】
しかし，このような音楽情報を利用する方法においては，検索キーと，データベース中の曲とのテンポが異なる場合に，検索精度が悪いという問題点があった。
【００２１】
本発明は，上記の点に鑑みなされたもので，データベース中の楽曲および検索キーのテンポを規格化することにより，音符を単位とするのではなく，規格化された時間を単位とした検索を可能とすることによって音符数誤りによって影響を受けない楽曲の検索装置および方法を提供することを目的とする。本発明においては，ＤＰマッチングを使う必要がないため，インデクスを用いた検索を行うことが可能であり，高速な検索が可能である。また，検索を行う前にテンポを規格化するために，検索キーとデータベース中の曲とのテンポが異なっていた場合にも，高い検索精度を得ることが可能である。
【００２２】
【課題を解決するための手段】
図１および図２は，本発明による音楽の類似検索の概要を説明するための図，図３は，本発明の原理構成図である。
【００２３】
本発明は，音楽検索において，データベースに入力された楽曲もしくは楽曲から変換された音楽情報のテンポを規格化した上でデータベースに蓄積し，また，検索キーとして入力された楽曲もしくは楽曲から変換された音楽情報のテンポを規格化した上で，音楽の類似検索を行うことを主な特徴とする。
【００２４】
まず，音楽情報への変換を行わない検索におけるデータベースの構築では，楽曲入力手段１を用いて楽曲が入力される（ステップＳ１０）。入力された楽曲は，テンポ規格化手段２によってテンポ規格化される（ステップＳ１１）。
【００２５】
また，音楽情報への変換を行う検索の場合のデータベースの構築では，楽曲入力手段１を用いて楽曲が入力された後（ステップＳ３０），音楽情報変換手段３１により音楽情報に変換され（ステップＳ３１），その後，テンポ規格化手段２によってテンポ規格化される（ステップＳ３２）。
【００２６】
テンポ規格化された楽曲あるいはテンポ規格化された音楽情報は，楽曲蓄積手段４により，音楽情報蓄積部４２にデータベースとして蓄積される（ステップＳ１２，Ｓ３３）。
【００２７】
テンポ規格化された楽曲あるいはテンポ規格化された音楽情報は，楽曲蓄積手段４により蓄積される前に，音楽情報変換手段３１’による音楽情報への変換，音楽片生成手段３２による音楽片への分割の過程を経てから，蓄積されることもある。さらに，蓄積された楽曲，音楽情報，音楽片に対して，インデクス生成手段４４により，検索を高速化するためのインデクスが作成されることもある。
【００２８】
楽曲蓄積手段４には，テンポ規格化される前の楽曲を楽曲蓄積部４１に蓄積することも可能であり，検索の結果として，テンポ規格化される前の楽曲を出力することも可能である。
【００２９】
楽曲の検索においては，まず，楽曲入力手段１を用いて楽曲の一部または全体が入力もしくは指定される（ステップＳ２０，Ｓ４０）。入力された楽曲は，テンポ規格化手段２によりテンポ規格化されるか（ステップＳ２１），音楽情報変換手段３１により音楽情報へ変換された後（ステップＳ４１），テンポ規格化される（ステップＳ４２）。テンポ規格化された検索キーは，さらに，音楽情報変換手段３１’により音楽情報へ変換され，音楽片生成手段３２により音楽片へ分割されることもある。
【００３０】
上記処理を経た検索キーは，楽曲検索手段５へ送られ，楽曲検索手段５では，検索キーに類似する楽曲の一部もしくは全体を，データベースに蓄積された楽曲から検索する（ステップＳ２２，Ｓ４３）。データベースでインデクスが生成されている場合は，インデクスを用いて検索を行う。
【００３１】
音楽片を用いた検索では，音楽片検索手段５１により，検索キーとして送られてきた音楽片の少なくとも一つを用いて，データベースに蓄積された音楽片から類似するものを検索し，楽曲出力手段６により，検索結果の楽曲を出力する（ステップＳ２３，Ｓ４４）。検索キーとして送られてきた音楽片の複数を用いて検索する場合には，検索キーのそれぞれの音楽片に類似するデータベース中の音楽片を検索した後，音楽片整合手段５２により，音楽片同士の整合性を調べ，最終的な検索結果とすることもある。
【００３２】
なお，音楽片の整合については，上記の関連する特許出願（特願平１０−３４１７５４号）の明細書等に記載されている手法を採用する。具体的には，検索結果として検出された音楽片同士の関係と，検出された音楽片のそれぞれの検索キーとなった音楽片同士の関係を調べ，また，検出された音楽片の前後の音符と，検出された音楽片の検索キーとなった音楽片の前後の音符の関係を調べることで，検索キーとなった楽曲の一部または全部と，検出された音楽片を含むデータベース中の楽曲の一部または全部との間の類似度を調べる。
【００３３】
楽曲入力手段１は，一定の時間間隔もしくは決められた規則に従った時間間隔で信号を発するリズム信号発信手段１１を有することもある。特に，検索キーとして入力される楽曲に関しては，テンポ規格化が十分な精度で行われない可能性がある。そこで，リズム信号発信手段１１によって一定の時間間隔もしくは決められた規則に従った時間間隔で信号を発信させ，その信号に合わせて楽曲入力者が楽曲の入力を行い，入力された楽曲と，リズム信号発信手段１１により発信される信号とを同時にテンポ規格化手段２に入力させることによって，正確なテンポ規格化を行うことを可能とする。
【００３４】
あるいは，楽曲入力手段１は，リズム信号受信手段１２を有することもある。これは，楽曲入力者が楽曲の演奏（歌唱）に合わせて発するリズム信号を受信可能とする手段で，入力された楽曲と，リズム信号受信手段１２により受信される信号を同時にテンポ規格化手段２に入力させることによって，正確なテンポ規格化を行うことを可能とする。
【００３５】
テンポ規格化手段２は，楽曲入力手段１により入力された楽曲，音楽情報変換手段３１により変換された音楽情報，もしくは，リズム信号発信手段１１により発信された信号，リズム信号受信手段１２により受信された信号から，テンポを抽出するテンポ抽出手段２１を有することもある。この場合，テンポ規格化手段２は，テンポ抽出手段２１によって抽出されたテンポを用いて，テンポ規格化を行う。
【００３６】
以下に，本発明の作用を説明する。図４は，テンポ規格化について説明するための図である。楽曲においては，テンポによって，音楽的な「拍子」の時間的な長さが規定される。図４（Ａ）の「元の楽曲」に示されているように，楽曲はそれぞれテンポを持っており，このテンポは，楽曲同士の間で一致することもあれば，異なることもある。また，同じ楽曲であっても，一つ一つの演奏によって異なることもある。また，同じ楽曲であっても，曲の部分によって異なることもある。
【００３７】
テンポを規格化するということは，図４（Ｂ）に示すように，すべての楽曲のすべての演奏の，すべての部分において，拍子の長さが一定の時間的な長さになるように，楽曲に変換を施すことである。
【００３８】
図５は，マッチングの単位を説明するための図である。テンポ規格化を行わない場合，主に音符がマッチングの単位とされてきた。しかし，図５（Ａ）に示すように，音符の挿入・削除が生じると，比較する音符同士の対応関係がずれるという問題があった。ＤＰマッチングは，音符の挿入・削除があった場合の比較する音符同士の対応関係のずれを修正するための方法である。
【００３９】
実際にＤＰマッチングを用いて検索を行う場合，許容する音符の挿入・削除の量には制限を設ける必要があるため，音符の挿入・削除が検索精度に大きな影響を与える。また，ＤＰマッチングを用いた検索では，検索を高速に行うためのインデクスの作成などもできないため，多くの検索時間を必要とする。
【００４０】
一方，テンポ規格化を行った場合，図５（Ｂ）のように時間を単位としたマッチングが可能となる。この場合，音符の挿入・削除があったとしても，対応関係にずれが生じることがなく，そのことにより検索精度が影響されることはない。したがって，精度の高い検索が可能となる。また，テンポ規格化された楽曲を，音楽片に分割し，インデクスを作成することにより，検索を高速に行うようにすることも可能である。
【００４１】
本発明に関連する技術として，特願平１０−３２９１３１号，特願平１０−３４１７５４号に開示する発明がある。本発明は，データベース構築の際に，データベースに入力する楽曲のテンポ規格化を行い，検索キーとなる楽曲の入力の際もテンポ規格化を行う点が，先の発明と主に異なる。特に，本発明は，特願平１０−３４１７５４号に開示する発明とは，特に音符単位での検索を行わず，時間を単位とした検索を行う点が主に異なる。
【００４２】
【発明の実施の形態】
〔第１の実施の形態〕
本発明の第１の実施の形態について説明する。データベースに入力するための楽曲として，ＭＩＤＩデータを用いる。現在ではカラオケ用のデータを初め，多くの楽曲がＭＩＤＩデータとして世の中に出回っている。
【００４３】
ＭＩＤＩデータでは，音符情報が拍子を基準として記述されている。そして，１拍の実時間上の長さが，テンポ情報として，音符情報とは別に記述されている。したがって，規格化された時間として，１拍の長さを基準とした時間を採用すれば，データベース中の楽曲のテンポ規格化が実現される。
【００４４】
データベースに格納するにあたり，元のＭＩＤＩデータは，まず，音楽片に分割される。分割の方法としては，音楽片の長さが，規格化された時間軸上ですべて同じになるようにし，図６（Ａ）に示すように，すべての音符の始まりを先頭とする音楽片が生成されるようにする方法がある。あるいは，図６（Ｂ）に示すように，音楽片が一定の時間間隔で始まるように分割する方法もある。
【００４５】
また，音楽片へ分割した後，音楽情報（特徴量）として，音高推移ベクトルを生成する。これは，図７に示すように，規格化された時間軸を等間隔の目盛で刻み，各目盛の位置で演奏されている音の高さを並べてできるベクトルである。計算機での処理上，音の高さは，例えばＭＩＤＩで使われている音高を表す数値や，周波数などに置き換える。
【００４６】
音楽情報（特徴量）としては，上記のほかに，例えば，以下のものを生成することができる。
【００４７】
▲１▼  音高推移ベクトルＡｉ  ＝（ａｉ１，ａｉ２，…，ａｉｎ）としたとき，ベクトルの要素の平均値ｍｉ  ＝（ａｉ１＋ａｉ２＋…＋ａｉｎ）／ｎを計算し，各要素からこの平均値を引いた値を要素とするベクトルＡｉ  ’  ＝（ａｉ１−ｍｉ  ，ａｉ２−ｍｉ  ，…，ａｉｎ−ｍｉ  ）を特徴量とする。検索キーの楽曲と，データベース中の楽曲の調が異なっていても，このベクトルは類似することが期待される。
【００４８】
▲２▼  音高推移ベクトルＡｉ  ＝（ａｉ１，ａｉ２，…，ａｉｎ）に対し，最初の要素ａｉ１を基準にし，各要素からこの基準値を引いた値を要素とするベクトルＡｉ  ’’＝（０，ａｉ２−ａｉ１，…，ａｉｎ−ａｉ１）を特徴量とする。検索キーの楽曲と，データベース中の楽曲の調が異なっていても，このベクトルは類似することが期待される。
【００４９】
▲３▼  音高推移ベクトルＡｉ  ＝（ａｉ１，ａｉ２，…，ａｉｎ）に対し，各要素から前の要素の値を引いた値を要素とするベクトルＡｉ  ’’’  ＝（ａｉ１，ａｉ２−ａｉ１，…，ａｉｎ−ａｉｎ−１）を特徴量とする。検索キーの楽曲の調が少しずつ推移してしまう場合でも，データベース中の楽曲と，このベクトルは類似することが期待される。
【００５０】
これらの音楽情報が，データベースに格納された後，検索を高速化するためのインデクスを生成する。インデクスの生成方法としては，Ｒ−ｔｒｅｅ  などを用いる。なお，Ｒ−ｔｒｅｅ  に関する参考文献としては以下のものがある。
〔参考文献３〕Ａ．Ｇｕｔｔｍａｎ，  ”Ｒ−ｔｒｅｅｓ：  ａ  ｄｙｎａｍｉｃ  ｉｎｄｅｘ  ｓｔｒｕｃｔｕｒｅｓ  ｆｏｒ  ｓｐａｔｉａｌ  ｓｅａｒｃｈｉｎｇ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ＳＩＧＭＯＤ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ｔｈｅ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｄａｔａ，  ｐｐ．４７−５７，  Ｂｏｓｔｏｎ，  １９８４．
検索キーとなる楽曲の入力については，ハミングによる入力，楽器の演奏による入力，ＭＩＤＩキーボードの演奏による入力などの方法がある。
【００５１】
楽曲の入力の際には，リズム信号発信装置として，電子的なメトロノームを用いる。この電子的なメトロノームは，指定したテンポで音や光，コンピュータディスプレイ上の文字・図形などを発することができるようになっており，楽曲入力者が，その発する信号に合わせて楽曲の入力ができるようになっている。この電子的なメトロノームは，一定の時間間隔で信号を発するだけでなく，例えば，小節の先頭の拍は音色・音量や，光の色・光の強さ，ディスプレイ上の文字の種類・図形の種類を，他の拍とは異なるように発したり，また例えば「サンバのリズム」など，入力する曲の種類に合わせたリズム信号を発することができる。また，この信号を発するテンポであるが，楽曲入力者が楽曲の入力をしやすいように，遅くしたり速くしたりを自由に設定することが可能である。
【００５２】
あるいは，楽曲入力の際には，リズム信号受信装置を使うこともある。これは，手拍子，足踏み，指の上下の動き，体の揺れ，マウスのクリック，キーボードの押下など，楽曲入力者が楽曲入力の際に意識的／無意識的に発する動き，信号などを検知できるようにした装置である。
【００５３】
入力された楽曲と，上記リズム信号受発信装置から得られる信号を使って，検索キーとなる楽曲のテンポ規格化を行う。
【００５４】
音楽片への分割，音楽情報への変換については，ＭＩＤＩキーボードから入力される楽曲については，データベースへの楽曲の入力の場合と同じである。
【００５５】
ハミングによる入力，楽器の演奏による入力では，楽曲入力手段１によりＰＣＭ形式のデータとして楽曲が入力される。そして，このデータから音高情報が抽出される。音高情報の抽出に関しては，ＰＣＭ形式のデータから音符情報を抽出する従来方法に準じる。
〔参考文献４〕新原高水，今井正和，井口征士：「歌唱の自動採譜」，計測自動制御学会論文集，Ｖｏｌ．２０  Ｎｏ．１０  ｐｐ．９４０−９４５，  １９８４；  〔参考文献５〕水野正典，藤本正樹，高島羊典，鶴田七郎：「パーソナルコンピュータミュージックシステム  −歌声の自動採譜−」，情報処理学会第３５回全国大会，５Ｆｆ−５，  １９８７  ．
すなわち，まず，ＦＦＴや，自己相関処理を用いて周波数分析を行い，ピーク抽出，各ピークのパワー測定などを行う。さらに，ノイズの除去，ピッチドリフトの補正，高調波成分の基本成分への吸収などを行い，時間軸上の目盛に対して，どの時点でどの音が演奏されているかを検出する。音高情報が抽出された後の，音楽片への分割，音楽情報の生成の仕方については，データベースへの楽曲の入力の場合と同じである。
【００５６】
なお，音楽情報生成の過程を二段階に分け，途中でテンポ規格化を行う場合もある。例えば，まず音高情報を抽出した後，テンポを規格化し，その後，音高ベクトルなど特徴量の生成を行う場合もある。
【００５７】
検索については，まず，検索キーとして入力された楽曲から生成された音楽片のそれぞれに類似する音楽片を，データベース中から検索する（音楽片検索）。その際には，検索キーの音楽片とデータベース中の音楽片との距離を，音高ベクトルなどそれぞれの特徴量に対して求める。なお，この距離は，ユークリッド距離やマンハッタン距離など適当な距離を特徴量ごとに設定して求める。また，検索を高速化するため，インデクスを用いて検索を行う。
【００５８】
音楽片同士の距離（非類似度）は，各特徴量の距離に適当な重みを加味して何らかの方法で求めたものとして表す。詳しくは，以下のとおりである。用いている特徴量の集合をＦＳＰＡＣＥとする。音楽片Ｋと音楽片Ｘとの特徴量ｉについての距離をｄｉ（Ｋ，Ｘ），重みをＷｉとすると，音楽片Ｋと音楽片Ｘとの総合的な距離Ｄ（Ｋ，Ｘ）を何らかの方法で求めるのは，次のような関数Ｆを用いて行うことになる。
【００５９】
Ｄ（Ｘ，Ｋ）＝Ｆ（｛Ｗｉ｝，｛ｄｉ（Ｋ，Ｘ）｝）
（ただし，ｉ∈ＦＳＰＡＣＥ）
この関数Ｆの具体的な例として，線形和の関数を用いるとすると，
Ｄ（Ｘ，Ｋ）＝ｓｕｍ（Ｗｉ×ｄｉ（Ｋ，Ｘ））
となる（ただし，ｉ∈ＦＳＰＡＣＥであり，ｓｕｍはｉ∈ＦＳＰＡＣＥについての総和をとる）。
【００６０】
関数Ｆとして線形和ではなく，例えば次のような最小値をとる関数を用いることもできる。
【００６１】
Ｄ（Ｘ，Ｋ）＝ｍｉｎ（Ｗｉ×ｄｉ（Ｋ，Ｘ））
（ただし，ｉ∈ＦＳＰＡＣＥ，ｍｉｎはｉ∈ＦＳＰＡＣＥについての最小値をとる）
また，上記線形和と最小値との混合を用いることもできる。すなわち，特徴量（ＦＳＰＡＣＥ）を２種類（ＦＳＰＡＣＥ１，ＦＳＰＡＣＥ２）に分けて，
ＦＳＰＡＣＥ＝ＦＳＰＡＣＥ１∪ＦＳＰＡＣＥ２
であるとすると，
Ｄ（Ｘ，Ｋ）＝ｓｕｍ（Ｗｉ×ｄｉ（Ｋ，Ｘ），ｍｉｎ（Ｗｊ×ｄｊ（Ｋ，Ｘ））
のような関数を用いて総合距離を求めることもできる。ここで，ｉ∈ＦＳＰＡＣＥ１，ｊ∈ＦＳＰＡＣＥ２である。
【００６２】
ここでは，音楽片同士の距離（非類似度）の求め方として，線形和を用いる場合，最小値を用いる場合，線形和と最小値の混合を用いる場合の例を説明したが，もちろんこの他にも総合距離の求め方はいろいろあり得る。データベース中の音楽片のうち，検索キーの音楽片との距離が近いもの，すなわち類似度の高いものが音楽片検索の結果となる。
【００６３】
検索キーから音楽片が複数生成される場合，検索キーの音楽片のそれぞれに対する音楽片検索の結果に対して音楽片同士の整合性を調べ，複数の音楽片を組み合わせた場合の類似度を計算し，最終的な検索結果とすることができる。
【００６４】
今，検索キーＫの音楽片Ｋｐ  ，Ｋｑ  （ｐ＜ｑ）に対し，データベース中の音楽片Ｘ，Ｙがそれぞれ類似していたとする（Ｋｐ  〜Ｘ，Ｋｑ  〜Ｙ）。音楽片Ｘ，Ｙが，検索キーの音楽片Ｋｐ  ，Ｋｑ  に対して整合性を持つということは，以下の条件を満たすことである。
【００６５】
１）音楽片Ｘ，Ｙは同じ曲に属さなければならない。なお，以降ではこの候補曲をＡとし，音楽片Ｘ，ＹをそれぞれＡｒ  ，Ａｓ  とおく。
【００６６】
２）音楽片Ａｒ  ，Ａｓ  の時間的順序は，対応する検索キーの音楽片（Ｋｐ  ，Ｋｑ  ）の時間的順序と同じ（すなわち，ｒ＜ｓ）である。
【００６７】
３）音楽片Ａｒ  ，Ａｓ  の規格化された時間における開始時間を，ＴＡｒ，ＴＡｓとし，検索キーの音楽片Ｋｐ  ，Ｋｑ  の規格化された時間における開始時間を，ＴＫｐ，ＴＫｑとしたとき，開始時間の間隔が一致，すなわち，ＴＡｓ−ＴＡｒ＝ＴＫｑ−ＴＫｐである。
【００６８】
検索結果の出力では，検索キーと，検索結果の候補となったデータベース中の楽曲の一部もしくは全体との間の類似度を求めた後，類似度の高い順番に，楽曲の一部もしくは全体を提示する。データベース中の情報から楽曲の題名，音楽家名を表示することもできるし，検索キーと類似する楽曲の一部もしくは全体を演奏することもできる。
【００６９】
本実施の形態においては，データベースに入力する楽曲としてＭＩＤＩデータを用いることができる。ＭＩＤＩデータは標準化された形式で，非常に多くの楽曲がＭＩＤＩデータとして存在しており，データベースの構築のために楽曲の演奏を行ったりする必要がなく，データベース構築が容易である。また，ＭＩＤＩデータは拍子を基準として音符情報が記述されているため，テンポ規格化，音高情報の抽出が正確に行えるため，音楽検索用のデータベースに利用することに適している。
【００７０】
また，検索キーとなる楽曲の入力の際に，リズム信号受発信装置を補助的に使うことによって，検索キーとなる楽曲のテンポ規格化が正確に行えるようになる。
【００７１】
本実施の形態の格別な効果として，データベースの構築が容易かつ正確に行えること，また，検索キーとする楽曲のテンポ規格化が正確に行えることが挙げられる。
【００７２】
〔第２の実施の形態〕
本発明の第２の実施の形態においては，上記の第１の実施の形態でデータベースに入力する楽曲としてＭＩＤＩデータを用いるのではなく，例えば音楽用ＣＤ（コンパクト・ディスク）のデータや，ＷＡＶＥ，ＡＩＦＦ，ＡＵなどの形式のようにＰＣＭ符号化された楽曲，もしくは，他の符号化形式のものであれば，それを一度ＰＣＭ符号化形式に変換したものを用いる。
【００７３】
一般に楽曲においては，拍子に合わせて音が演奏される。そして，音は，演奏が開始される瞬間に大きく音圧が変化するため，楽曲における音圧の変動を調べれば，テンポ情報を抽出することが可能である。
【００７４】
より具体的なテンポ情報抽出方法として，以下のような方法がある。
【００７５】
▲１▼  １００Ｈｚや１０Ｈｚといった小さなサンプリング周波数で音量レベルのピークを探し，ピークの間隔からテンポを抽出する方法。元のＰＣＭデータのサンプリング周波数が，例えば４４１００Ｈｚであったとすると，１０００サンプルずつ足しあわせたデータを作成し，音量レベルのピークを探す，といった方法が考えられる。
【００７６】
▲２▼  上記小さなサンプリング周波数で音量レベルの変化率の推移を調べ，変化率が急激に増加する部分を探し，その急激に増加する部分の間隔からテンポを抽出する方法。
【００７７】
▲３▼  上記小さなサンプリング周波数のデータに対し，例えば，１０秒といった長い区間で周波数分析を行い，ピークを探す方法。例えば，２Ｈｚのところにピークが出れば，この楽曲の一拍の長さは０．５秒であるということになる。
【００７８】
▲４▼  リズムを刻むドラムズなどの楽器の音を選択的に抽出し，これらの音の音圧の変動を分析することにより，テンポ情報を抽出する方法。
【００７９】
入力された楽曲から音高情報などの特徴量を生成する方法としては，上記の第１の実施の形態でハミングや楽器の演奏により入力された楽曲から音高情報などを抽出する方法に準じる。ただし，ハミングや単一の楽器の演奏の場合と違い，音楽用ＣＤなどのデータでは，複数の音符が同時に発せられているため，検索対象となる音高（旋律に相当する音の音高）のみを抽出する必要がある。そのために，ＦＦＴや自己相関処理をしたのちに，音圧の最も強いピークを抽出する方法や，旋律やリズムを演奏する楽器，もしくは人の歌声の周波数帯のピークのみを抽出するような帯域フィルタを使用する方法がある。
【００８０】
本実施の形態の効果は以下のとおりである。データベースに入力する楽曲として，ＭＩＤＩよりさらに一般的な音楽符号化方式であるＰＣＭ方式により符号化された楽曲を利用することにより，データベース中に含まれる楽曲の量を，より充実したものにすることが可能である。また，市販の音楽用ＣＤのみならず，個人的に楽器によって演奏した楽曲などもデータベース中に含むことができるようになる。
【００８１】
〔第３の実施の形態〕
本発明の第３の実施の形態においては，上記の第１，第２の実施の形態でデータベース中の楽曲，検索キーの楽曲を音楽片に分割し，特徴量を生成する際に，音高推移ベクトルを生成するのではなく，対象となる音楽片における音高の分布を求め，この分布をもとに特徴量ベクトルを生成する。
【００８２】
ある音楽片において，音高が，図８（Ａ）に示すように推移した場合，規格化された時間の一単位を一度数に換算して，図８（Ｂ）のような音高分布図を作成し，各音高（もしくは音高の範囲）の度数を並べて音高分布ベクトルを作成することができる。これを，音楽情報（特徴量）として検索を行うことができる。
【００８３】
音楽情報（特徴量）としては，上記のほかに，例えば，以下のものを生成することができる。
【００８４】
▲１▼  第１の実施の形態で利用した音高推移ベクトルＡｉ  の各要素から，要素の平均値を引いてできたベクトルＡｉ  ’  の要素の値の分布。
【００８５】
▲２▼  第１の実施の形態で利用した音高推移ベクトルＡｉ  の各要素から，最初の要素の値を引いてできたベクトルＡｉ  ’’の要素の値の分布。
【００８６】
▲３▼  第１の実施の形態で利用した音高推移ベクトルＡｉ  の各要素から，前の要素の値を引いてできたベクトルＡｉ  ’’’  の要素の値の分布。
【００８７】
また，上記各分布において，図８（Ｂ）の音高分布図の横軸に相当する値が０に相当する部分の度数を０とする場合もある。また，上記各分布において，図８（Ｂ）の音高分布図の横軸に相当する値を，定められた範囲内に限定し，範囲を超えたデータを削除する場合，もしくは，その範囲の境界の値に加える場合もある。
【００８８】
これらの特徴量ベクトルを利用し，第１の実施の形態の方法に従い，音楽片検索，音楽片整合を経た上で類似検索を行う。
【００８９】
本実施の形態の効果について，第１の実施の形態の場合よりも，一般に特徴量ベクトルの次元数を減らすことができるために，検索速度を向上させることが可能である。また，音楽片の範囲内では，時間の情報が失われるために，データベース中の音楽片と，検索キーから生成された音楽片の開始地点に多少の誤差があっても，検索が可能となる。一方，時間の情報が失われるために，音高推移ベクトルで見れば類似しないものでも，音高分布ベクトルでは類似する可能性がある。したがって，まず本実施の形態による方法で検索を行い，その検索結果の中から，第１の実施の形態による検索を行う絞り込み検索などを行うことも可能である。
【００９０】
【発明の効果】
上述のように，本発明によれば，検索者がハミングや楽器の演奏などにより，自由に楽曲の一部または全体を入力することにより，検索者が意図した楽曲をデータベースの中から精度よく高速に検索することが可能となる。
【００９１】
本発明によって，例えば，カラオケや，ミュージック・オン・デマンドシステム（自動ジュークボックス）などのシステムにおいて，利用者が選択したい楽曲の名前や作曲者名，演奏家名などを思い出せない場合においても，その楽曲のメロディーさえ覚えていれば目的の楽曲を選択可能となり，このような分野において極めて有効である。
【図面の簡単な説明】
【図１】本発明による音楽の類似検索（音楽情報への変換を行わない場合）の概要を説明する図である。
【図２】本発明による音楽の類似検索（音楽情報への変換を行う場合）の概要を説明する図である。
【図３】本発明の原理構成図である。
【図４】テンポ規格化を説明する図である。
【図５】マッチングの単位を説明する図である。
【図６】音楽片への分割を説明する図である。
【図７】音楽情報への変換を説明する図である。
【図８】音楽情報への変換（音高分布）を説明する図である。
【図９】従来方法による音楽検索（ＤＰマッチング使用）の原理説明図である。
【図１０】本発明に関連する音楽片を使用する音楽検索の原理説明図である。
【図１１】本発明に関連する音符情報を使用しない音楽検索の原理説明図である。
【符号の説明】
１      楽曲入力手段
１１    リズム信号発信手段
１２    リズム信号受信手段
２      テンポ規格化手段
２１    テンポ抽出手段
３１    音楽情報変換手段
３１’  音楽情報変換手段
３２    音楽片生成手段
４      楽曲蓄積手段
４１    楽曲蓄積部
４２    音楽情報蓄積部
４３    音楽片蓄積部
４４    インデクス生成手段
５      楽曲検索手段
５１    音楽片検索手段
５２    音楽片整合手段
【図１】
0003631650.tif 000002
【図２】
0003631650.tif 000003
【図３】
0003631650.tif 000004
【図４】
0003631650.tif 000005
【図５】
0003631650.tif 000006
【図６】
0003631650.tif 000007
【図７】
0003631650.tif 000008
【図８】
0003631650.tif 000009
【図９】
0003631650.tif 000010
【図１０】
0003631650.tif 000011
【図１１】
0003631650.tif 000012