(57)【要約】【課題】音階の絶対位置のずれを許容し、また、歌唱のテンポがある程度変化しても安定して採譜する。【解決手段】入力された音声又は楽器音から自動的に音価を抽出する場合、まず、入力された音声を一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、その分析フレーム毎の基本周波数（fo）を求める。そして、このfoのオンセット間間隔（IOI）を求め、IOIの頻度分布を求める。そして、IOIの頻度分布と、予め定められた音価体系に基づく譜面上の時間長を規定した音価テンプレートとを整合させ、その整合性に基づいて音価を推定する。また、階名を推定する場合、同様にして、foの頻度分布を求め、このfoの頻度分布と、予め定めた音律に基づく音高を規定した鍵盤テンプレートとを整合させて、その整合性に基づき階名を推定する。【選択図】図６
2006227429.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声又は楽器音から自動的に楽譜情報を抽出する楽譜情報抽出方法において、
入力された音声又は楽器音を一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、分析フレーム毎の基本周波数を求めるステップと、
基本周波数のオンセット間間隔を求めるステップと、
各オンセット間間隔の頻度分布を求めるステップと、
基本周波数のオンセット間間隔の頻度分布と、予め定められた音価体系に基づく譜面上の時間長を規定した音価テンプレートとを整合させるステップと、
当該整合性に基づいて音価を推定するステップと、
当該推定された音価を出力するステップとを備えた楽譜情報抽出方法。
【請求項２】
入力された音声又は楽器音から自動的に楽譜情報を抽出する楽譜情報抽出方法において、
入力された音声又は楽器音を一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、分析フレーム毎の基本周波数を求めるステップと、
基本周波数の頻度分布を求めるステップと、
基本周波数の頻度分布と、予め定めた音律に基づく音高を規定した鍵盤テンプレートとを整合させるステップと、
当該整合性に基づいて階名を推定するステップと、
当該推定された階名を出力するステップとを備えた楽譜情報抽出方法。
【請求項３】
請求項１及び請求項２に記載された方法により階名及び音価を出力する楽譜情報抽出方法。
【請求項４】
前記音価を推定するステップが、各オンセット間間隔の頻度分布と音価テンプレートとを最も整合させるように、相対的に音価テンプレートの時間軸を伸縮させ、この時間軸の伸縮させた音価テンプレートのうち、最も時間長の短い音価を基準音価とし、他のオンセット間間隔の音価を基準音価の２のべき乗倍又はその１．５倍として音価を推定していくものである請求項１又は３に記載の楽譜情報抽出方法。
【請求項５】
前記階名を推定するステップが、基本周波数の頻度分布と鍵盤テンプレートとを最も整合させるように、前記鍵盤テンプレートの周波数軸を伸縮させ、この周波数軸の伸縮させた鍵盤テンプレートのうち、最も周波数の小さい音高の階名を移動ドにおけるドとし、他の音符の階名を、定められた音律に基づいて推定していくものである請求項２又は３に記載の楽譜情報抽出方法。
【請求項６】
入力された音声又は楽器音から自動的に楽譜情報を抽出する楽譜情報抽出装置において、
入力された音声又は楽器音を一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、分析フレーム毎の基本周波数を求める基本周波数抽出手段と、
基本周波数のオンセット間間隔を求めるオンセット間間隔抽出手段と、
オンセット間間隔の頻度分布を求める頻度分布計算手段と、
基本周波数のオンセット間間隔の頻度分布と、予め定められた音価体系に基づく譜面上の時間長を規定した音価テンプレートとを整合させる整合手段と、
当該整合性に基づいて音価を推定する音価推定手段と、
当該推定された音価を出力する出力手段とを備えた楽譜情報抽出装置。
【請求項７】
入力された音声又は楽器音から自動的に楽譜情報を抽出する楽譜情報抽出装置において、
前記入力された音声又は楽器音を一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、分析フレーム毎の基本周波数を求める基本周波数抽出手段と、
基本周波数の頻度分布を求める頻度分布計算手段と、
基本周波数の頻度分布と、予め定めた音律に基づく音高を規定した鍵盤テンプレートとを整合させる整合手段と、
当該整合性に基づいて階名を推定する階名推定手段と、
当該推定された階名を出力する出力手段とを備えた楽譜情報抽出装置。
【請求項８】
請求項６及び請求項７の音価推定手段及び階名推定手段によって推定された階名及び音価を出力する楽譜情報抽出装置。
【請求項９】
前記音価推定手段が、各オンセット間間隔の頻度分布と音価テンプレートとを最も整合させるように、相対的に音価テンプレートの時間軸を伸縮させ、この時間軸の伸縮させた音価テンプレートのうち、最も時間長の短い音価を基準音価とし、他のオンセット間間隔の音価を基準音価の２のべき乗倍又はその１．５倍として音価を推定していくものである請求項６又は８に記載の楽譜情報抽出装置。
【請求項１０】
前記階名推定手段が、基本周波数の頻度分布と鍵盤テンプレートとを最も整合させるように、前記鍵盤テンプレートの周波数軸を伸縮させ、この周波数軸の伸縮させた鍵盤テンプレートのうち、最も周波数の小さい音高の階名を移動ドにおけるドとし、他の音符の階名を、定められた音律に基づいて推定していくものである請求項７又は８に記載の楽譜情報抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハミングなどの単旋律の音声、又は、ギター、ピアノなどの楽器音から自動的に楽譜情報を抽出することのできる楽譜情報抽出方法及び楽譜情報抽出装置に関するものである。
【背景技術】
【０００２】
これまでに、自動採譜に関する研究としては、知識処理的アプローチによるピアノ・ギター・三味線の自動採譜（非特許文献１）や、クラスタリング手法を用いたバイオリン二重奏の採譜（非特許文献２）、弦楽四重奏の採譜（非特許文献３）などがある。これらの楽器による単旋律を対象とした楽譜情報抽出方法は、ほぼ実用レベルに達しており、また、単一楽器によるポリフォニーに対しては、楽器種を限定し、同時発音数などに関して強い制約を設けても構わない場合は、人間による採譜の労力を少しは軽減できるレベルにあると言える。
【非特許文献１】「知的採譜システム」人工知能学会誌,Vol.5, No.1, pp.59-66(1990),片寄晴弘、井口征士
【非特許文献２】「時間連動性を考慮した多重調波構造モデルによる多重奏音の自動採譜に関する検討」日本音響学会  音楽音響研究会  MA2003-41(2004)  小林政義、柳田益造
【非特許文献３】"Extraction of Fundamental frequencies from the sound of a violin duet.", Proc. of the Joint meeting of ASA/ASJ,pp.291-396(1996) Shirado,T. and Yanagida,M
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、主に楽器音を対象とした自動採譜システムに歌唱を分析せると、それなりの結果は得られるものの、採譜の対象が歌唱であると、その歌い手に基準音高を与えるか、若しくは、歌い手が絶対音感をもっていなければ、音高の絶対位置が正規の高さからずれてしまう可能性がある。また、採譜の対象が歌唱であると、各音の立上りや立下りが不明瞭になり、また、定常部以外の部分音高が不安定であることや、テンポが揺れることなど、自動採譜を困難にする要因がいくつも存在する。そして、音高の絶対位置がずれてしまうことが原因で、正規の音高基準で音高判定を行ったのでは、正確な階名の推定が行えない場合がある。
【０００４】
一方、歌唱を対象とした自動採譜を行う市販ソフトとして「鼻歌ミュージシャン２」（（株）メディア・ナビゲーション）なるものが存在している。ところが、このソフトでも、音価を正確に抽出するためには指定されたテンポで歌う必要があり、また、この指定されたテンポで歌った場合であっても、音価の推定性能はあまりよくない。
【０００５】
本発明はかかる課題に着目してなされたもので、音階の絶対位置のずれを許容して音高情報を抽出し、また、テンポがある程度変化しても、それが連続的であれば、正確に音価情報を抽出することのできる楽譜情報抽出方法及び楽譜情報抽出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記課題を解決するために、入力された音声又は楽器音から自動的に楽譜情報を抽出する場合、まず、入力された音声又は楽器音を一定のシフト間隔（すなわち、１回毎の分析区間の移動幅）毎に一定の分析フレーム長（すなわち、１回の分析区間の長さ）によって周波数分析し、その分析フレーム毎の基本周波数（以下「fo」とする）を求める。そして、このfoのオンセット間間隔（Inter-Onset Interval,以下「IOI」とする）を求め、IOIの頻度分布を求める。そして、IOIの頻度分布と、予め定められた音価体系に基づく譜面上の時間長を規定した音価テンプレートとを整合させ、その整合性に基づいて音価を推定するようにしたものである。
【０００７】
このようにすれば、音価テンプレートに対応するように各音符の音価が推定されるので、歌唱のテンポがある程度変化しても、正確に音価を推定することができるようになる。
【０００８】
また、階名を推定する場合、同様に、まず、入力された音声又は楽器音を一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、その分析フレーム毎のfoを求める。そして、そのfoの頻度分布を求め、このfoの頻度分布と、予め定めた音律に基づく音高を規定した鍵盤テンプレートとを整合させて、その整合性に基づき階名を推定する。
【０００９】
このようにすれば、鍵盤テンプレートに対応するように各音符の階名が推定されるので、歌い手が絶対音高で歌っていなくても、自分なりの基準音高で相対的に正しく歌っていれば正確に階名を推定することができ、また、楽器の調弦がずれている場合であっても、相対的に正しく演奏していれば正確に階名を推定することができるようになる。
【００１０】
更に、これらの方法によって階名及び音価を推定し、この階名及び音価からなる楽譜情報を出力する。
【００１１】
また、このように音価を推定する場合、IOIの頻度分布と音価テンプレートとを最も整合させるように相対的に音価テンプレートの時間軸を伸縮させ、この伸縮させた音価テンプレートのうち、最も時間長の短い音価を基準音価とし、また、他のIOIの音価を基準音価の２のべき乗倍又はその１．５倍として音価を推定していく。
【００１２】
このように最も短い音価を基準音価とすれば、この基準音価の２のべき乗倍として、他の音価を、四分音符、二分音符、全音符と推定することができ、また、これらの１．５倍として、それぞれ付点の付いた音価と推定することができる。
【００１３】
また、階名を推定する場合、foの頻度分布と鍵盤テンプレートとを最も整合させるように相対的に鍵盤テンプレートの周波数軸を伸縮させ、この伸縮させた鍵盤テンプレートのうち、最も周波数の小さい音高の階名を移動ドにおけるド（長調の主音、短調の３度音）とし、他の音符の階名を、定められた音律に基づいて推定していく。
【００１４】
このようにすれば、仮に、鍵盤における「ド」と「レ」の中間位置に歌い手の「ド」が設定されていた場合であっても、その歌い手の「レ」の位置を鍵盤の「レ」と「ミ」の中間位置に設定することができるようになる。
【発明の効果】
【００１５】
本発明によれば、音階の絶対位置のずれを許容して音高情報を抽出することができ、また、テンポがある程度変化しても正確に音価情報を抽出することができるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施の形態について図面を参照して説明する。図１は本実施の形態における自動採譜システムの構成例を示したものであり、携帯電話２ｂやマイクロフォン２ａなどから入力されたハミングなどの単旋律の歌唱などの音をもとに楽譜情報抽出装置１で採譜し、その採譜によって得られた音高と音価からなる音楽情報に和音付けをしたものを楽譜情報抽出装置１若しくは携帯電話２ｂなどで試聴可能に出力できるようにしたものである。また、図２は、その楽譜情報抽出装置１の機能ブロック図を示したものである。また、図３は、入力された単旋律音声からIOIを抽出する例を示したものである。また、図４及び図５は、音価テンプレート及び鍵盤テンプレートを示したものである。そして、図６及び図７は、IOIの頻度分布及びfoの頻度分布に対応して音価テンプレートや鍵盤テンプレートを伸縮させて整合させる例を示したものである。図８は、この入力されたハミングをもとに採譜情報を生成する楽譜情報抽出方法のフローチャートを示したものである。
【００１７】
一般に、調性音楽においては、例えば、十六分音符、八分音符、四分音符などのように、音価は２のべき乗の体系をなしている。しかしながら、実際の歌唱では、各音の長さが微妙に異なるため、各音の長さがどの音価に対応しているかを判断するのが困難である。そこで、各音の長さがどの音価に対応しているのかを正確に判断するように、次のような処理を行う。
【００１８】
すなわち、まず、単位時間を可変として２のべき乗間隔で並んだくし型の時間テンプレートを用意しておく。図４（若しくは図６（ｂ））は、十六分音符、八分音符、四分音符、二分音符、及びこれらに付点のついた音符に対応する音価テンプレートを示したものである。そして、入力された歌唱を一定のシフト間間隔毎に一定の分析フレーム長によって周波数分析し、分析フレーム毎のfoを求めるとともに、そのfoのIOIを求める。図３は、このIOIの抽出例を示したものであり、横軸を時間軸、縦軸を歌唱におけるfoとしたものである。そして、次に、このIOIの頻度分布の統計を求める。図６（ａ）は、このIOIの頻度分布を示している。図６（ａ）において、横軸はIOIを示しており、縦軸はその出現頻度を示している。通常、歌い手がほぼ一定のテンポで歌っていれば、基本的に２のべき乗の間隔で頻度分布のピークが現れ、それ以外の部分では、例えば、複付点音符などが存在しない限り出現頻度は極めて小さくなる。そして、次に、この頻度分布におけるピークを与えるIOIを正確な音価に整合させるべく、音価テンプレートの時間軸を伸縮させてIOIの頻度分布と整合させる。図６（ｃ）は、音価テンプレートの時間軸を引き伸ばして頻度分布（図６（ａ））に最も整合させるようにした例を示している。そして、最も整合する伸縮率において時間長の最も短いものを基準音価とし、他のIOIの音価を、基準音価の２のべき乗倍、若しくは、これらの１．５倍の音価と推定していくようにしている。
【００１９】
また、一般に、歌い手は、絶対的な音高の位置（例えば、鍵盤上の「ド」の位置であれば、130.81Ｈｚ）で歌っていないことが多い。しかし、正確な音高の位置で歌っていなくても、相対的に正確に歌っていれば各音高の周波数比はほぼ規定値となる。このため、この実施の形態において階名を推定する場合、音階を表す鍵盤テンプレートを用いて次のような方法で推定を行う。
【００２０】
まず、音価の推定の場合と同様にして、歌唱に含まれるfoの頻度分布を求める。図７（ａ）は、このfoの頻度分布を示したものであり、横軸をfo、縦軸をそのfoの出現頻度としたものである。通常、歌い手が相対的に正確に歌っていれば、各音高の周波数比はほぼ規定値となり、図７（ａ）に示すように、この周波数比の間隔で頻度分布のピークが現れ、それ以外の部分では、例えば、連続的に音高を遷移させる場合を除いては、出現頻度は極めて小さくなる。そして、この頻度分布の極大点（ピーク）にfoを正確に整合させるべく、予め、図５（若しくは、図７（ｂ））に示すような、ド、ド♯、レ、レ♯…などの周波数比に等しい間隔で並んだ周波数の鍵盤テンプレートを用意しておく。そして、この鍵盤テンプレートを伸縮させ、foの頻度分布と最も整合させるようにする。図７（ｃ）では、図７（ａ）のテンプレートを周波数軸に沿って引き伸ばして頻度分布（図７（ａ））と最も整合させる例を示している。そして、この鍵盤テンプレートの最も整合する位置において、ドの位置に対応するfoをその歌い手にとってのドとし、また、他のfoの階名を規定の周波数比で推定していくようにしている。
【００２１】
この音価や階名の推定方法は、楽譜情報抽出装置１によって実現される。この楽譜情報抽出装置１は、ハードウェア資源とソフトウェアを協働させて図２に示す各機能実現手段を実行させる。この楽譜情報抽出装置１には入力装置２が接続され、この入力装置２を介して外部から音声を入力させるようにしている。この入力装置２は外部から接続できるようにしても良く、若しくは、予め内部に組み込むようにしても良い。
【００２２】
この入力装置２は、音声を入力するためのマイクロフォン２ａや携帯電話２ｂなどによって構成される。携帯電話２ｂによって音声を入力する場合、その携帯電話２ｂで入力された音声を通信回線を介してその入力装置２に入力する。なお、この入力装置２によって音声を入力する場合、環境雑音や反射音を除去する処理を行うのが好ましい。
【００２３】
単旋律の歌唱では、ある時刻においては、１つの音しか発せられていない（壁などからの少し遅れた反射はここでは考えない）。従って、単旋律の歌唱に対して採譜を行うには、まず、ほぼ一定の音高で発声されている時間区間に区切る必要がある。言い換えると、譜面上での各音符に対応する時間区間を調べる。そして、その時間区間に対応する音価を推定し、更には、その時間区間の音高情報から階名を推定する。
【００２４】
そこで、まず、１つの音に対する時間区間の検出方法を説明する。歌唱では、ある音と音の間に一般には、スラーやタイがかかっていない場合、無音の時間区間が生じる。これはduty ratio（音価中で実際に音が発せられている時間の割合、ピアノではダンパーがはたらくまでの、つまり、キーを離すまでの時間の割合）が１以下であることによるもので、無音区間はその前の音が持つ音価に含まれるものとみなす。従って、１つの音に対する時間区間を検出するには、それぞれの音の立上り時刻を検出し、次の音の立上り時刻までの時間（IOI）を求め、このIOIを１つの音に対する譜面上の時間区間と考えれば良い。ここでは、休符は認識されず、休符の音価はその前の音の音価に含まれるものとみなす。これは、歌唱での休符はその開始時点の推定がほとんど不可能であるからである。
【００２５】
音の立上り時刻を検出する方法としては、大きく２つの方法が考えられる。１つは波形の振幅に対して、閾値処理を行うものである。もう１つは、入力信号の音高情報を時間方向に並べ、音高が大きく変化するところを音の立上りとみなす方法である。歌唱は楽器音とは違い、その振幅が不安定で、極端に大きな音で歌う部分や、逆に小さな声で歌う部分が存在することがある。従って、振幅に基準をおいた方法では、正確な検出が困難であろうと考え、ここでは、音高情報を用いる方法を採用する。
【００２６】
具体的には、まず、fo抽出手段１０により、入力音声に対してケプストラムなどの分析手法を用いて、foを抽出する。装置に応じた適当なサンプリング周波数、フレーム長、シフト間隔で、例えば、入力音声のサンプリング周波数は22.05KHzとし、512サンプルの分析フレームを256サンプル点ずつずらしながら、各分析フレームにおけるfoを抽出する。あるフレームｔにおけるfoをセント値で表現したものをFO(t)とおく。変数ｔは分析フレーム番号である。F0(t-1)とF0(t)との差が、50セント（半音の半分）以上、つまり数１を満たすときのｔをfoの立上り時刻（実際はフレーム位置）とする。
【００２７】
【数１】
2006227429.tif 000003
【００２８】
この判定基準を用い、IOI抽出手段１１によって、ある音の立上り時刻から次の立上り時刻までの時間（IOI)を求める。判定基準からわかるように、ここではタイのかかった同音は連続した音符とみなされ、トリルの各音は個別の音とみなすことになる。ビブラートは、その深さと速さによってどのように判定さるかが異なる。
【００２９】
次に、IOI頻度分布計算手段１２ａによって、IOIの頻度分布を求め、また、fo頻度分布計算手段１２ｂによって、foの頻度分布を計算する。このIOIの頻度分布を図６（ａ）に示し、また、foの頻度分布を図７（ａ）に示す。図６（ａ）に示すように、歌い手がほぼ一定のテンポで歌っている場合は、基本的に２のべき乗の間隔、もしくは、付点に対応するその１．５倍の間隔で頻度頻度のピークが現れることになる。また、音価については、各音高の周波数比の間隔で頻度頻度のピークが現れることになる。
【００３０】
そして、まず、このIOIの頻度分布を用いて、各音符の音価を推定する。歌唱のテンポは、指示がなければ、かなりの自由度がある。従って、歌唱中の各音の音価を推定するためには、その歌唱における八分音符、四分音符などの各音符の音価に対応するIOIを調べる必要がある。これが分かれば、各音に対するIOIが、どの音価に最も近いかを調べることにより、各音の音価を推定することができる。調性音楽では、音価は基本的には２のべき乗の体系をなしているので、歌唱の中で最も短い音符の音価に対応するIOIを調べることができれば、その他の音符の音価に対応するIOIも分かったことになる。本実施の形態では、歌唱の中で最も短い音価に対応するIOIを「基準IOI」を呼び、τで表すこととする。他の音価は、ほぼこれの２のべき乗の長さをとることとなる。
【００３１】
基準IOIを調べるために、歌唱中のIOIの頻度分布をとる。すると複数のピークが現れることになり、それらのピークの中で２のべき乗系列でのIOIが最も短いもののIOIが基準IOIであると考えることができる。
【００３２】
ここで、音価が２のべき乗の体系をなすことを考慮して、予め、数２のような関数Tt(t,τ)を音価テンプレートとして用意する。
【００３３】
【数２】
2006227429.tif 000004
【００３４】
この数２を図で表したものが図４である。八分音符、四分音符などの基本の音価は２のべき乗の体系をなしているので、ｔがτの２のべき乗倍となるとき、関数値１を与えている。また、それらの音符の１．５倍の長さをもつ、付点の付いた音符も存在する。この付点の付いた音符を、基本の音符であると誤認識してしまうことを防ぐために、ｔがτのべき乗の１．５倍となるとき、基本系よりも重みを抑えた０．５という関数値を与えている。
【００３５】
関数Tt(t,τ)は２つの時間ｔとτを変数としてもつ関数である。また、Tt(t,τ)はτによって時間方向に伸縮する関数である。音価テンプレート整合手段１３ａによってτを変化させながらIOIの頻度分布Ft(t)とTt(t，τ)のｔ軸上での整合度を調べ、整合度が最大となるときのτを、その歌唱における基準IOIであると推定する。具体的には、関数Tt(t，τ)と、関数Ft(t)との時間軸上の整合度をCt(τ)を以下の数３により求め、Ct(τ)の最大値を与えるτ＝τ0を基準IOIとする。但し、τの変化幅はサンプリング間隔とする。なお、ここでサンプリング間隔とは、時間的に変化する波形などを離散的に表現する場合に標本値をとるための時間間隔を意味する。
【００３６】
【数３】
2006227429.tif 000005
【００３７】
この整合のとれた状態を図６（ｃ）に示している。図６（ｃ）では、音価プンプレートを時間軸に沿って引き伸ばして頻度分布に整合させている。そして、この整合のとれた音価テンプレートのうち、最も時間長の短いτoが基準IOI（基準音価）である。
【００３８】
このようにして求めた基準IOIを用いて、各音のIOIが基準IOI（τo）の約何倍であるか（基本音価なら２のべき乗倍、付点音符なら基本音価の１．５倍）を調べることにより、各音の音価を推定する。ある音に対するIOIをTとすると、
【００３９】
【数４】
2006227429.tif 000006
【００４０】
【数５】
2006227429.tif 000007
【００４１】
となる。数４を満たすm0を見つけ、数５に従って音価を音価推定手段１４によって推定する。m0=5や、m0=7といった音価は音楽的には存在しないが、本実施の形態は、MIDIファイルに出力する際、基準の音価（=τ0）のm0倍の音価としてそのまま出力する。例えば、付点四分音符の後に四分休符がある場合、ここでは休符は認識しないので、m0=5という結果となる。また、例えば、ある歌唱の中で最も短い音符は十六分音符であり、ある音に対するIOIが基準IOIの４倍であったとすると、その音は四分音符の音価を持つと推定することができる。また、なお、歌唱のテンポは揺れる可能性があるので、緩急の大きい歌唱の基準IOIの推定は、局所的に行うことが望ましい。
【００４２】
次に、階名の推定処理について説明する。階名の推定は、階名推定手段１５によって行われる。具体的には、１つの音と判定される時間区間内でのfoの平均値を求め、それがどの階名の基準周波数に最も近いかを調べることによって階名の推定を行う。
【００４３】
従来の音高推定システムでは、標準位置での音階のfo（A4=440 or 442Hz)を用いることが多いが、それでは任意の基準周波数で歌うことを許容した場合に対してうまく推定を行えない。
【００４４】
絶対音感を持たない人は、歌い始めの高さを与えられないと、譜面上の調の正確な高さで歌うことが困難であるが、相対的に正確に歌えていれば、絶対的な音の高さは正規の高さでなくても、正確に歌えていると考えるべきであり、特に鼻歌のように気安く歌う場合に、絶対的な音の高さを利用者に要求することは不可能である。
【００４５】
仮に、絶対位置での音階の基準周波数を用いて階名の推定を行ったとする。そして、利用者はハ長調のドの音（Ｃ）を発したつもりが、ＣとＣ♯のほぼ中央の周波数の音を発してしまったとする。一般的に、いわゆる音痴の人でない限り、歌唱では音程関係はほぼ規定通りに保たれるので、その利用者にとってのＤの音は、ＤとＤ♯のほぼ中央の周波数、Ｅの音はＥとＦのほぼ中央の周波数、といったように、全ての音が絶対位置での音階の基準周波数から一定の比でずれてしまう。すなわち、全ての音に対して、一定の比による補正を行わなければ、正確な階名の推定が困難となってしまう。
【００４６】
このような状況に対処するため、本実施の形態では、音階の基準周波数を絶対位置に決めてしまうのではなく、入力音声の基準周波数の頻度分布をもとに、利用者にとっての音階の基準周波数を求め、それをもとに階名を推定する方法をとる。
【００４７】
まず、入力音声全体における、foの頻度分布をとると、全音、または、半音間隔でピークが現れる。そこで、数６のような鍵盤テンプレートを用意する。
【００４８】
【数６】
2006227429.tif 000008
【００４９】
これを図示したものが図５である。関数Tf(f,fc)は、周波数ｆとド（長調の主音）の基準周波数に対応する可変基準周波数fｃを変数としてもつ関数である。図５の横軸は対数軸で、Tf(f,fc)はfcの値によってｆ軸方向に平行移動するような形の関数であり、ピアノの白鍵に対応する相対音高で関数値１、黒鍵に対応する相対音高で関数値０．５、その他で０となる、くし形の関数である。
【００５０】
fcの値を鍵盤テンプレート整合手段１３ｂによって変化させながら、foの頻度分布との整合度を調べ、整合度が最大となるときのfcを、その利用者にとっての（移動ドによる）ドの基準周波数と推定する。
【００５１】
具体的には、関数Tf(f,fc)と、関数Ff(f)との整合度Cf(fc)を以下の計算式により求め、Cf(fc)の最大値を与えるｆc=fc0をその歌唱でのドの基準周波数と推定する。fcのとり得る値はサンプリング間隔の整数倍の逆数とする。
【００５２】
【数７】
2006227429.tif 000009
【００５３】
また、ドから半音でｋ個上の階名の周波数を、
【００５４】
【数８】
2006227429.tif 000010
【００５５】
とする。ある１つの音と判定された時間区間内での基本周波数の平均値をfoとすると
【００５６】
【数９】
2006227429.tif 000011
【００５７】
を満たすときのkを、基準ドから半音単位で数えた階名音IDであると推定する。これを図示したものが図７（ｃ）である。図７（ｃ）では、鍵盤テンプレートを引き伸ばして頻度分布に整合させたものである。
【００５８】
このようにして求めた、利用者にとっての音階の基準周波数fc0をもとに、各音の周波数平均がどの階名の基準周波数に最も近いかを調べることにより、各音の階名を推定する。
【００５９】
出力手段１６は、このように推定された音価や音高からなる楽譜情報をMIDIファイルとして出力する。音高は中央Ｃを６０として、そこから半音毎に±1を加えた数で表示される。長調ならハ長調、短調ならイ長調で出力されるが、正規の調として出力する際には固定値が加えられるだけで処理される。なお、この出力手段１６による出力方法としては、例えば、携帯電話２ｂに送信して試聴可能に出力する方法や、楽譜として紙面上に印刷する方法、若しくは、ディスプレイ上に表示する方法などが考えられる。また、この楽譜情報に和音付けして出力するようにしても良い。
【００６０】
次に、このように構成された楽譜情報抽出装置１を用いた楽譜情報抽出方法のフローチャートについて図８を用いて説明する。
【００６１】
まず、ハミングなどの単旋律音声から採譜情報を生成する場合、その単旋律音声を携帯電話２ｂやマイクロフォン２ａなどの入力装置２を用いて取り込み（ステップＳ１）、その取り込まれた音声情報を一旦メモリに蓄積した後、一定のシフト間隔毎に一定の分析フレーム長によって周波数分析し、その分析フレーム毎のfoを求める（ステップＳ２）。
【００６２】
そして、音価情報を抽出する場合、この分析フレーム毎のfoのIOIの頻度分布を求めるとともに（ステップＳ３）、予め用意された音価テンプレートと最も整合させるように音価テンプレートの伸縮させる（ステップＳ４）。そして、最も整合度の高いτを基準音価（τ0）とし（ステップＳ５）、他の音価をτ0のm0倍として各分析フレーム毎の音価を推定していく（ステップＳ６）。
【００６３】
一方、階名情報を抽出する場合は、ステップＳ２で抽出されたfoの頻度分布を求めるとともに（ステップＳ７）、予め用意された鍵盤テンプレートと最も整合させるように鍵盤テンプレートを伸縮させる（ステップＳ８）。そして、最も整合度の高いｆを基準周波数（fco）とし、これを利用者にとっての移動ドでのドと推定し（ステップＳ９）、また、他の階名を一定の周波数比で推定しいく（ステップＳ１０）。
【００６４】
そして、これら推定された音価及び階名からなる楽譜情報をMIDIファイルとして出力し（ステップＳ１１）、利用者に試聴させるようにする。
【００６５】
このように上記実施の形態によれば、IOIの頻度分布と予め定められた音価体系に基づく譜面上の時間長を規定した音価テンプレートとを整合させ、その整合性に基づいて音価を推定するようにしたので、歌唱のテンポがある程度変化しても、正確に音価を推定することができるようになる。
【００６６】
また、階名を推定する場合は、foの頻度分布と予め定めた音律に基づく音高を規定した鍵盤テンプレートとを整合させて、その整合性に基づき階名を推定するようにしたので、歌い手が絶対音高で歌っていなくても、自分なりの基準音高で相対的に正しく歌っていれば正確に階名を推定することができるようになる。
【００６７】
更に、このように音価を推定する場合、IOIの頻度分布と音価テンプレートとを最も整合するように相対的に音価テンプレートの時間軸を伸縮させ、この伸縮させた音価テンプレートのうち、最も時間長の短い音価を基準音価とし、また、他のIOIの音価を基準音価の２のべき乗倍又はその１．５倍として音価を推定するようにしたので、最も短い音価を基準音価とすれば、この基準音価の２のべき乗倍として、他の音価を、四分音符、二分音符、全音符と推定することができ、また、これらの１．５倍として、それぞれ付点の付いた音価と推定することができるようになる。
【００６８】
また、階名を推定する場合、foの頻度分布と鍵盤テンプレートとを最も整合させるように相対的に鍵盤テンプレートの周波数軸を伸縮させ、この伸縮させた鍵盤テンプレートのうち、最も周波数の小さい音高の階名を移動ドにおけるド（長調の主音、短調の３度音）とし、他の音符の階名を、定められた音律に基づいて推定するようにしたので、仮に、鍵盤における「ド」と「レ」の中間位置に歌い手の「ド」が設定されていた場合であっても、その歌い手の「レ」の位置を鍵盤の「レ」と「ミ」の中間位置に設定することができるようになる。
【００６９】
なお、本発明は上記実施の形態に限定されることなく、種々の態様で実施することができる。
【００７０】
例えば、上記実施の形態では、音価テンプレートと鍵盤テンプレートを用いて音価と階名を推定するようにしているが、これらのうちどちらか一方、例えば、音価だけ、若しくは、音階だけを各テンプレートを用いて推定しても良い。
【００７１】
また、上記実施の形態では、音価テンプレートや鍵盤テンプレートを伸縮させてIOIの頻度分布やfoの頻度分布と最も整合させるようにしているが、これとは逆に各頻度分布側を伸縮させてテンプレートに整合させるようにしても良い。
【００７２】
更に、上記実施の形態では、音価テンプレートや鍵盤テンプレートとして、図４や図５に示すような「くし形」のテンプレートを用いているが、これに限らず、形状の異なる複数の音価テンプレートや鍵盤テンプレートを用意し、いずれか整合させるようにして音価や階名を推定するようにしても良い。
【００７３】
加えて、上記実施の形態では、音階の基準周波数の決定する際に、入力された音声全体に対して１つの音階の基準周波数を決定しているが、人によっては、音階の基準周波数が曲の中で徐々にずれてしまう可能性がある。そこで、曲全体で音階の基準周波数を決定するのではなく、途中で補正しながら音階の基準周波数を変更するようにしても良い。
【００７４】
また、上記実施の形態では、時間区間のfoの抽出にケプストラムなどの分析手法を採用しているが、音声信号に対して、ＳＩＦＴ，ＳＴＲＡＩＧＨＴの方法を採用するようにしても良い。
【００７５】
また、上記実施の形態では、音声や楽器音を入力させるようにしているが、これに限らず、ＣＤなどの記録媒体などに記録されている音楽を再生して入力させるようにしても良い。
【実施例１】
【００７６】
アルゴリズムの動作を確認するための評価実験を行った。以下の３つの入力音に対する動作確認を行う。実験に使用する曲は、簡単な７曲の童話（最初の４小節）である。
【００７７】
（１）MIDI出力音
【００７８】
MIDI打込みの出力音（音色はピアノ音）に対する動作確認を行う。これは、人が正確な音高で歌うことができないため、音価・音高ともに正確な入力音に対するシステムの動作を確認することが目的である。
【００７９】
（２）調弦をずらせたギター
【００８０】
利用者にとっての音階の基準周波数を調べて、それをもとに階名の推定を行っている。この処理が正しく動作しているかどうかを確認するために、調弦を全体にずらせたギターによる演奏に対する動作確認を行う。ここでは、A4=430Hz（正規の周波数より約10Hz（約40セント）下方へずれている）として調弦したギターを用いて人間が演奏し、それを自動採譜することによって、本システムの動作確認を行う。
【００８１】
（３）人による歌唱
【００８２】
人の歌唱に対するシステムの動作を確認する。被験者5名で、年齢は20歳前後、歌唱に対する特別なトレーニングなどを受けているような人は含んでいない。録音は比較的静かな部屋で行う。ハミングで歌うと音量が小さくなってしまうので、fo抽出などの際にその精度が落ちてしまうことを考慮し、「アー」や「ラー」など、母音を含む有声音を何か発声してもらうように、被験者に指示する。
【００８３】
次に、評価実験における評価基準を述べる。
【００８４】
人が思い描いている曲は、正規の譜面とは違っている場合がある。例えば、譜面上では四分音符となっているところを、八分音符２つであると間違えて記憶している場合などがある。又は、八分音符の後に八分休符が付く所を四分音符で歌うこともある。このような状況が存在するため、正規の譜面と出力結果を比較するのはなく、入力音声と出力結果とを聞き比べ、想定した譜面と比べて正しく認識しているかどうかを評価することとする。
【００８５】
本システムでは、休符を認識しないので、休符を除いた音符の総数を用いて、以下の式により認識率を計算する。
【００８６】
【数１０】
2006227429.tif 000012
【００８７】
本システムの認識率と、市販ソフト「鼻歌ミュージシャン２」の認識率の比較を以下に示す。
【００８８】
【表１】
2006227429.tif 000013
【００８９】
市販ソフトにおけるギター音の階名の認識については、多分、調弦をA4=430Hzとしたからであろうが、全ての音が同じ音高（A3前後）と認識され、正確な認識は１つも得られなかった。
【００９０】
人による歌唱の階名の認識率については、人が正確な音高で歌えていない場合が含まれるため、正確な認識率とは言えない。そこで、被験者一人一人について、音階の基準周波数からどの程度ずれて歌っているかを定量的に示すため、正規の音階の基準周波数からの標準偏差（セント値で表現）を求める。また、標準偏差に対するシステムの認識率を下表に示す。
【００９１】
【表２】
2006227429.tif 000014
【００９２】
表２より、音高のずれの標準偏差が23セント程度あっても、95％前後の認識率を得ることができる。しかし、音高ズレの標準偏差が28セント程度になると、認識率は60％にまで落ち込んでしまう。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態を示す自動採譜システムの構成例を示す図
【図２】同形態における楽譜情報抽出装置の機能ブロック図
【図３】同形態におけるIOIを示す図
【図４】同形態における音価テンプレートを示す図
【図５】同形態における鍵盤テンプレートを示す図
【図６】同形態におけるIOIの頻度分布と音価テンプレートとの整合度を示す図
【図７】同形態におけるfoの頻度分布と鍵盤テンプレートとの整合度を示す図
【図８】楽譜情報抽出方法を示すフローチャート
【符号の説明】
【００９４】
１・・・楽譜情報抽出装置
２・・・入力装置
２ａ・・・マイクロフォン
２ｂ・・・携帯電話
１０・・・fo抽出手段
１１・・・IOI抽出手段
１２ａ・・・IOI頻度分布計算手段
１２ｂ・・・fo頻度分布計算手段
１３・・・テンプレート整合手段
１４・・・音価推定手段
１５・・・階名推定手段
１６・・・出力手段
【図１】
2006227429.tif 000015
【図２】
2006227429.tif 000016
【図３】
2006227429.tif 000017
【図４】
2006227429.tif 000018
【図５】
2006227429.tif 000019
【図６】
2006227429.tif 000020
【図７】
2006227429.tif 000021
【図８】
2006227429.tif 000022