(57)【要約】      （修正有）【課題】データベースに保存された楽曲に関する情報を検索するために適用できる効率的なクエリ方法を提供する。【解決手段】歌われ、ハミングされ又は口笛で吹かれた曲の一部、楽器（例えば、電子キーボード）で演奏されたメロディの一部及び／又は楽曲の歌詞の少なくとも一部を発声する発話者の声を含むアナログオーディオシーケンスの形式のクエリを処理し、メロディを解析及び認識した後に、楽曲に関するテキストによる背景情報を検索するコンテンツベースの楽曲情報検索システム、特にハミング検索（ＱｂＨ）データベースシステムを提供する。この背景情報には、例えば、楽曲のタイトル、作品番号、作曲家、発表日、存在すれば、献呈の辞、演奏者、作曲家の全作品及び生涯に関する更なる情報等が含まれる。【選択図】図２ｂ
2007183921.tif 000002
【特許請求の範囲】
【請求項１】
音声入力（１０２、３００ａ）に基づいて、楽曲情報を検索する楽曲情報検索方法において、
楽曲シーケンスの定義されたセットを、関連する情報と共に予め保存するステップ（Ｓ１１ａ）と、
音声（４００）及び／又は楽曲情報（１０２、３００ａ）を入力し（Ｓ１１ｂ）、該音声及び楽曲情報を表すコーディングを、第３の次元が時間（ｔ）である３次元探索空間の第１の次元（Ｓ）及び第２の次元（Ｈ）として配列するステップ（Ｓ１１ｃ）と、
上記３次元探索空間の検索を実行し、楽曲シーケンスのセットから、上記入力された音声（４００）及び／又は楽曲情報（１０２、３００ａ）に最も一致する楽曲シーケンスを発見するステップ（Ｓ１１ｄ）とを有する楽曲情報検索方法。
【請求項２】
上記入力された音声（４００）及び／又は楽曲情報（１０２、３００ａ）は、それぞれ、３次元探索空間のコーディングとして表される前に、個別に前処理される（Ｓ１２）ことを特徴とする請求項１記載の楽曲情報検索方法。
【請求項３】
データベース（１０３、１０５）に予め保存されている音楽ファイルのメロディ及び歌詞に対する上記入力された音声及び楽曲情報の類似の度合いを示す類似尺度を算出するステップ（Ｓ９ｃ）と、
それぞれの類似尺度に応じて音楽ファイルを格付けした上記音楽ファイルの格付けされたリスト（１０７）を生成するステップ（Ｓ９ｄ）とを更に有する請求項１又は２記載の楽曲情報検索方法。
【請求項４】
Ｎを１以上の整数として、Ｎ個の音符及び／又は休符を含む歌われた又はハミングされた楽曲１０２及び／又は演奏されたメロディ３００ａを「メロディ参照文字列」（ＲＥＦ）である第１の文字列によって符号化するステップ（Ｓ５ａ）と、
楽譜がデータベース（１０３、１０５）に保存され、第２の文字列によって符号化されたＮ個の音符及び／又は休符からなる先に解析された符号化されたメロディを、「メロディ仮定文字列」（ＨＹＰＯ０，ＨＹＰＯ１，・・・，ＨＹＰＯｋ，・・・，ＨＹＰＯＭ−１）である複数（Ｍ個）の保存された文字列から検索するステップ（Ｓ５ｂ）と、
記録された楽曲の歌詞１０２”の発話された部分４００から認識された、Ｐを１以上の整数として、Ｐ個の音素からなる音素を「音声参照文字列」（ＲＥＦｓ）である第１の文字列によって符号化し、該音声参照文字列（ＲＥＦｓ）をメロディ参照文字列ＲＥＦに結合し、結合された参照文字列（ＲＥＦｍｓ）を生成するステップ（Ｓ９ａ）と、
Ｐ個の音素からなり、第２の文字列によって符号化された、先に解析された音声信号の音素を、「音声仮定文字列」（ＨＹＰＯｓ０，ＨＹＰＯｓ１，ＨＹＰＯｓ２，・・・，ＨＹＰＯｓ，ｋ，・・・，ＨＹＰＯｓ，Ｑ−１）である複数（Ｑ個）の予め保存されている文字列から検索し、該音声仮定文字列を上記メロディ仮定文字列に結合し、結合された仮定文字列（ＨＹＰＯｍｓ０、ＨＹＰＯｍｓ１、ＨＹＰＯｍｓ２，ＨＹＰＯｍｓ，ｋ，・・・，ＨＹＰＯｍｓ，Ｍ＋Ｑ−１）を生成するステップ（Ｓ９ｂ）と、
列座標としてｋ番目の結合された仮定文字列（ａｍｓ：＝（音程１，・・・，音程Ｎ−１，音素１，・・・，音素ｐ）Ｔ）の文字インデクスｉを有し、行座標として結合された参照文字列（ｂｍｓ：＝（音程１，・・・，音程Ｎ−１，音素１，・・・，音素Ｐ）Ｔ）の文字インデクスｊを有する（Ｎ＋Ｐ−１）×（Ｎ＋Ｐ−１）のアラインメント行列（Ｄｍｓ）の形式で、単一の２次元探索空間を用いて、上記記録されたオーディオシーケンス１０２のメロディ及び歌詞と、上記データベースに保存された様々な音楽ファイルのメロディ及び歌詞との間の類似の度合いを示す類似尺度を算出するステップ（Ｓ９ｃ）とを有する請求項３記載の楽曲情報検索方法。
【請求項５】
上記類似尺度を算出するステップ（Ｓ９ｃ）は、
ｋ番目の仮定文字列（ａｍｓ：＝（音程１，・・・，音程Ｎ−１，音素１，・・・，音素ｐ）Ｔ）の文字インデクスｉを列座標として設定し、参照文字列（ｂｍｓ：＝（音程１，・・・，音程Ｎ−１，音素１，・・・，音素Ｐ）Ｔ）の文字インデクスｊを行座標として設定し（Ｓ６ａ１）、上記アラインメント行列（Ｄｍｓ）のセルに累加されたコスト係数（ｄｉ，ｊ＝ｆ（ｄｉ−１，ｊ，ｄｉ，ｊ−１，ｄｉ−１，ｊ−１，ｗ（ａｉ，ｂｊ）））を埋め込む埋込スキームに基づいて、該アラインメント行列の各要素（ｉ，ｊ）を算出及び設定して該アラインメント行列（Ｄｍｓ）を埋める（Ｓ６ａ２）ことによって、（Ｎ＋Ｐ−１）×（Ｎ＋Ｐ−１）のアラインメント行列（Ｄｍｓ）を作成するステップ（Ｓ１０ａ）と、
ビタビ探索アルゴリズムに基づいて、結合された参照文字列（ＲＥＦｍｓ）と、保存されている全てのメロディ及び歌詞の結合された仮定文字列（ＨＹＰＯｍｓ０，ＨＹＰＯｍｓ１，ＨＹＰＯｍｓ２，・・・，ＨＹＰＯｍｓ，ｋ，・・・，ＨＹＰＯｍｓ，Ｍ＋Ｑ−１）とを比較し、結合された参照文字列（ＲＥＦｍｓ）のどの文字が、ｋ番目の結合された仮定文字列（ＨＹＰＯｍｓ，ｋ）に密接に一致するかを示す文字列及び／又はコスト係数（ｗ（ａｉ，ｂｊ））のシーケンスを返すアラインメント関数を適用するステップ（Ｓ１０ｂ）と、
上記アラインメント関数によって導出された追跡パスに沿って、上記アラインメント行列（Ｄｍｓ）の最後の列の最低のコスト係数から開始され、該アラインメント行列の第１の行及び第１の列に向かって該アラインメント行列を戻る後方追跡アルゴリズムを実行するステップ（Ｓ１０ｃ）とを有することを特徴とする請求項４記載の楽曲情報検索方法。
【請求項６】
【数１】
2007183921.tif 000010
として表される埋込スキームに基づいて、上記アラインメント行列（Ｄｍｓ）の要素（ｄｉ，ｊ）を算出し、
ケース＃１に基づくｋ番目の仮定文字列（ＨＹＰＯｍｓ，ｋ）の文字ａｉの削除に関連するコスト係数をｗ（ａｉ，０）とし、
ケース＃３に基づく結合された参照文字列（ＲＥＦｍｓ）への文字ｂｊの挿入に関連するコスト係数をｗ（０，ｂｊ）とし、
ケース＃２に基づくｋ番目の結合された仮定文字列（ＨＹＰＯｍｓ，ｋ）の要素ａｉの結合された参照文字列（ＲＥＦｍｓ）の要素ｂｊへの置換に関連するコスト係数をｗ（ａｉ，ｂｊ）とし、ａｉ＝ｂｊの場合、ｗ（ａｉ，ｂｊ）を０に設定し、ａｉ≠ｂｊの場合、ｗ（ａｉ，ｂｊ）を０より大きな値に設定し、
初期条件を
【数２】
2007183921.tif 000011
とするステップ（Ｓ７）を有する請求項５記載の楽曲情報検索方法。
【請求項７】
音声入力（１０２、３００ａ）に基づく楽曲情報検索システムにおいて、
楽曲シーケンスの定義されたセットを、関連する情報と共に予め保存する（Ｓ１１ａ）データベース（１０３、１０５）と、
音声（４００）及び／又は楽曲情報（１０２、３００ａ）を入力する（Ｓ１１ｂ）入力手段（１０１）と、
上記音声及び楽曲情報を表すコーディングを、第３の次元が時間（ｔ）である３次元探索空間の第１の次元（Ｓ）及び第２の次元（Ｈ）として配列するコーディング手段（１００’、１０４”）と、
上記３次元探索空間の検索を実行し、楽曲シーケンスのセットから、上記入力された音声（４００）及び／又は楽曲情報（１０２、３００ａ）に最も一致する楽曲シーケンスを発見する（Ｓ１１ｄ）照合手段（１０６）とを備える音楽情報検索システム。
【請求項８】
上記コーディング手段（１００’、１０４”）は、
アナログオーディオシーケンス（１０２、３００ａ）から、音楽的キー特性を抽出（Ｓ２ａ）、解析（Ｓ２ｂ）及び認識（Ｓ２ｃ）する自動楽曲認識システム（１００’）と、
記録された楽曲の歌詞（１０２”）の発話された部分（４００）から話者の声及び発音の音響音声学的音声特性を抽出（Ｓ４ａ）及び解析（Ｓ４ｂ）し、該歌詞（１０２”）の構文及び意味を認識する（Ｓ４ｃ）自動音声認識システム（１０４”）とを備えることを特徴とする請求項７記載の音楽情報検索システム。
【請求項９】
上記照合手段（１０６）は、上記３次元探索空間に対してビタビ探索アルゴリズムを実行することによって、上記入力されたオーディオシーケンス（１０２、３００ａ）のメロディ及び歌詞と、上記データベース（１０３、１０５）に保存された様々な音楽ファイルのメロディ及び歌詞との類似の度合いを示す類似尺度を算出し、上記音楽ファイルの格付けされたリスト（１０７）を生成する（Ｓ３ｂ）演算手段（Ｓ３ａ）を備えることを特徴とする請求項７又は８記載の楽曲情報検索システム。
【請求項１０】
コンピュータ装置上で実行されて、請求項１乃至６いずれか１項記載の楽曲情報検索方法を実現するコンピュータソフトウェアプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲情報検索システムに関し、詳しくは、例えば、データベースに保存された、演奏され、歌われ、又はハミングされたメロディに関して、情報を検索するシステムに関する。
【背景技術】
【０００２】
楽曲データベースに問い合わせを行う従来の手法では、ユーザは、楽曲のタイトル、演奏者の名称、又は特定の曲に関する他の何らかの情報をタイプする必要があるという制約があり、楽曲データベースに保存される楽曲の数が増加するに従って、ユーザが聴きたい曲を発見することが困難になってきている。
【０００３】
コンテンツベースの検索法の具体例として、ハミング検索（query-by-humming：以下、ＱｂＨという。）がある。ＱｂＨシステムは、特に、所望の楽曲を検索するために、歌、ハミング又は口笛をクエリとして受け付け、例えば、楽曲ライブラリから、ユーザがタイトル又は作曲家を覚えていない楽曲を発見することを目的とする。
【０００４】
初期のＱｂＨシステムの１つは、１９９５年にエー・ギアス（A. Ghias）、ジェイ・ロガン（J. Logan）、ディー・チャンバリン（D. Chamberlin）及びビー・シー・スミス（B. C. Smith）が論文「"Query by Humming, Musical Information Retrieval in an Audio Database" (Proc.of ACM Multimedia Conf., pp. 231-236, 1995)」で発表している。このＱｂＨシステムにより、ユーザは、メロディさえ知っていれば、楽曲を見つけることができる。この手法は、大きな楽曲データベースにおいて特定の楽曲を検索する際の非常に高速で有効なクエリ法を提供する。
【０００５】
図１ａ〜図１ｃ、図２ａ及び図２ｂに示すように、ＱｂＨシステムは、基本的に、ハミングされたメロディを入力データとして受け取り、このメロディを統合型データベースに保存されている楽曲と比較する。ＱｂＨシステムの出力データは、通常、類似度順に分類された楽曲の格付けされたリストである。したがって、リスト内の最初の楽曲が、検索された楽曲である。比較は、同じ種類の２つのメディアの間で実行する必要があるため、ハミングされたメロディ及びデータベースのファイルは、比較可能なフォーマットに変換する必要がある。このため、ハミングされたメロディは、まず、音楽的表記に変換され、この音楽的表記から関連情報が抽出される。歌の一節からノート情報を抽出する処理は、「デスクリプション」とも呼ばれる。図２ｂに示すように、保存された楽曲の楽譜を含むデータベースに保存されたファイルは、同じデスクリプション処理を行う。これにより、ファイルから音楽的キー特性（デスクリプタ）が抽出され、変換されたハミングされたメロディと同じフォーマットのファイルの新たなデータベースが作成される。
【０００６】
近年のＱｂＨの研究は、主に、メロディ表現、類似尺度及び照合処理に焦点を当てている。幾つかの研究では、ピッチ輪郭（pitch contour）（メロディの音程及び音程方向を意味する）のみを用いて楽曲を表現している。３状態ＱｂＨシステム（three-state QbH system）、所謂「ＵＤＳシステム」は、一般的な人は正しくハミングできないという仮定に基づいている。これには、２つの原因がある。第１に、ユーザがハミングする曲を間違って覚えているためであり、第２に、正しく覚えている曲でもハミングする音程を誤るためである。この仮定に基づいて、研究者らは、これらの種類の誤差をサポートするＵＤＳシステムを開発した。
【０００７】
ＵＤＳシステムは、ハミングされたチューンのＵ、Ｄ及びＳの文字列へのトランスクリプションによって得られた音楽的表記記譜のデスクリプションを含み、この文字列と、データベースに保存されている楽曲に由来するＵＤＳ文字列とを比較する。デスクリプションは、ハミングされたチューンの認識された音符間の音程に基づいている。図３ａ〜図３ｃに示すように、昇音程は、文字Ｕ（ｕｐ）によってコード化され、降音程は、文字Ｄ（ｄｏｗｎ）によってコード化され、「ヌル音程」（完全一度）は、文字Ｓ（ｓａｍｅ）によってコード化される。そして、同じデスクリプションを、データベースに保存された様々な楽曲のメロディに適用し、ハミングされたチューンに由来するＵＤＳ文字列と、保存された各メロディのＵＤＳ文字列とを比較する。
【０００８】
この手法は、ハミングされた楽曲のメロディの特定の音ではなく、音程方向に基づいているため、このシステムは、ハミングされたメロディのキーに関係なく動作し、ハミングされたチューンの音程方向が正しい限り、音程の誤りを許容する。この結果、ＱｂＨシステムでは、ハミングする人は、昇音程（Ｕ）、降音程（Ｄ）及び完全一度を意味する所謂「ヌル音程」（Ｓ）を区別できるように歌い分ければよい。
【０００９】
従来の技術の簡単な説明
大容量データベースから楽曲情報を検索し、及びタイトルを選択するために、これまで、２つの技術が用いられてきた。１つの技術は、ユーザが発声したタイトルの名称を直接認識する音声認識である。しかしながら、音声認識は、誤認識率が比較的高い。一方、メロディの一部をユーザがハミングし（歌い又は口笛を吹き）、このメロディ自体を用いて、データベースに対する検索クエリを実行するハミング検索（query-by-humming）も研究されている。自動音声認識システム及びハミング検索システムは、適用された分類子の出力レベルにおいて、周知の重み付けスキームを用いて容易に組み合わせることができるが、この場合、幾つかの重み付け係数を決定する必要がある。しかしながら、このような手法では、２台の完全な認識システムが必要であり、最終段階で情報を併合するため、効率的な枝刈りができず、したがって、演算コストが高い。更に、このようなシステムは、両方のシステムが期待する種類の入力が行われなかった場合、例えば、単に歌詞を発声しただけで、ハミングしていない場合、又は、単にハミングしただけで、歌詞を発声していない場合等には、適切に動作しない。
【００１０】
各音楽ファイルについて、保存された楽曲のメロディの音程方向の対応するＵＤＳ文字列を作成するためには、メロディからこの情報を抽出するスクリプトを実現する必要がある。このトランスクリプションは、メロディを表すオーディオ信号を特定の音にセグメント化し、このオーディオ信号の有声部分及び無声部分を調べることによって、信号を音のシーケンスに変換する処理を含む。歌の場合、人間が聴く音は、信号の有声部分であり、この部分は、実際には、母音、母音変異又は二重母音（図４参照）によって生成される。信号の有声部分は、基本周波数が歌われた音の周波数である周期信号である。信号の無声部分は、ランダムに生成された雑音によく似ている。この無声部分は、主に子音によって構成される。図４に示すように、これらの２種類の信号を識別することは極めて容易である。
【００１１】
ＵＤＳシステムを作成するために、ＵＮＩＸ（登録商標）コマンド及び包括的なＣライブラリを含むＵＮＩＸ環境のために用いられる音声分析及び処理ツールの包括的なセットであるエントロピ信号処理システム（Entropic Signal Processing System：ＥＳＰＳ）から「ｇｅｔ＿ｆ０」関数を用いた。この関数は、「．ｗａｖ」信号を入力として、有声部分の場合、サンプル信号の周波数を出力し、無声部分の場合、ゼロを出力する。これにより、ベクトルが得られ、このベクトルから、音の周波数、音長及びメロディの特定の音符間の休符の長さを抽出することができる（図５参照）。
【００１２】
図６に示すように、音の基音周波数は、時間と共に大きく変化する。音の基音周波数を抽出するには、測定された基音周波数の最大値、最小値、平均値又はメジアンを選択する等、幾つかの手法がある。もちろん、どの手法が正しいか、ハミングする人が意図する実際の基音周波数はどれか、を知ることはできない。これらの手法の全てを検査する必要があるが、ここでの目的は、実際に機能し、ある手法から他の手法への結果が僅かにしか違わないシステムを作成することであり、現在、平均値を用いるシステムと、メジアンを用いるシステムの２つのシステムが実現されている。
【００１３】
ここで、トランスクライブされたハミングされたメロディを「メロディ輪郭」として記述する必要がある。これは、既にＭＩＤＩファイルのために提案されているように、ＥＳＰＳの出力ファイルを処理し、ＵＤＳコーディングによって各音程を符号化することによって実現される。
【００１４】
ハミングされたチューンのデスクリプションと、ＭＩＤＩファイルのデスクリプションとを比較するために、ソニー株式会社によって開発されたＡＳＲシステムのための自動音声認識の分野で用いられているツールである「ｊａｎｕｓ」の「アラインメント」関数を適用できる。この関数は、ビタビアルゴリズムに基づいており、２つの文字列を比較し、これらの文字列内のどの文字が置換され、削除され、挿入されたか、及びどの文字が正しいかを返す。以下では、仮定文字列（hypothesis string）を参照文字列（reference string）に比較する具体例を用いて、このアルゴリズムを説明する。
【００１５】
まず、８×８のアラインメント行列Ｄを作成する。図８ａに示すように、仮定文字列（「ＵＳＳＳＤＳＤＵ」）を行座標として設定し、参照文字列（「ＵＤＳＳＵＤＳＵ」）を列座標として設定する。削除（deletion：ｄｅｌ）、挿入（insertion：ｉｎｓ）及び置換（substitution：ｓｕｂ）について、コスト係数ｗ（ａｉ，ｂｊ）を設定する。ここで、３種類の全ての誤り（「ｓｕｂ」、「ｄｅｌ」及び「ｉｎｓ」）について、コスト係数を１とする。正しい状況では、コスト係数を０とする。図７ａに示すように、置換又は正しい状況では、アラインメント行列を対角線に沿って移動し、適切なコスト係数ｗ（ａｉ，ｂｊ）を加算する。削除の場合、行列を水平に移動し、これによりコスト係数１を加算する（図７ｂ）。一方、挿入の場合、行列を垂直に移動し、これにより、コスト係数１を加算する（図７ｃ）。
【００１６】
次に、行列の第１のセルを埋める。このために、仮定（ＨＹＰＯ）の第１の文字を参照文字列（ＲＥＦ）の第１の文字と比較する。これらが同じである場合、これは置換であり、それぞれの行列のセルにコスト１を設定する。これらが異なる場合、これは正しい状況であり、行列のセルには、コスト０を設定する。
【００１７】
そして、下から上に、及び右から左に、行列の全体を処理し、３つの種類の誤りを考慮し、最も低いコストを有するものをセルに充てる。
【００１８】
図７ｄに示す具体例における不明なセルに書き込みを行うために、全ての可能性（「ｓｕｂ」、「ｄｅｌ」及び「ｉｎｓ」）を考慮し、これらの可能性のそれぞれのコスト係数を算出する必要がある（図７ｅ〜図７ｇ）。最低のコスト係数は、置換誤差のためのコスト係数である。したがって、このコスト係数を適用する。セルが第１の行に位置する場合は、挿入誤差のみしか算出できない。セルは、第１の列に位置する場合は、削除誤差のみしか計算できない。最低のコスト係数が２回以上検出された場合は、置換を削除に優先させ、削除を挿入に優先させる規則に従って誤りを適用する。
【００１９】
最終的に正しいパスを発見するために（図８ｂ参照）、最後の列の最低のコスト係数から開始され、アラインメント行列を戻る後方追跡アルゴリズムを実行する。図８ｃの表は、この具体例におけるアラインメント関数の出力値を示している。このパスの総コストは、３である。
【００２０】
類似尺度の計算（Ｓ５ｃ）は、例えば、以下のステップによって特徴付けられる。
【００２１】
まず、ｋ番目の仮定文字列ａ、例えば（Ｕ，Ｓ，Ｓ，Ｓ，Ｄ，Ｓ，Ｄ，Ｕ）Ｔの文字インデクスｉを列の座標として設定し、参照文字列ｂ、例えば（Ｕ，Ｄ，Ｓ，Ｓ，Ｕ，Ｄ，Ｓ，Ｕ）Ｔの文字インデクスｊを行列の行の座標として設定し（Ｓ６ａ１）、累加されたコスト係数ｄｉ，ｊ＝ｆ（ｄｉ−１，ｊ，ｄｉ，ｊ−１，ｄｉ−１，ｊ−１，ｗ（ａｉ，ｂｊ））をアラインメント行列Ｄのセルに埋めるスキームに基づいて、アラインメント行列Ｄの各（ｉ，ｊ）要素を算出及び設定することによってアラインメント行列Ｄを埋め（Ｓ６ａ２）、（Ｎ−１）×（Ｎ−１）のアラインメント行列Ｄを作成（Ｓ６ａ）する。
【００２２】
ビタビ探索アルゴリズムに基づいて、参照文字列（ＲＥＦ）を全ての保存されたメロディの仮定文字列（ＨＹＰＯ０，ＨＹＰＯ１，・・・，ＨＹＰＯｋ，・・・，ＨＹＰＯＭ−１）と比較し、参照文字列（ＲＥＦ）のどの文字がｋ番目の仮定文字列ＨＹＰＯｋに密接に一致するかを示す文字列及び／又はコスト係数ｗ（ａｉ，ｂｊ）のシーケンスを返すアラインメント関数を実行する（Ｓ６ｂ）。
【００２３】
そして、アラインメント関数によって導出された追跡パスに沿って、アラインメント行列の最後の列の最低のコスト係数から開始され、アラインメント行列の第１の行及び第１の列に向かってアラインメント行列を戻る後方追跡アルゴリズムを実行する（Ｓ６ｃ）。
【発明の開示】
【発明が解決しようとする課題】
【００２４】
ＱｂＨシステムでは、通常、ユーザは、楽曲を歌い、ハミングし、口笛を吹くために、楽曲のメロディを知っている必要があり、すなわち、楽曲は、基本的なメロディを有している必要がある（したがって、ＱｂＨシステムは、例えば、ラップのようなメロディが明確ではない曲の検索には使えない）。更に、ハミングによるクエリは、通常、歌が上手くないユーザには不向きである。一方、ユーザが楽曲を歌い、ハミングし、又は口笛を吹く際の調音の自由度を高めると、比較の効果が低下する。図３ｂ及び図３ｃに示すように、２つの完全に異なるメロディが、全く同じＵＤＳデスクリプションを有することもある。このように、楽曲データベースに保存された楽曲に高速且つ正確にアクセスする技術は、未だ実現されていない。
【００２５】
上述の課題に鑑み、本発明の目的は、データベースに保存された楽曲に関する情報を検索するために適用できる効率的なクエリ方法を提供することである。
【００２６】
この目的は、独立請求項に定義された特徴によって達成される。本発明の中心的概念を発展させた有利な特徴は、従属請求項に定義されている。
【課題を解決するための手段】
【００２７】
本発明は、歌われ、ハミングされ又は口笛で吹かれた曲の一部、楽器（例えば、電子キーボード）で演奏されたメロディの一部及び／又は楽曲の歌詞の少なくとも一部を発声する発話者の声を含むアナログオーディオシーケンスの形式のクエリを処理し、メロディを解析及び認識した後に、楽曲に関するテキストによる背景情報を検索するコンテンツベースの楽曲情報検索システム、特にハミング検索（ＱｂＨ）データベースシステムを提供する。この背景情報には、例えば、楽曲のタイトル、作品番号、作曲家、発表日、存在すれば、献呈の辞、演奏者、作曲家の全作品及び生涯に関する更なる情報等が含まれる。
【発明を実施するための最良の形態】
【００２８】
以下、図２ｂ、及び図９〜図１１ｃを参照して、本発明の実施の形態を詳細に説明する。図１ａ〜図１１ｃにおける参照符号の意味は、添付の表に記載してある。
【００２９】
本発明の第１の実施の形態であるコンテンツベースの楽曲情報検索システムは、図２ｂに示すように、歌われ、ハミングされ又は口笛で吹かれた曲の記録された部分１０２、楽器によって演奏されたメロディの記録された部分３００ａ、楽曲の歌詞の一部１０２”を発声する話者の記録された声４００を含むアナログオーディオシーケンス１０２、３００ａの形式のクエリを処理し、オーディオシーケンス１０２、３００ａを解析及び認識した後に、楽曲情報検索システムの統合型データベース１０３、１０５に保存された音楽ファイルに関して、テキストによる背景情報を検索する。楽曲情報検索システムは、例えば、前記の楽曲情報検索システムを含むことができる。アナログオーディオシーケンス１０２、３００ａが入力される（Ｓ１）マイクロホン１０１と、例えば、特定の音符の半音番号、メロディの音程及び／又は音程方向、メロディのリズムが構成される音符及び休符の音長、メロディの調、ビート、テンポ、音量、緩急法（アゴーギク）、ダイナミクス、フレージング、アーティキュレーション、音色及び器楽編成、楽器によって演奏された伴奏和音のハーモニー及び／又は電子音響効果を含む音楽的キー特性を、アナログオーディオシーケンス１０２、３００ａから抽出（Ｓ２ａ）、解析（Ｓ２ｂ）及び認識（Ｓ２ｃ）する自動楽曲分類（認識）システム１００’と、記録された楽曲の歌詞１０２”の発話された部分４００からの話者の声及び発音の音響音声学的音声特性を抽出（Ｓ４ａ）及び解析（Ｓ４ｂ）し、歌詞１０２”の構文及び意味を認識する（Ｓ４ｃ）自動音声認識システム１０４”とを備える。
【００３０】
照合エンジン１０６は、３次元探索空間に対してビタビ探索アルゴリズムを実行することによって、オーディオシーケンス１０２、３００ａのメロディ及び歌詞の、データベース１０３、１０５に事前に保存されている様々な音楽ファイルのメロディ及び歌詞に対する類似の度合いを示す類似尺度を算出する（Ｓ３ａ）。そして、照合エンジン１０６は、検索された音楽ファイルの格付けされたリスト１０７を生成する（Ｓ３ｂ）。
【００３１】
本発明に基づく３Ｄ探索空間は、時間を表す第１の次元（ｔ）と、音響音声学的音声特性の適切なコーディングを表す第２の次元（Ｓ）と、音楽的キー特性の適切なコーディングを表す第３の次元（Ｈ）とを有する。
【００３２】
このように、本発明は、音声認識システム及びＱｂＨシステムの２つのシステムを１つに統合することを提案する。これらの２つのシステムを用いて、例えば、ユーザが楽曲の歌詞の一節を歌い、残りの歌詞を覚えていないため、これに続けて、メロディだけを「ダ・ダ・ダ」とハミングした場合等、混合された入力データ（音声及び／又は曲）を処理することができる。そして、システムへの未知の入力は、３次元ビタビ検索によって評価される。このアルゴリズムは、両方の手法をハイブリッドシステムに統合し、入力が純粋な音声又は純粋なハミングである場合、２つの基本システムのいずれか一方と同等に機能し、入力が混合された入力（例えば、部分的なハミング及び歌、又は部分的なハミング及び部分的な発話）である場合、より高い精度を実現する。評価を行う際、入力データ（音声又はハミング）の性質は、暗示的に判定されるので、入力データの性質（種類）に関する如何なる事前の知識も不要である。
【００３３】
これは、一般的に使用されている２次元探索空間に代えて、図９に示すように、３次元探索空間を用いて実現される。上述したように、探索空間の第１の次元は、時間軸であり、第２の次元は、楽曲タイトルを構成する個々の単語の音素であり、第３の次元は、総合的な情報の適切なコーディング、例えば、ハミングされたメロディの音符のピッチレベル間を半音単位の相対的音高差で記述するコーディングである。
【００３４】
なお、このコーディングは、一例に過ぎず、本発明は、このようなコーディングに限定されるわけではない。
【００３５】
本発明に基づくＱｂＨシステムは、入力データを受け取ると、音声認識のための前処理及びハミング検索のための前処理を個別に実行し、検出されたノートを選択されたコーディングに変換する。２つの前処理によって、経時的に算出された２つの特徴ベクトルが生成される。
【００３６】
時間軸（次元）に「ｔ」のラベルを付し、音声認識音素軸に「Ｓ」のラベルを付し、ハミング検索軸（次元）に「Ｈ」のラベルを付した場合、検索は、三次元空間（ｔ，Ｓ，Ｈ）で行われる。基本的には、Ｓ軸上の楽曲の歌詞からの単語ｊの状態をＳｊとし、Ｈ軸の上のトーンシーケンスｊの状態をＨｊとして、ポイント（０，０，０）からポイント（Ｔ，Ｓｊ，Ｈｊ）に至る最良のパスを発見する必要がある。なお、ユーザは、メロディの一部だけをハミングし、又は楽曲のタイトルの一部だけを発声する場合もあるので、Ｓｊ及びＨｊは、必ずしも単語又はトーンシーケンスの最終状態を示しているわけではない。
【００３７】
ピッチ情報の復号処理は、典型的なＱｂＨシステムと同様であり、ビタビ検索、例えば、動的時間伸縮（dynamic time warping：ＤＴＷ）アルゴリズムを用いて、事前に保存されている参照楽曲とハミングされたメロディの間で、最良のアラインメントを発見することができる。
【００３８】
音声情報については、標準的な音声認識装置と非常に似た復号処理を行うことができる。標準的な自動音声認識装置（automatic speech recognizer：ＡＳＲ）との主な違いは、全ての楽曲の全ての単語の全ての音節が、代替発音「ダ（ｄａ）」を有するという点である。例えば、有名なビートルズ楽曲「Yesterday」は、「イエスタデイ」と発音しても「ダダダ」と発音してもよい。換言すれば、あらゆる単語の発音変化形として、その単語の「ダダダ」と歌われたバージョンが存在する。これは、現実に、メロディを知っていても、その歌詞を完全には知らない人が多いために有効である。もちろん、このような人も、歌詞の一部を知っていることが多い。このため、ＱｂＨシステムには、「アット・ザ・リバーズ・オブ・バビロン、ダダダダ−ダダダダ・ウェン・ウィー・リメンバー・ダダダ（"At the rivers of Babylon, da, da, da, da da, da, da, da, when we remember da, da, da", ）」といった種類の入力が行われることがある。ここで、少なくとも「ダダダ」の部分は、対応する楽曲のメロディに合わせてハミングされる（歌われる）。文法ベースの音声認識装置を使用し、上述した具体例のように、ユーザが歌詞の一部を覚えておらず、幾つかの単語を忘れ、他の幾つかの単語を知っており、忘れた歌詞の一部についても、対応するメロディだけは覚えているような場合、歌詞のあらゆる単語から「ダ」を繰り返す状態への更なる遷移を許容するように文法を拡張できる。この手法により、純粋なハミングの場合、全ての歌詞が枝刈りされ、「ダ」の状態だけが有効なまま残るため、ＡＳＲアルゴリズムを著しく簡潔にすることができ、一方、個々の単語に発音バリエーションが多くある場合、如何なる有効な枝刈りも行われず、全ての単語が個別に解析される。
【００３９】
ここまでの処理では、探索空間のＨ軸及びＳ軸は、互いに個別に取り扱われ、この観点から、このシステム全体は、「ダ」で構成された単語を追加した標準の音声認識装置と、ＱｂＨシステムとの単なる組合せであるとみなすこともできる。しかしながら本発明では、効率を更に高めるために、検索処理において、特に、例えば、ハミングされた３つおきのトーン等、非同期的な期間でこれらの２つのシステムをリンクする。このリンクステップは、基本的には、相互枝刈りステップであり、これは、リンクステップの間、Ｈ軸から得られる所定の楽曲メロディ（例えば、ビートルズの「イエスタデイ」のメロディ）の現在の最良の部分的パススコアを同じ楽曲の歌詞の最良の部分的パススコア（Ｓ軸から得られる）に結合することを意味する。そして、この結合されたスコアを、他の全ての楽曲メロディ（これらは、それぞれの曲の対応する歌詞と結合されている）についての他の全ての結合されたスコアと比較する。なお、枝刈りステップでは、全ての結合されたスコアを相互に比較し、最良のスコアと、この最良のスコアから確率差分ΔＰＣだけ異なる全てのスコアのみを残し、他の全てを枝刈りする。また、Ｓ軸上のアイテムについても同様の枝刈りを行うことができる。このように、１つの枝刈りステップにより、Ｓ軸仮定とＨ軸仮定の両方が枝刈りされ、これにより、枝刈りステップ以降では、有効な仮説の数が削減される。この組合せによって、以下の目的（ケースＡ〜ケースＤ）が達成される。
【００４０】
Ａ）ここでは、ユーザが曲の最初から最後までを歌ったと仮定する。この場合、歌詞及びメロディの両方からの情報を利用でき、復号は、Ｓ軸及びＨ軸の両方に沿って実行される。リンクされた枝刈りは、両方の次元が照合されるので、特に有効であり、正しい楽曲については、生じる可能性が低い２つの確率が組み合わされ、他の任意の楽曲については、歌詞が大きく異なるために、Ｓ軸上での確率が低くなり、又はメロディが大きく異なるために、Ｈ軸上での確率が低くなる（又は、メロディ及び歌詞の両方について確率が低くなる）。Ｓ確率及びＨ確率は結合され、結合された確率は、他の如何なる楽曲の結合された確率より遙かに低くなるため、枝刈りは非常に効率的である。この結果、結合されたＡＳＲシステム及びＱｂＨシステムは、互いの知識及び利益を効果的に組み合わせ、有望でない仮説を除外できるため、復号処理を速めることができる。
【００４１】
Ｂ）ここでは、ユーザは、歌詞を忘れ、メロディのみを覚えているため、歌詞に代えて、「ダダダ」を繰り返すことによってハミングすると仮定する。この場合、Ｓ軸上の情報は、非常に不明瞭である。「ダ」状態の繰り返しを含む文法では、他の全てのより複雑な歌詞が除外されるため、短い期間が経過した後に、この状態が有効になる。これは、全ての異なる楽曲がＳ軸上で同じスコアを得ることを意味する。通常、Ｈ軸に沿った検索は、標準のＱｂＨシステムと同様に実行される。リンクステップでは、ハミングからの情報は、全ての曲について確率が等しいために無価値な歌詞からの情報と結合され、このリンクは、Ｈ軸の枝刈りには役立たない。この結果、システムは、純粋なＱｂＨシステムと殆ど同じ負荷で実行され、追加される負荷は、Ｓ軸上で単一の仮定を検討するためのＳ軸の復号に由来する僅かな負荷のみである。
【００４２】
Ｃ）ここでは、ユーザは、楽曲のメロディをハミングせず、単に楽曲タイトルを発声したとする。この場合、Ｓ軸とＨ軸とを逆にすれば、上述したケースＢと同様の状況となり、これは、全体の復号がＳ軸上で行われ、Ｈ軸は、如何なる追加的な情報も提供しないことを意味する。したって僅かなオーバヘッドのみで、純粋なＡＳＲと同様の結果を得ることができる。
【００４３】
Ｄ）最後に、ユーザが知っている歌詞の一部を発声し又は歌い、残りの部分を「ダダダ」でハミングしたと仮定する。これは、ケースＡとケースＢの組合せである。楽曲の第１の部分では、ケースＡにおいて説明した効率的な枝刈りが実行される。第２の部分については、ハミングからの情報は完全に利用できるが、歌詞に関する情報はなく、したがって、リンクステップは、（歌詞／ハミングを結合して効率的なリンク枝刈りが行われているために）既に候補が効果的に絞り込まれている集合から純粋なＱｂＨシステムによる処理を開始することとなる。
【００４４】
このように、本発明に基づくシステムは、全ての種類の混合された入力を僅かなオーバヘッドで処理することができ、ケースＡのように完全に混合された入力データに対して効果的な復号を提供する。更なる利点として、本発明に基づくシステムは、時間と共に特性が変化する入力データ（例えば、ケースＤのように、一部で歌詞を発声し、メロディの一部がハミングされた場合）を処理することができる。
【００４５】
本発明が提案する手法に基づく、音声入力（１０２、３００ａ）に基づいて楽曲情報を検索する楽曲情報検索方法の手順を図９ａ及び図９ｂの２つのフローチャートに示す。この楽曲情報検索方法は、楽曲シーケンスの定義されたセットを、関連する情報と共に予め保存するステップ（Ｓ１１ａ）と、音声４００及び／又は楽曲情報１０２、３００ａを入力し（Ｓ１１ｂ）、音声及び楽曲情報を表すコーディングを、第３の次元が時間（ｔ）である３次元探索空間の第１の次元（Ｓ）及び第２の次元（Ｈ）として配列するステップ（Ｓ１１ｃ）と、３次元探索空間でビタビ検索を実行し、楽曲シーケンスのセットから、入力された音声（４００）及び／又は楽曲情報に最も一致する楽曲シーケンスを発見するステップ（Ｓ１１ｄ）とを有する。
【００４６】
３次元探索空間においてコーディングとして表現される前に、音声情報４００及び／又は楽曲情報の１０２又は３００ａは、個別に前処理される（Ｓ１２）。
【００４７】
本発明の一実施の形態では、ビタビ検索を実行するステップ（Ｓ１１ｄ）は、入力され、コード化された音声及び／又は楽曲情報を、予め保存された楽曲シーケンスに個別に照合することによって、音声情報４００及び楽曲情報１０２、３００ａのそれぞれに対して部分的な検索を実行し、予め保存されている楽曲シーケンスについて、楽曲情報のための１つの部分的なスコアと、音声情報のための１つの部分的なスコアとを作成するステップ（Ｓ１３ａ）と、２つの部分的なスコアを結合し、各予め保存されている楽曲シーケンスについて総合的なスコアを生成するステップ（Ｓ１３ｂ）とを含む。
【００４８】
更に、本発明は、歌われ、ハミングされ又は口笛で吹かれた曲の記録された部分１０２、楽器によって演奏されたメロディの記録された部分３００ａ、楽曲の歌詞の一部１０２”を発声する話者の記録された声４００を含むアナログオーディオシーケンス１０２、３００ａの形式のクエリを処理し、オーディオシーケンス１０２、３００ａを解析及び認識した後に、楽曲情報検索システムの統合型データベース１０３、１０５に保存された音楽ファイルに関して、テキストによる背景情報を検索する方法を提供する。図１０ａに示すように、この方法は、以下のステップを含む。
【００４９】
アナログオーディオシーケンス１０２、３００ａ、４００を記録する（Ｓ１）。
【００５０】
記録された楽曲の歌詞１０２”の発話された部分から話者の声及び発音の音響音声学的音声特性を抽出（Ｓ４ａ）及び解析（Ｓ４ｂ）し、時間次元及び音響音声学的音声特性の適切なコーディングのための次元を有する２次元探索空間に対してビタビ探索アルゴリズムを実行することによって歌詞１０２”のトランスクリプションを認識する（Ｓ４ｃ）。
【００５１】
時間次元及び音楽的キー特性の適切なコーディングのための次元を有する２次元探索空間に関してビタビ探索アルゴリズムを実行することによって、アナログオーディオシーケンス１０２、３００ａ、４００から上述した音楽的キー特性を抽出（Ｓ２ａ）、解析（Ｓ２ｂ）及び認識（Ｓ２ｃ）する。
【００５２】
図１０ｂは、音楽的キー特性を抽出（Ｓ２ａ）、解析（Ｓ２ｂ）及び認識（Ｓ２ｃ）する処理手順の詳細なフローチャート１０００ｂを示している。まず、Ｎを１以上の整数として、Ｎ個の音符及び／又は休符を含む歌われた又はハミングされた楽曲１０２及び／又は演奏されたメロディ３００ａの認識された音程及び／又は音程方向を、「メロディ参照文字列」（melody reference string：以下、ＲＥＦという。）である３つの状態を有する第１の文字列によって符号化する（Ｓ５ａ）。ＲＥＦの要素（Ｕ，Ｄ，Ｓ）は、現在の音が前の音より高い（Ｕ）又は低い（Ｄ）か、これらの２音が完全一度（Ｓ）の音程であるかを示す。これに代えて、他の適切な如何なる種類のコーディングによって音程を符号化してもよい。次に、楽譜がデータベース１０３、１０５に保存され、３つの状態を有する第２の文字列によって符号化された、Ｎ個の音符及び／又は休符からなる先に解析されたメロディの符号化された音程及び／又は音程方向を、「メロディ仮定文字列」と呼ばれる複数（Ｍ個）の保存された文字列から検索する（Ｓ５ｂ）。「メロディ仮定文字列」は、以下のように表される。
【００５３】
ＨＹＰＯ０，ＨＹＰＯ１，・・・，ＨＹＰＯｋ，・・・，ＨＹＰＯＭ−１
メロディ仮定文字列の要素（Ｕ，Ｄ，Ｓ）は、上述の通りである。ここでも、他の適切な如何なる種類のコーディングによって音程を符号化してもよい。そして、システムは、（Ｎ−１）×（Ｎ−１）のアラインメント行列Ｄを用いて、記録されたオーディオシーケンス１０２のメロディと、データベース１０３、１０５に保存されている様々な音楽ファイルのメロディとの間の類似の度合いを示す類似尺度を算出する（Ｓ５ｃ）。アラインメント行列Ｄは、ｋ番目のメロディ仮定文字列ａ：＝（音程１，・・・，音程Ｎ−１）Ｔ∈｛Ｕ，Ｄ，Ｓ｝Ｎ−１の文字インデクスｉを列座標として有し、メロディ参照文字列ｂ：＝（音程１，・・・，音程Ｎ−１）Ｔ∈｛Ｕ，Ｄ，Ｓ｝Ｎ−１の文字インデクスｊを行座標として有する。そして、類似値の降順にソートされた、データベース１０３、１０５に保存されているファイルの格付けされたリスト１０７を生成する（Ｓ５ｄ）。
【００５４】
図１０ｂ−１は、音響音声学的音声特性を抽出（Ｓ４ａ）及び解析（Ｓ４ｂ）する処理の詳細なフローチャートを示している。まず、記録された楽曲の歌詞１０２”の発話された部分４００から認識された、Ｐを１以上の整数として、Ｐ個の音素からなる音素を「音声参照文字列」（ＲＥＦｓ）と呼ばれる第１の文字列によって符号化する（Ｓ５ａ’）次に、Ｐ個の音素からなり、第２の文字列によって符号化された、先に解析された音声信号の音素を、「音声仮定文字列」ＨＹＰＯｓ０，ＨＹＰＯｓ１，ＨＹＰＯｓ２，・・・，ＨＹＰＯｓ，ｋ，・・・，ＨＹＰＯｓ，Ｑ−１と呼ばれる複数（Ｑ個）の予め保存されている文字列から検索する（Ｓ５ｂ’）。
【００５５】
次に、システムは、Ｐ×Ｐのアラインメント行列Ｄｓを用いて記録されたオーディオシーケンス１０２の音声信号と、データベースに保存された様々な音声信号との間の類似の度合いを示す類似尺度を算出する（Ｓ５ｃ’）。アラインメント行列Ｄｓは、ｋ番目の音声仮定文字列ａｓ：＝（音素１，・・・，音素Ｐ）Ｔの文字インデクスｉを列座標とし、上述した音声参照文字列ｂｓ：＝（音素１，・・・，音素Ｐ）Ｔの文字インデクスｊを行座標とする。そして、類似値の降順にソートされた、データベースに保存されているファイルの格付けされたリスト１０７を生成する（Ｓ５ｄ’）。
【００５６】
図１０ｃに示すように、記録されたオーディオシーケンス１０２のメロディと、データベース１０３に保存された様々な音楽ファイルのメロディとの間の類似の度合いを示す類似尺度を算出するステップ（Ｓ５ｃ）は、以下のステップを含んでいてもよい。
【００５７】
まず、ｋ番目の仮定文字列ａ：＝（音程１，・・・，音程Ｎ−１）Ｔの文字インデクスｉを列の座標として設定し、参照文字列ｂ：＝（音程１，・・・，音程Ｎ−１）Ｔの文字インデクスｊを行列の行の座標として設定し（Ｓ６ａ１）、累加されたコスト係数ｄｉ，ｊ＝ｆ（ｄｉ−１，ｊ，ｄｉ，ｊ−１，ｄｉ−１，ｊ−１，ｗ（ａｉ，ｂｊ））をアラインメント行列Ｄのセルに埋めるスキームに基づいて、アラインメント行列Ｄの各（ｉ，ｊ）要素を算出及び設定することによってアラインメント行列Ｄを埋め（Ｓ６ａ２）、（Ｎ−１）×（Ｎ−１）のアラインメント行列Ｄを作成（Ｓ６ａ）する。
【００５８】
ビタビ探索アルゴリズムに基づいて、メロディ参照文字列（ＲＥＦ）を全ての保存されたメロディのメロディ仮定文字列（ＨＹＰＯ０，ＨＹＰＯ１，・・・，ＨＹＰＯｋ，・・・，ＨＹＰＯＭ−１）と比較し、参照文字列（ＲＥＦ）のどの文字がｋ番目の仮定文字列ＨＹＰＯｋに密接に一致するかを示す文字列及び／又はコスト係数ｗ（ａｉ，ｂｊ）のシーケンスを返すアラインメント関数を実行する（Ｓ６ｂ）。
【００５９】
そして、アラインメント関数によって導出された追跡パスに沿って、アラインメント行列Ｄの最後の列の最低のコスト係数から開始され、アラインメント行列の第１の行及び第１の列に向かってアラインメント行列を戻る後方追跡アルゴリズムを実行する（Ｓ６ｃ）。
【００６０】
図１０ｃ−１に示すように、記録されたオーディオシーケンス１０２の音声信号と、全ての保存された音声信号との間の類似の度合いを示す類似尺度を算出するステップＳ５ｃ’は、以下のステップを含んでいてもよい。
【００６１】
ｋ番目の音声仮定文字列ａｓ：＝（音素１，・・・，音素Ｐ）Ｔの文字インデクスｉを列座標に設定し、音声参照文字列ｂｓ：＝（音素１，・・・，音素Ｐ）Ｔの文字インデクスｊを列座標に設定し（Ｓ６ａ１’）、Ｐ２個の累加されたコスト係数ｄｉ，ｊを埋め込む埋込スキームに基づいて、アラインメント行列Ｄｓの各要素（ｉ，ｊ）を算出及び設定し、アラインメント行列Ｄｓのセルを埋める（Ｓ６ａ２’）ことによって、Ｐ×Ｐのアラインメント行列Ｄｓを作成する（Ｓ６ａ’）。
【００６２】
ビタビ探索アルゴリズムに基づいて、音声参照文字列（ＲＥＦｓ）と、全ての保存された音声信号の音声仮定文字列ＨＹＰＯｓ０，ＨＹＰＯｓ１，・・・，ＨＹＰＯｓ，ｋ，・・・，ＨＹＰＯｓ，Ｑ−１とを比較し、音声参照文字列ＲＥＦｓのどの文字が、ｋ番目の音声仮定文字列ＨＹＰＯｓ，ｋの文字に密接に一致するかを示す一連の文字及び／又はコスト係数ｗ（ａｉ，ｂｊ）のシーケンスを返すアラインメント関数を適用する（Ｓ６ｂ’）。
【００６３】
アラインメント関数によって導出された追跡パスに沿って、アラインメント行列Ｄｓの最後の列の最低のコスト係数から開始され、アラインメント行列Ｄｓの第１の行及び第１の列に向かってアラインメント行列を戻る後方追跡アルゴリズムを実行する（Ｓ６ｃ’）。
【００６４】
本発明の更なる実施の形態として、楽曲情報検索方法は、時間に対応する第１の次元（ｔ）と、音響音声学的音声特性の適切なコーディングに対応する第２の次元（Ｓ）と、音楽的キー特性の適切なコーディングに対応する第３の次元（Ｈ）とを有する３次元探索空間に関してビタビ探索アルゴリズムを実行することによって、記録されたオーディオシーケンス１０２、３００ａのメロディ及び歌詞と、データベース１０３、１０５に保存された様々な音楽ファイルのメロディ及び歌詞との間の類似の度合いを示す類似尺度を算出し（Ｓ９ｃ）、音楽ファイルの格付けされたリスト１０７を生成する（Ｓ９ｄ）。これにより、話者の声及び発音の音響音声学的音声特性、及び歌われ、口笛で吹かれ又はハミングされたチューン１０２及び／又は演奏されたメロディ３００ａの音楽的キー特性が同時に抽出され（Ｓ８ａ）、解析され（Ｓ８ｂ）、認識される（Ｓ８ｃ）。
【００６５】
図１１ｂは、この音響音声学的音声特性及び音楽的キー特性を抽出（Ｓ８ａ）、解析（Ｓ８ｂ）及び認識（Ｓ８ｃ）する処理の詳細なフローチャート１１００ｂを示している。まず、Ｎを１以上の整数として、Ｎ個の音符及び／又は休符からなる歌われ又はハミングされたチューン１０２及び／又は演奏されたメロディ３００ａについて認識された音程方向を各要素が音間の音程及び／又は音程方向を表す「メロディ参照文字列」（ＲＥＦ）と呼ばれる第１の文字列によって符号化する（Ｓ５ａ）。次に、楽譜がデータベース１０３、１０５に保存され、第２の文字列によって符号化されたＮ個の音符及び／又は休符からなる先に解析された符号化されたメロディを、上述と同様の要素からなる「メロディ仮定文字列」ＨＹＰＯ０，ＨＹＰＯ１，・・・，ＨＹＰＯｋ，・・・，ＨＹＰＯＭ−１と呼ばれる複数（Ｍ個）の保存された文字列から検索する（Ｓ５ｂ）。同様に、記録された楽曲の歌詞１０２”の発話された部分４００から認識された、Ｐを１以上の整数として、Ｐ個の音素からなる音素を「音声参照文字列」（ＲＥＦｓ）である第１の文字列によって符号化し、音声参照文字列（ＲＥＦｓ）をメロディ参照文字列ＲＥＦに結合し、結合された参照文字列（ＲＥＦｍｓ）を生成する（Ｓ９ａ）。更に、Ｐ個の音素からなり、第２の文字列によって符号化された、先に解析された音声信号の音素を、「音声仮定文字列」（ＨＹＰＯｓ０、ＨＹＰＯｓ１，ＨＹＰＯｓ２，・・・，ＨＹＰＯｓ，ｋ，・・・，ＨＹＰＯｓ，Ｑ−１）である複数（Ｑ個）の予め保存されている文字列から検索し、音声仮定文字列をメロディ仮定文字列に結合し、結合された仮定文字列（ＨＹＰＯｍｓ０，ＨＹＰＯｍｓ１，ＨＹＰＯｍｓ２，・・・，ＨＹＰＯｍｓ，ｋ，・・・，ＨＹＰＯｍｓ，Ｍ＋Ｑ−１）を生成する（Ｓ９ｂ）。
【００６６】
そして、このシステムは、列座標としてｋ番目の結合された仮定文字列（ａｍｓ：＝（音程１，・・・，音程Ｎ−１，音素１，・・・，音素ｐ）Ｔ）の文字インデクスｉを有し、行座標として結合された参照文字列（ｂｍｓ：＝（音程１，・・・，音程Ｎ−１，音素１，・・・，音素Ｐ）Ｔ）の文字インデクスｊを有する（Ｎ＋Ｐ−１）×（Ｎ＋Ｐ−１）のアラインメント行列（Ｄｍｓ）の形式で、単一の２次元探索空間を用いて、記録されたオーディオシーケンス１０２のメロディ及び歌詞と、データベースに保存された様々な音楽ファイルのメロディ及び歌詞との間の類似の度合いを示す類似尺度を算出し（Ｓ９ｃ）、類似値の降順にソートされた、データベースに保存されているファイルの格付けされたリスト１０７を生成する（Ｓ９ｄ）。
【００６７】
図１１ｃに示すように、記録されたオーディオシーケンス１０２のメロディ及び歌詞と、データベース１０３に保存された音楽ファイルのメロディ及び歌詞との間の類似の度合いを示す類似尺度を算出するステップ（Ｓ９ｃ）は、以下のステップを含んでいてもよい。
【００６８】
まず、ｋ番目の仮定文字列ａｍｓの文字インデクスｉを列座標として設定し、参照文字列ｂｍｓの文字インデクスｊを行座標として設定し（Ｓ６ａ１）、アラインメント行列Ｄｍｓのセルに累加されたコスト係数ｄｉ，ｊ＝ｆ（ｄｉ−１，ｊ，ｄｉ，ｊ−１，ｄｉ−１，ｊ−１，ｗ（ａｉ，ｂｊ））を埋め込む埋込スキームに基づいて、アラインメント行列Ｄｍｓの各要素（ｉ，ｊ）を算出及び設定してアラインメント行列Ｄｍｓを埋める（Ｓ６ａ２）ことによって、（Ｎ＋Ｐ−１）×（Ｎ＋Ｐ−１）のアラインメント行列Ｄｍｓを作成する（Ｓ１０ａ）。
【００６９】
次に、ビタビ探索アルゴリズムに基づいて、結合された参照文字列ＲＥＦｍｓと、保存されている全てのメロディ及び歌詞の結合された仮定文字列ＨＹＰＯｍｓ０，ＨＹＰＯｍｓ１，ＨＹＰＯｍｓ２，・・・，ＨＹＰＯｍｓ，ｋ，・・・，ＨＹＰＯｍｓ，Ｍ＋Ｑ−１とを比較し、結合された参照文字列ＲＥＦｍｓのどの文字が、ｋ番目の結合された仮定文字列ＨＹＰＯｍｓ，ｋに密接に一致するかを示す文字列及び／又はコスト係数ｗ（ａｉ，ｂｊ）のシーケンスを返すアラインメント関数を適用する（Ｓ１０ｂ）。
【００７０】
そして、アラインメント関数によって導出された追跡パスに沿って、アラインメント行列Ｄｍｓの最後の列の最低のコスト係数から開始され、アラインメント行列の第１の行及び第１の列に向かってアラインメント行列を戻る後方追跡アルゴリズムを実行する（Ｓ１０ｃ）。
【００７１】
アラインメント行列Ｄｍｓの要素ｄｉ，ｊは、以下の式によって表される埋込スキームに基づいて算出される。
【００７２】
【数１】
2007183921.tif 000003
【００７３】
ここで、ケース＃１に基づくｋ番目の仮定文字列（ＨＹＰＯｍｓ，ｋ）の文字ａｉの削除に関連するコスト係数をｗ（ａｉ，０）とし、ケース＃３に基づく結合された参照文字列（ＲＥＦｍｓ）への文字ｂｊの挿入に関連するコスト係数をｗ（０，ｂｊ）とし、ケース＃２に基づくｋ番目の結合された仮定文字列（ＨＹＰＯｍｓ，ｋ）の要素ａｉの結合された参照文字列（ＲＥＦｍｓ）の要素ｂｊへの置換に関連するコスト係数をｗ（ａｉ，ｂｊ）とし、ａｉ＝ｂｊの場合、ｗ（ａｉ，ｂｊ）を０に設定し、ａｉ≠ｂｊの場合、ｗ（ａｉ，ｂｊ）を０より大きな値に設定し、初期条件を
【００７４】
【数２】
2007183921.tif 000004
【００７５】
とする。
【００７６】
本発明の更なる実施の形態として、本発明は、コンピュータ装置上で実行され、上述した楽曲情報検索方法を実現するコンピュータソフトウェアプログラム製品を提供する。
【００７７】
【表１】
2007183921.tif 000005
【００７８】
【表２】
2007183921.tif 000006
【００７９】
【表３】
2007183921.tif 000007
【００８０】
【表４】
2007183921.tif 000008
【００８１】
【表５】
2007183921.tif 000009
【図面の簡単な説明】
【００８２】
【図１ａ】従来のハミング検索（ＱｂＨ）楽曲情報検索システムのシステムの構成要素のインタラクションを示すブロック図である。
【図１ｂ】従来のハミング検索（ＱｂＨ）楽曲情報検索システムのシステムの構成要素のインタラクションを示すブロック図である。
【図１ｃ】従来のハミング検索（ＱｂＨ）楽曲情報検索システムのシステムの構成要素のインタラクションを示すブロック図である。
【図２ａ】ＱｂＨ楽曲情報検索システムの概略図である。
【図２ｂ】ＱｂＨ楽曲情報検索システムの概略図である。
【図３ａ】ハミングされたメロディの一部の楽譜、音長、音高（半音）番号、調、メロディの特定のノートの間の音程、音程の方向（Ｕ＝上昇、Ｄ＝下降、Ｓ＝同じ音高）、各音程に関連する平均率の半音番号が示された曲の一節を示す図である。
【図３ｂ】ダイアトニックスケール（Ｃメジャースケール）において、三度上昇、二度下降を繰り返すシーケンスの楽譜、音程及び音程方向を示す一節を示す図である。
【図３ｃ】上昇シーケンスを逆行（水平反転）させた下降シーケンスの楽譜、音程及び音程方向を示す一節を示す図である。
【図４】楽曲の歌詞の単語を発声する話者の声によって生成される音素に基づく有声音及び有声音の変化を示す音声信号の振幅Ａ対時間ｔのグラフ図である。
【図５】ハミングされたクリスマスソング「ジングルベル」のメロディの基本周波数についてのエントロピ信号処理システム（ＥＳＰＳ）のピッチ追跡関数「ｇｅｔ＿ｆ０」の出力を示す図である。
【図６】１００Ｈｚのサンプリングレートｆｓにおいて、単一のハミング音の周波数変動Ｄｆ（Ｈｚ）対時間ｔ（ｍｓ）を示すグラフ図である。
【図７ａ】音程及び／又は音程方向Ｄｈｉ（Ｄｈｉ∈｛Ｕ，Ｄ，Ｓ｝及びｉ＝０，１，２，・・・，Ｎ−２）が行列の列のｉ座標として設定されたＮ個の音符からなる仮定メロディＨＹＰＯと、音程及び／又は音程方向Ｄｒｊ（Ｄｒｊ∈｛Ｕ，Ｄ，Ｓ｝及びｊ＝０，１，２，・・・，Ｎ−２）が行列の行のｊ座標として設定されたＮ個の音符からなるハミングされた参照メロディＲＥＦとの要素ｄｉｊが、差分の累加されたコスト係数である（Ｎ−１）×（Ｎ−１）アラインメント行列Ｄ（Ｎ＝３）と共にコスト係数ｗ（ａｉ，ｂｊ）＝１の置換処理を示す図である。
【図７ｂ】上述の（Ｎ−１）×（Ｎ−１）アラインメント行列Ｄと共にコスト係数ｗ（ａｉ，０）＝１の削除処理を示す図である。
【図７ｃ】上述の（Ｎ−１）×（Ｎ−１）アラインメント行列Ｄと共にコスト係数ｗ（０，ｂｊ）＝１の挿入処理を示す図である。
【図７ｄ】要素ｄｉｊが、音程及び／又は音程方向Ｄｈ０＝「Ｕ」及びＤｈ１＝「Ｓ」が行列の列のｉ座標として設定された３つのノートからなる仮定メロディＨＹＰＯと、音程及び／又は音程方向Ｄｒ０＝「Ｕ」及びＤｒ１＝「Ｄ」が行列の行のｊ座標として設定された３つのノートからなるハミングされた参照メロディＲＥＦとの間の差分の累加されたコスト係数である２×２アラインメント行列Ｄの具体例を示す図である。
【図７ｅ】要素ｄ０，０＝０、ｄ１，０＝１、ｄ０，１＝１を有する上述の２×２アラインメント行列Ｄと共にコスト係数ｗ（ａｉ，ｂｊ）＝１の置換処理を示す図である。
【図７ｆ】要素ｄ０，０＝０、ｄ１，０＝１、ｄ０，１＝１を有する上述の２×２アラインメント行列Ｄと共にコスト係数ｗ（ａｉ，０）＝１の削除処理を示す図である。
【図７ｇ】要素ｄ０，０＝０、ｄ１，０＝１、ｄ０，１＝１を有する上述の２×２アラインメント行列Ｄと共にコスト係数ｗ（０，ｂｊ）＝１の挿入処理を示す図である。
【図８ａ】要素ｄｉｊが、音程方向が行列の列のｉ座標として設定された９つのノートからなる仮定メロディＨＹＰＯと、音程方向が行列の行のｊ座標として設定された９つのノートからなるハミングされた参照メロディＲＥＦとの間の差分の累加されたコスト係数である要素が埋められた８×８アラインメント行列Ｄの具体例を示す図である。
【図８ｂ】上述の要素が埋められた８×８アラインメント行列Ｄ及び動的時間伸縮（ＤＴＷ）アルゴリズムに基づいて、要素（７，７）から要素（０，０）に行列を戻ることによって発見された総コストが最小の最善のパス（破線）を示す図である。
【図８ｃ】ハミングされた参照メロディＲＥＦ及び仮定メロディＨＹＰＯの音程及び／又は音程方向Ｄｈｉ及びＤｒｊと、ＤＴＷアラインメント関数の出力シーケンスである音程及び／又は音程方向の一致（Ｃ）、及び削除され（Ｄ）、挿入され（Ｉ）又は置換された（Ｓ）音程及び／又は音程方向を示すタグ要素（ＤＴＡＧＳ）と、コスト係数ｗ（ａｉ，ｂｊ）とを示す図である。
【図９】音程及び／又は音程方向を表すＵＤＳコードが第１の軸（Ｈ軸）に適用され、楽曲歌詞の認識された音素がデカルト座標系の第２の軸（Ｓ軸）に適用され、デカルト座標系の第３の軸（ｔ−軸）に時間が適用された、Ｎ個の歌われたメロディの３次元表現を示す図である。
【図９ａ】９００ａは、アナログオーディオシーケンスの形式のクエリを処理する手順を示すフローチャートである。
【図９ｂ】９００ｂは、アナログオーディオシーケンスの形式のクエリを処理する手順を示すフローチャートである。
【図１０ａ】時間次元及び音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元を有する２次元探索空間及び時間次元及び音楽的キー特性の適切なコーディングのための次元を有する第２の２次元探索空間に対する第２のビタビ探索アルゴリズムの２つの２次元探索空間に対して２つのビタビ探索アルゴリズムを実行することによってアナログオーディオシーケンスの形式のクエリを処理する詳細な手順を示すフローチャートである。
【図１０ｂ】時間次元及び音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元を有する２次元探索空間及び時間次元及び音楽的キー特性の適切なコーディングのための次元を有する第２の２次元探索空間に対する第２のビタビ探索アルゴリズムの２つの２次元探索空間に対して２つのビタビ探索アルゴリズムを実行することによってアナログオーディオシーケンスの形式のクエリを処理する詳細な手順を示すフローチャートである。
【図１０ｂ−１】時間次元及び音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元を有する２次元探索空間及び時間次元及び音楽的キー特性の適切なコーディングのための次元を有する第２の２次元探索空間に対する第２のビタビ探索アルゴリズムの２つの２次元探索空間に対して２つのビタビ探索アルゴリズムを実行することによってアナログオーディオシーケンスの形式のクエリを処理する詳細な手順を示すフローチャートである。
【図１０ｃ】時間次元及び音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元を有する２次元探索空間及び時間次元及び音楽的キー特性の適切なコーディングのための次元を有する第２の２次元探索空間に対する第２のビタビ探索アルゴリズムの２つの２次元探索空間に対して２つのビタビ探索アルゴリズムを実行することによってアナログオーディオシーケンスの形式のクエリを処理する詳細な手順を示すフローチャートである。
【図１０ｃ−１】時間次元及び音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元を有する２次元探索空間及び時間次元及び音楽的キー特性の適切なコーディングのための次元を有する第２の２次元探索空間に対する第２のビタビ探索アルゴリズムの２つの２次元探索空間に対して２つのビタビ探索アルゴリズムを実行することによってアナログオーディオシーケンスの形式のクエリを処理する詳細な手順を示すフローチャートである。
【図１１ａ】時間次元（ｔ）と、音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元（Ｓ）と、音楽的キー特性の適切なコーディングのための次元（Ｈ）とを有する３次元探索空間に対して単一のビタビ探索アルゴリズムを実行することによってクエリを処理する詳細な手順を示すフローチャートである。
【図１１ｂ】時間次元（ｔ）と、音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元（Ｓ）と、音楽的キー特性の適切なコーディングのための次元（Ｈ）とを有する３次元探索空間に対して単一のビタビ探索アルゴリズムを実行することによってクエリを処理する詳細な手順を示すフローチャートである。
【図１１ｃ】時間次元（ｔ）と、音響音声学的音声特性の適切なコーディング（例えば、隠れマルコフモデル、ＨＭＭ）のための次元（Ｓ）と、音楽的キー特性の適切なコーディングのための次元（Ｈ）とを有する３次元探索空間に対して単一のビタビ探索アルゴリズムを実行することによってクエリを処理する詳細な手順を示すフローチャートである。
【図１ａ】
2007183921.tif 000012
【図１ｂ】
2007183921.tif 000013
【図１ｃ】
2007183921.tif 000014
【図２ａ】
2007183921.tif 000015
【図２ｂ】
2007183921.tif 000016
【図３ａ】
2007183921.tif 000017
【図３ｂ】
2007183921.tif 000018
【図３ｃ】
2007183921.tif 000019
【図４】
2007183921.tif 000020
【図５】
2007183921.tif 000021
【図６】
2007183921.tif 000022
【図７ａ】
2007183921.tif 000023
【図７ｂ】
2007183921.tif 000024
【図７ｃ】
2007183921.tif 000025
【図７ｄ】
2007183921.tif 000026
【図７ｅ】
2007183921.tif 000027
【図７ｆ】
2007183921.tif 000028
【図７ｇ】
2007183921.tif 000029
【図８ａ】
2007183921.tif 000030
【図８ｂ】
2007183921.tif 000031
【図８ｃ】
2007183921.tif 000032
【図９】
2007183921.tif 000033
【図９ａ】
2007183921.tif 000034
【図９ｂ】
2007183921.tif 000035
【図１０ａ】
2007183921.tif 000036
【図１０ｂ】
2007183921.tif 000037
【図１０ｂ−１】
2007183921.tif 000038
【図１０ｃ】
2007183921.tif 000039
【図１０ｃ−１】
2007183921.tif 000040
【図１１ａ】
2007183921.tif 000041
【図１１ｂ】
2007183921.tif 000042
【図１１ｃ】
2007183921.tif 000043
【外国語明細書】
2007183921000001.pdf
2007183921000002.pdf
2007183921000003.pdf
2007183921000004.pdf