米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> カシオ計算機株式会社

発明の名称 メロディ入力装置及び楽曲検索装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−193222(P2007−193222A)
公開日 平成19年8月2日(2007.8.2)
出願番号 特願2006−12926(P2006−12926)
出願日 平成18年1月20日(2006.1.20)
代理人 【識別番号】100096699
【弁理士】
【氏名又は名称】鹿嶋 英實
発明者 加福 滋
要約 課題
音符又は音高の連鎖確率を考慮して楽曲検索を行うことにより、検索精度の向上を図ったメロディ入力装置を提供する。

解決手段
メロディを入力する入力手段(4)と、前記入力されたメロディから音高情報を抽出する抽出手段(6)とを備えたメロディ入力装置(1)において、音符の連鎖に関する音符連鎖情報を含むデータベース(10)と、前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段(11)とを備える。入力されたメロディに確率の低い音符の連鎖が見られた場合であっても、正しい音符の連鎖確率に従って補正されるため、たとえば、楽曲検索装置に適用した場合に、間違った楽曲検索を引き起さない。
特許請求の範囲
【請求項1】
メロディを入力する入力手段と、前記入力されたメロディから音高情報を抽出する抽出手段とを備えたメロディ入力装置において、
音符の連鎖に関する音符連鎖情報を含むデータベースと、
前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段と
を備えたことを特徴とするメロディ入力装置。
【請求項2】
前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項1に記載のメロディ入力装置。
【請求項3】
前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項1に記載のメロディ入力装置。
【請求項4】
前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項1に記載のメロディ入力装置。
【請求項5】
前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項1に記載のメロディ入力装置。
【請求項6】
メロディを入力する入力手段と、
前記入力されたメロディから音高情報を抽出する抽出手段と、
音符の連鎖に関する音符連鎖情報を含むデータベースと、
前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段と、
前記補正手段によって補正された後の音高情報を用いて複数の楽曲の中から音高情報が類似した楽曲を検索する検索手段と
を備えたことを特徴とする楽曲検索装置。
【請求項7】
前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項6に記載の楽曲検索装置。
【請求項8】
前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項6に記載の楽曲検索装置。
【請求項9】
前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項6に記載の楽曲検索装置。
【請求項10】
前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項6に記載の楽曲検索装置。
発明の詳細な説明
【技術分野】
【0001】
本発明は、メロディ入力装置及び楽曲検索装置に関し、たとえば、ハミングしたメロディを入力するメロディ入力装置及びハミングしたメロディに対応する楽曲をデータベースの中から検索する楽曲検索装置に関する。
【背景技術】
【0002】
たとえば、テレビや街中で流れる音楽を携帯電話に聴かせることにより、その音楽の名前等の情報を調べることができる従来技術(以下、従来技術1)が知られている(非特許文献1参照)。しかし、この従来技術1は、音楽そのものを聴かせる必要があるため、音源が不可欠であり、メロディの一部しか覚えていない楽曲の検索に使えないという欠点がある。
【0003】
この欠点を克服した従来技術(以下、従来技術2)として、ハミング(メロディの口ずさみや鼻歌)入力装置が知られている(非特許文献2参照)。
この従来技術2は、楽曲をデータベースに登録する際に、1つの楽曲を多数の「音楽片」に分割し、利用者のハミング入力と、データベース中の楽曲とを音楽片単位でマッチングするというものである。利用者が曲のどの部分をハミングしていてもきちんと検索することができる。
【0004】
上記の「音楽片」の生成法としては、たとえば、楽曲中のあらゆる音符を先頭にして所定数nの音符群ごとに切り出すようにした技術(以下、従来技術3)が知られている(特許文献1参照)。
この従来技術3では、1つの楽曲が音符a1 、a2
、a3 、・・・・、ap からなるとき、n=4として、a1
〜a4 の第1の音楽片、a2 〜a5 の第2の音楽片、a3 〜a6
の第3の音楽片、・・・・、ap-3 〜ap
の第pの音楽片に分割する。つまり、楽曲を構成する音符の先頭からn個の音符群を切り出して、それを第1の音楽片とし、以降、音符の切り出し位置を一個ずつ後方にずらしながら、第2の音楽片、第3の音楽片、・・・・、第pの音楽片を生成するというものである。
【0005】
また、ハミング入力装置の楽譜データベース以外の適用例としては、たとえば、自動採譜装置に関する技術(以下、従来技術4)も知られている(特許文献2参照)。
この従来技術4は、ハミング等で入力された音響信号のピッチ情報及びパワー情報を分析周期毎に抽出し、その後、抽出されたピッチ情報及びパワー情報から音響信号を一音とみなせる区間(セグメントとも言う)に区分し、各区間の音高(文献中では音程と記載)を同定して自動採譜を行う自動採譜装置であり、その特徴とする点は、各区間の音高を同定する際、まず、当該区間の各ピッチ情報に対して、同定する音高候補との距離と区間内の位置によって定まる重み付け係数とを求め、その積和値が最も小さくなる音高に同定するというものである。
重み付け係数を区間の始端や終端付近では小さく設定しておけば、区間始端や終端のピッチが積和値に及ぼす影響は小さくなるので、この部分の不安定な音高で区間全体が意図しない音高に同定されることを少なくすることができ、より正確な音高同定が可能になる。
【0006】
【非特許文献1】“auの「聴かせて検索」”、[online]、[平成18年1月12日検索]、インターネット<URL:http://plusd.itmedia.co.jp/mobile/articles/0506/22/news009.html>
【非特許文献2】“ハミングによる楽曲検索システム”、[online]、日本電信電話株式会社、[平成18年1月12日検索]、インターネット<URL:http://www.ntt.co.jp/saiyo/rd/review/2001/pf/10.html>
【特許文献1】特開2000−172693号公報
【特許文献2】特開平7−44163号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
上記のとおり、従来技術1は、音楽そのものを聴かせる必要があるため、音源が不可欠であり、メロディの一部しか覚えていない音楽の検索に使えないという欠点があるが、他の従来技術2〜4は、ハミング入力が可能であるため、このような欠点はない。
【0008】
しかしながら、これらの従来技術2〜4は、いずれも楽曲の音楽片やセグメント(区間)といった部分単位で検索を行うものに過ぎず、充分な検索精度が得られないという問題点がある。
【0009】
すなわち、一の楽曲がA、B、C、Dの各部分(音楽片又はセグメント)からなり、二の楽曲がa、B、C、dの各部分(同)からなるとき、ハミング入力を仮にA、Bとすると、たとえば、音高のズレやノイズ等によってAがaと誤認された場合には、本来であれば一の楽曲がヒットすべきところ、間違って二の楽曲がヒットしてしまうという不都合がある。かかる不都合の要因は、音楽片やセグメントといった部分単位での照合しか行っていないからである。
【0010】
このように、従来技術2〜4のハミング入力装置は、入力された部分単位の音響的特徴のみを使って検索を行っていたので、入力時の音高の微妙なズレや周囲のノイズ、或いは、曲中の速い部分の周波数分解能の少なさなどの影響を受けやすく、充分な検索精度が得られないという問題点がある。
また、従来技術4は、セグメント位置による重み付けによりセグメント両端の不安定さを排除しているものの、それだけでは、長い音符の途中で音高が不安定になった場合(たとえば、延ばした音の後に装飾音があった場合)に充分な効果を期待できない。
【0011】
そこで、本発明は、音符又は音高の連鎖確率を考慮して楽曲検索を行うことにより、認識精度の向上を図ったメロディ入力装置及び楽曲検索精度の向上を図った楽曲検索装置を提供することにある。
【課題を解決するための手段】
【0012】
請求項1記載の発明は、メロディを入力する入力手段と、前記入力されたメロディから音高情報を抽出する抽出手段とを備えたメロディ入力装置において、音符の連鎖に関する音符連鎖情報を含むデータベースと、前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段とを備えたことを特徴とするメロディ入力装置である。
請求項2記載の発明は、前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項1に記載のメロディ入力装置である。
請求項3記載の発明は、前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項1に記載のメロディ入力装置である。
請求項4記載の発明は、前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項1に記載のメロディ入力装置である。
請求項5記載の発明は、前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項1に記載のメロディ入力装置である。
請求項6記載の発明は、メロディを入力する入力手段と、前記入力されたメロディから音高情報を抽出する抽出手段と、音符の連鎖に関する音符連鎖情報を含むデータベースと、前記抽出手段によって抽出された音高情報を前記データベース内の音符連鎖情報に基づいて補正する補正手段と、前記補正手段によって補正された後の音高情報を用いて複数の楽曲の中から音高情報が類似した楽曲を検索する検索手段とを備えたことを特徴とする楽曲検索装置である。
請求項7記載の発明は、前記音符連鎖情報は、楽器毎に作られていることを特徴とする請求項6に記載の楽曲検索装置である。
請求項8記載の発明は、前記音符連鎖情報は、音楽のジャンル毎に作られていることを特徴とする請求項6に記載の楽曲検索装置である。
請求項9記載の発明は、前記音符連鎖情報は、作曲家毎に作られていることを特徴とする請求項6に記載の楽曲検索装置である。
請求項10記載の発明は、前記音符連鎖情報は、音の長さに関する情報を考慮しないものであることを特徴とする請求項6に記載の楽曲検索装置である。
【発明の効果】
【0013】
本発明では、入力されたメロディから音高情報が抽出され、抽出された音高情報がデータベース内の音符連鎖情報に基づいて補正される。
ここで、音符連鎖情報とは、多くの楽曲で音符の連鎖する確率を統計的にモデル化したデータのことを言う。かかる連鎖確率は、音楽のジャンルや楽器の種類、作曲家によって一応の傾向があるが、少なくとも、経験的に全く連鎖しないか、あるいは、連鎖することがきわめて希な音符の連鎖があり得る。こうした音符の連鎖、つまり、入力されたメロディに確率の低い音符の連鎖が見られた場合、それは、たとえばハミングであれば発音の揺らぎや音高のズレ、ノイズ等の影響を原因とする。
したがって、このような確率の低い音符の連鎖からなるメロディに基づいて、たとえば、楽曲検索を行った場合、間違った検索結果を引き起こしかねない。
これに対して、本発明のように、入力されたメロディから音高情報を抽出し、抽出した音高情報をデータベース内の音符連鎖情報に基づいて補正すれば、仮に、入力されたメロディに確率の低い音符の連鎖が見られた場合であっても、正しい音符の連鎖確率に従って補正されるため、上記のような間違った検索結果を引き起さない。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態を、図面を参照しながら説明する。なお、以下の説明における様々な細部の特定ないし実例および数値や文字列その他の記号の例示は、本発明の思想を明瞭にするための、あくまでも参考であって、それらのすべてまたは一部によって本発明の思想が限定されないことは明らかである。また、周知の手法、周知の手順、周知のアーキテクチャおよび周知の回路構成等(以下「周知事項」)についてはその細部にわたる説明を避けるが、これも説明を簡潔にするためであって、これら周知事項のすべてまたは一部を意図的に排除するものではない。かかる周知事項は本発明の出願時点で当業者の知り得るところであるので、以下の説明に当然含まれている。
【0015】
〔第1実施形態〕
図1は、第1実施形態におけるハミング入力装置の機能ブロック図である。この図において、ハミング入力装置1は、インターフェース部2、制御部3、音響信号入力部4、音響信号記憶部5、特徴抽出部6、特徴記憶部7、仮説音符列出力部8、音符連鎖モデル生成部9、音符連鎖モデル記憶部10、入力補正部11及び音符列出力部12を備える。
【0016】
各部を説明する前に、音符連鎖モデルについて概説する。音符連鎖モデルとは、音声認識技術で言うところの音響モデルと同様の意味合いであり、音符がどのように連鎖するかをNgramで表した統計データベースである。
【0017】
図2は、音声認識の音響モデルと言語モデルの関係を示す概念図である。この図において、今、「ニホンケイザイ」(日本経済)という発声があったとする。そして、「ザ」の発音がやや曖昧で、たとえば、「タ」とも聞こえる可能性があるとしたとき、ニホンケイザイ(日本経済)の音響的な確率値を0.158、ニホンケイタイ(日本携帯)の同確率値を0.165とすれば、結果は、音響的な確率値が高い方の「日本携帯」が出力され、間違った結果になってしまう。
【0018】
一方、言語モデルには、全ての単語の連鎖する確率も格納されている。たとえば、「日本」から「経済」へと連鎖する確率として0.065が格納され、また、「日本」から「携帯」へと連鎖する確率として0.005が格納されている。「日本」から「経済」への連鎖確率0.065に対して、「日本」から「携帯」への連鎖確率0.005は相当低く(小さく)、これは、一般的に「日本」から「携帯」へと連鎖する確率がきわめて希れであることを意味する。
【0019】
ハミング入力においても、かかる連鎖確率を考慮することにより、正しい認識結果を得ることができる。すなわち、音響確率を音響尤度とすると共に、言語確率(連鎖確率)を言語尤度として、次式(1)を演算することにより、ハミング入力においても、正しい認識結果を得ることができるのである。
【0020】
補正尤度=音響尤度×言語尤度 ・・・・(1)
【0021】
日本経済の場合の補正尤度は0.01027となり、日本携帯の場合の補正尤度は0.000825となる。この場合、0.01027>0.000825であるから、正しい結果(日本経済)が得られる。つまり、音響尤度で劣っていた「日本経済」が日本語の連鎖する確率によって補正され、正解として出力されることになる。
【0022】
こうした言語モデルは、新聞(の電子データ)などの膨大な日本語の文章を形態素解析し、各単語の連鎖する頻度を母数で割ったものである。これに対して、本実施形態で使用する音符連鎖モデルは、上記の言語モデルの「単語」を「音符」に置き換えたものということができる。
【0023】
図3は、音符連鎖モデルの生成(構築)アルゴリズムを示す図である。音符連鎖モデルを生成するためには、言語モデルと同様に膨大な楽譜データ(MIDI等の楽譜データ)が必要となるが、それには、例えば、J−POP楽曲集のような既存の楽譜データを利用することができる。
【0024】
今、手元に100,000曲の楽譜データがあったとすると、まず、それらの楽譜データを読み込み(ステップS1)、楽譜データのメロディ部分を単位(特に限定しないが、例えば1小節)ごとに切り出す(ステップS3)。次に、単位数(上記の例示に従えば、楽曲を構成する小節の数)だけループしながら(ステップS4)、切り出された各単位の最初の音が基準の音(たとえばC4のド)となるように正規化する(ステップS5)。以下、正規化した後の切り出し単位をパターンという。
【0025】
次いで、そのパターンが過去に出現したかを検索し(ステップS6)、過去に出現していない場合(最初は必ず出現していない)には、新規パターンとして登録し、その出現回数を1とする(ステップS7)。一方、出現している場合は、出現回数を1増やす(ステップS8)。この処理を楽譜データ(上記の例示に従えば、100,000曲の楽譜データ)がなくなるまで繰り返す(ステップS2)。
そして、楽譜データがなくなると、パターンの出現回数を母数で割り(ステップS9)、その結果を出力する(ステップS10)。なお、出現回数が頻度N(例えばN=1)以下のパターンについては、レアなパターンとみなして結果を出力しない。
【0026】
このようにして、音符連鎖モデルをあらかじめ生成しておく。
【0027】
音符連鎖モデル生成部9は、図3のアルゴリズムを実行して音符連鎖モデルをあらかじめ生成しておく部分であり、音符連鎖モデル記憶部10は、その音符連鎖モデルを記憶保持する部分である。
【0028】
また、インターフェース部2は、利用者がハミング入力の開始や終了等を指示するための操作入力部であり、制御部3は、このハミング入力装置1の全体動作を統括制御する部分である。
音響信号入力部4は、ハミング入力用の音響マイクや増幅器及びA/D変換器等を含む部分であり、音響信号記憶部5は、音響信号入力部4から取り込まれた音響信号を記憶保持する部分である。
【0029】
特徴抽出部6は、音響信号記憶部5に記憶保持されている音響信号の特徴を抽出する部分であり、特徴記憶部7は、その抽出結果を記憶保持する部分である。音響信号の特徴については、後で説明する。
仮説音符列出力部8は、特徴記憶部7に記憶保持されている特徴値に基づいて音高を推定し、推定された音高からなる仮説音符列を出力する部分である。
入力補正部11は、音符連鎖モデルを用いて仮説音符列を補正し、音符列出力部12は、補正後出力値の最も大きい音符列を正解として出力する。
【0030】
図4は、第1実施形態の動作フローチャートを示す図である。このフローチャートにおいては、まず、音符連鎖モデル生成部9で音符連鎖モデルを生成し、その音符連鎖モデルを音符連鎖モデル記憶部10に記憶する(ステップS21)。なお、前記のとおり、あらかじめ音符連鎖モデル生成部9で音符連鎖モデルを生成しておき、事前に、その音符連鎖モデルを音符連鎖モデル記憶部10に記憶しておいても構わない。
【0031】
次いで、ハミングを入力し(ステップS22)、音響信号に変換して音響信号記憶部5に記憶する。このハミング入力は、利用者が音響信号入力部4の音響マイクに向かって、検索を希望する楽曲の一部のメロディを口ずさむことによって行われる。たとえば、「ラララ」のように歌ってもよい。
【0032】
ハミングを入力すると、次に、その音響信号から特徴を抽出する(ステップS23)。特徴の抽出方法については様々な方法があり、ここでは詳しくは述べないが、たとえば、クロマベクトルを特徴として抽出するものとする。
【0033】
図5は、クロマベクトルを示す模式図である。この図において、クロマベクトルは、各音高(この図ではG3〜B8)にあたる周波数に、どの程度、音が存在するかを示した特徴である。具体的には、入力音について短時間窓を設定し、FFT(高速フーリエ変換)によりスペクトログラムを求め、各帯域(たとえば、中央のド(C4)なら262Hz)の中心がピークになるようなフィルタを掛け合わせることによって特徴を抽出する。
【0034】
図6は、フィルタの模式図である。縦軸は信号レベル、横軸は周波数である。図示の例では、四角記号で示す第1のフィルタと、丸記号で示す第2のフィルタと、三角記号で示す第3のフィルタと、斜線記号で示す第4のフィルタとが示されている。適当な特性のフィルタを使用することにより、目的とするクロマベクトル(特徴)を抽出できる。たとえば、中央のド(C4)のクロマベクトルを抽出するのであれば、ド(C4)の音の周波数(262Hz)に対応した三角記号で示す第3のフィルタを用いればよい。
【0035】
図7は、ハミング入力の一例を示す図、図8は、そのハミング入力の周波数分布図である。ただし、図7のハミング入力は、C4D4E4C4D4であるが、これは、やや音高を外したものであるとする。
【0036】
図8において、縦軸は音高であり、この音高は上に行くにつれて低くなり、下に行くにつれて高くなるものとする。音高の右隣に併記された数値は、各音高毎の周波数のピーク値を示している。具体的には、上から順に、音高G3の周波数ピーク=196Hz、音高Ab3の周波数ピーク=208Hz、音高A3の周波数ピーク=220Hz、・・・・、音高C#5の周波数ピーク=554Hzであることを示している。
【0037】
また、横軸は時間であり、図中の最上段には、この時間軸の単位を示す時間スケール値(0、1、2、3、・・・・、53)が示されている。なお、時間スケール値の最大値は53になっているが、これは便宜値である。時間スケール値の最大値は実際のハミング入力の長さに対応する。
【0038】
さて、図中の破線13の範囲内には、多数の数値が記載されているが、これらの数値は、ハミング入力された音響信号の周波数成分毎のレベル(スペクトログラム)を表している。たとえば、時間スケール値0に注目すると、上から下に向かって「0000001000000000000」という値が並んでおり、これは、ハミング入力された最初の音(時間スケール値0のときの音)の周波数196Hz〜262Hzのレベルが0、周波数277Hzのレベルが1、周波数294Hz〜554Hzのレベルが0であることを示している。つまり、周波数277Hzのレベルだけが1で、他の周波数のレベルが全て0であったことを意味し、周波数277Hzの音高はC#4であるから、結局、時間スケール値0のときの音の音高がC#4であったことを意味している。
【0039】
特徴抽出部6は、図8のハミング入力の周波数分布図から、各時間スケール値毎に最大のレベルを持つものを音響信号の特徴として抽出する。たとえば、時間スケール値0では周波数277Hz(音高C#4)のレベル1を抽出し、時間スケール値1では周波数262Hzと277Hz(音高C4とC#4)のレベル1を抽出し、時間スケール値2では周波数262Hz(音高C4)のレベル3を抽出し、時間スケール値3では周波数277Hz(音高C#4)のレベル5を抽出し、時間スケール値4では周波数262Hz(音高C4)のレベル6を抽出し、時間スケール値5では周波数262Hz(音高C4)のレベル7を抽出し、時間スケール値6では周波数262Hz(音高C4)のレベル7を抽出し、時間スケール値7では周波数262Hz(音高C4)のレベル6を抽出し、時間スケール値8では周波数262Hz(音高C4)のレベル7を抽出し、時間スケール値9では周波数262Hzと277Hz(音高C4とC#4)のレベル6を抽出し、・・・・、時間スケール値53では周波数294Hz(音高D4)のレベル1を抽出する。
これにより、図中背景を黒く塗りつぶした部分で示すように、各時間スケール値毎の特徴抽出(特徴ベクトル抽出)が行われる。
【0040】
音響信号の特徴を抽出すると、次に、その特徴に基づいて仮説音符列を生成して出力する(ステップS24)。仮説音符列の生成は、図8で求めた特徴ベクトル列に対し、特徴ベクトルの変化量の極大値などから、特徴値が大きく変化する点を抽出し、その点を音符変化の候補とする。
【0041】
図9は、音符変化候補の探索模式図である。この図は、上記の図8と似ているが、時間軸に沿って所々に縦方向の区切り線L1〜L6が入れられている点で相違する。これらの区切り線L1〜L6の位置が、特徴値が大きく変化する点(音符変化の候補となる点)である。
【0042】
次に、その時間間隔(区切り線の間隔;以下、フレーム長)を、事前に定義しておいた音符の種類(四分音符か八分音符かなど)毎の平均フレーム長と照合し、音符の種類を推定する。
【0043】
そして、求めた間隔が四分音符や八分音符と推定された場合、十六分音符レベルまで候補位置を絞り込んで(図9の点線L7〜L13参照)から音高を推定する。
【0044】
図10は、1つのフレームに着目した仮説音符列出力の概念図である。この図に示すように、クロマベクトルの値を範囲内で足し込み、最も大きな値を示すもの(音響による確度:この場合、C4の八分音符で確度47とする)から、枝刈りの閾値(例えば10)以内にある候補を全て出力する。図10の右端には、そのようにして出力されたいくつかの仮説音符列、ここでは、たとえば、「C4」、「C#4とC4」、「B3とC4」が示されている。
【0045】
具体的に説明すると、図10(a)に示す1つのフレームを、十六分音符レベル区切り線L7を境にして前フレームFと後フレームBに分け、図10(b)に示すように、前フレームFと後フレームBの各々について、各音高(周波数)ごとのレベルの足し込みを行う。その結果、前フレームFにおいては、音高Bb3(周波数156Hz)で0+0+0+1+0=1、音高B3(周波数165Hz)で0+0+1+4+1=6、音高C4(周波数262Hz)で0+1+3+4+6=14、音高C#4(周波数277Hz)で1+1+2+5+1=10、音高D4(周波数294Hz)で0+0+1+2+0=3、音高Eb4(周波数311Hz)で0+0+0+1+0=1が得られ、後フレームBにおいては、音高Bb3(周波数156Hz)で0+1+1+0+0=2、音高B3(周波数165Hz)で2+1+2+1+4=10、音高C4(周波数262Hz)で7+7+6+7+6=33、音高C#4(周波数277Hz)で1+1+2+1+6=11、音高D4(周波数294Hz)で1+1+0+0+2=4、音高Eb4(周波数311Hz)で0+0+0+0+1=1が得られる。
【0046】
そして、後フレームBの最大足し込み値33と前フレームFの最大足し込み値14とを足して47を得ると共に、後フレームBの最大足し込み値33と前フレームFの次位最大足し込み値10とを足して49を得、後フレームBの最大足し込み値33と前フレームFの次々位最大足し込み値6とを足して43を得る。
【0047】
同様に、この処理を全区間に対して行うことにより、ハミング入力全体の仮説音符列を出力する。
【0048】
図11は、ハミング入力全体から出力された仮説音符列を示す図である。この図においては、L1とL7の間のフレームの仮説音符列として「C4C4」、「C#4C4」、「B3C4」が出力され、L2とL8の間のフレームの仮説音符列として「D4D4」が出力され、L3とL9の間のフレームの仮説音符列として「Eb4Eb4」、「Eb4E4」、「Eb4D4」、「E4Eb4」、「E4E4」、「E4D4」が出力され、L4とL10の間のフレームの仮説音符列として「C4C4」、「B3C4」、「B3B3」が出力され、L5とL11の間のフレームの仮説音符列として「D4D4D4Eb4」、「D4D4D4D4」、「D4D4D4C#4」、「D4D4Eb4Eb4」、「D4D4Eb4D4」、「D4D4E#4Eb4」、「D4D4C#4D4」、「D4D4D4E4」、「D4D4Eb4C#4」、「D4D4C#4C#4」が出力されている。
【0049】
なお、同じ音高の音が続いた場合は、それが八分音符か十六分音符二つかなどを認識するのは困難であるので、全て十六分分単位で出力を表している。
【0050】
このようにして仮説音符列を出力すると、次に、音符連鎖モデルによる補正処理(ステップS25)を実行した後、補正後出力値の最も大きい音符列を正解として出力する(ステップS26)。
【0051】
図12は、音符連鎖モデルによる補正処理を示す図である。この音符連鎖モデルによる補正処理では、まず、パターン検索を行い(ステップS25a)、パターンがある場合(ステップS25bの“YES”)には「音符連鎖モデルによる確率=一致したパターンの連鎖確率」とする(ステップS25c)。一方、パターンがない場合(ステップS25bの“NO”)には「音符連鎖モデルによる確率=α(αは所定値)」とし(ステップS25d)、いずれの場合も、「出力値=音響による確度×音符連鎖モデルによる確率」を演算(ステップS25e)した後、図4のフローに復帰する。
【0052】
図13は、ステップS25eの演算結果の一例を示す図である。この図において、左側にあるのが仮説音符列出力(図4のステップS24)で音響的に求められた出力である。ここでは、ア〜カの符号を付すと共に、見やすいように五線譜の形に直し、さらに、確度が高い順にソートしている。
【0053】
それらの候補(ア〜カ)に対し、音符連鎖モデルによる確率値を乗ずる。たとえば、アの音符連鎖モデルによる確率値が0.0045、イ〜エの同確率値が0.001、オの同確率値が0.00637、・・・・、カの同確率値が0.00701であるとする。
【0054】
音符モデルの確率値は、音符がどのように連鎖するかを表したものであり、この場合、四分音符3個分の長さの音符の連鎖する確率を示したものである。当然ながら一般的にあり得るメロディ進行の場合は確率が高く、また、頻度が閾値以下しか存在しなかったメロディ進行の場合はモデルに登録されない。その場合の確率値は、図12のステップS25dでフロアリングされるため、αに固定される(この場合、α=0.001)。
【0055】
したがって、図示の例によれば、アの補正後の出力値は「272×0.0045=1.224」、イの同出力値は「272×0.001=0.272」、ウ〜エの同出力値は「271×0.001=0.271」、オの同出力値は「271×0.00637=1.72627」、・・・・、カの同出力値は「266×0.00701=1.86466」となるので、補正後出力値の最も大きい音符列、つまり、カの「C4C4D4D4E4E4C4C4D4D4D4」を正解として出力する。
【0056】
以上のとおり、本第1実施形態によれば、音符連鎖モデルを使い、ハミングで入力された不安定なメロディを補正するようにしたので、一般的には存在しないメロディ、すなわち、音符連鎖の確率が低いメロディによる誤検索を回避することができる。このことについて、前記の従来技術2〜4との対比を行うと、前記の従来技術2〜4は、いずれも楽曲の音楽片やセグメント(区間)といった部分単位で検索を行うものであった。このため、ハミング入力された音響信号の音楽片やセグメントに、音高のズレやノイズ、曲中の速い部分の周波数分解能の少なさなどの不都合が生じていた場合、それらの不都合を抱えたまま、楽曲検索が行われてしまうので、間違った楽曲を検索してしまうことがあった。これは、音楽片やセグメントといった部分単位での照合しか行っていないからである。
【0057】
これに対して、本実施形態においては、ハミング入力されたメロディを音符連鎖モデルを用いて補正するので、仮に不安定なメロディがハミング入力されたとしても、常に連鎖確率が高いメロディ、すなわち、一般的にあり得るメロディに修正されるから、以降に行われる楽曲検索の精度を高めることができるのである。
【0058】
本第1実施形態では、簡略化のために、仮説音符列の開始音が音符連鎖モデルの開始音と一致する場合について説明した。両者が一致しない場合には、仮説音符列の開始音または音符連鎖モデルの開始音のいずれかの音高をシフトして開始音を一致させて補正処理を行う。また、補正尤度を求めるにあたって、音響尤度と言語尤度の積を用いたが、重み係数を導入して、前式(1)を、次式(2)のように変形してもよい。
補正尤度=音響尤度+重み係数×言語尤度 ・・・・(2)
【0059】
なお、音符連鎖モデルを構築する際に、たとえば、楽器毎(ピアノ、ギター、ベース、トランペットなど)や、音楽のジャンル毎(ロック、ワルツ、日本民謡など)、あるいは、作曲家や歌手毎に音符連鎖モデルを構築してもよい。このようにすると、音符連鎖モデルのボリュームを小さくすることができ、モデル構築時間の短縮や記憶容量の削減を図ることができるから好ましく、さらに、楽器毎、ジャンル毎、作曲家毎に音符連鎖モデルを作成すれば、それぞれに特有の音符連鎖の特徴をモデル化できるので、認識精度が向上する。
【0060】
また、上記の第1実施形態では、音の長さを考慮し、音符の種類(四分音符、八分音符など)を含めてモデル化しているが、簡易的に音の長さを無視してモデルを構築しても構わない。
また、第1実施形態では、ハミング入力に適用しているが、人の声に限定されず、楽器やその他の音源による入力であっても構わない。
【0061】
また、第1実施形態では、単音入力を例にしているが、楽器等による和音入力であってもよく、音符連鎖モデルも和音を考慮して構築しても構わない。
また、第1実施形態では、入力音も音符連鎖モデルも四分音符3個分としているが、これは代表例であり、必ずしもこの通りでなくてもよい。例えば入力音がもっと長い場合は、n音ずつ入力音をシフトさせながら第1実施形態の音符連鎖モデルによる補正処理(図12参照)を繰り返し、総和が大きいものを正解としても構わない。
【0062】
〔第2実施形態〕
図14は、第2実施形態における楽曲検索装置の機能ブロック図である。この図において、楽曲検索装置1aは、インターフェース部2、制御部3、音響信号入力部4、音響信号記憶部5、特徴抽出部6、特徴記憶部7、仮説音符列出力部8、音符連鎖モデル生成部9、音符連鎖モデル記憶部10、入力補正部11及び音符列出力部12を備える点で前記の第1実施形態のハミング入力装置1と共通し、楽曲データベース(図ではDBと略記)15及び比較部16からなる楽曲検索部14を備える点で第1実施形態のハミング入力装置1と相違する。
【0063】
なお、第1実施形態のハミング入力装置1との共通構成要素、すなわち、インターフェース部2、制御部3、音響信号入力部4、音響信号記憶部5、特徴抽出部6、特徴記憶部7、仮説音符列出力部8、音符連鎖モデル生成部9、音符連鎖モデル記憶部10、入力補正部11及び音符列出力部12の説明については、前記の第1実施形態を参照することにする。
【0064】
楽曲データベース15には、あらかじめ検索対象の楽曲情報が格納されている。この楽曲情報は、楽曲毎の音符列情報を含む。
【0065】
図15は、第2実施形態の動作フローチャートを示す図である。このフローチャートにおいて、ステップS21〜ステップS25及びステップS26は、前記の第1実施形態のハミング入力装置1の動作(図4参照)と同一であるが、ステップS25とステップS26の間で、ソート処理(ステップS31)、楽曲データベース15の曲数分のループ(ステップS32)、楽曲データベース15から1曲分の参照データ読み込み(ステップS33)、補正後候補数分のループ(ステップS34)及び類似度計算(ステップS35)を行う点で相違する。
【0066】
すなわち、比較部16では、まず、入力補正部11からの補正後出力(音符連鎖確率を用いて補正されたもの)を取り込み、それらをソートし、最も値の大きかったものから閾値β以内のもの(M個の音符列及び補正後出力値)を候補として保持する。
【0067】
次いで、楽曲データベース15から1曲分の音符列を読み込み、保持しておいたM個の音符列と楽曲データベース15から読み込んだ音符列とを比較して類似度を計算するという動作を、補正後出力分だけ繰り返し、且つ、楽曲データベース15から読み込んだ1曲分の音符列との類似度計算を完了すると、次の楽曲を楽曲データベース15から読み込んで同様の動作を繰り返し、全ての楽曲とを類似度を計算し終えると、最も類似度が高かった楽曲を最終結果として出力する。
【0068】
図16は、類似度計算の概念図である。たとえば、類似度評価値について、16分音符長毎の音の高さが完全に一致したときには3点、半音ズレは2点、一音ズレは1点、それ以上のズレは0点を与えることにする。類似度は以下の式(3)で求められる。
【0069】
類似度=補正後出力値×一致度 ・・・・(3)
【0070】
たとえば、ハミングの入力パターンを「C4C4D4D4E4E4C4C4D4D4D4D4」とし、比較対象中の楽曲の音符列パターンを「C4“D4”D4D4E4E4“C#4”C4D4D4“F4”D4」とする。“ ”で括った三つの音(“D4”、“C#4”、“F4”)は完全一致しない音である。この場合、“D4”はC4の1音ズレ、“C#4”はC4の半音ズレ、“F4”はD4の1音以上のズレであるから、前式(3)より、一致度は「30」となる。
【0071】
このようにして、全ての楽曲との類似度の計算が終わったら、類似度の大きい方から1乃至複数個の楽曲リストを検束結果として出力する。
【0072】
以上のとおり、本第2実施形態では、音符の連鎖確率を用いて補正された音符列のみを使って楽曲検索を行うので、音高が多少ずれたハミングやノイズの影響を受けたハミングであっても、正しい楽曲を検索することができる。
【0073】
なお、本第2実施形態では、音符の連鎖確率を用いて補正された音符列のみを使い、楽曲検索を行っているが、補正していない音符列についても類似度を求め、類似度計算に使用しても構わない。
【0074】
また、本第2実施形態では、楽曲データベース15を楽曲検索装置1aの一部としているが、この態様に限定されない。たとえば、電話回線やインターネット等を介して遠隔地に配置された一つ又は複数の楽曲データベースを参照するような構成であってもよい。この場合、比較部16も、当該楽曲データベースと同様に遠隔地に設置されたものであってもよい。
【0075】
また、以上の各実施形態においては、“音符”の連鎖確率に基づいて補正を行っているが、これに限らず、音符を“音高”と読み替えても構わない。
【図面の簡単な説明】
【0076】
【図1】第1実施形態におけるハミング入力装置の機能ブロック図である。
【図2】音声認識の音響モデルと言語モデルの関係を示す概念図である。
【図3】音符連鎖モデルの生成(構築)アルゴリズムを示す図である。
【図4】第1実施形態の動作フローチャートを示す図である。
【図5】クロマベクトルを示す模式図である。
【図6】フィルタの模式図である。
【図7】ハミング入力の一例を示す図である。
【図8】ハミング入力の周波数分布図である。
【図9】音符変化候補の探索模式図である。
【図10】1つのフレームに着目した仮説音符列出力の概念図である。
【図11】ハミング入力全体から出力された仮説音符列を示す図である。
【図12】音符連鎖モデルによる補正処理を示す図である。
【図13】ステップS25eの演算結果の一例を示す図である。
【図14】第2実施形態における楽曲検索装置の機能ブロック図である。
【図15】第2実施形態の動作フローチャートを示す図である。
【図16】類似度計算の概念図である。
【符号の説明】
【0077】
1 ハミング入力装置(メロディ入力装置)
1a 楽曲検索装置
4 音響信号入力部(入力手段)
6 特徴抽出部(抽出手段)
10 音符連鎖モデル記憶部(データベース)
11 入力補正部(補正手段)
14 楽曲検索部(検索手段)




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013