(57)【特許請求の範囲】
【請求項１】
あらかじめ音楽信号が蓄積された音楽データベースの中から、検索鍵として与えられる音楽信号に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置であって、
前記音楽データベースに蓄積された音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した蓄積バイナリ特徴系列に変換する蓄積バイナリ特徴系列計算手段と、
前記検索鍵となる音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した目的バイナリ特徴系列に変換する目的バイナリ特徴系列計算手段と、
前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較して類似度を算出する類似度計算手段と、
前記類似度に基づいて検出すべき箇所を特定し検索結果として出力する検索結果出力手段とを備えたことを特徴とする類似音楽検索装置。
【請求項２】
前記類似度計算手段は、
前記目的バイナリ特徴系列と蓄積バイナリ特徴系列が移調されている場合、一方を順次移調させながら類似度を計算する移調吸収手段を備えることを特徴とする請求項１に記載の類似音楽検索装置。
【請求項３】
前記類似度計算手段は、
前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合、当該伸縮を吸収しながら類似度を計算する時間伸縮吸収手段を備えることを特徴とする請求項１または２に記載の類似音楽検索装置。
【請求項４】
あらかじめ音楽信号が蓄積された音楽データベースの中から、検索鍵として与えられる音楽信号に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置に用いられる類似音楽検索方法であって、
前記データベースに蓄積された音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した蓄積バイナリ特徴系列に変換し、
前記検索鍵の音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した目的バイナリ特徴系列に変換し、
前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較し類似度を算出し、
前記類似度に基づいて検出すべき箇所を特定し検索結果として出力することを特徴とする類似音楽検索方法。
【請求項５】
前記類似度の算出において、目的バイナリ特徴系列と蓄積バイナリ特徴系列とが移調されている場合も類似していると判定されるため、それらの一方を順次移調させながら類似度を算出することを特徴とする、請求項４に記載の類似音楽検索方法。
【請求項６】
前記類似度の算出において、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合も類似していると判定されるため、該伸縮を吸収しながら類似度を計算することを特徴とする請求項４または請求項５に記載の類似音楽検索方法。
【請求項７】
あらかじめ蓄積された音楽データベースの中から、検索鍵として与えられた音楽に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置に用いられる類似音楽検索プログラムであって、
前記音楽データベースに蓄積された音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、蓄積バイナリ特徴系列を導く蓄積バイナリ特徴系列計算ステップと、
前記検索鍵の音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、目的バイナリ特徴系列を導く目的バイナリ特徴系列計算ステップと、
前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較し類似度を算出する類似度計算ステップと、
前記類似度に基づいて検出すべき箇所を特定し検索結果として出力する検索結果出力ステップとをコンピュータに実行させる類似音楽検索プログラム。
【請求項８】
前記蓄積バイナリ特徴系列計算ステップは、
前記音楽データベースに蓄積された音楽信号を読み込む音楽信号読み込みステップと、
前記読み込まれた音楽信号の周波数解析を行い短時間パワー値の算出を行なう短時間スペクトル生成ステップと、
それぞれの時刻における短時間スペクトルの各要素の中から、その時刻において存在する音楽の基本周波数かまたはその上音であると考えられる要素を抽出する要素抽出ステップと、
前記抽出された要素を１２音階に対応付けして音の高さを表す符号に変換し、音名として要因リストを生成する要因リスト生成ステップと、
前記要因リストにおいて、ある音の上音のうち基本周波数の略整数倍の周波数を持つ音の音名を除去して基本周波数リストを生成する基本周波数リスト生成ステップと、
前記基本周波数リストの各基本周波数をバイナリ特徴ベクトルに変換するバイナリ特徴ベクトル変換ステップとをコンピュータに実行させる請求項７に記載の類似音楽検索プログラム。
【請求項９】
前記目的バイナリ特徴系列計算ステップは、
前記検索鍵となる音楽信号の少なくとも断片を受信する目的音楽信号受信ステップと、
前記音響信号の周波数解析を行い短時間パワー値の算出を行なう短時間スペクトル生成ステップと、
それぞれの時刻における短時間スペクトルの各要素の中から、その時刻において存在する音楽の基本周波数かまたはその上音であると考えられる要素を抽出する短時間スペクトル時系列要素抽出ステップと、
前記抽出された要素を１２音階に対応付けして音の高さを表す符号に変換し、音名として要因リストを生成する要因リスト生成ステップと、
前記要因リストにおいて、ある音の上音のうち基本周波数の略整数倍の周波数を持つ音の音名を除去して基本周波数リストを生成する基本周波数リスト生成ステップと、
前記基本周波数リストの各基本周波数をバイナリ特徴ベクトルに変換するバイナリ特徴ベクトル変換ステップとをコンピュータに実行させる請求項７に記載の類似音楽検索装置。
【請求項１０】
前記バイナリ特徴ベクトル変換ステップは、
以下の演算式（１）を計算することにより、前記基本周波数リストの各基本周波数をバイナリ特徴ベクトルに変換するステップをコンピュータに実行させる請求項８または９に記載の類似音楽検索プログラム。
【数１】
0003730144.tif 000006
【請求項１１】
前記類似度計算ステップは、
前記目的バイナリ特徴ベクトル時系列と蓄積バイナリ特徴ベクトル時系列を取り込むステップと、
前記目的バイナリ特徴ベクトルの時系列を前記蓄積バイナリ特徴ベクトルの時系列上で時間軸方向にずらしながら各部分に対し、以下の演算式（２）を計算することにより順次類似度を算出するステップをコンピュータに実行させる請求項７に記載の類似音楽検索プログラム。
【数２】
0003730144.tif 000007
【請求項１２】
前記類似度計算ステップは、
前記目的バイナリ特徴系列と蓄積バイナリ特徴系列が移調されている場合、一方を順次移調させながら類似度を計算する移調吸収ステップをコンピュータに実行させる請求項７または１１に記載の類似音楽検索プログラム。
【請求項１３】
前記移調吸収ステップは、
前記類似度計算時に前記蓄積バイナリ特徴系列から出力される目的バイナリ特徴ベクトルの各要素をシフトさせて最大１２通りに展開してそれぞれの類似度を求める第１の類似度計算ステップと、
前記求められた類似度のうちの最大値をその箇所における類似度とみなす第２の類似度計算ステップとをコンピュータに実行させる請求項１２に記載の類似音楽検索プログラム。
【請求項１４】
前記類似度計算ステップは、
前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合、当該伸縮を吸収しながら類似度を計算する時間伸縮吸収ステップをコンピュータに実行させる請求項７または１１に記載の類似音楽検索プログラム。
【請求項１５】
前記時間伸縮吸収ステップは、
前記目的バイナリ特徴ベクトルまたは蓄積バイナリ特徴ベクトルのいずれか一方の時系列について、時間軸方向に一定回数以上連続するバイナリベクトルに着目し、その変化が生じた時点でのバイナリベクトルを抽出して並べる連続バイナリベクトル抽出ステップと、
前記連続バイナリベクトルが前記目的バイナリ特徴ベクトルまたは蓄積バイナリ特徴ベクトルのいずれか他方の時系列に、前記並べられた順に含まれるか否かを調べ、含まれる割合を算出するバイナリベクトル含有率計算ステップと、
前記割合によって前記類似度計算手段により計算される類似度を補正する類似度補正ステップとをコンピュータに実行させる請求項１４に記載の類似音楽検索プログラム。
【請求項１６】
前記検索結果出力ステップは、
前記類似度計算ステップで計算された蓄積バイナリ特徴ベクトルの時系列の各部分における目的バイナリ特徴ベクトルの時系列との類似度値を受信する類似度値受信ステップと、
前記類似度値に基づきあらかじめ規定された選択基準に従い検索結果として出力すべきか否かを判定し、検出すべき箇所を特定して検索結果として出力する検索結果出力判定ステップとをコンピュータに実行させる請求項７に記載の類似音楽検索プログラム。
【請求項１７】
あらかじめ蓄積された音楽データベースの中から、検索鍵として与えられた音楽に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置に用いられる類似音楽検索プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記音楽データベースに蓄積された音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、蓄積バイナリ特徴系列を導く蓄積バイナリ特徴系列計算ステップと、
前記検索鍵の音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、目的バイナリ特徴系列を導く目的バイナリ特徴系列計算ステップと、
前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較し類似度を算出する類似度計算ステップと、
前記類似度に基づいて検出すべき箇所を特定し検索結果として出力する第検索結果出力ステップとをコンピュータに実行させる類似音楽検索プログラムを記録した記録媒体。
【請求項１８】
前記類似度計算ステップは、
前記目的バイナリ特徴系列と蓄積バイナリ特徴系列が移調されている場合、一方を順次移調させながら類似度を計算する移調吸収ステップをコンピュータに実行させる請求項１７に記載の類似音楽検索プログラムを記録した記録媒体。
【請求項１９】
前記類似度計算ステップは、
前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合、当該伸縮を吸収しながら類似度を計算する時間伸縮吸収ステップをコンピュータに実行させる請求項１７または１８に記載の類似音楽検索プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音楽の断片を検索鍵として与えることにより、数多くの楽曲が蓄積された音楽データベースの中から検索鍵の音楽に類似した楽曲、または検索鍵の音楽に類似した楽曲の該当部分を検索することのできる、類似音楽検索装置ならびにその方法、および類似音楽検索プログラムならびにその記録媒体に関する。
【０００２】
【従来の技術】
類似音楽検索方法として、従来、以下に示す技術が知られている。一つは、特許３０６５３１４号（文献１）に示されるように、信号同士の類似性に基づいて、音響信号の断片を、長時間の音響信号中から高速に検索するものである。他の一つは、Asif Ghias, Jonathan Logan, David Chamberlin, Brian C.Smith:”Query by Humming: Musical Information Retrieval in an Audio Database”, ACM Mulch Media, pp.231-236 (1995)（文献２）に示されるように、単旋律どうしの照合法として、単旋律を、その音高の遷移方向のみの情報に置き換えた単純な符号として表現し、効率的に照合を行う方法である。
【０００３】
しかしながら、前者は、同一のＣＤに収録された音楽のように、オリジナルが同一の信号どうしの検索には適するが、同一の曲の別の演奏といったように、オリジナルが同一でない場合には、有効な検索をなし得ないという問題があった。また、後者は、検索鍵とする音楽と蓄積された音楽との双方が、単旋律、すなわち同時に１つの音だけが演奏されるような音楽である場合のみに適用可能であり、同時に複数の音が演奏される多重奏の場合には、有効な検索をなし得ないという問題があった。
【０００４】
【発明が解決しようとする課題】
一方、主旋律の一部をハミング等で歌って検索鍵とする音楽検索方法が知られている。例えば、西原祐一、小杉尚子、紺谷精一、山室雅司：「時間正規化を用いたハミング検索システム」情報処理学会研究報告、９９−ＭＵＳ-30,pp.27-32(1999)（文献３）には、あらかじめ音楽データベースにおいて主旋律の単音情報を付与しておき、これと、検索鍵のハミングから抽出した単音情報とを照合する方法が開示されている。また、橋口博樹、西村拓一、赤坂貴史、岡隆一：「鼻歌の旋律と歌詞をクエリーとする楽曲信号のスポッティング検索」信学技報、ＰＲＭＵ２０００−１１８，pp.79-86(2000)（文献４）には、ハミング等と、データベース中の音楽とを、スペクトルログラムで照合する方法が開示されている。
しかしながら、これらいずれの方法においても、検索鍵として与える音楽の断片が、ハミングのような単旋律でない場合には、有効な検索をなし得ないという問題があった。
【０００５】
本発明は、上記のような従来の技術の欠点を解決するためになされたものであり、バイナリ特徴系列を用い、かつ、移調や時間伸縮を考慮して音楽の断片同士の照合を行なうことにより、従来容易に実現し得なかった多重奏同士を対象としても有効な検索を行い得る、類似音楽検索装置ならびにその方法、および類似音楽検索プログラムならびにその記録媒体を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記した課題を解決するために本発明は、あらかじめ音楽信号が蓄積された音楽データベースの中から、検索鍵として与えられる音楽信号に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置であって、前記音楽データベースに蓄積された音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した蓄積バイナリ特徴系列に変換する蓄積バイナリ特徴系列計算手段と、前記検索鍵となる音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した目的バイナリ特徴系列に変換する目的バイナリ特徴系列計算手段と、前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較して類似度を算出する類似度計算手段と、前記類似度に基づいて検出すべき箇所を特定し検索結果として出力する検索結果出力手段とを備えたことを特徴とする。
【０００７】
本発明の類似音楽検索装置において、前記類似度計算手段は、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列が移調されている場合、一方を順次移調させながら類似度を計算する移調吸収手段を備えることを特徴とする。
【０００８】
本発明の類似音楽検索装置において、前記類似度計算手段は、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合、当該伸縮を吸収しながら類似度を計算する時間伸縮吸収手段を備えることを特徴とする。
【０００９】
上記構成により、類似度計算部は、蓄積された音楽データベースから、あるいは検索鍵となる音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した蓄積バイナリ特徴系列、ならびに目的バイナリ特徴系列を取り込み、比較照合することによって類似度を計算し、計算された類似度に基づき検出すべき箇所を特定して検索結果として出力することができる。
このように、バイナリ特徴系列を用い、また、移調や時間伸縮を考慮して音楽の断片同士の比較照合を行うことによって、従来容易に実現し得なかった、多重奏同士を対象としても有効な検索をなし得る類似音楽検索装置を提供することができる。
なお、本発明は、検索鍵とする音楽や、蓄積されている音楽が、ＭＩＤＩ（Musical Instrument Digital Interface）や音符の情報等のように符号として与えられる場合と、音響信号として与えられる場合の双方に適用できる。また、本発明は、検索鍵と蓄積されている音楽の双方において、同時に複数の音が演奏されている多重奏であっても適用し得るものである。
【００１０】
上記した課題を解決するために本発明は、あらかじめ音楽信号が蓄積された音楽データベースの中から、検索鍵として与えられる音楽信号に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置に用いられる類似音楽検索方法であって、前記データベースに蓄積された音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した蓄積バイナリ特徴系列に変換し、前記検索鍵の音楽信号から、各時刻における楽音または楽音の周波数成分の有無を要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した目的バイナリ特徴系列に変換し、前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較し類似度を算出し、前記類似度に基づいて検出すべき箇所を特定し検索結果として出力することを特徴とする。
【００１１】
本発明の類似音楽検索方法において、前記類似度の算出において、目的バイナリ特徴系列と蓄積バイナリ特徴系列とが移調されている場合も類似していると判定されるため、それらの一方を順次移調させながら類似度を算出することを特徴とする。
【００１２】
本発明の類似音楽検索方法において、前記類似度の算出において、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合も類似していると判定されるため、該伸縮を吸収しながら類似度を計算することを特徴とする。
【００１３】
上記した課題を解決するために本発明は、あらかじめ蓄積された音楽データベースの中から、検索鍵として与えられた音楽に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置に用いられる類似音楽検索プログラムであって、前記音楽データベースに蓄積された音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、蓄積バイナリ特徴系列を導く蓄積バイナリ特徴系列計算ステップと、前記検索鍵の音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、目的バイナリ特徴系列を導く目的バイナリ特徴系列計算ステップと、前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較し類似度を算出する類似度計算ステップと、前記類似度に基づいて検出すべき箇所を特定し検索結果として出力する検索結果出力ステップとをコンピュータに実行させることを特徴とする。
【００１４】
本発明の類似音楽検索プログラムにおいて、前記第蓄積バイナリ特徴系列計算ステップは、前記音楽データベースに蓄積された音楽信号を読み込む音楽信号読み込みステップと、前記読み込まれた音楽信号の周波数解析を行い短時間パワー値の算出を行なう短時間スペクトル生成ステップと、それぞれの時刻における短時間スペクトルの各要素の中から、その時刻において存在する音楽の基本周波数かまたはその上音であると考えられる要素を抽出する要素抽出ステップと、前記抽出された要素を１２音階に対応付けして音の高さを表す符号に変換し、音名として要因リストを生成する要因リスト生成ステップと、前記要因リストにおいて、ある音の上音のうち基本周波数の略整数倍の周波数を持つ音の音名を除去して基本周波数リストを生成する基本周波数リスト生成ステップと、前記基本周波数リストの各基本周波数をバイナリ特徴ベクトルに変換するバイナリ特徴ベクトル変換ステップとをコンピュータに実行させることを特徴とする。
【００１５】
本発明の類似音楽検索プログラムにおいて、前記目的バイナリ特徴系列計算ステップは、前記検索鍵となる音楽信号の少なくとも断片を受信する目的音楽信号受信ステップと、前記音響信号の周波数解析を行い短時間パワー値の算出を行なう短時間スペクトル生成ステップと、それぞれの時刻における短時間スペクトルの各要素の中から、その時刻において存在する音楽の基本周波数かまたはその上音であると考えられる要素を抽出する短時間スペクトル時系列要素抽出ステップと、前記抽出された要素を１２音階に対応付けして音の高さを表す符号に変換し、音名として要因リストを生成する要因リスト生成ステップと、前記要因リストにおいて、ある音の上音のうち基本周波数の略整数倍の周波数を持つ音の音名を除去して基本周波数リストを生成する基本周波数リスト生成ステップと、前記基本周波数リストの各基本周波数をバイナリ特徴ベクトルに変換するバイナリ特徴ベクトル変換ステップとをコンピュータに実行させることを特徴とする。
【００１６】
本発明の類似音楽検索プログラムにおいて、前記バイナリ特徴ベクトル変換ステップは、以下の演算式（１）を計算することにより、前記基本周波数リストの各基本周波数をバイナリ特徴ベクトルに変換するステップをコンピュータに実行させることを特徴とする。
【数３】
0003730144.tif 000002
【００１７】
本発明の類似音楽検索プログラムにおいて、前記類似度計算ステップは、前記目的バイナリ特徴ベクトル時系列と蓄積バイナリ特徴ベクトル時系列を取り込むステップと、前記目的バイナリ特徴ベクトルの時系列を前記蓄積バイナリ特徴ベクトルの時系列上で時間軸方向にずらしながら各部分に対し、以下の演算式（２）を計算することにより順次類似度を算出するステップをコンピュータに実行させることを特徴とする。
【数４】
0003730144.tif 000003
【００１８】
本発明の類似音楽検索プログラムにおいて、前記類似度計算ステップは、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列が移調されている場合、一方を順次移調させながら類似度を計算する移調吸ステップをコンピュータに実行させることを特徴とする。
【００１９】
本発明の類似音楽検索プログラムにおいて、前記移調吸収ステップは、前記類似度計算時に前記蓄積バイナリ特徴系列から出力される目的バイナリ特徴ベクトルの各要素をシフトさせて最大１２通りに展開してそれぞれの類似度を求め、前記求められた類似度のうちの最大値をその箇所における類似度とみなす類似度計算ステップをコンピュータに実行させることを特徴とする。
【００２０】
本発明の類似音楽検索プログラムにおいて、前記類似度計算ステップは、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合、当該伸縮を吸収しながら類似度を計算する時間伸縮吸収ステップをコンピュータに実行させることを特徴とする。
【００２１】
本発明の類似音楽検索プログラムにおいて、前記時間伸縮吸収ステップは、前記目的バイナリ特徴ベクトルまたは蓄積バイナリ特徴ベクトルのいずれか一方の時系列について、時間軸方向に一定回数以上連続するバイナリベクトルに着目し、その変化が生じた時点でのバイナリベクトルを抽出して並べる連続バイナリベクトル抽出ステップと、前記連続バイナリベクトルが前記目的バイナリ特徴ベクトルまたは蓄積バイナリ特徴ベクトルのいずれか他方の時系列に、前記並べられた順に含まれるか否かを調べ、含まれる割合を算出するバイナリベクトル含有率計算ステップと、前記割合によって前記類似度計算手段により計算される類似度を補正する類似度補正ステップとをコンピュータに実行させることを特徴とする。
【００２２】
本発明の類似音楽検索プログラムにおいて、前記検索結果出力ステップは、前記類似度計算ステップで計算された蓄積バイナリ特徴ベクトルの時系列の各部分における目的バイナリ特徴ベクトルの時系列との類似度値を受信する類似度値受信ステップと、前記類似度値に基づきあらかじめ規定された選択基準に従い検索結果として出力すべきか否かを判定し、検出すべき箇所を特定して検索結果として出力する検索結果出力判定ステップとをコンピュータに実行させることを特徴とする。
【００２３】
上記した課題を解決するために本発明は、あらかじめ蓄積された音楽データベースの中から、検索鍵として与えられた音楽に類似した音楽もしくは類似した箇所を探し出す類似音楽検索装置に用いられる類似音楽検索プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記音楽データベースに蓄積された音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、蓄積バイナリ特徴系列を導く蓄積バイナリ特徴系列計算ステップと、前記検索鍵の音楽から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、目的バイナリ特徴系列を導く目的バイナリ特徴系列計算ステップと、前記目的バイナリ特徴系列と前記蓄積バイナリ特徴系列とを比較し類似度を算出する類似度計算ステップと、前記類似度に基づいて検出すべき箇所を特定し検索結果として出力する第検索結果出力ステップとをコンピュータに実行させる類似音楽検索プログラムを記録したことを特徴とする。
【００２４】
本発明の記録媒体において、前記類似度計算ステップは、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列が移調されている場合、一方を順次移調させながら類似度を計算する移調吸収ステップをコンピュータに実行させることを特徴とする。
【００２５】
本発明の記録媒体において、前記類似度計算ステップは、前記目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合、当該伸縮を吸収しながら類似度を計算する時間伸縮吸収ステップをコンピュータに実行させることを特徴とする。
【００２６】
【発明の実施の形態】
次に、本発明の一実施形態について図面を用いて説明する。
図１は、本発明の一実施形態である類似音楽検索装置の内部構成を機能展開して示したブロック図である。
以下に示す各ブロックは、具体的には、ＣＰＵならびにメモリを含む周辺ＬＳＩで構成され、ＣＰＵがメモリに記録されたプログラムを逐次読み出し実行することによりその機能を実現する。
【００２７】
ここに示す類似音楽検索装置は、蓄積バイナリ特徴系列計算手段１と、目的バイナリ特徴系列計算手段２と、類似度計算手段３と、検索結果出力手段４と、情報蓄積手段７とで構成される。
類似音楽検索装置は、検索鍵信号、すなわち見本となる検索したい音楽の断片の音響信号（目的音楽信号）を入力とし、情報蓄積手段７に蓄積された音楽の音響信号（蓄積音楽信号）との類似度があらかじめ設定した値θ（これを探索閾値という）を上回る箇所、およびその付随情報（曲名等）を出力する。
【００２８】
蓄積バイナリ特徴系列計算手段１は、情報蓄積手段７に蓄積された蓄積音楽信号７１から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、蓄積バイナリ特徴系列を導き、蓄積バイナリ特徴７２として情報蓄積手段７に格納する。
目的バイナリ特徴系列計算手段２は、検索鍵の音楽信号（目的音楽信号）から、各時刻における楽音または楽音の周波数成分の有無を、要素として予め定めた２種類の値のいずれかをとるベクトルの系列で表した、目的バイナリ特徴系列を導き、類似度計算手段３へ供給する。
【００２９】
類似度計算手段３は、目的バイナリ特徴系列計算手段２によって生成される目的バイナリ特徴系列と、蓄積バイナリ特徴系列計算手段１により生成され、情報蓄積手段７２から得られる蓄積バイナリ特徴系列とを比較照合して類似度を算出する機能を持つ。
検索結果出力手段４は、類似度計算手段３により計算される類似度に基づいて検出すベき箇所を特定して検索結果として出力する機能を持つ。
なお、情報蓄積手段７は、音楽の音響信号（蓄積音楽信号）７１、蓄積バイナリ特徴系列７２の他に、音響信号に付随する、曲名、アーティスト等の付随情報７３を格納する。
【００３０】
図４は、図１に示す本発明一実施形態の動作を説明するために引用したフローチャートである。
以下、図４のフローチャートを参照しながら図１に示す本発明実施形態の動作について詳細に説明する。
検索に先だち、情報蓄積手段７に、検索の対象となる音楽の音響信号（蓄積音楽信号）７１と、曲名等各音楽の付随情報７３を蓄積しておくものとする（ステップＳ４１）。これは、公知のデータベース技術を用いて実現可能である。
蓄積バイナリ特徴系列計算手段１は、情報蓄積手段７を介して与えられる蓄積音楽信号７１を読み込む（ステップＳ４２）。ここでは、蓄積音楽信号７１は音響信号とする。そして、読み込んだ蓄積音楽信号に対し蓄積バイナリ特徴ベクトル系列を算出すべく、まずは周波数解析を行う（ステップＳ４３）。
【００３１】
図５に蓄積バイナリ特徴計算手段１による蓄積バイナリ特徴ベクトル系列の算出のための手順がフローチャートで示されている。
先の周波数解析は、フーリエ変換に基づく短時間スペクトルによるものなど、各種考えられるが、ここでは帯域フィルタバンクを用いるものとする。すなわち、７５ＨＺから９６００Ｈｚまでの７オクターブの帯域に、対数周波数軸上に等間隔となるように、３３６個のバンドパスフィルタを配置し、それぞれのフィルタにおける出力波形の時間窓内の２乗平均値を計算して短時間パワー値を得、短時間スペクトルを生成する（ステップＳ４３１）。
このとき、時間窓としては４４ｍｓの長さのものを用い、１１ｍｓずつ時間軸上を移動させながらパワー値の算出を行なう。
【００３２】
このようにして得た周波数毎のパワー値、すなわち短時間スペクトルの時系列に基づいて、バイナリ特徴の時系列を計算する。ここで、バイナリ特徴とは、”０”か”１”のいずれかの値を要素にもつ１２次元ベクトルである。各次元は、音楽の音階（半音単位）に対応している。すなわち、その時刻において、各次元に対応する楽音が存在していれば”１”、存在していなければ”０”になる。
なお、楽音とは、基本周波数をもつ音のことであり、具体的には、以下のように計算する。
【００３３】
まず、それぞれの時刻における短時間スペクトル（３３６次元ベクトル）の各要素において、ある周波数のパワーが予め定めた値以上であり、かつ、周波数軸方向のローカルピークとなっている要素を抽出する（ステップＳ４３２）。この要素は、その時刻において存在している楽音の基本周波数か、またはその上音であると考えられる。このような要素を全て取り出し、かつ、楽譜上の音の高さに対応づけて音名とし、要因リストに格納する（ステップＳ４３３）。なお、このように要因リストを生成するステップは、要素の全てを必ずしも楽譜上の音の高さに一度変換することに限定されるものではなく、例えば、連続的な周波数値で処理した後、楽譜上の高さに変換するようにしてもよい。
ここで音名は、音楽の分野で用いられる、Ａ２、Ｅ３などといった音の高さを表す符号であり、たとえばＡ２＝４４０Ｈｚなどと規定することにより、周波数値の対応から容易に求めることができる。
【００３４】
次に、要因リストにおいて、倍音（ある音の上音のうち、基本周波数のほぼ整数倍の周波数をもつもの）を除去して、基本周波数リストを得る（ステップＳ４３３）。この倍音除去の処理は、例えば、柏野邦夫、中臺一博、木下智義、田中英彦：「音楽情景分析の処理モデルＯＰＴＩＭＡにおける単音の認識」、電子情報通信学会論文誌D-II,J79-D-II,No.11,pp.1751-1761(1996)に開示されている「単音形成処理」によって行なうことが可能である。
このようにして得た基本周波数リストの各基本周波数を、バイナリ特徴ベクトルに変換する（ステップＳ４３５）。バイナリ特徴ベクトルヘの変換は、以下の演算式（３）を計算することによって求めることができる。
【数５】
0003730144.tif 000004
図１０に上記したバイナリ特徴ベクトルへの変換処理の一例が示されており、基本周波数リストｌｔに示されたそれぞれの音の高さに相当するベクトルの成分に１が立っている。例えば、「Ａ」に相当するｋijには、音符の基準周波数ｆs＝５５Ｈｚとして、ｋ11＝５５、ｋ12＝１１０、ｋ13＝２２０、ｋ14＝４４０等がある。そして、これらのいずれかが、基本周波数リストに含まれていたとき、対応するベクトルの成分「Ａ」（すなわちｂ１）が１になる。
【００３５】
説明を図４に戻し、上記のようにして得られるバイナリ特徴ベクトルの時系列を、情報蓄積手段７に蓄積する（ステップＳ４４）。
次に、目的バイナリ特徴系列計算手段２では、はじめに、目的音楽信号、すなわち検索鍵となる音楽の断片の音響信号を受信する（ステップＳ４５）。そして、目的バイナリ特徴ベクトルの時系列を算出する（ステップＳ４６）。ここでの具体的な処理は、図５にフローチャートで示した蓄積バイナリ特徴計算手段１における処理と同一であるため、重複を回避する意味で説明を省略する。
【００３６】
そして、類似度計算を行なう（ステップＳ４７）。類似計算処理については図６にその詳細がフローチャートで示されている。
図６において、類似度計算手段３は、まず、目的バイナリ特徴系列計算手段２から、目的バイナリ特徴ベクトルの時系列を受信する（ステップＳ４７１）。次に、情報蓄積手段７を参照して、蓄積バイナリ特徴系列計算手段１によって生成された蓄積バイナリ特徴ベクトルの時系列７２を取得する（ステップＳ４７２）。
【００３７】
ＸがＹの終端に届いたかを判断し（Ｓ４７３）届いていない場合には、類似度計算手段３は、目的バイナリ特徴ベクトルの時系列と、蓄積バイナリ特徴ベクトルの時系列の一部との類似度を計算する。
このとき、類似度Ｐ（ｚ）は以下の演算式（２）を計算することによって行なわれ、演算式（３）を計算することにより最終的に合計類似度ＳBが計算される（ステップＳ４７４）。
類似度の計算は、目的バイナリ特徴ベクトルの時系列を、蓄積バイナリ特徴ベクトルの時系列上で時間軸方向にずらしながら、各部分に対して順次行う（ステップＳ４７５）。
【数６】
0003730144.tif 000005
類似度計算の一例を図１１に示す。ここでは、音符個数Ｄが”５”、共通音符Ｕが”４”となることから上記演算式により類似度は８０％となることがわかる。これを各ｚについて求め、式（３）により合計類似度を求める。
【００３８】
説明を図４に戻し、類似度計算の結果は、検索結果出力手段４に供給され、ここで、検索結果出力処理が行なわれる（ステップＳ４８）。検索結果出力処理についての詳細は図７にその詳細がフローチャートで示されている。
図７において、検索結果出力手段４は、類似度計算手段３で計算された、蓄積バイナリ特徴ベクトルの時系列の各部分における、目的バイナリ特徴ベクトルの時系列との類似度値を受け取り（ステップＳ４８２）、検索結果として出力すベきか否かを判定する。
この判定は、ある一定の閾値を事前に定めておくか、あるいは、全ての箇所の類似度値のうちの上位数箇所を選択する、などの方法が考えられ、用途に応じていずれを用いてもよいことは自明である。ここでは、前者に示す方法を採用するものとする。ステップＳ４８３で閾値と比較され、ここで類似度合値が閾値内にあるか否かが判定され、その判定された箇所に対し、情報蓄積手段７に予め蓄えておいた付随情報、すなわち曲名やアーティスト名等の情報を付加し、検索結果として出力する（ステップＳ４８４）。
【００３９】
図２は、本発明における類似音楽検索装置の他の実施形態を示すブロック図であり、図１に示す実施形態との差異は、更に、移調吸収手段５を付加したことにある。
類似度計算手段３は、目的バイナリ特徴系列と蓄積バイナリ特徴系列とが移調されている場合も類似していると判定するため、移調吸収手段５は、それらの一方を順次移調させながら類似度を計算するために用いられる。
【００４０】
移調吸収手段５による移調吸収処理の手順が図８にフローチャートで示されている。移調吸収手段５では、類似度の計算時に、蓄積バイナリ特徴系列計算手段１から出力された、目的バイナリ特徴ベクトルの各要素をシフトさせ、最大１２通りに展開する（ステップＳ４７６）。このようにして得た１２通りの類似度値のうちの最大値を、その箇所における類似度値とみなす（ステップＳ４７７、Ｓ４７８）。
図１２にその様子が示されている。図１２では、（ａ）から（ｆ）に向かって入力曲（蓄積バイナリ特徴）が１ビットずつシフトされ、（ｆ）の段階で蓄積バイナリ特徴が目的曲（目的バイナリ特徴）と一致する。その時点での類似度は、音符個数６、共通音符６となるため、類似度は１００％となる。
【００４１】
図３は、本発明における類似音楽検索装置の更に他の実施形態を示すブロック図であり、図２に示す実施形態との差異は、更に、時間伸縮吸収手段６を付加したことにある。
時間伸縮吸収手段６は、目的バイナリ特徴系列と蓄積バイナリ特徴系列とが時間軸方向に局所的に伸縮している場合も類似していると判定するため、この伸縮を吸収しながら類似度を計算する。
時間伸縮吸収手段６では、時間軸の伸縮への対応は、公知の方法であるＤＰマッチングによる方法を用いることが可能である。ＤＰマッチングとは、音楽の時系列パターンを標準の時系列パターンと照合するために動的に時間正規化する方法の代表例あり、現在広く用いられている。
【００４２】
その他にも、ランレングス符号による方法を用いることも可能であり、以下に示す演算式により時間伸縮吸収処理が行なわれる。
入力曲のＦＦＳ：Ｃ＝｛ｃi｝，ｉ＝１，２，…，…，Ｄ
ここでランレングス符号化を行うと、
Ｈ＝｛ｈk｝，ｋ＝１，２，…，…，Ｍ
但し、Ｍは符号変化の回数であり、Ｈは、Ｌ（ｃi）＞αであるようなｃｉのみから成立する（αは特定の音長の閾値）。
目的曲のＦＳＳ：Ｒ＝｛ｒi｝，ｉ＝１，２，…，…，Ｄ
第二類似度基準Ｓｃは、Ｒに含まれるＨの割合であるとして（順序も考慮）、Ｓｃ＞θのとき類似していると判定する。なお、ＦＳＳとは、Feature  Symbol  Stringsのことをいう。これは各特徴ベクトルをシンボルとして、それを時系列順に並べたものである。
【００４３】
図９にランレングスによる時間伸縮吸収処理手順がフローチャートで示されている。図９において、時間伸縮吸収手段６は、はじめに、目的バイナリ特徴ベクトルの時系列について、時間方向に一定回数以上連続するバイナリベクトルに着目し、その変化が生じた時点でのバイナリベクトルを取り出して並ベる（ステップＳ４７９）。
なお、図１３に示す時間伸縮吸収手段６による処理の一例では、ａ、ｃ、ｄ、ｅ、ｇが取り出されたバイナリベクトルであり、蓄積バイナリ特徴との対応を探索することにより時間伸縮処理が行なわれる。
【００４４】
次に、これらが、蓄積バイナリ特徴ベクトルの時系列に、その順に含まれるか否かを調べ、含まれていた割合を算出する（ステップＳ４８０）。算出された値は、類似度計算手段３において既に説明した処理によって算出した類似度を補足する、第二類似度とみなされる。この場合、検索結果出力手段４では、これら二つの類似度値のそれぞれを総合して、検索結果とすベきか否かを判定する（ステップＳ４８１）。例えば、それぞれの類似度値に対する閾値を予め決めておき、いずれかがその閾値を越えた場合に、類似していると判断して検索結果とする。なお、前述の場合とは逆に、蓄積バイナリ特徴ベクトルの時系列について、時間方向に一定回数以上連続するバイナリベクトルを取り出し、これを目的バイナリ特徴ベクトルの時系列に含まれるかの割合を算出する処理としてもよい。
【００４５】
図１４、図１５は、本発明における類似音楽検索装置の動作実験例を説明するために引用した図である。ここでは、動作実験のために、蓄積音楽信号として、演奏家による実際の１４２曲のアンサンブル演奏を収録して蓄積した。図１４に＜表１＞として示されるように、計１４２曲は、２０の異なる曲と、それらに変化を加えた曲から成っている。
【００４６】
まず、２０の異なる曲のうちの８曲について、５種類の変化（原曲、移調、楽器変換、テンポ変換、および変奏）を加え、さらに２回演奏を行って８０曲とした。次に、２０の異なる曲のうちの別の９曲（いずれも３パートのアンサンブル演奏で、ピアノを含む）について、ピアノが単旋律を演奏したものと、通常のように和音を演奏したものとの２種類の変化を設け、それぞれ３回演奏を行って、５４曲とした。なお、３回の演奏のうち、２回は同一の演奏家、１回は別の演奏家が演奏した。
その次に、２０の異なる曲のうちの別の２曲について、３回演奏を行って、６曲とした。なお、３回の演奏のうち、２回は同一の演奏家、１回は別の演奏家が演奏した。さらに、２０の異なる曲のうちの残りの１曲について、２回の演奏（同一の演奏家）を行って、２曲とした。
【００４７】
このような、計１４２曲の蓄積音楽信号の全ての曲から、各１箇所ずつ、２０秒間の区間を切り出して、目的信号とし、その他の１４１曲を対象として照合する実験を行った。すなわち、検索は１４２回行った。
これらの検索のうち、移調を含む曲を対象とする検索では、図２に示す実施形態を使用し、テンポ変換を含む曲を対象とする検索では、図３に示す実施形態を使用し、それ以外の検索では、図１に示す実施形態を使用した。
【００４８】
性能評価は、リコール率Ｒと、エラー率Ｅとで行った。Ｒは、正しい検索結果の数を、検出されるべき曲数で割ったものである。またＥは、出力として得られた曲数のうち、誤った曲の割合である。本実験では、類似度の閾値を定めて、閾値を越える類似度を与える曲を全て出力するものとした。すなわち、検索を行っても、結果が０曲のこともあれば、複数曲が出力される場合もありうる。また、正誤は、箇所は問わず、曲名に対して判定した。
【００４９】
図１５に、実験結果を＜表２＞として示す。閾値の設定によって結果は変化するが、この結果は平均の誤り率がＥ＝１３％となるように設定したときの、変化の仕方別のＲ値である。
本実験により、最も代表的な音楽のバリエーションである、演奏の違い、ある楽器の単旋律／多重奏の違い、調の違い、楽器の違い、テンポの違いに対して概ね良好な検索結果（Ｒ値が６９〜１００％）が得られることが明らかになった。すなわち、主旋律の符号列を付与するなど人手による処理を介することなく、多重奏の音響信号を検索鍵として、良好な類似音楽検索を行なえることを確かめることができた。
【００５０】
なお、上記した本発明実施形態においては、蓄積バイナリ特徴系列計算手段１と、目的バイナリ特徴系列計算手段２と、類似度計算手段３と、検索結果出力手段４と、移調吸収手段５と、時間伸縮吸収手段６のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより本発明における類似音楽検索装置における機能が実行されるものとする。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウアを含むものである。
【００５１】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５３】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００５４】
【発明の効果】
以上説明したように本発明によれば、バイナリ特徴系列を用い、また、移調や時間伸縮を考慮して音楽の断片同士の比較照合を行なうことによって、従来容易に実現し得なかった、多重奏同士を対象としても有効な検索をなし得る類似音楽検索装置を提供することができる。
なお、本発明は、検索鍵とする音楽や、蓄積されている音楽が、ＭＩＤＩ（Musical Instrument Digital Interface）や音符の情報等のように符号として与えられる場合と、音響信号として与えられる場合の双方に適用できる。また、本発明は、検索鍵と蓄積されている音楽の双方において、同時に複数の音が演奏されている多重奏であっても適用し得るものである。
【図面の簡単な説明】
【図１】  本発明による類似音楽検索装置の一実施形態を示すブロック図である。
【図２】  本発明による類似音楽検索装置の他の実施形態を示すブロック図である。
【図３】  本発明による類似音楽検索装置の更に他の実施形態を示すブロック図である。
【図４】  本発明実施形態の動作を説明するために引用したフローチャートである。
【図５】  本発明実施形態の動作を説明するために引用したフローチャートである。
【図６】  本発明実施形態の動作を説明するために引用したフローチャートである。
【図７】  本発明実施形態の動作を説明するために引用したフローチャートである。
【図８】  本発明実施形態の動作を説明するために引用したフローチャートである。
【図９】  本発明実施形態の動作を説明するために引用したフローチャートである。
【図１０】  バイナリ特徴ベクトルへの変換処理の一例を説明するために引用した動作概念図である。
【図１１】  本発明の構成の一つである類似度計算手段による処理の一例を説明するために引用した動作概念図である。
【図１２】  本発明の構成の一つである移調吸収手段による処理の一例を説明するために引用した動作概念図である。
【図１３】  本発明の構成の一つである時間伸縮吸収手段による処理の一例を説明するために引用した動作概念図である。
【図１４】  本発明における類似音楽検索装置の機能を実験するために使用した音楽の種類を説明するために引用した表（表１）である。
【図１５】  本発明における類似音楽検索装置の実験結果を説明するために引用した表（表２）である。
【符号の説明】
１…蓄積バイナリ特徴系列計算手段、２…目的バイナリ特徴系列計算手段、３…類似度計算手段、４…検索結果出力手段、５…移調吸収手段、６…時間伸縮吸収手段、７…情報蓄積手段、７１…蓄積音楽信号、７２…蓄積バイナリ特徴、７３…付随情報
【図１】
0003730144.tif 000008
【図２】
0003730144.tif 000009
【図３】
0003730144.tif 000010
【図４】
0003730144.tif 000011
【図５】
0003730144.tif 000012
【図６】
0003730144.tif 000013
【図７】
0003730144.tif 000014
【図８】
0003730144.tif 000015
【図９】
0003730144.tif 000016
【図１０】
0003730144.tif 000017
【図１１】
0003730144.tif 000018
【図１２】
0003730144.tif 000019
【図１３】
0003730144.tif 000020
【図１４】
0003730144.tif 000021
【図１５】
0003730144.tif 000022