(57)【特許請求の範囲】
【請求項１】
音楽ファイルのデータベースを検索するための装置であって、入力手段と、比較手段と、出力手段とを含み、
前記入力手段は、一連の旋律的音程として節回しを含んでいる検索基準を入力するためのものであり、
前記比較手段は、前記データベースからコンピュータ読み取り可能な複数の音楽ファイルを取り出し、前記入力手段に入力された前記節回しを、前記複数の音楽ファイルに含まれる節回しに関する選択的部分と比較するためのものであり、
前記出力手段は、前記複数の音楽ファイルのうち、前記検索基準と一致する音楽ファイルのリストを出力するためのものであり、
前記比較手段は、
前記節回し及び前記選択的部分を、複数のセグメントに分割し、
前記節回しまたは前記選択的部分から分割されたセグメントに対して、旋律的音程の組み合わせからなる各セグメントタイプの出現を記録し、
前記節回しと前記選択的部分との間で、前記各セグメントタイプの出現数を表したヒストグラムの類似性を定める、
装置。
【請求項２】
請求項１に記載された装置であって、
前記入力手段はマイクロフォンを含み、前記マイクロフォンは、前記節回しが、利用者の歌唱、ハミングもしくは口笛により吹き込まれるためのものである
装置。
【請求項３】
請求項１に記載された装置であって、
前記入力手段は、節回しを演奏するためのＭＩＤＩキーボードを含む
装置。
【請求項４】
請求項１、請求項２または請求項３の何れかに記載された装置であって、
前記入力手段は、ピッチ認識手段を含み、ピッチ認識手段は、前記節回しとして入力された複数の音楽的ピッチ間におけるそれぞれの旋律的音程を特定するためのものである
装置。
【請求項５】
請求項１乃至４の何れかに記載された装置であって、
前記入力手段は、量子化手段を含み、前記量子化手段は、時間的に連続した２つの音楽的ピッチに最も適合するような半音程、全音程、短３度音程または長３度音程を決定するためのものである
装置。
【請求項６】
請求項１乃至４の何れかに記載された装置であって、
前記入力手段は、量子化手段を含み、前記量子化手段は、時間的に連続した２つの音楽的ピッチに最も適合するような長音階、短音階もしくは他の音階を決定するためのものである
装置。
【請求項７】
請求項１乃至６の何れかに記載された装置であって、入力された前記一連の旋律的音程から一連のリズム間隔を決定し、かつ、前記一連のリズム間隔を更なる検索基準として用いるための手段を含む
装置。
【請求項８】
請求項１乃至７の何れかに記載された装置であって、テキスト情報を含んでいる更なる検索基準を入力するための手段を含む
装置。
【請求項９】
請求項１乃至８の何れかに記載された装置であって、
前記比較手段は、
選択基準を適用することにより、コンピュータ読み取り可能な複数の音楽ファイルの各部分のうち、節回しを含む可能性のある部分を特定し、これにより、前記複数の音楽ファイルに含まれる選択的部分を特定する手段を含む
装置。
【請求項１０】
請求項９に記載された装置であって、前記音楽ファイルに含まれる前記選択的部分は、索引として蓄積される
装置。
【請求項１１】
請求項１０に記載された装置であって、索引として蓄積された前記選択的部分は、テキストに符号化され、
前記入力手段は、前記一連の旋律的音程を、テキスト列に符号化するための手段を含み、
前記比較手段は、テキスト検索エンジンを含む
装置。
【請求項１２】
請求項９に記載された装置であって、
コンピュータ読み取り可能な前記複数の音楽ファイルに含まれる前記選択的部分の位置は、前記複数の音楽ファイル内において、１つもしくは複数のタッグにより指し示される
装置。
【請求項１３】
音楽ファイルのデータベースについて索引を作成するための装置であって、
請求項１乃至８の何れかに記載された装置と、
コンピュータ読み取り可能な複数の音楽ファイルの各部分のうち、節回しを含む可能性のある部分を特定するため、選択基準を適用することにより、前記複数の音楽ファイルに含まれる選択的部分を特定するための手段と、
前記複数の音楽ファイルの各部分のうち、前記選択的部分に一致する部分を特定するため、前記複数の音楽ファイルにタッグ付け処理を施すための手段とを
含む装置。
【請求項１４】
音楽ファイルのデータベースについて索引を作成するための装置であって、
請求項１乃至８の何れかに記載された装置と、
コンピュータ読み取り可能な複数の音楽ファイルの各部分のうち、節回しを含む可能性のある部分を特定するため、選択基準を適用することにより、前記複数の音楽ファイルに含まれる選択的部分を特定するための手段と、
前記複数の音楽ファイルについての索引であって、前記選択的部分の代表情報を含んでいる索引を作成するための手段とを
含む装置。
【請求項１５】
音楽ファイルのデータベースを検索するための方法であって、
一連の旋律的音程として節回しを含んでいる検索基準を、入力として与えるステップと、
前記データベースからコンピュータ読み取り可能な複数の音楽ファイルを取り出し、前記節回しを、前記複数の音楽ファイルに含まれる節回しに関する選択的部分と比較するステップと、
前記複数の音楽ファイルのうち、前記検索基準と一致する音楽ファイルのリストを、出力として与えるステップとを含んでおり、
前記節回しを前記選択的部分と比較する前記ステップは、
前記節回し及び前記選択的部分を、複数のセグメントに分割し、
前記節回しまたは前記選択的部分から分割されたセグメントに対して、旋律的音程の組み合わせからなる各セグメントタイプの出現を記録し、
前記節回しと前記選択的部分との間で、前記各セグメントタイプの出現数を表したヒストグラムの類似性を定めるステップを含む、
方法。
【請求項１６】
コンピュータプログラムの符号情報を記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムは、コンピュータに読み込まれたとき、請求項１５に記載された方法をコンピュータに実行させる
コンピュータ読み取り可能な記録媒体。
【請求項１７】
入力源からの一連の旋律的音程を決定するための装置であって、
請求項１乃至１２の何れかに記載された装置と、
節回しを表す波信号を入力するための手段と、
音符離散化手段とを含んでおり、
前記音符離散化手段は、
前記波信号の周波数−時間特性を、個別の時間区間に分離することにより、一連の節回し要素を構成し、かつ、それぞれの節回し要素について時間区間に対する入力勾配を決定するための手段を含む
装置。
【請求項１８】
請求項１７に記載された装置であって、
それぞれの節回し要素の勾配を、「水平／略水平状態」、「斜め状態」及び「垂直／略垂直状態」の種類の１つに指定するための手段と、
隣り合い、かつ同じ種類の節回し要素を合体して複合要素を構成するための手段とを
含む装置。
【請求項１９】
請求項１８に記載された装置であって、
それぞれの「斜め状態」の節回し要素、または、それぞれの「斜め状態」の節回し要素に含まれる部分を、最も近い「水平状態」の節回し要素と等しい値の「水平状態」の節回し要素として再指定し、
これにより、「斜め状態」の節回し要素を除去するための手段を
含む装置。
【請求項２０】
請求項１に記載された装置であって、
コンピュータ読み取り可能な前記音楽ファイル、及び／もしくは、入力される前記検索基準は、オーディオファイルを含んでいる
装置。
【請求項２１】
請求項２０に記載された装置であって、
前記比較手段は、
オーディオ信号においてステレオの左チャンネル及び右チャンネルに共通な構成要素を検出することにより、前記オーディオファイルのうち、節回しを含む可能性のある選択的部分を特定する手段を含む
装置。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、検索エンジン及びデータベースに関し、特に、コンピュータシステムにおいて、記録もしくは符号化されたサウンドファイルのデータベースから、音楽シーケンス及び音楽フレーズを検索するのに適した検索エンジンに関する。
【０００２】
（背景技術）
本発明は、さまざまなタイプのデータベースでの検索に関する。データベースでは、発行者によるコンパクトディスクカタログのように、大きさ、範囲及びファイル形式が制限される。また、データベース検索は、検索サイズ及び検索範囲が大きくてもよく、ネットワーク上で広く頒布でき、異なった多数のファイルタイプを含んでいてもよい。１つの例は、インターネット検索である。
【０００３】
多くの事情から、音楽データベースの検索では、音楽の一部分に含まれる旋律もしくは音楽的連なりの一部分のみに基づいて音楽の特定部分を見出せることが望まれている。さもないと、検索では、より細かい普通の書誌的情報、例えば、作品の題名、作曲者、発行者、歌詞(lyrics)などが検索の結果として得られなければならず、検索者は、必ずしも、このような細かい情報を知っているとは限らない。
【０００４】
音楽ファイルのデータベース上で音楽の一部分を検索することに関する問題としては、多数の及びさまざまな問題が知られている。
【０００５】
まず、知られた節回しを検索基準としてコンピュータシステムに与えるための適切な入力装置が、必要である。通常のコンピュータ入力装置（例えば、キーボードなど）を介してコンピュータシステムに音楽を入力することは、未熟練な利用者にとって容易ではない。
【０００６】
次に、コンピュータの音楽ファイルに見出される複雑なパターンに対し、検索基準を比較する方法は難しい。なぜならば、記録もしくは符号化された複雑な音において、認識し得る旋律の正確な位置が知られていないからである。さまざまな形式のファイル、例えば、ＭＩＤＩファイル、ＭＰ３ファイル、ＷＡＶファイル、シーケンサーファイル、楽譜記述ファイル、または他の適切な形式のファイルが備えられていなければならない。
【０００７】
本明細書において、「音楽ファイル」という表現は、電子的、磁気的もしくは光学的に記録されたコンピュータ読み取り可能なファイルであって、音楽のデジタル的な情報を含み、かつ、音楽的ピッチデータを抽出し得る全ての形式のファイルを含むものとして用いられる。これらは、例えば、ＭＰ３形式により符号化もしくは記録された音に関連し、または、音を生成するための信号化された指令、例えば、ＭＩＤＩファイル形式に関連していてもよい。
【０００８】
本明細書において、「節回し」という表現は、音符のピッチの連なり、好ましくは、和音よりもむしろ一重の音を指す。音符のピッチの連なりは、検索基準の基礎を構成し得る。本発明において、音符と言う場合は、記号としての音符そのものを表す他、信号化されたもの、例えば、その音符により表現される音などを含むこともある。また、本明細書において、「旋律」という表現は、一般に、検索される音楽ファイルの一部分に含まれている音符ピッチの連なりであって、入力される検索用節回しが見出される位置、例えば、歌声のラインもしくはソロ楽器のラインにある音符ピッチの連なりを指す。
【０００９】
先行技術では、ミュージカルコンター(musical contours)の連なりを与える比較的単純な方法によって検索基準を特定することが提案されている。これらのミュージカルコンターは、ピッチの相対的変化を記述し、音符が、先行の音符との比較において高いか、低いか、もしくは同じであるかを示す。この形式では、利用者が「DUDRUDDUUDUUDUDR」のようなキャラクタストリング(character string)を与えるだけで、キーボードを介した入力が容易に行われる。但し、キャラクタストリング「DUDRUDDUUDUUDUDR」において、「Ｄ」は下向きの変化を示し、「Ｕ」は上向きの変化を示し、「Ｒ」は先行音符のピッチを繰り返すことを示している。このような技術は、特別な構成のデータベースに対し、ある程度の効果を得られるが、その不正確さによって制約され、検索基準の入力が、未熟練な利用者にとって難しい。しかも、このような技術は、一般の音楽ファイルを検索するのにあまり適していない。
【００１０】
（発明の開示）
本発明の課題は、検索エンジンに入力される音楽検索基準であって、未熟練者や非専門家にも容易に利用できる音楽検索基準を提供するための方法及び装置を提供することである。
【００１１】
本発明のもう一つの課題は、データベースに音楽検索基準を適用し、これにより、コンピュータ用の蓄積媒体に収納されたターゲットの音楽ファイルとの一致を得るための方法及び装置を提供することである。
【００１２】
本発明の更にもう一つの課題は、コンピュータシステムのデータベースにおいて音楽ファイルを構成し、これにより、節回しを含む検索基準による検索処理を高速化もしくは能率化するための方法及び装置を提供することである。
【００１３】
本発明に係る一つの態様では、音楽ファイルのデータベースを検索するための装置が提供される。この検索用装置は、入力手段と、比較手段と、出力手段とを含む。
【００１４】
入力手段は、一連の旋律的音程として節回しを含んでいる検索基準を入力するためのものである。比較手段は、前記一連の旋律的音程を、コンピュータ読み取り可能な複数の音楽ファイルに含まれる選択的部分と比較するためのものである。出力手段は、コンピュータ読み取り可能な前記複数の音楽ファイルに含まれる選択的部分と、前記検索基準と一致するリストを出力するためのものである。
【００１５】
本発明に係るもう一つの態様では、音楽データベースについて索引を作成するための装置が提供される。
【００１６】
この索引作成用装置は、
コンピュータ読み取り可能な複数の音楽ファイルの各部分のうち、節回しを含む可能性のある部分を特定するため、選択基準を適用することにより、前記複数の音楽ファイルに含まれる選択的関連部分を特定するための手段と、
前記複数の音楽ファイルの各部分のうち、前記選択的関連部分に一致する部分を特定するため、前記複数の音楽ファイルにタッグ付け処理を施すための手段とを
含む。
【００１７】
本発明に係る更にもう一つの態様では、音楽データベースについて索引を作成するための装置が提供される。
【００１８】
この索引作成用装置は、
コンピュータ読み取り可能な複数の音楽ファイルの各部分のうち、節回しを含む可能性のある部分を特定するため、選択基準を適用することにより、前記複数の音楽ファイルに含まれる選択的関連部分を特定するための手段と、
前記複数の音楽ファイルについての索引であって、前記選択的関連部分の代表情報を含んでいる索引を作成するための手段とを
含む。
【００１９】
本発明に係る更にもう一つの態様では、音楽ファイルのデータベースを検索するための方法が提供される。この検索用方法では、一連の旋律的音程として節回しを含んでいる検索基準を、入力として与える。更に、前記一連の旋律的音程を、コンピュータ読み取り可能な複数の音楽ファイルに含まれる選択的部分と比較する。更に、コンピュータ読み取り可能な前記複数の音楽ファイルに含まれる選択的部分と、前記検索基準と一致するリストを、出力として与える。
【００２０】
次に、添付図面を参照し、本発明の実施例について説明する。
【００２１】
（発明を実施するための最良の形態）
図１を参照すると、コンピュータシステム１が示されている。このコンピュータシステム１は、本発明に係る音楽検索方法を実行するのに適している。好ましくは、このコンピュータシステムは、通常のハードウエアとしてプロセッサー２と、メモリー３と、モニター４と、キーボード５と、マイクロホン６とを含んでいる。また、好ましくは、このコンピュータシステム１は、更に、ＭＩＤＩコンパチブル音楽キーボード７と、適当なリンク８とを含んでいる。リンク８は外部のデータベース９につながる。
【００２２】
更に図２を参照し、本発明の一実施例での検索処理を、図１に示されたコンピュータシステム１の細部と関連付けて説明する。
【００２３】
＜ピッチの認識＞
第１のステップ２０では、対象となる節回しに関する検索基準を入力する。好ましくは、利用者が歌唱、ハミングもしくは口笛で節回しを奏し、この節回しを、マイクロホン６によりコンピュータに入力する。ステップ２１において、このオーディオ入力がオーディオファイルの作成に用いられる。ステップ２２において、プロセッサ２に備えられたピッチ認識部１１が、オーディオファイルの分析及びピッチの特定に用いられる。好ましくは、ピッチ認識部１１は、節回しにおいて連続する音符の持続期間を特定するのにも用いられる。
【００２４】
好ましくは、ピッチ認識ステップ２２では、パラメータ評価段階で明瞭な調和モデルを用いる。歌唱もしくはハミングによる節回しが入力される場合は、音声特性のBayesian決定法を利用する。息継ぎ及び人工音により生じる短時間の中断は、除去される。これにより、連続した、もしくはほぼ連続した周波数−時間グラフ３５（図３ａ参照）が得られる。この周波数−時間グラフ３５については、後で詳しく述べる。また、チューニング及び／またはスラーの問題を評価するため、音符の離散化段階を設定することが望ましい。この離散化段階については後で述べる。
【００２５】
別の実施例において、節回しの入力は、ステップ２１の代わりに、またはステップ２１及びステップ２２の代わりに、多くの他の方法を利用して容易に実現されることが理解されよう。例えば、ＭＩＤＩキーボード７は、節回しを、ＭＩＤＩファイルに直接に入力するのに利用できる。また、通常のキーボード５またはマウスは、例えばＣ、Ｅ、Ｆ等の音符名を入力するのに利用できる。また、節回しは、蓄積された音楽ファイル、例えばＭＩＤＩファイル等の一部分から、利用者により選択されてもよい。また、節回しは、蓄積された音楽ファイルの一部分から自動的に選択されてもよい。この自動選択技術は後述する。自動選択技術は、多数の検索を実行する場合に有効である。また、多くの音楽ファイル間で比較したい場合、自動選択技術では、多くの音楽ファイルの多くの部分を自動的に選択してもよい。
【００２６】
＜旋律的音程の決定＞
検索基準として用いられる節回しは、音符のピッチの一つながりにより構成される。音符のピッチの一つながりが、コンピュータに入力されると、次のステップ（図２のステップ２３）では、音符のピッチから、一連の旋律的音程を決定する。疑問決定処理部１２は、旋律的音程発生部１３を利用することにより、疑問となっている一連の旋律的音程を特定する。
【００２７】
旋律的音程は、音符と、その直前の音符との間でのピッチの音程として定まる。旋律的音程は、節回しに含まれる最初の音符もしくは小節により定まるが、対象となる直前の音符は、音符のすぐ後にくることが好ましい。但し、この機能は、節回しが歌唱、ハミングもしくは口笛等によるオーディオ入力として入力される際、ピッチが急激にもしくは緩慢に変化するときには、あまり有効ではない。
【００２８】
＜オーディオ入力の量子化＞
好ましくは、オーディオ入力された旋律的音程は、ピッチ誤りの低減のため、量子化される。この量子化処理は、図形の線または点を、グリッドに適合させる処理に似ている。（この量子化処理は、ＭＩＤＩ装置から不正確な入力が入力された場合、または、利用者が少し誤った音符を入力した場合にも有効である。）最適な量子化は、好ましくは、音楽ファイル及び検索用の節回しのセットから統計的に見い出される。本発明で用いられる他の量子化処理としては、次のような量子化処理が挙げられる。
【００２９】
熟練の音楽家がＭＩＤＩキーボード、もしくは高信頼度の入力装置を使用することにより検索用の節回しが定められ、かつ、データベースの信頼性が高い場合、途中段階（半音）の量子化を利用することが好ましい。
【００３０】
また、データベースまたは検索用節回しが、例えば、未熟練な利用者による歌唱もしくはハミング等によるもので、低信頼度である場合、最終段階（全音）、短３度もしくは長３度の量子化を利用することが好ましい。
【００３１】
また、全音階等の音階の量子化が、音楽ファイル及び／または検索用節回しから高信頼度で特定または決定されている場合、音階の量子化を利用することがでいる。
【００３２】
＜音符の離散化＞
入力された節回しは、典型的には、スラーで連結された音符を含んでいる。スラーで連結された音符は、周波数−時間グラフ上において、湾曲された線、もしくは折り曲げた線によって示される。図３（ａ）を参照すると、周波数−時間グラフ３５が示されている。この周波数−時間グラフ３５は、入力された節回しの一部分を、典型的に示すものである。図３（ａ）において、ピッチ（もしくは周波数）はｙ軸で示され、時間はｘ軸で示されている。これは、未処理のピッチ曲線を示している。この未処理ピッチ曲線では、一つの音符の終点、及び次の音符の始点が不明確であろう。スラーが特定されず、除去されていない状態で、周波数がピッチに量子化された場合、偽の音階に幅広のスラーが付されることになる。例えば、一連の音符Ｃ、Ｃ＃、Ｄ、Ｄ＃、Ｅには、音符Ｃから半音階ずつ音符Ｅまで上がるスラーが付されることになる。
【００３３】
入力された節回しは、これが特に歌唱、口笛もしくはハミングによりなされたものである場合、チューニング(tuninng)が不正確になるであろう。もし、チューニングが無視され、周波数が単純に最も近い絶対ピッチ（例えば、Ａ＝４４０Ｈｚに対して最も近い半音）に量子化されると、多くのピッチ誤りが生じよう（例えば、入力された節回しの内部チューニングが、基準の４４０Ｈｚチューニングから４分の１音外れ、少し変動する場合）。
【００３４】
上述した２つの問題点は、図３、図４を参照し、次のように解決される。
１．未処理のピッチ曲線を示す周波数−時間グラフ３５は、分割され（ステップ４１）、連続した音符、スラーもしくはジャンプに単純化される。この処理は次のように行うことができる。グラフ３５は、例えば約１００ｍｓの時間を一単位として、複数の時間領域３５に分割される。時間領域３５には、それぞれ、直線状線片があてはめられる（ステップ４２）。図３（ｂ）を参照すると、これらの直線状線片は、傾き具合により、水平／略水平状態（連続した音符「Ｎ」）、斜め状態（スラー「Ｓ」）及び垂直／略垂直状態（ジャンプ「Ｊ」）に分類される。急速なパッセージ等におけるスラーには、真の音符が含まれている場合がある。真の音符は、音量のピークにより特定され、短時間持続する音符と、その音符の片側に付されるスラーとに置き換えられる。隣り合う直線状線片がつながり、かつ、同じ傾き具合である場合、これらの直線状線片は合体され（ステップ４４）、１つの直線状線片となる。この処理は、図３（ｃ）の、離散化された周波数−時間グラフ３８に示されている。およそ水平な直線状線片は、図示のように、正確な水平状態に修正される。
【００３５】
２．次に、連続する音符を片側に延長することにより、スラーを除去してもよい。これにより、グラフ全体が、連続した音符と、それらの間のジャンプとにより構成されることになる。即ち、部分的に一定なグラフとなる。このようにして、斜めの直線状線片は、水平となり、かつ、その値が、隣り合う水平な直線状線片の値と等しくなるように修正される。より好ましくは、斜めの直線状線片は２つの部分に分割され、それぞれの部分に対し、隣り合う水平な直線状線片の値と等しい値が与えられる。
【００３６】
３．連続した音符の、等調律された半音階を基準として平均チューニングを求めることにより、内部チューニングが得られる（ステップ４５）。
【００３７】
４．この内部チューニングでは、周波数が、音楽的ピッチ（例えば、半音階、全音程もしくは全音階等）に量子化される。この量子化処理は、グラフ３８の水平な直線状線片を、選択された最も近い「スナップ点」にあてはめることにより行うことができる（図３（ｄ）参照）。用いられる一組のスナップ点は、適当な「はしご」３９ａ、３９ｂもしくは３９ｃから選択される。これらのはしご３９ａ、３９ｂ、３９ｃは、それぞれ、長音階、半音階、短音階に対応している。長音階や短音階などの不均律なはしごを用いて量子化を行う場合、入力された節回しの周波数を示すヒストグラムを生成し、このヒストグラムを、標準音階のヒストグラム、または、標準音階による多数例の節回しのヒストグラムと比較すると、入力された節回しの音階が特定される。この比較処理は、例えば、正規化最小二乗比較法を利用することにより実行できる。
【００３８】
＜リズム間隔の決定＞
好ましい実施例では、検索基準として旋律的音程を用いるのみならず、ステップ２４において、リズム間隔発生部１４を用いることにより、節回しの音符から一連のリズム間隔を決定する。
【００３９】
リズム間隔は、直前の音符の持続期間によって割り当てられた音符の持続期間として定められる。従って、１つのリズム間隔が一対の音符を示し、一対の音符のうち、二番目の音符の音長が一番目の音符の音長の２倍となる。音符のリズム間隔は、節回しにおける最初の音符、または、節回しの一部分における最初の音符を基準とすることができる。しかし、この基準は、節回しにおいてリズムが加速もしくは減速するときには、あまり有効ではない。また、リズム間隔を定める別の方法として、小節、節回しもしくはファイルに含まれる音符の平均音長によって割り当てられた音符の持続期間として、リズム間隔を定めてもよい。
【００４０】
検索用の節回しが、歌唱もしくはＭＩＤＩキーボード等のように正確にリズムを保持した状態で入力される場合、リズム間隔は最も有効に利用される。好ましくは、リズム間隔は、第２番目の検索基準として用いられ、旋律的音程よりも、検索における重みを軽くする。なぜならば、リズム間隔は、旋律的音程よりもはるかに不正確となる傾向にあるからである。この理由としては、検索用の節回しが近似的なリズムしか持たないこと、または、音楽を編曲する仕方によってリズムがしばしば変化することが挙げられる。
【００４１】
＜リズム間隔の量子化＞
好ましくは、リズム間隔は、幾つかの値域に、粗めに量子化される。これらの値域は、リズム間隔（の値）がめったに値域の境界付近に入らないように統計的に設定される。例えば、リズム間隔を、値域（０−１）、（１−２）、（２＋）に量子化すると、かなり不都合であろう。なぜならば、多くのリズム間隔は１に近く、リズム間隔がほぼランダムに最初の２つの値域に割り当てられるからである。
【００４２】
＜他の検索基準＞
好ましい実施例では、ステップ２５に示すように、他の検索基準が、旋律的音程及びリズム間隔に加えて設定される。これにより、検索精度が更に向上する。例えば、下記のような一般的書誌の検索基準またはテキスト情報の検索基準
（ａ）歌詞
（ｂ）題名及び作曲者名
（ｃ）アーチスト名
（ｄ）ファイル名
（ｅ）作曲日
が、検索される音楽ファイルにおいて見つかるか、伝送される場合、これらの検索基準を疑問決定処理部に入力してもよい。検索基準について、利用者は、例えば、ポップ歌曲もしくはロック歌曲の歌集、またはクラッシク音楽の年代などのように、おおよその情報を知っていればよく、題名や作曲者名を知らなくてもよい。
【００４３】
＜比較処理＞
すべての検索基準が疑問決定処理部１２に入力されると（ステップ２６）、比較処理部１５が始動する。
【００４４】
検索基準に含まれている関連特徴は、データベース９もしくは１０に収納されているそれぞれの音楽ファイルの関連特徴と、比較される。以下述べるように音楽ファイルの索引を利用してもよい。
【００４５】
＜セグメンテーション＞
好ましくは、一連の旋律的音程及び／もしくはリズム間隔は、セグメンテーションアルゴリズム１６の利用により、比較処理（ステップ２９）の間にセグメントに分割される（ステップ２７）。それぞれのセグメントは、所定数の連続した音符及び／もしくはリズム間隔、または、ピッチ−時間グラフ（例えば、図３（ａ）〜図３（ｃ））上の期間を含んでいる。好ましくは、これらのセグメントは重なり合っている。例えば、第１のセグメントが第１〜第５の旋律的音程を含み、第２のセグメントが第２〜第６の旋律的音程を含み、第３のセグメントが第３〜第７の旋律的音程を含んでいる。セグメンテーションの主な目的は、ターゲットのファイル等に含まれていない検索用節回しの余分な音符が存在しても、柔軟に処理できるようにすることである。もし、このようなずれが、検索用節回しに早い段階で生じたならば、１音符ごとに検索用節回しを、ターゲットのファイルと比較しても、何れの音符もあまり一致しないであろう。
【００４６】
ところで、検索用節回し及びターゲットのファイルが、幾つかの音符を含むセグメントに分割され、かつ、分割処理が、セグメント内の誤りによりその後のセグメントに影響を及ぼさないように行われると、省略もしくは追加された音符は、１つのセグメントのスコアのみに影響を及ぼし、総体的な一致にはあまり影響を及ぼさない。
【００４７】
セグメントの長さは、幾つかの音符の、好ましくは３乃至７つの音符の長さに設定される。もし、セグメントが短か過ぎると、節回しの区別ができなくなり、同じセグメントを含んでいる異なる節回しによって偽の肯定が示されてしまう（セグメントの順序によって高いスコアを与えないかぎりにおいて）。また、セグメントが長過ぎると、検索用節回しのセグメントに含まれる誤りによってスコアが低くなってしまう（あまり類似しない一致より、類似する一致に高いスコアを与えないかぎりにおいて）。
【００４８】
セグメントの理想的な長さ、及びセグメンテーションのアルゴリズムは、音楽ファイル及び検索用節回しの代表的なサンプルから、統計的に与えられる。
【００４９】
好ましい実施例において、セグメンテーションのアルゴリズムは、次のような手法の何れかを含んでいてもよい。
【００５０】
１．節回しの内の局所的なコンテキスト(context)に基づいてセグメントの長さを異ならせるセグメンテーション。例えば、セグメントの境界は、ピッチの極大箇所もしくは極小箇所、またはリズム間隔によって与えられる。ここでは、セグメンテーションは、局所的なコンテキストのみに基づくことが重要である。そもないと、検索用節回しに含まれる音符誤りが多数のセグメントに影響を及ぼし、スコアがかなり低減してしまう。アルゴリズムは、標準的タイプでない節回しのときに、長過ぎるもしくは短過ぎるセグメントを生じさせないようにしなければならない。
【００５１】
２．複数のバー、またはバーの複数の群に分割するセグメンテーション。このセグメンテーションは、複数のバー、またはバーの複数の群が、音楽ファイル及び検索用節回しの両者において高信頼度で特定され、かつ、両者で同じとなる場合に有効である。このような例としては、音楽ファイル及び検索用節回しの音楽記載形式が同じである（楽譜記載ファイルのように）場合を挙げることができる。
【００５２】
３．重なり合い、かつ、所定長さのセグメントに分割するセグメンテーション。セグメントの長さは、典型的には３乃至７つの音符の長さとする。例えば、一連の音符（Ａ  Ｂ  Ｃ  Ｄ  Ｅ）が、セグメント（Ａ  Ｂ  Ｃ）、（Ｂ  Ｃ  Ｄ）、（Ｃ  Ｄ  Ｅ）、（Ｄ  Ｅ  Ｆ）に分割される。このセグメンテーションは、バーに分割するセグメンテーションと類似であるが、バー長さやバーライン位置が特定される必要はない。この方法の欠点は、多数のセグメントが生じるので、能率が比較的低くなることである。
【００５３】
別の方法のセグメンテーションを用いて同じ効果を生じさせることはできるが、能率が比較的低くなる。これには、次の（１）、（２）が要求されるであろう。
【００５４】
（１）一音符ごとに検索用節回しを音楽ファイルと比較し、この比較処理を、音楽ファイル内部のすべての可能な開始ポイントから開始すること（節回しの開始が、音楽ファイル内で高信頼度に検出されない場合）。
【００５５】
（２）ステップごとに検索用節回し及び音楽ファイルに戻ろうとするため、音符の一致が得られなくても、比較ポイントを、１つもしくは複数の音符だけ前にもしくは後ろにずらすこと。
【００５６】
セグメントの理想的な長さ、及びセグメンテーションの最善のアルゴリズムは、検索される音楽のタイプに応じて変わる。一実施例では、疑問決定処理部によってセグメンテーションのアルゴリズムを特定化する。このアルゴリズムの特定化処理は、利用者により直接に実行されてもよい。また、アルゴリズムの特定化処理は、好ましくは、利用者が、検索される音楽のタイプ、例えばロック、ジャズ、カントリーやクラシックを指示することによって間接的に実行されてもよい。
【００５７】
ステップ２８に示すように、比較処理では、データベース９、１０から規則的にファイルを取り出す。そして、好ましくは、検索基準節回しのセグメント及びファイルのセグメントに基づいて比較動作（ステップ２９）を実行する。この比較動作では、例えば、上述のテキストのような他の検索基準が併用されてもよい。
【００５８】
比較されたファイルには、それぞれ、スコアが付けられる（ステップ３０）。このスコアは、より優れた一致に対してより高くなる。スコアは、セグメント間での一致の近接度とは区別される。また、正確な一致に対しては、単一の高いスコア（例えば１）が付され、不正確な一致または不一致に対しては、単一の低いスコア（例えば０）が付される。
【００５９】
誤りをモデル化するのと、不正確な一致を評価するのに統計学を利用してもよい。例えば、三全音の音程は正確に歌うのは困難であるが、音楽ファイルに三全音の音程が含まれ、含まれる三全音の音程が検索用節回しと一致しない場合、この三全音の音程を、一致しない容易な音程よりも有利と評価してもよい。
【００６０】
セグメントの順序が正確にもしくは近接して一致する（類似の音符グループを有しても、順序が異なる旋律は除外される）場合に、より高いスコアを与えてもよい。
【００６１】
また、検索用節回しが、音楽ファイル内における選択的関連部分の開始ポイント（またはその付近）から開始する場合に、より高いスコアを与えてもよい。これは、検索される節回しが、検索されるファイル内における旋律の途中部分もしくは終了部分よりも、むしろ開始部分であることが多いからである。
【００６２】
音楽ファイルの個々の特徴に対するスコアは、加算処理または他の処理により組み合わされる。
【００６３】
＜マルチパス式比較処理＞
大きなデータベースを検索する際の速度を増大させるため、粗い比較処理を１つもしくは複数実行してもよい。この比較処理では、信頼し得る幾つかの特徴が比較され、これにより、音楽ファイルの大多数が除外される。この比較処理の後、より詳しい比較処理として、すべての特徴が比較され、除外されなかった音楽ファイルのそれぞれについて、信頼度の高いスコアが得られる。
【００６４】
＜音楽ファイル前処理＞
音楽ファイルのさまざまなタイプを容易に検索できるようにするため、検索される音楽ファイルの前処理を実行してもよい。または、検索される音楽ファイルの前処理を実行して、一致処理の速度を増大させてもよい。
【００６５】
音楽ファイルが、オーディオに基づいているファイル、すなわち、記録された音の情報を含んでいるファイルである場合、ピッチ認識部は、既述した疑問決定部の動作と同様にして、音楽ファイルに含まれている旋律の音符を、最初に決定するのに用いられてもよい。
【００６６】
＜トラック／チャンネル選択＞
音楽ファイルは、典型的には、旋律を含むだけでなく、伴奏として同時に奏される他の音符をも含んでいる。旋律は、典型的には節回しから構成され、典型的には２回またはそれ以上繰り返される。そして、しばしば、旋律は、節回しではない他の音楽、例えばイントロダクションもしくはコーダ等の前に、かつ／または後にくる。
【００６７】
検索される音楽の量を低減するため、好ましくは、音楽ファイルの各部分のうち、検索でターゲットとされる節回しを含んでいる可能性のより高い部分を選択する。これによって、節回しを含んでいる可能性のある旋律ではない他の楽器及び音が除外される。
【００６８】
音楽ファイルの或る形式、例えばＭＩＤＩファイル、シーケンサファイルもしくは楽譜ファイル等では、ファイルは、典型的には、トラック、チャンネルもしくはステイブと呼ばれる別個のピッチストリームに分割される。１つのトラック、チャンネルもしくはステイブは、典型的には、１つの楽器での音楽を含んでいる。旋律は、典型的には、ファイルの始めから終わりまで同じトラック、チャンネルもしくはステイブ上に記録されているか、または、ファイル内部でトラック、チャンネルもしくはステイブを、まれに変更するだけである。
【００６９】
音楽ファイルの他の形式、例えばＷＡＶファイルでは、ファイルは、典型的にはそんなに分割されない。しかし、アルゴリズムを用いてピッチストリームを分離することができる。これらのピッチストリームは、たいてい、個々の楽器に対応している。ストリーム分離処理が行われると、節回しを含んでいる可能性のあるストリームが、トラック、チャンネルもしくはステイブのときと同様な方法によって特定される。
【００７０】
オーディオファイルでは、このストリーム分離処理は、さまざまな方法で達成される。例えば、オーディオファイルがステレオ形式の場合、旋律となる歌声もしくは楽器音は、たいてい（特にロック／ポップ音楽では）、２つのオーディオチャンネルの中央に設定されている。これに対し、伴奏となる楽器音は、ある程度左もしくは右にオフセットされている。このように、旋律となる歌声もしくは楽器音は、両方のチャンネルに等しく寄与する唯一のものなので、伴奏から分離することができる。これは、中間周波数の位相を反転させるフィルターで左チャンネルをろ波することにより達成される。そして、右チャンネルからも引く。この結果、チャンネルの中央に設定された中間周波数、すなわち、旋律の歌声もしくは楽器音が強調され、中央に設定されていない他の周波数や音は低減される。
【００７１】
これとは択一的に、もしくは追加的に、入力された節回しのピッチ認識に関して説明した方法を利用することによって、同時に奏される複数の音符が、個々の歌声もしくは楽器音により生成されたオーディオファイルにおいて、何れのポイントでも分離され得る。連続した音符であって、類似の音色及び／もしくはピッチを有するもの、並びに／または、スムーズな移行により接続されるものは、同じ楽器による連続的なピッチストリームとみなすことができる。以下、これらを「ストリーム」と称することにする。
【００７２】
次のような判断基準を利用することによって、旋律を含んでいるトラック、チャンネル、楽譜もしくはストリームが特定され、または、異なるトラック、チャンネルもしくはステイブに移った旋律が追跡される。
【００７３】
（ａ）１つのトラック／チャンネル／楽譜／ストリームが歌詞を有している場合、歌詞は旋律である可能性が非常に高い。
（ｂ）タイプ１のＭＩＤＩファイルの場合、旋律は通常、トラック１に記録されている。楽譜ファイルの場合、旋律は通常、最上段の楽譜に記録されている。
（ｃ）ＭＩＤＩファイルの場合、旋律は、しばしばチャンネル１に記録されている。チャンネル１でないときはチャンネル２である。
（ｄ）ＭＩＤＩファイルの場合、旋律がチャンネル１０（ピッチ未調整の衝撃音(percussion)）に記録されている可能性は非常に低い。
（ｅ）旋律は、ふつう、大部分の時間で最も高いピッチとなっており、特に、その最高ピッチが、音楽の長い期間中、同じチャンネル、トラックもしくは楽譜上で継続している場合には、その通りとなる。
【００７４】
（ｆ）旋律が１オクターブ以上の旋律的音程を複数有している可能性は、非常に低い。
（ｇ）トラック、チャンネル、楽譜もしくはストリームがほとんど完全な全音程とはなっていない場合、それはたぶん旋律ではないであろう。
（ｈ）旋律を含んでいるトラック、チャンネルもしくは楽譜は、たぶん、和音よりむしろ単一の音符で構成されているであろう。
（ｉ）旋律は、その平均音符長が、一例として０．１５秒〜０．８秒となっているであろう（旋律が極端に速くもしくは遅くない場合）。
（ｊ）旋律に含まれる音符のうち、最も高い音符は、たぶん、中央のＣより高いＢであるか、または、そのＢよりも高いであろう。最も低い音符は、たぶん、中央のＣよりも高い９度のＤであるか、そのＤよりも低いであろう。
【００７５】
（ｋ）トラック名、楽譜名、または最初のテキスト項目が、「lead」、「melody」、「vox」や「vocals」等を含んでいる場合、それは旋律である可能性が非常に高い。
（ｌ）トラック名または楽譜名が「bass」を含んでいる場合、それはたぶん、旋律でないであろう。
（ｍ）トラック／チャンネル／楽譜／ストリームの大部分もしくは全体に使われている音符が変である場合、それはたぶん、旋律でないであろう（例えばＭＩＤＩファイルでは、最初のプログラム変更が、全般的なＭＩＤＩピジッカート(pizzicato)、ガンショット(gunshot)、ティンパニ(timpani)、バスギター(bass guitar)となっている場合、それはたぶん、旋律でない）。
（ｎ）チャンネル、トラックもしくは楽譜が、ファイルの演奏時間中、所定パーセント以下の時間しか演奏されていない場合、それはたぶん、旋律でないであろう。好ましい実施例では、その所定パーセントはおよそ７０％である。
【００７６】
（ｏ）旋律は、そのたびごとに数秒間ほぼ継続するであろう（旋律は、ときおりの孤立音符で中断される休止符を含むことはほとんどない）。
（ｐ）旋律は、他の楽器音の何れと比較しても、少なくとも同じ音量を有してるだろう（但し、ピッチ未調整の衝撃音を除く）。
（ｑ）旋律には、何回も正確に繰り返され、かつ、短い旋律的もしくはリズム的な部分は含まれていないであろう（これらは伴奏に生じる）。
【００７７】
従って、好ましい実施例では、より高級なアルゴリズムを利用することによって、想定される節回しを含むことのある音楽ファイルの関連部分を、まず特定することができる。このアルゴリズムは、比較ステップ２９の実行の前に実行される。好ましくは、ステップ３２において、上述の項目（ａ）〜（ｑ）に例示された１組の選択基準を利用することによって、検索されている音楽ファイルの選択的関連部分を特定する。特定される関連部分は、検索用節回しを含む可能性のある旋律である。
【００７８】
これらの選択基準に割り当てられる相対的なスコアもしくは重みは、検索される音楽ファイルを代表するような音楽ファイルの大集合から、経験的に（例えばBayesian統計法によって）決定される。上述した基準のうち、個々の基準の信頼性が高くなくても、大部分もしくは全ての基準を組み合わせたスコアの信頼性は高くなる。利用される最も能率的な選択基準は、分析される音楽ファイルのタイプに応じて変わり得る。従って、セグメンテーション過程に関して説明したように、選択基準が、検索されるファイルもしくはデータベースに収納されている音楽のタイプに応じて利用者により選択されてもよい。適用される選択基準は、自動的に選択されてもよい。特に、音楽タイプの分類が利用できるか、または、ファイルの記録にある場合は、そうである。
【００７９】
ファイルの何れの部分も、他よりも高くない場合、ファイルに含まれる幾つかの旋律を、ファイルの選択的関連部分として特定し、かつ、検索しなければならない。
【００８０】
ファイルに含まれる幾つかの旋律が特定されると、見込み点または他の重みが蓄積される。これらの見込み点または他の重みは、それぞれの旋律がどの程度、実際の検索用節回しになるかを指し示す上述の基準に基づく。蓄積された見込み点または他の重みは、検索用節回しに対する一致の度合いを評価するとき、利用される。基準の評価には、一致した旋律の人気度を指し示す重み付け要因が含まれていてもよい。例えば、旋律が最近のポップ歌曲の場合、その旋律に与えられる一致の見込み点が、無名の作曲家による旋律のそれよりも高く設定され得る。人気度は、データベース上のヒット件数、例えば、ファイルのアクセス回数もしくは検索一致回数などに基づいて決定される。
【００８１】
更に、それぞれの旋律（選択的関連部分）が始まるポイントを特定することが好ましい。これにより、旋律を、検索用節回しに最も一致させることができる。音楽ファイルの各部分から、検索用節回しを含む可能性のある旋律の開始部に対応する部分を選択するための基準は、次の通りである。
（１）歌詞がある場合、歌詞の開始部は、節回しの開始部である可能性が非常に高い。
（２）適当な長さのパッセージであって、後で繰り返されるパッセージのうち、最初のパッセージ（すなわち、２つもしくはそれ以上のヴァースのうち、最初のヴァース）が始まる部分は、たぶん、節回しであろう。
（３）これらでない場合、チャンネル、トラック、楽譜もしくはストリームに記載された音楽であって、旋律を含んでいる音楽が始まる部分は、節回しの開始部である可能性がかなり高い。
【００８２】
理解されるように、上述の選択基準は検索処理の進行と同時に利用され、これにより、検索基準と比較される音楽ファイルの、選択的関連部分が特定される。より好ましくは、選択基準は、検索処理の前に、データベースファイル上で利用される。検索処理の進行と同時に選択基準を利用するか、または、検索処理の前に独立的に選択基準を利用するかを選択してもよい。
【００８３】
例えば、類似した２つの節回しを求めてデータベースを検索したい場合、選択基準によって特定された選択的関連部分を、検索基準用の節回しとして利用することもできる。それは、著作権侵害となり得る場合を探すときに役立つであろう。
【００８４】
＜索引作成＞
好ましい実施例では、データベースの音楽ファイルは、検索処理の実行の前に、索引作成／タッグ付け処理部１７が上述の選択基準（ａ）〜（ｑ）、（１）〜（３）に従い、選択的関連部分を特定することによって、処理される。この情報は、ファイルの索引、または１組のタッグとして提供される。これらファイル索引または１組のタッグによって、ファイルの各部分のうち、選択的関連部分に対応する部分が特定される。例えば、索引情報は、それぞれの音楽ファイルから分離して、もしくは関連して蓄積される。または、索引情報は、それぞれの音楽ファイルのヘッダー情報として蓄積される。
【００８５】
このようなファイルの索引作成処理もしくはタッグ付け処理は、非常に大きなデータベースの場合、特に重要であり、データベース上の検索スピードを増大させることができる。
【００８６】
索引作成処理では、音楽ファイルから、非関連的な特徴（すなわち、はっきりとは旋律といえない部分）を捨てる。これにより、検索対象となるデータの量が低減される。従って、ファイルの索引項目は、もとのファイルをかなり短縮した形態となる。
【００８７】
索引作成の第１の段階では、旋律（すなわち、候補の節回しなど）を特定し、はっきりとは旋律といえない音楽（例えば、伴奏もしくは前奏など）をすべて除去する。
【００８８】
第２の段階では、旋律を、音符の短いグループに分割する（セグメンテーション）。
【００８９】
第３の段階では、旋律から、旋律的音程のような関連特徴を抽出する。旋律の他の特徴について、索引が作成され、これにより、一致処理が支援される。例えば、これらの追加的な特徴は、次のようなものを含んでいてもよい。
（ａ）歌詞（例えばＭＩＤＩファイルの場合）、特に節回しの開始部にある歌詞
（ｂ）題名及び作曲者名（例えばＭＩＤＩファイルの場合）
（ｃ）アーチスト名
（ｄ）ファイル名（このファイル名は、しばしば、音楽の題名を短縮したものである。例えば「Ｙｅｌｌｏｗ  Ｓｕｂｍａｒｉｎｅ」の場合、「ＹＥＬＬＯＷ」となる。）
（ｅ）作曲日
索引作成処理は、自動的に実行されることが好ましいが、応用として、部分的に手動で実行されてもよい。例えば、消費者が店内でＣＤを見つけ出せるようにするため、ＣＤから音楽クリップのデータベースを作成する場合、人間が、それぞれのＣＤに対応した音楽ファイルを作成することが望ましい。この音楽ファイルは、ＣＤ中、最も重要なトラックの旋律について、最初の数小節を含んでいる。これらの音楽ファイルはデータベースを構成し、このデータベースが検索の対象となる。
【００９０】
もう一つの方法として、ファイルにタッグを付ける処理では、ファイルの内部で関連特徴にマークを付けてもよい。例えば、ＭＩＤＩファイルの内部で旋律の開始部にタッグを付ける。タッグ付け処理では、時間記号、及び縦線の位置を記載してもよく、これにより、比較処理中のセグメンテーションが支援される。
【００９１】
索引ファイルはいかなる適当な形式もとり得る。索引が適当なテキスト形式の場合、一致処理は、通常のテキスト検索エンジンにより実行することができる。但し、検索基準が同様に符号化されることを条件とする。
【００９２】
記録された音楽ファイルが検索される場合、音楽ファイルの選択的関連部分を特定する処理、並びに、検索処理、索引作成処理もしくはタッグ付け処理の何れかは、量子化処理の前に実行され得る。この量子化処理は、検索基準として用いられる節回しの決定に関連して上述した通りである。
【００９３】
単一のウェブページもしくはテキストファイルは、音楽ファイル用の索引項目として生成される。旋律的音程及びリズム間隔は、文字として符号化され、スペースにより分離された「ワード」に分割される。「ワード」はセグメントを代表する。インターネットによる幅広い検索の場合、「ワード」のような符号化が、通常のテキストで生成されず、かつ、通常のテキストページで偽の一致を生じないように設定することが好ましい。例えば、ｖｏｗｅｌは符号化から除外すべきである。
【００９４】
セグメントの順序が誤っているときよりも正しいときに高いスコアを与える場合、このスコア処理は、テキストフレーズ検索または「ｎｅａｒｎｅｓｓ」検索によって代行することができる（テキストフレーズ検索では、ワードが特定の順序で構成されていなければならない）。歌詞、題名もしくはアーチスト名などは通常のテキストとして含まれていてもよい。
【００９５】
＜比較処理＞
比較処理の正確さを改善するため、多数の他の処理方法が含まれていてもよい。
【００９６】
繰り返される音符もしくは連結される音符：検索用節回しと、ターゲットの音楽ファイルとは相違してもよい。なぜならば、編曲もしくは歌詞では、音符が連結されたり、繰り返されたりするからである。繰り返されている音符をオーディオで検出するのは困難である。特に、そり舌の子音が１つもない場合は、そうである。繰り返される音符と、連結される音符との違いは、繰り返される音符のすべてを、連結されたものとして処理することにより、除去される。
【００９７】
和音：節回しを含んでいるトラック、チャンネルもしくは楽譜には、和音は、１つももしくはほとんど含まれていないだろうが、存在している和音は、その和音の最高音に置き換えられる。
【００９８】
節回し中の休止：節回し中の休止は、編曲によって変更され得る（例えば、スタッカートもしくはレガートのため）。休止を除去するには、休止の後にくる音符を、次の音符の開始時に終了するものと処理すればよい（次の音符が例えば、１秒以内に始まるなら）。
【００９９】
ピッチのベンド（例えば、ＭＩＤＩファイルの場合）：ピッチのベンドは無視できるが、ピッチのベンドは、典型的には、上述した旋律的音程の量子化により除去される。
【０１００】
オーディオのオクターブ誤り：オーディオデータ上でピッチ認識を実行するとき、オクターブを特定することが困難であるため、音符が、１もしくは１以上のオクターブ外れてみなされてしまう場合がある。このオクターブ外れは、全ての音符を、１つのオクターブ範囲に置き換えることにより、解消される。
【０１０１】
＜検索結果の出力＞
コンピュータシステム１は、多数の方法で検索結果を出力し得る。好ましくは、ステップ３０において、それぞれの音楽ファイルにスコアが与えられる。音楽ファイルに与えられるスコアは、そのファイルの選択的関連部分について、検索基準による一致の近接度に基づく。そして、最も高いスコアとなったファイルのランク付けリストが、データベースからのファイル情報（例えば、題名、アーチスト名など）とともに、利用者に提供される（ステップ３３）。タッグ付け処理及び／もしくは索引作成処理について、ファイル情報は、音楽ファイルの小さなクリップを含んでいるか、または、そのクリップにリンクされている構成も容易にとり得る。これにより、利用者は、そこにある旋律が、疑問検索の節回しに一致するか否かを容易に確かめることが可能となる。
【０１０２】
本発明には、次のような多数の変形例が存在する。
（ａ）インターネット上で音楽ファイルを見つけ出すこと。
（ｂ）音楽店及びインターネットのサイトでＣＤを見つけ出すこと。
（ｃ）権利収集会社、宣伝会社、映画／テレビ会社などで用いられるデータベース上で音楽を見つけ出すこと。
（ｄ）データベースの内部において音楽ファイルを互いに比較し、これにより、複製、異なる編曲例または著作権侵害を見つけ出すこと。
【０１０３】
次に、３つの基本的な変形例を説明する。
１．ＭＩＤＩファイルに対するインターネット検索エンジンにおいて、コンピュータが、ウェブクローラーの利用により、全てのＭＩＤＩファイルについて索引を作成する。利用者は、マウスを使って、スクリーン上の音楽キーボードで検索用節回しを演奏する。コンピュータは、検索を実行する前に、もう一度、検索用節回しを演奏し、これにより、検索用節回しが利用者の望む通りに入力されていることを確認する。利用者は、節回しから、歌詞に含まれる幾つかの単語を打ち込んで、「検索」ボタンをクリックする。コンピュータは、検索基準とその索引との間で粗い比較処理を実行し、これにより、検索用節回しを含んでいるかもしれない約５００つのファイルを特定する。更に、コンピュータは、より細かい比較処理を実行し、これらのファイルにスコアを与える。コンピュータは、最もスコアの高い２０つのファイルのリストを、ファイル名で作成する。利用者は、これらのファイル名の何れかをクリックして、ＭＩＤＩファイルを聴くことができる。これにより、利用者は、そのＭＩＤＩファイルが、対象の節回しを含んでいるか否かを確かめることができる。コンピュータは、それぞれのファイルについて、旋律、または候補の節回しが始まるポイントから演奏する。このポイントは、索引もしくはタグにより示される。利用者は、リンクをクリックすると、ターゲットのＭＩＤＩファイルを含んでいるウェブページにジャンプする。これにより、そのＭＩＤＩファイルをダウンロードすることができる。
【０１０４】
２．音楽店に備えられるＣＤ検索装置において、音楽店のベストセラーとなっているＣＤのそれぞれについて、ＭＩＤＩファイルが生成される。このＭＩＤＩファイルは、ＣＤに含まれるそれぞれの節回しについて、最初の数小節を含むように生成される。そして、ＣＤのトラックが、セパレートＭＰ３ファイルに変換される。消費者は、店内のキオスクで検索用節回しを歌って、マイクロフォンに吹き込む。このオーディオデータが、キオスクのコンピュータにより、音符のピッチと、音符の連続とのストリームに変換される。このストリームは、コンピュータにより、ＭＩＤＩファイルの索引付きデータベースと比較される。そして、コンピュータは、最もスコアの高いファイルについて、そのファイルに当てはまるＣＤの題名、アーチスト名、価格及び販売場所のリストを作成する。更に、コンピュータは、セパレートＭＰ３ファイルから、当てはまるトラックの音楽を演奏し始める。消費者がボタンを押すと、次にスコアの高いファイルに移る。
【０１０５】
３．ＣＤチェインジャーにおいて、マガジンに挿入された新しいＣＤのそれぞれが、システムによってスキャンされ、これにより、ＣＤチェインジャー内のＣＤに含まれる節回しの索引ファイルが作成される。上述したように、これらの索引ファイルは、テキスト形式をとってもよいし、または検索の容易な他の形式をとってもよい。そして、利用者は、ＣＤのトラックにアクセスし、好きなトラックの節回しをハミングし、もしくは歌う。このシステムは索引ファイルを検索する。更に、このシステムは、ＣＤチェインジャーに対し、適切なＣＤをロードして演奏し、正しいトラックに位置を合わせるように指令する。
【０１０６】
＜最初パス式検索アルゴリズム＞
上述したように、マルチパス式比較処理を実行することにより、大きなデータベース上の検索速度を増大させることが好ましい。１つの実施例では、データベース全体について最初パス式検索を実行し、これにより、入力節回しを含んでいそうもないファイルを幾つか捨てるか、または、入力節回しを含んでいる可能性の高いファイルを順位付けする。まず、高く順位付けされたファイルを、連続したパスで検索する。この目的は、次の何れかである。
（１）利用者に優れた一致を、劣った一致よりも早く提供するため。
（２）時間が制限値に達した場合、または、高く順位付けされたファイルのうち、１つもしくは複数のファイルがよく一致するとわかり、これ以上検索する必要がないとされた場合、連続したパスが早く終了するため。
最初パス式検索に関する、より詳細な説明を、次に行う。
【０１０７】
最初パス式検索では、典型的には、データベースの全体を検索する。このため、一致基準を用いて、ファイルを捨てるか、もしくは順位付けすることが好ましい。用いられる一致基準は、「ファイル前処理」で説明したように、速く及び／もしくは適切に、索引に蓄積されるようなものである。連続したパスでは、より少数のファイルを検索して、遅いが、より高信頼度の一致アルゴリズムを利用してもよい。
【０１０８】
一致基準は、同じファイルの異なる部分、または、一つの節回しの異なる編曲から取り出された入力節回しによって影響されないように設定される。このように、一致基準は、ファイルを通して、かつ、同じ節回しの異なる型に対して、およそ一貫しているべきである。また、一致基準を用いて典型的データベースをファイルの複数組に実質的に分割できるように、一致基準は特徴的であるべきである。
【０１０９】
最初のパス、または連続したパスのための適切な検索基準は、次のものを含んでいる。
（１）発生、及び、セグメントの頻度
この試験では、音楽を、重なり合っている、もしくは重なり合っていないセグメントの一つながりとして評価する（「セグメンテーション」で説明したように）。そして、異なるタイプのセグメントが生じる相対的頻度を評価する。例えば、旋律的音程発生部１３からの、離散化及び量子化された出力において、１００つの音符による旋律音符の一つながりについて考えることにする。セグメントの長さを５音符とし、セグメントの重なり合いを４音符とすると、１００つの音符の一つながりは、９５つのセグメントに処理されることになる。これら９５つのセグメントの多くは、音符の同じ連なり、すなわち、１つのタイプのセグメントが再び現れることになる。
【０１１０】
３０の異なるセグメントタイプ（すなわち、５音符の旋律的音程について、３０の異なる組み合わせ）があると仮定すると、それぞれのセグメントタイプの出現がログされ、これにより、検索用節回しと、候補の節回しとに含まれるセグメントタイプのそれぞれの頻度を示すヒストグラムが得られる。得られた２つのヒストグラム５１、５２を、図５（ａ）、図５（ｂ）に示す。検索用節回し、または候補の節回しに含まれるセグメントが、これらのヒストグラムに示されている。それぞれのセグメントタイプは垂直棒で表され、節回し内におけるそのセグメントタイプの発生数が、垂直棒の高さで表されている。２つのヒストグラムは、輪郭がおよそ類似しており、各種セグメントタイプの相対頻度が類似している。ヒストグラムの類似性は、定量的に定めることができる。このためには、対応する２つの棒についてそれらの高さを掛け合せ、更に、得られた積を足し合わせて類似度を得ればよい。それぞれのセグメントタイプがベクトルの次元を表し、かつ、棒の高さがその次元の値を表すとき、上述の類似度は、それぞれのヒストグラムを表すベクトルの点乗積となる。
【０１１１】
言い換えれば、それぞれのセグメントタイプ（例えば、音符の連なり）は次元として扱われ、入力されたそれぞれの節回しに、ベクトルが割り当てられる。このベクトルにおけるそれぞれの次元の値は、一致するセグメントタイプが節回し内で発生する回数となっている。そして、ベクトルは規格化される。規格化は、それぞれの次元の値を自乗し、これらを足し合わせたとき、その総和が１となるように行う。２つの節回しの類似度（０と１との間）は、それらのベクトルの点乗積で与えられる。候補のファイル内で並みはずれて頻繁に現れるセグメントタイプは、その節回しの一部分よりもむしろ、伴奏のモチーフであろう。このため、スコアを付けるとき、伴奏のモチーフによる影響を低減することが望ましい。
【０１１２】
（２）音楽においてそれぞれの旋律的音程が現れる相対的な頻度
候補のファイル内において並みはずれて頻繁に現れる旋律的音程は、その節回に現れるよりもむしろ、伴奏のモチーフであろう。このため、スコアを付けるとき、伴奏のモチーフによる影響を低減することが望ましい。これは、上記（１）においてセグメントのサイズをちょうど２音符としたときの状況に、およそ一致する。
【０１１３】
（３）音楽の調
調査結果に示されているように、人々が歌唱、ハミングもしくは口笛するときの音楽は、しばしば、記録されたもとの音楽と同じ調、または非常に近い調となることが知られている。入力された節回し、もしくは候補のファイルに含まれるピッチの階級のヒストグラムを生成し、このヒストグラムを、標準音階のヒストグラム、または関連する音楽例のデータと比較する（例えば、正規化最小二乗法を用いて比較する）。これにより、入力された節回しの調、及び候補のファイルの調が、高信頼度で推定される。調は、あいまいなものであり、ファイル中で変化し得るものであるため、その音楽が１つもしくはそれ以上の特定の調に在る可能性を示す尺度を、用いてもよい。
【０１１４】
（４）音楽の音階（例えば、長音階もしくは短音階など）。音階は、調と同様な方法で決定される。
【０１１５】
（５）音楽のテンポ。テンポは２番目の平均音符長により測定される。そして、テンポは「速い」、「中庸」及び「遅い」に区分される。
【０１１６】
（６）節回しにおけるピッチの変化。例えば、すぐ繰り返される音符の百分率、または、旋律的音程の絶対平均値が用いられる。
【０１１７】
基準は、個別に、または組み合わせて用いられる。例えば、データベース内の５０％のファイルが、入力された節回しのセグメントを含んでいないとして、除外され得る。残されたファイルのうち、５０％のファイルが誤った音階であるとして除外され得る。そして、ちょうど２５％のファイルに対して、連続したパスによるより細かな検索を行う。
【０１１８】
高信頼度の基準、例えば、候補のファイルが、入力された節回しのセグメントを含んでいるか否かのような基準は、連続したパスから不一致のファイルをまとめて捨てるのに適している。それよりも信頼度の低い基準、例えば、テンポなどの基準は、不一致のファイルを捨てるに充分な信頼度を持っていないが、２番目のパス、及び連続したパスで順位付けを行うには適しており、これにより、優れた一致を、より早く見つけ出すことができる。
【０１１９】
＜図的比較技術＞
セグメンテーションのステップ（図２のステップ２７）、並びに、分割された検索基準と、音楽ファイルの選択部分との比較（図２のステップ２９）を用いた比較技術は、既に説明した。ここでの比較技術は、比較処理を実行するためのかなり能率的な方法を表す。もう一つの、図的節回し比較処理は、適切に近代化された比較処理部１５（図１）により実行される。比較処理部１５はプロセッサー２に備えられている。図的節回し比較処理において、候補の節回しは音楽ファイルの選択的関連部分であることが好ましい。図的比較処理は、検索用節回し及び／もしくは候補の節回しについてピッチ及び／もしくはリズムの量子化、並びに／または音符の離散化（図２のステップ２３、２４、図３、図４を参照）が行われた後に、実行されるのが好ましい。リズムが無視された場合、この比較処理の目的として、全ての音符に同一の持続時間が与えられ得る。
【０１２０】
検索用節回しは、概念上、図６（ａ）に示すように、時間に対するピッチのグラフ６１としてプロットされる。候補の節回しのそれぞれも、概念上、図６（ｂ）のグラフ６２として同様にプロットされる。検索用節回しのグラフ６１と、候補の節回しのグラフ６２とは、次のように比較される。
【０１２１】
（１）異なる仕方で歌われ、もしくは編曲されるときに生じる変形例に、グラフ６１、６２を適合させるため、様々な変換処理（後で例示する）がグラフ６１、６２に施される。典型的には、検索用節回し６１が変換され、候補の節回し６２は変換されないままである。なぜならば、検索用節回しは、不正確なピッチもしくはリズムを含んでいる可能性が、候補の節回しよりも高いからである。
【０１２２】
（２）変換された一対のグラフ６１、６２のそれぞれについて、グラフは、図６（ｃ）の線６１ａ、６１ｂに示すように重ね合わされる。グラフの一致度（例えばグラフ間の領域）、及び／もしくは、グラフに施した変換の一致度を示すスコアが算出される。このスコアは、ある範囲の値をとるか、または、離散化された２つの値（「一致」の応答もしくは「不一致」の応答を示す）をとる。
【０１２３】
（３）さまざまな変換が、検索用節回しと単一の候補節回しとに試行されたとき、候補の節回しに対する総合的スコアが、変換されたグラフ対の全てのうち最高のスコアから算出され、または、よく一致するグラフ対のスコアを組み合わせることにより算出される。
【０１２４】
（４）全ての音楽ファイルからの候補節回しがこのようにスコア付けされたとき、最も高くスコア付けされた候補節回しが、最もよく検索用節回しに一致しているとして扱われる。
【０１２５】
上述のステップ（１）のような、グラフに対する変換の好ましい例は、次のようなもの、またはそれらの組み合わせを含んでいる。
（１ａ）特定（変換せず）。
（１ｂ）ピッチの変換（入力された節回しの調と、候補節回しの調とが異なる場合）。ピッチ変換は、ピッチｖｓ時間のグラフ６１のレベルを変えることにより達成される。
（１ｃ）時間の変換（検索用節回しが候補節回し中の一部分に現れる場合、例えば、候補節回しが導入部を含んでいる場合）。
（１ｄ）時間の基準化（入力された節回しのテンポと、候補節回しのテンポとが異なる場合）。時間基準化は、「引き伸ばし」により、または、図６（ａ）に示されたグラフのＸ軸を縮めることにより実行される。
（１ｅ）相違時間基準化、または、グラフの相違部分に対する変換（典型的には、検索用節回しのテンポが乱れている場合、または、検索用節回しがリズム誤りを含んでいる場合）。これは、上述した項目（１ｂ）、（１ｄ）の組み合わせにより実行される。
（１ｆ）グラフの相違部分に対する相違ピッチ変換（典型的には、音符が誤っている場合、または、入力をチューニングする場合）。これは、上述の項目（１ｂ）のような変換を、グラフの一部分のみに施すことにより実行される。
（１ｇ）グラフから線分を除去することによる変換（音符が欠落している場合、典型的には節回しの誤りまたは異なる編曲法に起因する）。
【０１２６】
セグメンテーションでは、旋律の索引が作成され、かつ、グラフから線分を除去するなどの変換の実行が不要なので、セグメンテーションは、図的比較処理よりも高能率な方法である。
【０１２７】
図７を参照して、基本的な図的一致処理を説明する。この図的一致処理では、「音符の離散化」で説明した、部分的に一定なグラフが、図６（ａ）、図６（ｂ）に示すように用いられる（ステップ７０１）。入力された節回しは、それぞれの候補節回しについて、あり得る全てのｎ音符の連なりと比較される。この比較処理を行うため、ｎが、入力された節回しに含まれる音符の個数ｉについて変化する。これにより、入力された節回しがミスまたは余分な音符を含んでいる可能性も許容される。最初に、ｎの値がｎi（ｎiは典型的にはｉに等しい）にセットされ、ｎ増加ループの制御パラメータは「真」にセットされる（ステップ７０２）。ｎには、最大値及び最小値が設定される。これら最大値及び最小値は、典型的には、入力された節回しに含まれる音符の個数に関係して定められる（ステップ７０６、７０９を参照）。例えば、最大値、最小値が２ｉ、（１／２）ｉである。音符連なりのそれぞれについて、ピッチは、その音符連なりにおける平均ピッチに規格化され（ステップ７０３）、音符連なりは、持続時間が同じとなるように時間的に引き伸ばされる（ステップ７０４）。そして、音符連なりは図６（ｃ）に示すように重ね合わされ、一致の近接度に基づいたスコアが付される（ステップ７０５）。重ね合わされたグラフにおいて、グラフ間の領域は複数の矩形６３〜６８を含んでいる。生じたそれぞれの矩形（音符連なりの間の差を表す）について、誤りスコアｄｔ．ｄ 2pitchが算出される。ここで、ｄｔは矩形の幅であり、ｄpitchは矩形の高さである。これらの誤りスコアを足し合わすと、候補節回しの誤り合計スコアが得られる。
【０１２８】
ｎがまだ、最大値に達していない場合、ｎ増加ループの制御パラメータはまだ、「真」であり（ステップ７０６）、ｎの値は増加させられる（ステップ７０７）。このサイクルは、ｎが最大値に達するまで（ステップ７０６）、繰り返される。この後、増加ループの制御パラメータを「偽」にセットし、かつ、ｎを最初の値ｎiにリセットする（ステップ７０８）。そして、ｎを減少させながら誤りスコアを決定する（ステップ７１０、７０３〜７０８を参照）。処理は、ｎが最小値に達するまで（ステップ７０９）、繰り返される。最小の誤りスコアが決定されたとき（ステップ７１１）のｎが最も優れた一致とみなされる。
【０１２９】
検索を早く終了させるため、最小の誤りスコアが決定されるまで、ｎを変化させることが望ましい。この場合、ボックス７０５で決定された誤りスコアが、ｎの最近の更新時からみて増加したか否かを確認するように、部分的に判定ボックス７０６、７０８の機能を変更する。
【０１３０】
その代替手段もしくは追加的手段は、次の通りである。もし、ｎがｉから増加もしくは減少するにつれて候補ファイルの誤りスコアが減少するならば、ｎが通常の最大値もしくは最小値を超過しても、同じ変化方向に続くｎの値について試行することが望ましい。その変化方向にｎを変化させるにつれて誤りスコアが減少する場合、ｎには「はずみ」が与えられる。すなわち、誤りスコアが一時的に増加しても、その変化方向にｎを変化させ続ける。これにより、ｎは、誤りスコアの小さなこぶ（局部的最大値）を越えて、他では到達し得ない有意なくぼみ（最小値）に到達する。
【０１３１】
与えられた候補ファイルに対する誤りスコアは、その候補ファイルに含まれる全てのｎ音符連なりに対し、最小の誤りスコアである。最もよく一致する候補ファイルは、最小の誤りスコアを与えられたものである。
【０１３２】
更にとり得る一致アルゴリズムとして、入力された節回しを候補の節回しとするような変換が決定される。この技術では、入力された節回しと、それぞれの候補節回しとが、連続した旋律的音程の一列、またはセグメントの一列としてリストされる。リズムの情報は、除外されてもよいし、または、さまざまな仕方で包含されてもよい。これは、例えば、「Ｃ  ３  Ｂ  １  Ｄ  ２」のような旋律的音程データ／旋律的セグメントデータ中に、リズム間隔または他のリズムデータを差し込むことにより実現される。その代替手段として、より長い音符が、多数の単位長さ音符に分割されてもよい。これにより、長さ３を有する１つのＣ（上記では「Ｃ  ３」として表される）が、長さ１を有する３つのＣ（「Ｃ  Ｃ  Ｃ」）に置き換えられる。また、もう一つの代替手段として、セグメントが、ピッチの情報に追加的にリズムの情報を含んでいるように用いられてもよい。
【０１３３】
そして、入力された節回しと、候補節回しとが比較され、一方を他方に変換する（旋律的音程もしくは旋律的セグメントの挿入、削除または改変）ための最小回数が求められる。例えば、「Ａ  Ｂ  Ｃ  Ｄ  Ｅ」が「Ｂ  Ｃ  Ｆ  Ｅ」と比較される場合、前者を後者に変換するには、「Ａ」の削除と、「Ｄ」の「Ｆ」への改変とが必要である。入力された節回しが、候補節回しを下手に歌唱したもの、または候補節回しを誤って記憶したものであるとすると、これら３つの変換タイプは、余分な音符、欠落した音符及び誤った音符に対応する。
【０１３４】
一致度は、これらの変換に基づいた尺度によって評価される。一致度は、単純に、変換回数（上述のケースでは、１削除＋１改変＝２変換となる）としてもよいし、あるいは、より高級な尺度として、異なる変換タイプに対して異なるスコアを与えてもよい。例えば、繰り返されている音符の挿入及び削除は、同じ歌曲の異なる奏法の間であり得る変化としてとらえ、僅かな不利益を与えるのみでもよい。また、小さな旋律的音程（例えば、半音階）の改変は、入力される節回しにおける音符の完全な誤りよりも、むしろ音程調整の下手さに起因することを考慮し、小さな旋律的音程の改変には、大きな旋律的音程の改変よりも小さな不利益を与えるとしてもよい。
【０１３５】
以上、添付図面に示された特徴的実施例を参照して本発明を説明したが、添付図面は本発明に何らかの制限を与えるものではない。上述の実施例に対する変形例は、添付された請求項の範囲内である。
【図面の簡単な説明】
【図１】  本発明に係る一実施例の装置であって、データベース上で音楽検索を実行するための装置の概略図である。
【図２】  本発明に係る一つの態様の音楽検索方法を説明する流れ図である。
【図３】  図３（ａ）〜（ｃ）は、音符の量子化に含まれる３つの段階でのピッチ曲線を示しており、図３（ｄ）は、長音階、半音階及び全音階に対するはしごのあてはめを示している。
【図４】  本発明に係る音符離散化処理に含まれるステップを示している。
【図５】  図５（ａ）、（ｂ）は、本発明に係るセグメント頻度比較処理において生成されるヒストグラムである。
【図６】  図６（ａ）〜（ｃ）は、本発明に係る図的比較処理を示すピッチｖｓ時間グラフである。
【図７】  本発明に係る図的一致処理に含まれるステップを示している。
【図１】
0004344499.tif 000002
【図２】
0004344499.tif 000003
【図３】
0004344499.tif 000004
【図４】
0004344499.tif 000005
【図５】
0004344499.tif 000006
【図６】
0004344499.tif 000007
【図７】
0004344499.tif 000008