(57)【要約】【課題】音符又は音高の連鎖確率を考慮して楽曲検索を行うことにより、検索精度の向上を図ったメロディ入力装置を提供する。【解決手段】メロディを入力する入力手段（４）と、前記入力されたメロディから音高情報を抽出する抽出手段（６）とを備えたメロディ入力装置（１）において、音符の連鎖に関する音符連鎖情報を含むデータベース（１０）と、前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段（１１）とを備える。入力されたメロディに確率の低い音符の連鎖が見られた場合であっても、正しい音符の連鎖確率に従って補正されるため、たとえば、楽曲検索装置に適用した場合に、間違った楽曲検索を引き起さない。【選択図】  図１
2007193222.tif 000002
【特許請求の範囲】
【請求項１】
メロディを入力する入力手段と、前記入力されたメロディから音高情報を抽出する抽出手段とを備えたメロディ入力装置において、
音符の連鎖に関する音符連鎖情報を含むデータベースと、
前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段と
を備えたことを特徴とするメロディ入力装置。
【請求項２】
前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項１に記載のメロディ入力装置。
【請求項３】
前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項１に記載のメロディ入力装置。
【請求項４】
前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項１に記載のメロディ入力装置。
【請求項５】
前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項１に記載のメロディ入力装置。
【請求項６】
メロディを入力する入力手段と、
前記入力されたメロディから音高情報を抽出する抽出手段と、
音符の連鎖に関する音符連鎖情報を含むデータベースと、
前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段と、
前記補正手段によって補正された後の音高情報を用いて複数の楽曲の中から音高情報が類似した楽曲を検索する検索手段と
を備えたことを特徴とする楽曲検索装置。
【請求項７】
前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項６に記載の楽曲検索装置。
【請求項８】
前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項６に記載の楽曲検索装置。
【請求項９】
前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項６に記載の楽曲検索装置。
【請求項１０】
前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項６に記載の楽曲検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メロディ入力装置及び楽曲検索装置に関し、たとえば、ハミングしたメロディを入力するメロディ入力装置及びハミングしたメロディに対応する楽曲をデータベースの中から検索する楽曲検索装置に関する。
【背景技術】
【０００２】
たとえば、テレビや街中で流れる音楽を携帯電話に聴かせることにより、その音楽の名前等の情報を調べることができる従来技術（以下、従来技術１）が知られている（非特許文献１参照）。しかし、この従来技術１は、音楽そのものを聴かせる必要があるため、音源が不可欠であり、メロディの一部しか覚えていない楽曲の検索に使えないという欠点がある。
【０００３】
この欠点を克服した従来技術（以下、従来技術２）として、ハミング（メロディの口ずさみや鼻歌）入力装置が知られている（非特許文献２参照）。
この従来技術２は、楽曲をデータベースに登録する際に、１つの楽曲を多数の「音楽片」に分割し、利用者のハミング入力と、データベース中の楽曲とを音楽片単位でマッチングするというものである。利用者が曲のどの部分をハミングしていてもきちんと検索することができる。
【０００４】
上記の「音楽片」の生成法としては、たとえば、楽曲中のあらゆる音符を先頭にして所定数ｎの音符群ごとに切り出すようにした技術（以下、従来技術３）が知られている（特許文献１参照）。
この従来技術３では、１つの楽曲が音符ａ1 、ａ2
、ａ3 、・・・・、ａp からなるとき、ｎ＝４として、ａ1
〜ａ4 の第１の音楽片、ａ2 〜ａ5 の第２の音楽片、ａ3 〜ａ6
の第３の音楽片、・・・・、ａp-3 〜ａp
の第ｐの音楽片に分割する。つまり、楽曲を構成する音符の先頭からｎ個の音符群を切り出して、それを第１の音楽片とし、以降、音符の切り出し位置を一個ずつ後方にずらしながら、第２の音楽片、第３の音楽片、・・・・、第ｐの音楽片を生成するというものである。
【０００５】
また、ハミング入力装置の楽譜データベース以外の適用例としては、たとえば、自動採譜装置に関する技術（以下、従来技術４）も知られている（特許文献２参照）。
この従来技術４は、ハミング等で入力された音響信号のピッチ情報及びパワー情報を分析周期毎に抽出し、その後、抽出されたピッチ情報及びパワー情報から音響信号を一音とみなせる区間（セグメントとも言う）に区分し、各区間の音高（文献中では音程と記載）を同定して自動採譜を行う自動採譜装置であり、その特徴とする点は、各区間の音高を同定する際、まず、当該区間の各ピッチ情報に対して、同定する音高候補との距離と区間内の位置によって定まる重み付け係数とを求め、その積和値が最も小さくなる音高に同定するというものである。
重み付け係数を区間の始端や終端付近では小さく設定しておけば、区間始端や終端のピッチが積和値に及ぼす影響は小さくなるので、この部分の不安定な音高で区間全体が意図しない音高に同定されることを少なくすることができ、より正確な音高同定が可能になる。
【０００６】
【非特許文献１】“ａｕの「聴かせて検索」”、［ｏｎｌｉｎｅ］、［平成１８年１月１２日検索］、インターネット＜ＵＲＬ：http://plusd.itmedia.co.jp/mobile/articles/0506/22/news009.html＞
【非特許文献２】“ハミングによる楽曲検索システム”、［ｏｎｌｉｎｅ］、日本電信電話株式会社、［平成１８年１月１２日検索］、インターネット＜ＵＲＬ：http://www.ntt.co.jp/saiyo/rd/review/2001/pf/10.html＞
【特許文献１】特開２０００−１７２６９３号公報
【特許文献２】特開平７−４４１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のとおり、従来技術１は、音楽そのものを聴かせる必要があるため、音源が不可欠であり、メロディの一部しか覚えていない音楽の検索に使えないという欠点があるが、他の従来技術２〜４は、ハミング入力が可能であるため、このような欠点はない。
【０００８】
しかしながら、これらの従来技術２〜４は、いずれも楽曲の音楽片やセグメント（区間）といった部分単位で検索を行うものに過ぎず、充分な検索精度が得られないという問題点がある。
【０００９】
すなわち、一の楽曲がＡ、Ｂ、Ｃ、Ｄの各部分（音楽片又はセグメント）からなり、二の楽曲がａ、Ｂ、Ｃ、ｄの各部分（同）からなるとき、ハミング入力を仮にＡ、Ｂとすると、たとえば、音高のズレやノイズ等によってＡがａと誤認された場合には、本来であれば一の楽曲がヒットすべきところ、間違って二の楽曲がヒットしてしまうという不都合がある。かかる不都合の要因は、音楽片やセグメントといった部分単位での照合しか行っていないからである。
【００１０】
このように、従来技術２〜４のハミング入力装置は、入力された部分単位の音響的特徴のみを使って検索を行っていたので、入力時の音高の微妙なズレや周囲のノイズ、或いは、曲中の速い部分の周波数分解能の少なさなどの影響を受けやすく、充分な検索精度が得られないという問題点がある。
また、従来技術４は、セグメント位置による重み付けによりセグメント両端の不安定さを排除しているものの、それだけでは、長い音符の途中で音高が不安定になった場合（たとえば、延ばした音の後に装飾音があった場合）に充分な効果を期待できない。
【００１１】
そこで、本発明は、音符又は音高の連鎖確率を考慮して楽曲検索を行うことにより、認識精度の向上を図ったメロディ入力装置及び楽曲検索精度の向上を図った楽曲検索装置を提供することにある。
【課題を解決するための手段】
【００１２】
請求項１記載の発明は、メロディを入力する入力手段と、前記入力されたメロディから音高情報を抽出する抽出手段とを備えたメロディ入力装置において、音符の連鎖に関する音符連鎖情報を含むデータベースと、前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段とを備えたことを特徴とするメロディ入力装置である。
請求項２記載の発明は、前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項１に記載のメロディ入力装置である。
請求項３記載の発明は、前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項１に記載のメロディ入力装置である。
請求項４記載の発明は、前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項１に記載のメロディ入力装置である。
請求項５記載の発明は、前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項１に記載のメロディ入力装置である。
請求項６記載の発明は、メロディを入力する入力手段と、前記入力されたメロディから音高情報を抽出する抽出手段と、音符の連鎖に関する音符連鎖情報を含むデータベースと、前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段と、前記補正手段によって補正された後の音高情報を用いて複数の楽曲の中から音高情報が類似した楽曲を検索する検索手段とを備えたことを特徴とする楽曲検索装置である。
請求項７記載の発明は、前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項６に記載の楽曲検索装置である。
請求項８記載の発明は、前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項６に記載の楽曲検索装置である。
請求項９記載の発明は、前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項６に記載の楽曲検索装置である。
請求項１０記載の発明は、前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項６に記載の楽曲検索装置である。
【発明の効果】
【００１３】
本発明では、入力されたメロディから音高情報が抽出され、抽出された音高情報がデータベース内の音符連鎖情報に基づいて補正される。
ここで、音符連鎖情報とは、多くの楽曲で音符の連鎖する確率を統計的にモデル化したデータのことを言う。かかる連鎖確率は、音楽のジャンルや楽器の種類、作曲家によって一応の傾向があるが、少なくとも、経験的に全く連鎖しないか、あるいは、連鎖することがきわめて希な音符の連鎖があり得る。こうした音符の連鎖、つまり、入力されたメロディに確率の低い音符の連鎖が見られた場合、それは、たとえばハミングであれば発音の揺らぎや音高のズレ、ノイズ等の影響を原因とする。
したがって、このような確率の低い音符の連鎖からなるメロディに基づいて、たとえば、楽曲検索を行った場合、間違った検索結果を引き起こしかねない。
これに対して、本発明のように、入力されたメロディから音高情報を抽出し、抽出した音高情報をデータベース内の音符連鎖情報に基づいて補正すれば、仮に、入力されたメロディに確率の低い音符の連鎖が見られた場合であっても、正しい音符の連鎖確率に従って補正されるため、上記のような間違った検索結果を引き起さない。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を、図面を参照しながら説明する。なお、以下の説明における様々な細部の特定ないし実例および数値や文字列その他の記号の例示は、本発明の思想を明瞭にするための、あくまでも参考であって、それらのすべてまたは一部によって本発明の思想が限定されないことは明らかである。また、周知の手法、周知の手順、周知のアーキテクチャおよび周知の回路構成等（以下「周知事項」）についてはその細部にわたる説明を避けるが、これも説明を簡潔にするためであって、これら周知事項のすべてまたは一部を意図的に排除するものではない。かかる周知事項は本発明の出願時点で当業者の知り得るところであるので、以下の説明に当然含まれている。
【００１５】
〔第１実施形態〕
図１は、第１実施形態におけるハミング入力装置の機能ブロック図である。この図において、ハミング入力装置１は、インターフェース部２、制御部３、音響信号入力部４、音響信号記憶部５、特徴抽出部６、特徴記憶部７、仮説音符列出力部８、音符連鎖モデル生成部９、音符連鎖モデル記憶部１０、入力補正部１１及び音符列出力部１２を備える。
【００１６】
各部を説明する前に、音符連鎖モデルについて概説する。音符連鎖モデルとは、音声認識技術で言うところの音響モデルと同様の意味合いであり、音符がどのように連鎖するかをＮｇｒａｍで表した統計データベースである。
【００１７】
図２は、音声認識の音響モデルと言語モデルの関係を示す概念図である。この図において、今、「ニホンケイザイ」（日本経済）という発声があったとする。そして、「ザ」の発音がやや曖昧で、たとえば、「タ」とも聞こえる可能性があるとしたとき、ニホンケイザイ（日本経済）の音響的な確率値を０．１５８、ニホンケイタイ（日本携帯）の同確率値を０．１６５とすれば、結果は、音響的な確率値が高い方の「日本携帯」が出力され、間違った結果になってしまう。
【００１８】
一方、言語モデルには、全ての単語の連鎖する確率も格納されている。たとえば、「日本」から「経済」へと連鎖する確率として０．０６５が格納され、また、「日本」から「携帯」へと連鎖する確率として０．００５が格納されている。「日本」から「経済」への連鎖確率０．０６５に対して、「日本」から「携帯」への連鎖確率０．００５は相当低く（小さく）、これは、一般的に「日本」から「携帯」へと連鎖する確率がきわめて希れであることを意味する。
【００１９】
ハミング入力においても、かかる連鎖確率を考慮することにより、正しい認識結果を得ることができる。すなわち、音響確率を音響尤度とすると共に、言語確率（連鎖確率）を言語尤度として、次式（１）を演算することにより、ハミング入力においても、正しい認識結果を得ることができるのである。
【００２０】
補正尤度＝音響尤度×言語尤度  ・・・・（１）
【００２１】
日本経済の場合の補正尤度は０．０１０２７となり、日本携帯の場合の補正尤度は０．０００８２５となる。この場合、０．０１０２７＞０．０００８２５であるから、正しい結果（日本経済）が得られる。つまり、音響尤度で劣っていた「日本経済」が日本語の連鎖する確率によって補正され、正解として出力されることになる。
【００２２】
こうした言語モデルは、新聞（の電子データ）などの膨大な日本語の文章を形態素解析し、各単語の連鎖する頻度を母数で割ったものである。これに対して、本実施形態で使用する音符連鎖モデルは、上記の言語モデルの「単語」を「音符」に置き換えたものということができる。
【００２３】
図３は、音符連鎖モデルの生成（構築）アルゴリズムを示す図である。音符連鎖モデルを生成するためには、言語モデルと同様に膨大な楽譜データ（ＭＩＤＩ等の楽譜データ）が必要となるが、それには、例えば、Ｊ−ＰＯＰ楽曲集のような既存の楽譜データを利用することができる。
【００２４】
今、手元に１００，０００曲の楽譜データがあったとすると、まず、それらの楽譜データを読み込み（ステップＳ１）、楽譜データのメロディ部分を単位（特に限定しないが、例えば１小節）ごとに切り出す（ステップＳ３）。次に、単位数（上記の例示に従えば、楽曲を構成する小節の数）だけループしながら（ステップＳ４）、切り出された各単位の最初の音が基準の音（たとえばＣ４のド）となるように正規化する（ステップＳ５）。以下、正規化した後の切り出し単位をパターンという。
【００２５】
次いで、そのパターンが過去に出現したかを検索し（ステップＳ６）、過去に出現していない場合（最初は必ず出現していない）には、新規パターンとして登録し、その出現回数を１とする（ステップＳ７）。一方、出現している場合は、出現回数を１増やす（ステップＳ８）。この処理を楽譜データ（上記の例示に従えば、１００，０００曲の楽譜データ）がなくなるまで繰り返す（ステップＳ２）。
そして、楽譜データがなくなると、パターンの出現回数を母数で割り（ステップＳ９）、その結果を出力する（ステップＳ１０）。なお、出現回数が頻度Ｎ（例えばＮ＝１）以下のパターンについては、レアなパターンとみなして結果を出力しない。
【００２６】
このようにして、音符連鎖モデルをあらかじめ生成しておく。
【００２７】
音符連鎖モデル生成部９は、図３のアルゴリズムを実行して音符連鎖モデルをあらかじめ生成しておく部分であり、音符連鎖モデル記憶部１０は、その音符連鎖モデルを記憶保持する部分である。
【００２８】
また、インターフェース部２は、利用者がハミング入力の開始や終了等を指示するための操作入力部であり、制御部３は、このハミング入力装置１の全体動作を統括制御する部分である。
音響信号入力部４は、ハミング入力用の音響マイクや増幅器及びＡ／Ｄ変換器等を含む部分であり、音響信号記憶部５は、音響信号入力部４から取り込まれた音響信号を記憶保持する部分である。
【００２９】
特徴抽出部６は、音響信号記憶部５に記憶保持されている音響信号の特徴を抽出する部分であり、特徴記憶部７は、その抽出結果を記憶保持する部分である。音響信号の特徴については、後で説明する。
仮説音符列出力部８は、特徴記憶部７に記憶保持されている特徴値に基づいて音高を推定し、推定された音高からなる仮説音符列を出力する部分である。
入力補正部１１は、音符連鎖モデルを用いて仮説音符列を補正し、音符列出力部１２は、補正後出力値の最も大きい音符列を正解として出力する。
【００３０】
図４は、第１実施形態の動作フローチャートを示す図である。このフローチャートにおいては、まず、音符連鎖モデル生成部９で音符連鎖モデルを生成し、その音符連鎖モデルを音符連鎖モデル記憶部１０に記憶する（ステップＳ２１）。なお、前記のとおり、あらかじめ音符連鎖モデル生成部９で音符連鎖モデルを生成しておき、事前に、その音符連鎖モデルを音符連鎖モデル記憶部１０に記憶しておいても構わない。
【００３１】
次いで、ハミングを入力し（ステップＳ２２）、音響信号に変換して音響信号記憶部５に記憶する。このハミング入力は、利用者が音響信号入力部４の音響マイクに向かって、検索を希望する楽曲の一部のメロディを口ずさむことによって行われる。たとえば、「ラララ」のように歌ってもよい。
【００３２】
ハミングを入力すると、次に、その音響信号から特徴を抽出する（ステップＳ２３）。特徴の抽出方法については様々な方法があり、ここでは詳しくは述べないが、たとえば、クロマベクトルを特徴として抽出するものとする。
【００３３】
図５は、クロマベクトルを示す模式図である。この図において、クロマベクトルは、各音高（この図ではＧ３〜Ｂ８）にあたる周波数に、どの程度、音が存在するかを示した特徴である。具体的には、入力音について短時間窓を設定し、ＦＦＴ（高速フーリエ変換）によりスペクトログラムを求め、各帯域（たとえば、中央のド（Ｃ４）なら２６２Ｈｚ）の中心がピークになるようなフィルタを掛け合わせることによって特徴を抽出する。
【００３４】
図６は、フィルタの模式図である。縦軸は信号レベル、横軸は周波数である。図示の例では、四角記号で示す第１のフィルタと、丸記号で示す第２のフィルタと、三角記号で示す第３のフィルタと、斜線記号で示す第４のフィルタとが示されている。適当な特性のフィルタを使用することにより、目的とするクロマベクトル（特徴）を抽出できる。たとえば、中央のド（Ｃ４）のクロマベクトルを抽出するのであれば、ド（Ｃ４）の音の周波数（２６２Ｈｚ）に対応した三角記号で示す第３のフィルタを用いればよい。
【００３５】
図７は、ハミング入力の一例を示す図、図８は、そのハミング入力の周波数分布図である。ただし、図７のハミング入力は、Ｃ４Ｄ４Ｅ４Ｃ４Ｄ４であるが、これは、やや音高を外したものであるとする。
【００３６】
図８において、縦軸は音高であり、この音高は上に行くにつれて低くなり、下に行くにつれて高くなるものとする。音高の右隣に併記された数値は、各音高毎の周波数のピーク値を示している。具体的には、上から順に、音高Ｇ３の周波数ピーク＝１９６Ｈｚ、音高Ａｂ３の周波数ピーク＝２０８Ｈｚ、音高Ａ３の周波数ピーク＝２２０Ｈｚ、・・・・、音高Ｃ＃５の周波数ピーク＝５５４Ｈｚであることを示している。
【００３７】
また、横軸は時間であり、図中の最上段には、この時間軸の単位を示す時間スケール値（０、１、２、３、・・・・、５３）が示されている。なお、時間スケール値の最大値は５３になっているが、これは便宜値である。時間スケール値の最大値は実際のハミング入力の長さに対応する。
【００３８】
さて、図中の破線１３の範囲内には、多数の数値が記載されているが、これらの数値は、ハミング入力された音響信号の周波数成分毎のレベル（スペクトログラム）を表している。たとえば、時間スケール値０に注目すると、上から下に向かって「００００００１００００００００００００」という値が並んでおり、これは、ハミング入力された最初の音（時間スケール値０のときの音）の周波数１９６Ｈｚ〜２６２Ｈｚのレベルが０、周波数２７７Ｈｚのレベルが１、周波数２９４Ｈｚ〜５５４Ｈｚのレベルが０であることを示している。つまり、周波数２７７Ｈｚのレベルだけが１で、他の周波数のレベルが全て０であったことを意味し、周波数２７７Ｈｚの音高はＣ＃４であるから、結局、時間スケール値０のときの音の音高がＣ＃４であったことを意味している。
【００３９】
特徴抽出部６は、図８のハミング入力の周波数分布図から、各時間スケール値毎に最大のレベルを持つものを音響信号の特徴として抽出する。たとえば、時間スケール値０では周波数２７７Ｈｚ（音高Ｃ＃４）のレベル１を抽出し、時間スケール値１では周波数２６２Ｈｚと２７７Ｈｚ（音高Ｃ４とＣ＃４）のレベル１を抽出し、時間スケール値２では周波数２６２Ｈｚ（音高Ｃ４）のレベル３を抽出し、時間スケール値３では周波数２７７Ｈｚ（音高Ｃ＃４）のレベル５を抽出し、時間スケール値４では周波数２６２Ｈｚ（音高Ｃ４）のレベル６を抽出し、時間スケール値５では周波数２６２Ｈｚ（音高Ｃ４）のレベル７を抽出し、時間スケール値６では周波数２６２Ｈｚ（音高Ｃ４）のレベル７を抽出し、時間スケール値７では周波数２６２Ｈｚ（音高Ｃ４）のレベル６を抽出し、時間スケール値８では周波数２６２Ｈｚ（音高Ｃ４）のレベル７を抽出し、時間スケール値９では周波数２６２Ｈｚと２７７Ｈｚ（音高Ｃ４とＣ＃４）のレベル６を抽出し、・・・・、時間スケール値５３では周波数２９４Ｈｚ（音高Ｄ４）のレベル１を抽出する。
これにより、図中背景を黒く塗りつぶした部分で示すように、各時間スケール値毎の特徴抽出（特徴ベクトル抽出）が行われる。
【００４０】
音響信号の特徴を抽出すると、次に、その特徴に基づいて仮説音符列を生成して出力する（ステップＳ２４）。仮説音符列の生成は、図８で求めた特徴ベクトル列に対し、特徴ベクトルの変化量の極大値などから、特徴値が大きく変化する点を抽出し、その点を音符変化の候補とする。
【００４１】
図９は、音符変化候補の探索模式図である。この図は、上記の図８と似ているが、時間軸に沿って所々に縦方向の区切り線Ｌ１〜Ｌ６が入れられている点で相違する。これらの区切り線Ｌ１〜Ｌ６の位置が、特徴値が大きく変化する点（音符変化の候補となる点）である。
【００４２】
次に、その時間間隔（区切り線の間隔；以下、フレーム長）を、事前に定義しておいた音符の種類（四分音符か八分音符かなど）毎の平均フレーム長と照合し、音符の種類を推定する。
【００４３】
そして、求めた間隔が四分音符や八分音符と推定された場合、十六分音符レベルまで候補位置を絞り込んで（図９の点線Ｌ７〜Ｌ１３参照）から音高を推定する。
【００４４】
図１０は、１つのフレームに着目した仮説音符列出力の概念図である。この図に示すように、クロマベクトルの値を範囲内で足し込み、最も大きな値を示すもの（音響による確度：この場合、Ｃ４の八分音符で確度４７とする）から、枝刈りの閾値（例えば１０）以内にある候補を全て出力する。図１０の右端には、そのようにして出力されたいくつかの仮説音符列、ここでは、たとえば、「Ｃ４」、「Ｃ＃４とＣ４」、「Ｂ３とＣ４」が示されている。
【００４５】
具体的に説明すると、図１０（ａ）に示す１つのフレームを、十六分音符レベル区切り線Ｌ７を境にして前フレームＦと後フレームＢに分け、図１０（ｂ）に示すように、前フレームＦと後フレームＢの各々について、各音高（周波数）ごとのレベルの足し込みを行う。その結果、前フレームＦにおいては、音高Ｂｂ３（周波数１５６Ｈｚ）で０＋０＋０＋１＋０＝１、音高Ｂ３（周波数１６５Ｈｚ）で０＋０＋１＋４＋１＝６、音高Ｃ４（周波数２６２Ｈｚ）で０＋１＋３＋４＋６＝１４、音高Ｃ＃４（周波数２７７Ｈｚ）で１＋１＋２＋５＋１＝１０、音高Ｄ４（周波数２９４Ｈｚ）で０＋０＋１＋２＋０＝３、音高Ｅｂ４（周波数３１１Ｈｚ）で０＋０＋０＋１＋０＝１が得られ、後フレームＢにおいては、音高Ｂｂ３（周波数１５６Ｈｚ）で０＋１＋１＋０＋０＝２、音高Ｂ３（周波数１６５Ｈｚ）で２＋１＋２＋１＋４＝１０、音高Ｃ４（周波数２６２Ｈｚ）で７＋７＋６＋７＋６＝３３、音高Ｃ＃４（周波数２７７Ｈｚ）で１＋１＋２＋１＋６＝１１、音高Ｄ４（周波数２９４Ｈｚ）で１＋１＋０＋０＋２＝４、音高Ｅｂ４（周波数３１１Ｈｚ）で０＋０＋０＋０＋１＝１が得られる。
【００４６】
そして、後フレームＢの最大足し込み値３３と前フレームＦの最大足し込み値１４とを足して４７を得ると共に、後フレームＢの最大足し込み値３３と前フレームＦの次位最大足し込み値１０とを足して４９を得、後フレームＢの最大足し込み値３３と前フレームＦの次々位最大足し込み値６とを足して４３を得る。
【００４７】
同様に、この処理を全区間に対して行うことにより、ハミング入力全体の仮説音符列を出力する。
【００４８】
図１１は、ハミング入力全体から出力された仮説音符列を示す図である。この図においては、Ｌ１とＬ７の間のフレームの仮説音符列として「Ｃ４Ｃ４」、「Ｃ＃４Ｃ４」、「Ｂ３Ｃ４」が出力され、Ｌ２とＬ８の間のフレームの仮説音符列として「Ｄ４Ｄ４」が出力され、Ｌ３とＬ９の間のフレームの仮説音符列として「Ｅｂ４Ｅｂ４」、「Ｅｂ４Ｅ４」、「Ｅｂ４Ｄ４」、「Ｅ４Ｅｂ４」、「Ｅ４Ｅ４」、「Ｅ４Ｄ４」が出力され、Ｌ４とＬ１０の間のフレームの仮説音符列として「Ｃ４Ｃ４」、「Ｂ３Ｃ４」、「Ｂ３Ｂ３」が出力され、Ｌ５とＬ１１の間のフレームの仮説音符列として「Ｄ４Ｄ４Ｄ４Ｅｂ４」、「Ｄ４Ｄ４Ｄ４Ｄ４」、「Ｄ４Ｄ４Ｄ４Ｃ＃４」、「Ｄ４Ｄ４Ｅｂ４Ｅｂ４」、「Ｄ４Ｄ４Ｅｂ４Ｄ４」、「Ｄ４Ｄ４Ｅ＃４Ｅｂ４」、「Ｄ４Ｄ４Ｃ＃４Ｄ４」、「Ｄ４Ｄ４Ｄ４Ｅ４」、「Ｄ４Ｄ４Ｅｂ４Ｃ＃４」、「Ｄ４Ｄ４Ｃ＃４Ｃ＃４」が出力されている。
【００４９】
なお、同じ音高の音が続いた場合は、それが八分音符か十六分音符二つかなどを認識するのは困難であるので、全て十六分分単位で出力を表している。
【００５０】
このようにして仮説音符列を出力すると、次に、音符連鎖モデルによる補正処理（ステップＳ２５）を実行した後、補正後出力値の最も大きい音符列を正解として出力する（ステップＳ２６）。
【００５１】
図１２は、音符連鎖モデルによる補正処理を示す図である。この音符連鎖モデルによる補正処理では、まず、パターン検索を行い（ステップＳ２５ａ）、パターンがある場合（ステップＳ２５ｂの“ＹＥＳ”）には「音符連鎖モデルによる確率＝一致したパターンの連鎖確率」とする（ステップＳ２５ｃ）。一方、パターンがない場合（ステップＳ２５ｂの“ＮＯ”）には「音符連鎖モデルによる確率＝α（αは所定値）」とし（ステップＳ２５ｄ）、いずれの場合も、「出力値＝音響による確度×音符連鎖モデルによる確率」を演算（ステップＳ２５ｅ）した後、図４のフローに復帰する。
【００５２】
図１３は、ステップＳ２５ｅの演算結果の一例を示す図である。この図において、左側にあるのが仮説音符列出力（図４のステップＳ２４）で音響的に求められた出力である。ここでは、ア〜カの符号を付すと共に、見やすいように五線譜の形に直し、さらに、確度が高い順にソートしている。
【００５３】
それらの候補（ア〜カ）に対し、音符連鎖モデルによる確率値を乗ずる。たとえば、アの音符連鎖モデルによる確率値が０．００４５、イ〜エの同確率値が０．００１、オの同確率値が０．００６３７、・・・・、カの同確率値が０．００７０１であるとする。
【００５４】
音符モデルの確率値は、音符がどのように連鎖するかを表したものであり、この場合、四分音符３個分の長さの音符の連鎖する確率を示したものである。当然ながら一般的にあり得るメロディ進行の場合は確率が高く、また、頻度が閾値以下しか存在しなかったメロディ進行の場合はモデルに登録されない。その場合の確率値は、図１２のステップＳ２５ｄでフロアリングされるため、αに固定される（この場合、α＝０．００１）。
【００５５】
したがって、図示の例によれば、アの補正後の出力値は「２７２×０．００４５＝１．２２４」、イの同出力値は「２７２×０．００１＝０．２７２」、ウ〜エの同出力値は「２７１×０．００１＝０．２７１」、オの同出力値は「２７１×０．００６３７＝１．７２６２７」、・・・・、カの同出力値は「２６６×０．００７０１＝１．８６４６６」となるので、補正後出力値の最も大きい音符列、つまり、カの「Ｃ４Ｃ４Ｄ４Ｄ４Ｅ４Ｅ４Ｃ４Ｃ４Ｄ４Ｄ４Ｄ４」を正解として出力する。
【００５６】
以上のとおり、本第１実施形態によれば、音符連鎖モデルを使い、ハミングで入力された不安定なメロディを補正するようにしたので、一般的には存在しないメロディ、すなわち、音符連鎖の確率が低いメロディによる誤検索を回避することができる。このことについて、前記の従来技術２〜４との対比を行うと、前記の従来技術２〜４は、いずれも楽曲の音楽片やセグメント（区間）といった部分単位で検索を行うものであった。このため、ハミング入力された音響信号の音楽片やセグメントに、音高のズレやノイズ、曲中の速い部分の周波数分解能の少なさなどの不都合が生じていた場合、それらの不都合を抱えたまま、楽曲検索が行われてしまうので、間違った楽曲を検索してしまうことがあった。これは、音楽片やセグメントといった部分単位での照合しか行っていないからである。
【００５７】
これに対して、本実施形態においては、ハミング入力されたメロディを音符連鎖モデルを用いて補正するので、仮に不安定なメロディがハミング入力されたとしても、常に連鎖確率が高いメロディ、すなわち、一般的にあり得るメロディに修正されるから、以降に行われる楽曲検索の精度を高めることができるのである。
【００５８】
本第１実施形態では、簡略化のために、仮説音符列の開始音が音符連鎖モデルの開始音と一致する場合について説明した。両者が一致しない場合には、仮説音符列の開始音または音符連鎖モデルの開始音のいずれかの音高をシフトして開始音を一致させて補正処理を行う。また、補正尤度を求めるにあたって、音響尤度と言語尤度の積を用いたが、重み係数を導入して、前式（１）を、次式（２）のように変形してもよい。
補正尤度＝音響尤度＋重み係数×言語尤度  ・・・・（２）
【００５９】
なお、音符連鎖モデルを構築する際に、たとえば、楽器毎（ピアノ、ギター、ベース、トランペットなど）や、音楽のジャンル毎（ロック、ワルツ、日本民謡など）、あるいは、作曲家や歌手毎に音符連鎖モデルを構築してもよい。このようにすると、音符連鎖モデルのボリュームを小さくすることができ、モデル構築時間の短縮や記憶容量の削減を図ることができるから好ましく、さらに、楽器毎、ジャンル毎、作曲家毎に音符連鎖モデルを作成すれば、それぞれに特有の音符連鎖の特徴をモデル化できるので、認識精度が向上する。
【００６０】
また、上記の第１実施形態では、音の長さを考慮し、音符の種類（四分音符、八分音符など）を含めてモデル化しているが、簡易的に音の長さを無視してモデルを構築しても構わない。
また、第１実施形態では、ハミング入力に適用しているが、人の声に限定されず、楽器やその他の音源による入力であっても構わない。
【００６１】
また、第１実施形態では、単音入力を例にしているが、楽器等による和音入力であってもよく、音符連鎖モデルも和音を考慮して構築しても構わない。
また、第１実施形態では、入力音も音符連鎖モデルも四分音符３個分としているが、これは代表例であり、必ずしもこの通りでなくてもよい。例えば入力音がもっと長い場合は、ｎ音ずつ入力音をシフトさせながら第１実施形態の音符連鎖モデルによる補正処理（図１２参照）を繰り返し、総和が大きいものを正解としても構わない。
【００６２】
〔第２実施形態〕
図１４は、第２実施形態における楽曲検索装置の機能ブロック図である。この図において、楽曲検索装置１ａは、インターフェース部２、制御部３、音響信号入力部４、音響信号記憶部５、特徴抽出部６、特徴記憶部７、仮説音符列出力部８、音符連鎖モデル生成部９、音符連鎖モデル記憶部１０、入力補正部１１及び音符列出力部１２を備える点で前記の第１実施形態のハミング入力装置１と共通し、楽曲データベース（図ではＤＢと略記）１５及び比較部１６からなる楽曲検索部１４を備える点で第１実施形態のハミング入力装置１と相違する。
【００６３】
なお、第１実施形態のハミング入力装置１との共通構成要素、すなわち、インターフェース部２、制御部３、音響信号入力部４、音響信号記憶部５、特徴抽出部６、特徴記憶部７、仮説音符列出力部８、音符連鎖モデル生成部９、音符連鎖モデル記憶部１０、入力補正部１１及び音符列出力部１２の説明については、前記の第１実施形態を参照することにする。
【００６４】
楽曲データベース１５には、あらかじめ検索対象の楽曲情報が格納されている。この楽曲情報は、楽曲毎の音符列情報を含む。
【００６５】
図１５は、第２実施形態の動作フローチャートを示す図である。このフローチャートにおいて、ステップＳ２１〜ステップＳ２５及びステップＳ２６は、前記の第１実施形態のハミング入力装置１の動作（図４参照）と同一であるが、ステップＳ２５とステップＳ２６の間で、ソート処理（ステップＳ３１）、楽曲データベース１５の曲数分のループ（ステップＳ３２）、楽曲データベース１５から１曲分の参照データ読み込み（ステップＳ３３）、補正後候補数分のループ（ステップＳ３４）及び類似度計算（ステップＳ３５）を行う点で相違する。
【００６６】
すなわち、比較部１６では、まず、入力補正部１１からの補正後出力（音符連鎖確率を用いて補正されたもの）を取り込み、それらをソートし、最も値の大きかったものから閾値β以内のもの（Ｍ個の音符列及び補正後出力値）を候補として保持する。
【００６７】
次いで、楽曲データベース１５から１曲分の音符列を読み込み、保持しておいたＭ個の音符列と楽曲データベース１５から読み込んだ音符列とを比較して類似度を計算するという動作を、補正後出力分だけ繰り返し、且つ、楽曲データベース１５から読み込んだ１曲分の音符列との類似度計算を完了すると、次の楽曲を楽曲データベース１５から読み込んで同様の動作を繰り返し、全ての楽曲とを類似度を計算し終えると、最も類似度が高かった楽曲を最終結果として出力する。
【００６８】
図１６は、類似度計算の概念図である。たとえば、類似度評価値について、１６分音符長毎の音の高さが完全に一致したときには３点、半音ズレは２点、一音ズレは１点、それ以上のズレは０点を与えることにする。類似度は以下の式（３）で求められる。
【００６９】
類似度＝補正後出力値×一致度  ・・・・（３）
【００７０】
たとえば、ハミングの入力パターンを「Ｃ４Ｃ４Ｄ４Ｄ４Ｅ４Ｅ４Ｃ４Ｃ４Ｄ４Ｄ４Ｄ４Ｄ４」とし、比較対象中の楽曲の音符列パターンを「Ｃ４“Ｄ４”Ｄ４Ｄ４Ｅ４Ｅ４“Ｃ＃４”Ｃ４Ｄ４Ｄ４“Ｆ４”Ｄ４」とする。“  ”で括った三つの音（“Ｄ４”、“Ｃ＃４”、“Ｆ４”）は完全一致しない音である。この場合、“Ｄ４”はＣ４の１音ズレ、“Ｃ＃４”はＣ４の半音ズレ、“Ｆ４”はＤ４の１音以上のズレであるから、前式（３）より、一致度は「３０」となる。
【００７１】
このようにして、全ての楽曲との類似度の計算が終わったら、類似度の大きい方から１乃至複数個の楽曲リストを検束結果として出力する。
【００７２】
以上のとおり、本第２実施形態では、音符の連鎖確率を用いて補正された音符列のみを使って楽曲検索を行うので、音高が多少ずれたハミングやノイズの影響を受けたハミングであっても、正しい楽曲を検索することができる。
【００７３】
なお、本第２実施形態では、音符の連鎖確率を用いて補正された音符列のみを使い、楽曲検索を行っているが、補正していない音符列についても類似度を求め、類似度計算に使用しても構わない。
【００７４】
また、本第２実施形態では、楽曲データベース１５を楽曲検索装置１ａの一部としているが、この態様に限定されない。たとえば、電話回線やインターネット等を介して遠隔地に配置された一つ又は複数の楽曲データベースを参照するような構成であってもよい。この場合、比較部１６も、当該楽曲データベースと同様に遠隔地に設置されたものであってもよい。
【００７５】
また、以上の各実施形態においては、“音符”の連鎖確率に基づいて補正を行っているが、これに限らず、音符を“音高”と読み替えても構わない。
【図面の簡単な説明】
【００７６】
【図１】第１実施形態におけるハミング入力装置の機能ブロック図である。
【図２】音声認識の音響モデルと言語モデルの関係を示す概念図である。
【図３】音符連鎖モデルの生成（構築）アルゴリズムを示す図である。
【図４】第１実施形態の動作フローチャートを示す図である。
【図５】クロマベクトルを示す模式図である。
【図６】フィルタの模式図である。
【図７】ハミング入力の一例を示す図である。
【図８】ハミング入力の周波数分布図である。
【図９】音符変化候補の探索模式図である。
【図１０】１つのフレームに着目した仮説音符列出力の概念図である。
【図１１】ハミング入力全体から出力された仮説音符列を示す図である。
【図１２】音符連鎖モデルによる補正処理を示す図である。
【図１３】ステップＳ２５ｅの演算結果の一例を示す図である。
【図１４】第２実施形態における楽曲検索装置の機能ブロック図である。
【図１５】第２実施形態の動作フローチャートを示す図である。
【図１６】類似度計算の概念図である。
【符号の説明】
【００７７】
１  ハミング入力装置（メロディ入力装置）
１ａ  楽曲検索装置
４  音響信号入力部（入力手段）
６  特徴抽出部（抽出手段）
１０  音符連鎖モデル記憶部（データベース）
１１  入力補正部（補正手段）
１４  楽曲検索部（検索手段）
【図１】
2007193222.tif 000003
【図２】
2007193222.tif 000004
【図３】
2007193222.tif 000005
【図４】
2007193222.tif 000006
【図５】
2007193222.tif 000007
【図６】
2007193222.tif 000008
【図７】
2007193222.tif 000009
【図８】
2007193222.tif 000010
【図９】
2007193222.tif 000011
【図１０】
2007193222.tif 000012
【図１１】
2007193222.tif 000013
【図１２】
2007193222.tif 000014
【図１３】
2007193222.tif 000015
【図１４】
2007193222.tif 000016
【図１５】
2007193222.tif 000017
【図１６】
2007193222.tif 000018