(57)【要約】  【課題】より適切にユーザが発声可能な音高，音域を判定する。  【解決手段】まず、ユーザの歌唱に伴う時間軸に沿った歌唱音高の推移パターンを、楽曲を適切に歌唱した場合におけるガイド音高ｋの推移パターンと対比することで、これら推移パターンの誤差ｄを算出し、ユーザの誤差分布に反映させる。そして、隣接するガイド音高ｋ−１，ｋ＋１における誤差ｄとの差分Δｄそれぞれを対比した誤差比が最小となるガイド音高ｋを、その誤差分布に対応するユーザの音域における最高音ｋｕｐと判定する（ｓ３１０〜ｓ３３０）。同様に、隣接するガイド音高ｋ−１，ｋ＋１における誤差との差分それぞれを対比した誤差比が最小となるガイド音高ｋを、その誤差成分に対応するユーザの音域における最低音ｋｌｏと判定する（同図ｓ４１０〜ｓ４３０）。これら最高音ｋｕｐおよび最低音ｋｌｏに基づいて、ユーザの音域を判定する（ｓ２６０）。【選択図】図６
2010197738.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる楽曲の歌唱に伴う時間軸に沿った音高の推移を示す歌唱データ，および，該歌唱データに係る歌唱楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示すガイドデータ，に基づいて、前記歌唱データで示される時間軸上の各単位区間（以降「歌唱区間」という）における音高（以降「歌唱音高」という）の推移パターンそれぞれを、前記ガイドデータで示される時間軸上の各単位区間（以降「ガイド区間」という）のうち、該当歌唱区間に対応するガイド区間における音高（以降「ガイド音高」という）の推移パターンと対比することにより、両推移パターンの誤差を、そのガイド区間において発声すべきガイド音高ｋ（＝１〜ｎのいずれか）に対する歌唱音高の誤差Δｄ［ｋ］としてそれぞれ算出する誤差算出手段と、
複数のユーザそれぞれに対して用意され、該ユーザの前記ガイド音高に対する前記歌唱音高の誤差を前記ガイド音高毎に分布させてなる誤差分布のうち、前記誤差算出手段による算出の契機となる歌唱を行ったユーザに対応する誤差分布に、その算出された誤差それぞれを、該算出に際して参照されたガイド区間におけるガイド音高ｋに対する歌唱音高の誤差ｄ［ｋ］として追加的に分布させることにより、前記誤差分布を更新する分布更新手段と、
前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、低い側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］との差分Δｄ［ｋ−１］（＝ｄ［ｋ］−ｄ［ｋ−１］）を高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）と対比した誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となるガイド音高ｋを抽出し、該抽出したガイド音高ｋを、その誤差成分に対応するユーザの音域における最高音ｋｕｐと判定する最高音判定手段と、を備えている
ことを特徴とする音高判定システム。
【請求項２】
前記最高音判定手段は、前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、前記差分Δｄ［ｋ］が０より大きく、かつ、前記誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となるガイド音高を抽出する
ことを特徴とする請求項１に記載の音高判定システム。
【請求項３】
前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が高い側に位置する所定数のガイド音高からなる帯域を高域誤差変曲帯域として抽出する高域誤差変曲帯域抽出手段，を備え、
前記最高音判定手段は、前記高域誤差変曲帯域抽出手段により抽出された高域誤差変曲帯域におけるガイド音高の中から前記最高音ｋｕｐとなるガイド音高を抽出する
ことを特徴とする請求項１または請求項２に記載の音高判定システム。
【請求項４】
前記高域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が高い側に位置しており，かつ，それぞれ隣接するガイド音高との間での誤差の変化率が一定以上となっているガイド音高それぞれからなる高音誤差変曲帯域を抽出する
ことを特徴とする請求項３に記載の音高判定システム。
【請求項５】
前記高域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、少なくとも音高が高い側に位置しているガイド音高を所定数のガイド音高毎のグループに分類すると共に、同一グループに分類されたガイド音高の誤差をグループ毎に平均化したうえで、各グループのうち、該グループにおける平均誤差で高音側に隣接するグループにおける平均誤差を除した隣接誤差比が最大となるグループを含む１以上のグループについて、これらグループに分類されたガイド音高それぞれからなる帯域を抽出する
ことを特徴とする請求項４に記載の音高判定システム。
【請求項６】
ユーザによる楽曲の歌唱に伴う時間軸に沿った音高の推移を示す歌唱データ，および，該歌唱データに係る歌唱楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示すガイドデータ，に基づいて、前記歌唱データで示される時間軸上の各単位区間（以降「歌唱区間」という）における音高（以降「歌唱音高」という）の推移パターンそれぞれを、前記ガイドデータで示される時間軸上の各単位区間（以降「ガイド区間」という）のうち、該当歌唱区間に対応するガイド区間における音高（以降「ガイド音高」という）の推移パターンと対比することにより、両推移パターンの誤差を、そのガイド区間において発声すべきガイド音高ｋ（＝１〜ｎのいずれか）に対する歌唱音高の誤差Δｄ［ｋ］としてそれぞれ算出する誤差算出手段と、
複数のユーザそれぞれに対して用意され、該ユーザの前記ガイド音高に対する前記歌唱音高の誤差を前記ガイド音高毎に分布させてなる誤差分布のうち、前記誤差算出手段による算出の契機となる歌唱を行ったユーザに対応する誤差分布に、その算出された誤差それぞれを、該算出に際して参照されたガイド区間におけるガイド音高ｋに対する歌唱音高の誤差ｄ［ｋ］として追加的に分布させることにより、前記誤差分布を更新する分布更新手段と、
前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）を低い側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］との差分Δｄ［ｋ−１］（＝ｄ［ｋ］−ｄ［ｋ−１］）と対比した誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となるガイド音高ｋを抽出し、該抽出したガイド音高ｋを、その誤差成分に対応するユーザの音域における最低音ｋｌｏと判定する最低音判定手段と、を備えている
ことを特徴とする音高判定システム。
【請求項７】
前記最低音判定手段は、前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、前記差分Δｄ［ｋ］が０より小さく、かつ、誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となるガイド音高ｋを抽出する
ことを特徴とする請求項６に記載の音高判定システム。
【請求項８】
前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が低い側に位置する所定数のガイド音高からなる帯域を低域誤差変曲帯域として抽出する低域誤差変曲帯域抽出手段，を備え、
前記最低音判定手段は、前記低域誤差変曲帯域抽出手段により抽出された低域誤差変曲帯域におけるガイド音高の中から前記最低音ｋｌｏとなるガイド音高を抽出する
ことを特徴とする請求項６または請求項７に記載の音高判定システム。
【請求項９】
前記低域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が低い側に位置しており，かつ，それぞれ隣接するガイド音高との間での誤差の変化率が一定以上となっているガイド音高それぞれからなる低音帯域を抽出する
ことを特徴とする請求項８に記載の音高判定システム。
【請求項１０】
前記低域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、少なくとも音高が低い側に位置しているガイド音高を所定数のガイド音高毎のグループに分類すると共に、同一グループに分類されたガイド音高の誤差をグループ毎に平均化したうえで、各グループのうち、該グループにおける平均誤差で高音側に隣接するグループにおける平均誤差を除した隣接誤差比が最小となるグループを含む１以上のグループについて、これらグループに分類されたガイド音高それぞれからなる帯域を抽出する
ことを特徴とする請求項９に記載の音高判定システム。
【請求項１１】
請求項１から５のいずれかに記載の全ての手段，および，請求項６から１０のいずれかに記載の全ての手段を供えた音域判定システムであって、
前記最高音判定手段により判定された最高音から、前記最低音判定手段により判定された最低音までの音高の範囲を、これら判定に際して参照された誤差分布に対応するユーザの音域と判定する音域判定手段，を備えている
ことを特徴とする音域判定システム。
【請求項１２】
請求項１から５のいずれかに記載の全ての手段として機能させるための各種処理手順をコンピュータに実行させるためのプログラム。
【請求項１３】
請求項６から１０のいずれかに記載の全ての手段として機能させるための各種処理手順をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１１のいずれかに記載の全ての手段として機能させるための各種処理手順をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの音域における音高を判定するためのシステムに関する。
【背景技術】
【０００２】
近年、楽曲を歌唱したユーザの音域を特定するための技術が種々提案されている。
【０００３】
例えば、ユーザによる楽曲の歌唱中に、マイクから入力された音声における最高音高（最高音程）および最低音高（最低音程）を検出し、そうして検出された最高音高から最低音高までを、そのユーザの音域と判定する、といった技術がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７３０５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述した技術は、単に歌唱に際して検出された最高音高および最低音高の範囲を該当ユーザの音域と判定しているため、適切に発声されたものであるか否かに拘わらず、検出された音高をユーザが適切に発声可能な音高と判定してしまい、さらには、検出された音高で規定される音域をユーザの音域と判定してしまう。
【０００６】
具体的にいえば、あるユーザにとって発声しにくい音高の区間を有する楽曲が歌唱された場合を想定すると、その区間においてたとえ一時的に適切な音高に到達したとしても、その区間における音高の推移パターンは、その区間を適切に歌唱した場合における推移パターンから大きく異なったものになってしまう可能性が高い。
【０００７】
このような音高については、そのユーザが無理に発声している音高といえ、歌唱に適した状態で発声できる音高とは言い難いため、この音高がユーザの発声可能な音高と判定されないようにし、また、この音高を含まないようにユーザの音域を判定することが望ましい。
【０００８】
本発明は、このような課題を解決するためになされたものであり、その目的は、より適切にユーザが発声可能な音高，音域を判定するための技術を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため第１の構成は、
ユーザによる楽曲の歌唱に伴う時間軸に沿った音高の推移を示す歌唱データ，および，該歌唱データに係る歌唱楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示すガイドデータ，に基づいて、前記歌唱データで示される時間軸上の各単位区間（以降「歌唱区間」という）における音高（以降「歌唱音高」という）の推移パターンそれぞれを、前記ガイドデータで示される時間軸上の各単位区間（以降「ガイド区間」という）のうち、該当歌唱区間に対応するガイド区間における音高（以降「ガイド音高」という）の推移パターンと対比することにより、両推移パターンの誤差を、そのガイド区間において発声すべきガイド音高ｋ（＝１〜ｎのいずれか）に対する歌唱音高の誤差Δｄ［ｋ］としてそれぞれ算出する誤差算出手段と、
複数のユーザそれぞれに対して用意され、該ユーザの前記ガイド音高に対する前記歌唱音高の誤差を前記ガイド音高毎に分布させてなる誤差分布のうち、前記誤差算出手段による算出の契機となる歌唱を行ったユーザに対応する誤差分布に、その算出された誤差それぞれを、該算出に際して参照されたガイド区間におけるガイド音高ｋに対する歌唱音高の誤差ｄ［ｋ］として追加的に分布させることにより、前記誤差分布を更新する分布更新手段と、
前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、低い側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］との差分Δｄ［ｋ−１］（＝ｄ［ｋ］−ｄ［ｋ−１］）を高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）と対比した誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となるガイド音高ｋを抽出し、該抽出したガイド音高ｋを、その誤差成分に対応するユーザの音域における最高音ｋｕｐと判定する最高音判定手段と、を備えている。
【００１０】
この構成における音高判定システムでは、まず、ユーザの歌唱に伴う時間軸に沿った音高（歌唱音高）の推移パターンを、楽曲を適切に歌唱した場合における音高（ガイド音高）の推移パターンと対比することで、これら推移パターンの誤差ｄを算出し、これをユーザの誤差分布に反映させる。
【００１１】
そして、誤差分布におけるガイド音高１〜ｎのうち、隣接するガイド音高における誤差ｄとの差分Δｄそれぞれを対比した誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となるガイド音高ｋを、その誤差分布に対応するユーザの音域における最高音ｋｕｐと判定している。
【００１２】
誤差分布は、特定ガイド区間のガイド音高ｋに対する歌唱音高の推移パターンとしての誤差ｄ［ｋ］をガイド音高ｋ毎に分布させたものであるため、その誤差ｄ［ｋ］が小さいガイド音高ｋは、該当ユーザが同じような推移パターンで適切に発声できている音高といえるのに対し、その誤差ｄ［ｋ］が大きいガイド音高は、該当ユーザが無理に発声している音高といえる。
【００１３】
そうすると、ユーザが適切に発声できているガイド音高ｋから無理に発声しているガイド音高ｋ＋１へと至る高音側の変曲領域では、低い側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］との差分Δｄ［ｋ−１］に対し、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ］との差分Δｄ［ｋ］が急増する傾向を示す。この傾向は、ユーザが適切に発声できている最も高いガイド音高ｋ付近で最も顕著に表れることが予想され、この場合、差分Δｄ同士を対比した誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜は、分母である差分Δｄ［ｋ］が著しく大きくなることで最小値を示すことになる。
【００１４】
このようなことから、上記構成では、誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となっているガイド音高ｋを、ユーザが適切に発声できているガイド音高ｋのうち、最も高い音高ｋｕｐと判定することができる。
【００１５】
また、この構成においては、最高音ｋｕｐの判定時に参照するガイド音高ｋの範囲をある程度限定することが、処理負荷や判定精度の観点で望ましい。このための構成としては、例えば、上記構成を以下に示す第２の構成（請求項２）のようにすることが考えられる。
【００１６】
この構成において、前記最高音判定手段は、前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、前記差分Δｄ［ｋ］が０より大きく、かつ、前記誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となるガイド音高を抽出する。
【００１７】
この構成では、最高音ｋｕｐの判定時に参照するガイド音高ｋの範囲を、差分Δｄ［ｋ］が０より大きいものに限定している。
【００１８】
上述した変曲領域では、ガイド音高ｋが適切に発声できている最高音より高くなるにつれて、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ］が増加していくことが予想されるため、誤差ｄ［ｋ］と誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］は当然０より大きくなる。
【００１９】
そうすると、対象となるガイド音高ｋを差分Δｄ［ｋ］が０より大きいものに限定しても、最高音ｋｕｐとして抽出されるべきガイド音高ｋが抽出対象から除かれることはないため、適切に処理負荷を抑えることができる。
【００２０】
さらにいえば、適切なガイド音高ｋのみが対象となるため、不適切なガイド音高ｋを抽出してしまうことなどに起因して最高音ｋｕｐの判定精度が低くなってしまうことも防止することができる。
【００２１】
また、上記各構成において、最高音ｋｕｐとなるガイド音高ｋは、誤差分布における全てのガイド音高のうち、高音側の変曲領域にあるため、最高音ｋｕｐの判定時に参照するガイド音高ｋの範囲を、高音側の変曲領域を形成する帯域に限定することとしてもよい。このための構成としては、例えば、上記各構成を以下に示す第３の構成（請求項３）のようにすることが考えられる。
【００２２】
この構成においては、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が高い側に位置する所定数のガイド音高からなる帯域を高域誤差変曲帯域として抽出する高域誤差変曲帯域抽出手段，を備えている。そして、前記最高音判定手段は、前記高域誤差変曲帯域抽出手段により抽出された高域誤差変曲帯域におけるガイド音高の中から前記最高音ｋｕｐとなるガイド音高を抽出する。
【００２３】
この構成では、最高音ｋｕｐの判定時に参照するガイド音高ｋの範囲を、あらかじめ高音側の誤差変曲帯域に限定することにより、その判定に要する処理負荷を抑えることができる。
【００２４】
また、この構成において、高音誤差変曲帯域を抽出するための具体的な構成は特に限定されないが、例えば、以下に示す第４の構成（請求項４）のようにするとよい。
【００２５】
この構成において、前記高域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が高い側に位置しており，かつ，それぞれ隣接するガイド音高との間での誤差の変化率が一定以上となっているガイド音高それぞれからなる高音誤差変曲帯域を抽出する。
【００２６】
誤差分布における高音側の帯域では、ガイド音高ｋが適切に発声できる音高より高くなるにつれて誤差が大きくなっていくことが予想されるため、このように誤差が大きくなっていくことに伴い、それぞれ隣接するガイド音高における誤差の変化度合も大きくなっていく。
【００２７】
そのため、上記構成においては、帯域を抽出する際の変化率として、ユーザが適切に発声できるガイド音高以上の音高における変化率として想定される値を「一定の変化率」としておくことにより、高音誤差変曲帯域として適切な帯域を抽出することができる。
【００２８】
この構成は、より具体的に以下に示す第５の構成（請求項５）のようにするとよい。
【００２９】
この構成において、前記高域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、少なくとも音高が高い側に位置しているガイド音高を所定数のガイド音高毎のグループに分類すると共に、同一グループに分類されたガイド音高の誤差をグループ毎に平均化したうえで、各グループのうち、該グループにおける平均誤差で高音側に隣接するグループにおける平均誤差を除した隣接誤差比が最大となるグループを含む１以上のグループについて、これらグループに分類されたガイド音高それぞれからなる帯域を抽出する。
【００３０】
この構成であれば、所定数のガイド音高からなるグループ毎のガイド音高の誤差を平均化し、それぞれ隣接するグループ間の隣接誤差比が最大となっている１以上のグループについて、このグループにおけるガイド音高それぞれからなる高音誤差変曲領域を抽出することができる。
【００３１】
なお、この構成において、グループとして分類する対象となる「音高が高い側に位置しているガイド音高」とは、誤差分布において音高が高い側に位置していればよく、例えば、ガイド音高全域における高音側の一定割合（例えば、数十％など）とすることなどが考えられる。
【００３２】
また、上記課題を解決するため第６の構成は、
ユーザによる楽曲の歌唱に伴う時間軸に沿った音高の推移を示す歌唱データ，および，該歌唱データに係る歌唱楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示すガイドデータ，に基づいて、前記歌唱データで示される時間軸上の各単位区間（以降「歌唱区間」という）における音高（以降「歌唱音高」という）の推移パターンそれぞれを、前記ガイドデータで示される時間軸上の各単位区間（以降「ガイド区間」という）のうち、該当歌唱区間に対応するガイド区間における音高（以降「ガイド音高」という）の推移パターンと対比することにより、両推移パターンの誤差を、そのガイド区間において発声すべきガイド音高ｋ（＝１〜ｎのいずれか）に対する歌唱音高の誤差Δｄ［ｋ］としてそれぞれ算出する誤差算出手段と、
複数のユーザそれぞれに対して用意され、該ユーザの前記ガイド音高に対する前記歌唱音高の誤差を前記ガイド音高毎に分布させてなる誤差分布のうち、前記誤差算出手段による算出の契機となる歌唱を行ったユーザに対応する誤差分布に、その算出された誤差それぞれを、該算出に際して参照されたガイド区間におけるガイド音高ｋに対する歌唱音高の誤差ｄ［ｋ］として追加的に分布させることにより、前記誤差分布を更新する分布更新手段と、
前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）を低い側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］との差分Δｄ［ｋ−１］（＝ｄ［ｋ］−ｄ［ｋ−１］）と対比した誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となるガイド音高ｋを抽出し、該抽出したガイド音高ｋを、その誤差成分に対応するユーザの音域における最低音ｋｌｏと判定する最低音判定手段と、を備えている。
【００３３】
この構成における音高判定システムでは、上記構成と同様に、ユーザにおける誤差分布を更新したうえで、この誤差分布におけるガイド音高１〜ｎのうち、隣接するガイド音高における誤差との差分それぞれを対比した誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となるガイド音高ｋを、その誤差成分に対応するユーザの音域における最低音ｋｌｏと判定している。
【００３４】
上述したとおり、誤差Δｄ［ｋ］が小さいガイド音高ｋは、該当ユーザが同じような推移パターンで適切に発声できている音高といえるのに対し、その誤差Δｄ［ｋ］が大きいガイド音高は、該当ユーザが無理に発声している音高といえる。
【００３５】
そうすると、ユーザが無理に発声しているガイド音高から適切に発声できているガイド音高へと至る低音側の変曲領域では、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］に対し、低い側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］との差分Δｄ［ｋ−１］が急増する傾向を示す。この傾向は、ユーザが適切に発声できている最も低いガイド音高ｋ付近で最も顕著に表れることが予想され、この場合、差分Δｄ同士を対比した誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜は、分母である差分Δｄ［ｋ−１］が著しく大きくなることで最小値を示すことになる。
【００３６】
このようなことから、上記構成では、誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となっているガイド音高ｋを、ユーザが適切に発声できているガイド音高ｋのうち、最も低い音高ｋｌｏと判定することができる。
【００３７】
また、この構成においては、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲をある程度限定することが、処理負荷や判定精度の観点で望ましい。このための構成としては、例えば、上記構成を以下に示す第７の構成（請求項７）のようにすることが考えられる。
【００３８】
この構成において、前記最低音判定手段は、前記分布更新手段に更新された誤差分布におけるガイド音高ｋのうち、前記差分Δｄ［ｋ］が０より小さく、かつ、誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となるガイド音高ｋを抽出する。
【００３９】
この構成では、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲を、差分Δｄ［ｋ］が０より小さいものに限定している。
【００４０】
上述した変曲領域では、ガイド音高ｋが適切に発声できている最低音より低くなるにつれて、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ］が増加していくことが予想されるため、誤差ｄ［ｋ］と誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）は当然０より小さくなる。
【００４１】
そうすると、対象となるガイド音高ｋを差分Δｄ［ｋ］が０より小さいものに限定しても、最低音ｋｌｏとして抽出されるべきガイド音高ｋが抽出対象から除かれることはないため、適切に処理負荷を抑えることができる。
【００４２】
さらにいえば、適切なガイド音高ｋのみが対象となるため、不適切なガイド音高ｋを抽出してしまうことなどに起因して最低音ｋｌｏの判定精度が低くなってしまうことも防止することができる。
【００４３】
また、上記各構成において、最低音ｋｌｏとなるガイド音高ｋは、誤差分布における全てのガイド音高のうち、低音側の変曲領域にあるため、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲を、低音側の変曲領域を形成する帯域に限定することとしてもよい。このための構成としては、例えば、上記各構成を以下に示す第８の構成（請求項８）のようにすることが考えられる。
【００４４】
この構成において、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が低い側に位置する所定数のガイド音高からなる帯域を低域誤差変曲帯域として抽出する低域誤差変曲帯域抽出手段，を備えている。そして、前記最低音判定手段は、前記低域誤差変曲帯域抽出手段により抽出された低域誤差変曲帯域におけるガイド音高の中から前記最低音ｋｌｏとなるガイド音高を抽出する。
【００４５】
この構成では、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲を、あらかじめ低音側の誤差変曲帯域に限定することにより、その抽出および判定に要する処理負荷を抑えることができる。
【００４６】
また、この構成において、高音帯域を抽出するための具体的な構成は特に限定されないが、例えば、以下に示す第９の構成（請求項９）のようにするとよい。
【００４７】
この構成において、前記低域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、音高が低い側に位置しており，かつ，それぞれ隣接するガイド音高との間での誤差の変化率が一定以上となっているガイド音高それぞれからなる低音帯域を抽出する。
【００４８】
誤差分布における低音側の帯域では、ガイド音高ｋが適切に発声できる音高より低くなるにつれて誤差が大きくなっていくことが予想されるため、このように誤差が大きくなっていくことに伴い、それぞれ隣接するガイド音高における誤差の変化度合も大きくなっていく。
【００４９】
そのため、上記構成においては、帯域を抽出する際の変化率として、ユーザが適切に発声できるガイド音高以下の音高における変化率として想定される値を「一定の変化率」としておくことにより、高音誤差変曲帯域として適切な帯域を抽出することができる。
【００５０】
この構成は、より具体的に以下に示す第１０の構成（請求項１０）のようにするとよい。
【００５１】
この構成において、前記低域誤差変曲帯域抽出手段は、前記分布更新手段に更新された誤差分布における複数のガイド音高のうち、少なくとも音高が低い側に位置しているガイド音高を所定数のガイド音高毎のグループに分類すると共に、同一グループに分類されたガイド音高の誤差をグループ毎に平均化したうえで、各グループのうち、該グループにおける平均誤差で高音側に隣接するグループにおける平均誤差を除した隣接誤差比が最小となるグループを含む１以上のグループについて、これらグループに分類されたガイド音高それぞれからなる帯域を抽出する。
【００５２】
この構成であれば、所定数のガイド音高からなるグループ毎にガイド音高の誤差を平均化し、それぞれ隣接するグループ間における隣接誤差比が最小となっている１以上のグループについて、このグループにおけるガイド音高それぞれからなる低域誤差変曲領域を抽出することができる。
【００５３】
なお、この構成において、グループとして分類する対象となる「音高が低い側に位置しているガイド音高」とは、誤差分布において音高が低い側に位置していればよく、例えば、ガイド音高全域における低音側の一定割合（例えば、数十％など）とすることなどが考えられる。
【００５４】
また、上記各構成において、特定のガイド区間におけるガイド音高に対する歌唱音高の誤差は、どのような値であってもよく、例えば、歌唱音高の推移パターンとガイド音高の推移パターンとのパターンとしての形状の違いを数値化したものや、歌唱音高の推移パターンおよびガイド音高の推移パターンにおいて最終的に到達した音高それぞれの音高としての違いを数値化したものなどを採用することができる。
【００５５】
また、上記構成においてガイドデータを取得するに際しては、あらかじめ用意された複数のガイドデータの中から、歌唱データにおいてユーザが歌唱した楽曲に対応するものを取得することとすればよい。ここで「ユーザが歌唱した楽曲に対応するもの」であることは、歌唱データに、ユーザにより歌唱された楽曲を対応づけておき、その対応関係に基づいて特定することとすればよい。
【００５６】
また、上記構成において、該当ユーザに対応する誤差分布を更新するに際しては、歌唱データに、その歌唱をしたユーザを対応づけておき、その対応関係に基づいて特定したユーザの誤差分布を更新することとすればよい。
【００５７】
また、上記構成において歌唱データを取得するに際しては、ユーザによる楽曲の歌唱に伴って別途生成したものをシステム外部から取得することとすればよいし、ユーザによる楽曲の歌唱が行われる都度生成してこれを取得することとしてもよい。
【００５８】
この後者のように歌唱データを生成するにあたっては、ユーザが楽曲を歌唱してなる音声データに基づいて歌唱データを生成することとすればよく、そのためには、上記構成を以下に示すような第Ａの構成のようにするとよい。
【００５９】
この構成では、ユーザが楽曲を歌唱してなる音声データにつき、該音声データにおいて時間軸に沿った位置それぞれの音高を算出し、該音高の時間軸に沿った推移を示すデータを歌唱データとして取得する。
【００６０】
この構成であれば、ユーザによる楽曲の歌唱に係る音声データから歌唱データを生成し、これに基づいて音高の判定を行うことができる。
【００６１】
ところで、上述した歌唱データは、その歌唱に伴う時間軸に沿った音高の推移を示すものであるが、歌唱区間それぞれでみると、実際に音高の変化が開始されたタイミングが、その楽曲を適切に歌唱した場合におけるタイミングに対してズレていることもありうる。
【００６２】
この場合、上述したように単に推移パターンの対比により誤差を算出すると、そのようなタイミングのズレが要因となって誤差が大きくなってしまう。しかし、ユーザの音高を判定するという目的に照らせば、そのようなタイミングよりも、実際に音高が推移する推移パターンそのものが重要といえるため、そのようなタイミングのズレについてあらかじめ補償しておくことが望ましい。
【００６３】
そのように、タイミングのズレを補償するためには、上記各構成を以下に示す第Ｂの構成のようにすることが考えられる。
【００６４】
この構成においては、前記歌唱データで示される歌唱区間それぞれについて、該歌唱区間における歌唱音高の推移パターンと、前記ガイドデータで示される該当ガイド区間におけるガイド音高の推移パターンと、の近似度が最大となるように、その歌唱区間における時間軸上の位置を修正する。そして、前記誤差算出手段は、こうして修正された歌唱データで示される各単位区間における歌唱音高の推移パターンそれぞれを、前記ガイドデータで示される各ガイド区間のうち、該当する歌唱区間に対応するガイド区間におけるガイド音高の推移パターンと対比することにより、両推移パターンの誤差を、そのガイド区間において発声すべきガイド音高に対する歌唱音高の誤差としてそれぞれ算出する。
【００６５】
この構成であれば、歌唱音高の推移パターンとガイド音高の推移パターンとが最も近似するように、歌唱音高における時間軸上の位置が修正される。このように推移パターンが近似するということは、その音高の変化するタイミングも近似した状態になることを意味するため、こうして、音高の変化が開始されたタイミングのズレを補償することができる。
【００６６】
なお、この構成において、推移パターンが近似するように時間軸上の位置を修正するためには、どのような手法を採用してもよいが、例えば、特開２００５−１０７３３０号公報に記載されているような手法を採用することが考えられる。
【００６７】
また、上記課題を解決するため第１１の構成（請求項１１）は、第１から第５のいずれかの構成，および，第６から第１０のいずれかの構成の全ての手段を供えた音域判定システムであって、前記最高音判定手段により判定された最高音から、前記最低音判定手段により判定された最低音までの音高の範囲を、これら判定に際して参照された誤差分布に対応するユーザの音域と判定する音域判定手段，を備えている。
【００６８】
この構成であれば、上述したように、無理に発声している音高を除いた音高として判定されたユーザの音域における最高音ｋｕｐおよび最低音ｋｌｏに基づいて、このユーザの音域を適切に判定することができる。
【００６９】
また、上記課題を解決するため請求項１２の構成（請求項１２）は、上記第１から第５のいずれかの構成に係る全ての手段として機能させるための各種処理手順をコンピュータに実行させるためのプログラムである。
【００７０】
このプログラムにより制御されるコンピュータは、上記第１から第５のいずれかの構成の一部として機能することができる。
【００７１】
また、上記課題を解決するため請求項１３の構成（請求項１３）は、上記第６から第１２のいずれかの構成に係る全ての手段として機能させるための各種処理手順をコンピュータに実行させるためのプログラムである。
【００７２】
このプログラムにより制御されるコンピュータは、上記第６から第１２のいずれかの構成の一部として機能することができる。
【００７３】
また、上記課題を解決するため請求項１４の構成（請求項１４）は、上記第１１１の構成に係る全ての手段として機能させるための各種処理手順をコンピュータに実行させるためのプログラムである。
【００７４】
このプログラムにより制御されるコンピュータは、上記第１１の構成の一部として機能することができる。
【００７５】
なお、上述したプログラムは、コンピュータシステムによる処理に適した命令の順番付けられた列からなるものであって、各種記録媒体や通信回線を介して音高判定システムや、これらを利用するユーザ等に提供されるものである。
【図面の簡単な説明】
【００７６】
【図１】音域判定システムの全体構成を示すブロック図
【図２】誤差集計処理を示すフローチャート
【図３】歌唱データおよびガイドデータで示される音高の推移パターンを示す図
【図４】音声データで示される音声波形（ａ）、および、歌唱データで示される音高の推移パターンを示す図（ｂ）
【図５】誤差分布を示す図
【図６】音域判定処理を示すフローチャート（１／２）
【図７】音域判定処理を示すフローチャート（２／２）
【発明を実施するための形態】
【００７７】
以下に本発明の実施形態を図面と共に説明する。
（１）ハードウェア構成
音域判定システム１は、周知のコンピュータシステムからなる端末装置やカラオケ装置にプログラムを実装することにより実現されるものである。
【００７８】
まず、「端末装置」にプログラムを実装する場合のハードウェア構成は、図１（ａ）に示すように、システム全体を制御する制御部１１，各種情報を記憶する記憶部１３，ネットワーク２を介した通信を制御する通信部１５，キーボードやディスプレイなどからなるユーザインタフェース（Ｕ／Ｉ）部１７，記録メディアを介して情報を入出力するメディアドライブ１９などを備えた構成となる。
【００７９】
この構成では、ユーザインタフェース部１７または通信部１５を介して外部からの所定の指令を受けた際に、制御部１１が記憶部１３に記憶されたプログラムに従って各種処理を実行することによって、本発明の音域判定システムとしての機能を発揮する。
【００８０】
また、「カラオケ装置」にプログラムを実装する場合のハードウェア構成は、図１（ｂ）に示すように、システム全体を制御する制御部１１，演奏楽曲の伴奏内容および歌詞を示す楽曲データや映像データなどを記憶する記憶部１３，ネットワーク２を介した通信を制御する通信部１５，各種映像の表示を行う表示部２１，複数のキー・スイッチなどからなる操作部２３，マイク２５からの音声の入力とスピーカ２７からの音声の出力とを制御する音声入出力部２９などを備えた構成となる。
【００８１】
この構成では、操作部２３または通信部１５を介して外部からの所定の指令を受けた際に、制御部１１が記憶部１３に記憶されたプログラムに従って各種処理を実行することによって、本発明の音域判定システムとしての機能を発揮する。
【００８２】
なお、本実施形態では、音域判定システム１が単体の装置（端末装置，カラオケ装置）により構成されているが、それぞれ協調して動作する複数の装置により構成できることはいうまでもない。
（２）制御部１１による処理
以下に、制御部１１が記憶部１３に記憶されたプログラムに従って実行する各種処理手順を説明する。
（２−１）誤差集計処理
はじめに、誤差集計処理の処理手順を図２に基づいて説明する。
【００８３】
この誤差集計処理は、本音域判定システム１が端末装置により実現された構成であれば、ユーザインタフェース部１７を介して規定の操作が行われた，または，通信部１５を介してネットワーク２からの指令を受けた際に起動される。一方、本音域判定システム１がカラオケ装置により実現された構成であれば、カラオケ装置の動作モードが音域判定モードに切り替えられている状態で、ユーザによる楽曲の歌唱（楽曲データに基づく楽曲の再生）が行われる毎に起動される。
【００８４】
この誤差集計処理が起動されると、まず、ユーザによる楽曲の歌唱に伴う時間軸に沿った音高の推移を示す歌唱データが取得される（ｓ１１０）。この歌唱データは、ユーザが楽曲を歌唱した際の音高（以降「歌唱音高」という）の推移を時間軸に沿って示したものであり、具体的には、ユーザの歌唱に係る音声に含まれた基本周波数を時間軸に沿って推移させた推移パターンを示すものである（図３（ａ）参照）。
【００８５】
このｓ１１０では、本音域判定システム１が端末装置により実現された構成であれば、ユーザインタフェース部１７への操作を介して指定された歌唱データが記憶部１３やメディアドライブ１９（つまり記録メディア）から取得される、または、通信部１５を介して受信された歌唱データが取得される。なお、こうして取得される歌唱データは、その歌唱に係るユーザ，楽曲をそれぞれ識別するためのユーザ識別情報，楽曲識別情報が付加されたものとなっている。
【００８６】
また、本音域判定システム１がカラオケ装置により実現された構成であれば、ユーザによる楽曲の歌唱に際して生成された歌唱データが取得される。この場合には、楽曲の歌唱に伴って音声入出力部２９から入力されるユーザの音声データ（図４（ａ）参照）を取得しておき、この音声データにおいて時間軸に沿った位置それぞれの音高を算出し、この音高の時間軸に沿った推移（図４（ｂ）参照）を示すデータが歌唱データとして生成されることとなる。なお、こうして取得される歌唱データは、その歌唱に際してカラオケ装置にログインしているユーザを識別するためのユーザ識別情報と、その歌唱に係る楽曲を識別するためのユーザ識別情報，楽曲識別情報が付加されたものとなっている。
【００８７】
次に、上記ｓ１１０にて取得された歌唱データにおける歌唱に係る楽曲につき、この楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示すガイドデータが取得される（ｓ１２０）。このガイドデータとは、楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示したものであり、具体的には、適切に歌唱した場合の音声に含まれるべき基本周波数を時間軸に沿って推移させた推移パターンを示すものである（図３（ａ）参照）。
【００８８】
本実施形態においては、複数の楽曲それぞれに対し、その楽曲を適切に歌唱した場合における時間軸に沿った音高の推移を示すガイドデータが記憶部１３に複数記憶されており、このｓ１２０では、それらガイドデータのうち、上記ｓ１１０にて取得された歌唱データに付加された楽曲識別情報で識別される楽曲に対応するガイドデータが読み出され、これが取得される。なお、このガイドデータは、ネットワーク２を介して接続されたサーバ装置などからの提供を受けて、これを取得することとしてもよい。
【００８９】
次に、上記ｓ１１０にて取得された歌唱データで示される推移パターンにおける時間軸に沿った各単位区間（以降「歌唱区間」という）それぞれの位置が、上記ｓ１２０にて取得されたガイドデータに基づいて修正される（ｓ１３０）。
【００９０】
ここでは、歌唱データで示される歌唱区間それぞれについて、この歌唱区間における歌唱音高の推移パターンが、ガイドデータで示される時間軸上の各単位区間（以降「ガイド区間」という）のうち、その歌唱区間に対応するガイド区間における音高（以降「ガイド音高」という）の推移パターンと最も近似する（近似度が最大となる）ように、その歌唱区間における時間軸上の位置が修正（時間軸に沿って前後にシフト）される（図３（ｂ）参照）。
【００９１】
このように推移パターンが近似するように時間軸上の位置を修正する手法としては、どのような手法を採用してもよいが、例えば、特開２００５−１０７３３０号公報に記載されているような手法を採用することが考えられる。
【００９２】
なお、上述した歌唱区間，ガイド区間それぞれは、楽曲の時間軸に沿った全体を２以上に分割したそれぞれの区間を示すものであるが、楽曲全体を分割することなく全体として１つの歌唱区間，ガイド区間として取り扱うこととしてもよい。
【００９３】
次に、上記ｓ１３０にて時間軸上の位置が修正された歌唱データで示される歌唱音高の推移パターンと、上記ｓ１２０にて取得されたガイドデータで示されるガイド音高の推移パターンと、の対比により、ガイド音高に対する歌唱音高の誤差が算出される（ｓ１４０）。
【００９４】
ここでは、歌唱データで示される歌唱区間における歌唱音高の推移パターンそれぞれが、ガイドデータで示されるガイド区間のうち、該当歌唱区間に対応するガイド区間における推移パターンと対比され、そのガイド区間において発声すべきガイド音高ｋ（＝１〜ｎのいずれか）に対する歌唱音高の誤差ｄ［ｋ］それぞれが算出される。
【００９５】
ここでいう「誤差」とは、例えば、歌唱音高の推移パターンとガイド音高の推移パターンとのパターンとしての形状の違いを数値化したものや、歌唱音高の推移パターンおよびガイド音高の推移パターンにおいて最終的に到達した音高それぞれの音高としての違い（または歌唱音高がガイド音高と同一の音高となっている期間の違い）を数値化したものなどである。
【００９６】
次に、ユーザ毎に用意された情報であり、ガイド音高に対する歌唱音高の誤差をガイド音高毎に分布させてなる誤差分布を示す誤差分布情報のうち、上記ｓ１１０にて取得された歌唱データにおける歌唱に係るユーザに対応する誤差分布情報が取得される（ｓ１５０）。ここでは、歌唱データに付加されたユーザ識別情報に基づき、これにより識別されるユーザに対応する誤差分布情報が取得される。
【００９７】
この誤差分布情報で示される「誤差分布」は、図５（ａ）に示すように、縦軸に誤差の累積値をとり、横軸に基本周波数で規定されるガイド音高ｋをとって、ガイド音高ｋに対する歌唱音高の誤差を分布させたものである。なお、図５は、ガイド音高ｋそれぞれにおける誤差の累積値をつなぐ包絡線により誤差の分布を表している。
【００９８】
次に、上記ｓ１５０にて取得された誤算分布情報が、上記ｓ１４０にて算出された誤差それぞれを誤差分布に追加的に分布させたものを示すように更新される（ｓ１６０）。ここでは、上記ｓ１４０にて算出されたガイド音高毎の誤差それぞれが、上記ｓ１５０にて取得された誤算分布情報で示される誤差分布のうち、該当ガイド音高の誤差として積算され、こうして積算された誤差分布を示す誤差分布情報に更新される。
【００９９】
次に、上記ｓ１６０にて更新された誤差分布情報に基づいて、この誤差分布情報で示される誤差分布に対応するユーザの音域が判定される（ｓ１７０）。ここでは、上記ｓ１６０にて更新された誤差分布情報を引数として後述する音域判定処理が行われ、ここでユーザの音域が判定される。
【０１００】
そして、上記ｓ１８０にて判定されたユーザの音域が通知または記憶される（ｓ１８０）。ここでは、装置の動作設定が、上記ｓ１７０にて判定されたユーザの音域を通知すべき旨の設定となっている場合であれば、その音域がユーザインタフェース部１７や表示部２１に表示される、または、通信部１５を介して外部の装置へと送信される。また、ユーザの音域を蓄積しておくべき旨の設定となっている場合であれば、その音域を示す情報が記憶部１３や記録メディアに記憶される。
（２−２）音域判定処理
続いて、誤差集計処理のｓ１７０である音域判定処理の処理手順を図６に基づいて説明する。
【０１０１】
この音域判定処理では、まず、誤差集計処理から渡された誤差分布情報で示される誤差分布が、所定数のガイド音高毎のグループに分類される（ｓ２１０）。ここでは、図５（ｂ）に示すように、誤差分布の横軸が所定数のガイド音高ｋに相当する帯域毎に区切られ、こうして区切られた同一の帯域におけるガイド音高それぞれが、同じグループｍ（ｍは、グループを示すインデックス）のものとして分類される。
【０１０２】
次に、上記ｓ２１０で分類されたグループ毎に、同一グループに分類されたガイド音高ｋの誤差ｄ［ｋ］を平均化した平均誤差ｄ［ｍ］が算出される（ｓ２２０）。ここでは、図５（ｃ）に示すように、誤差分布における全ガイド音高ｋの誤差ｄ［ｋ］が、グループｍ毎に平均化した平均誤差ｄ［ｍ］とされる。
【０１０３】
次に、上記ｓ２１０で分類されたグループそれぞれについて、該当グループｍに隣接するガイド音高との間での誤差の変化率が算出される（ｓ２３０）。本実施形態では、該当グループｍと隣接するグループの平均誤差を、該当グループｍの平均誤差ｄ［ｍ］で除してなる隣接誤差比が変化率を表すパラメータとして算出される。
【０１０４】
より具体的には、図５（ｄ）に示すように、該当グループｍと低音側で隣接するグループｍ−１の平均誤差ｄ［ｍ−１］を、該当グループｍの平均誤差ｄ［ｍ］で除した値ｄ［ｍ−１］／ｄ［ｍ］が算出され、これが誤差分布における該当グループｍの隣接誤差比となる。この隣接誤差比は、変化率が大きくなるほど「１」から離れた値となる。なお、ここでは、該当グループｍと低音側に隣接するグループｍ−１との関係で隣接誤差比を算出しているが、高音側に隣接するグループｍ＋１との関係で隣接誤差比を算出することとしてもよい。
【０１０５】
次に、上記ｓ２１０で分類されたグループのうち、上記ｓ２３０で算出された変化率が一定以上となっているグループを含む１以上のグループで構成される帯域が、以降の処理で音域の最高音を特定する際の対象帯域として抽出される（ｓ２４０）。本実施形態では、図５（ｅ）に示すように、高音側において、変化率として算出された隣接誤差比が最大となっている（「１」から正方向に最も離れている）グループｍと、その隣接誤差比を算出する際に参照された平均誤差ｄ［ｍ−１］に対応するグループｍ−１と、で構成される高域側の帯域（高域側誤差変曲帯域）が、対象帯域として抽出される（同図の網掛け部Ａ参照）。
【０１０６】
なお、ここでは、該当グループｍとグループｍ−１との関係で隣接誤差比が算出されることを前提に、隣接誤差比が最大となっているグループｍとグループｍ−１とで構成される帯域が抽出されている。しかし、該当グループｍとグループｍ＋１との関係で隣接誤差比が算出される場合には、隣接誤差比が最大となっているグループｍとグループｍ＋１とで構成される帯域を、高域側誤差変曲帯域として抽出することとしてもよい。
【０１０７】
こうして、上記ｓ２４０で対象帯域が抽出された後、対象帯域を構成するグループのガイド音高それぞれについて、それぞれ隣接するガイド音高における誤差との差分Δｄが算出される（ｓ３１０）。
【０１０８】
本実施形態では、ガイド音高ｋそれぞれについて、まず、該当ガイド音高ｋの高音側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］と、該当ガイド音高ｋにおける誤差ｄ［ｋ］と、の差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）が算出される。そして、該当ガイド音高ｋにおける誤差ｄ［ｋ］と、該当ガイド音高ｋの低音側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］と、の差分Δｄ［ｋ］（＝ｄ［ｋ］−ｄ［ｋ−１］）が算出される。
【０１０９】
次に、対象帯域を構成するグループのガイド音高それぞれについて、該当ガイド音高ｋについて上記ｓ３１０で算出された差分Δｄ［ｋ−１］と差分Δｄ［ｋ］とを対比してなる誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が算出される（ｓ３２０）。
【０１１０】
次に、対象帯域を構成するグループのガイド音高のうち、上記ｓ３１０にて算出された差分Δｄ［ｋ］が０より大きく、かつ、上記ｓ３２０にて算出された誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となっているガイド音高ｋが抽出され、これがユーザの音域における最高音ｋｕｐとして判定される（ｓ３３０）。
【０１１１】
誤差分布情報で示される誤差分布は、ガイド音高ｋに対する歌唱音高の推移パターンとしての誤差ｄ［ｋ］をガイド音高毎に分布させたものであるため、誤差ｄ［ｋ］が小さいガイド音高ｋは、該当ユーザが同じような推移パターンで適切に発声できている音高といえるのに対し、その誤差ｄ［ｋ］が大きいガイド音高は、該当ユーザが無理に発声している音高といえる。
【０１１２】
そうすると、ユーザが適切に発声できているガイド音高から無理に発声しているガイド音高へと至る高音側誤差変曲帯域では、適切に発声できている最高音のガイド音高ｋと低音側に隣接するガイド音高ｋ−１における誤差ｄ［ｋ−１］に対し、高音側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ］が急増する傾向を示す（図７（ａ）参照）。
【０１１３】
この場合、このガイド音高ｋについての誤差ｄ［ｋ］と、高音側に隣接するガイド音高ｋ＋１についての誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］は当然０より大きくなる。また、低音側に隣接するガイド音高ｋ−１との比である誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜は一定の小さい値を示すことになる。具体的にいえば、この誤差比は、上記誤差変曲帯域においてユーザが適切に発声できている最高音のガイド音高ｋを変曲点として、分母であるΔｄ［ｋ］が著しく大きくなることで最小値を示すこととなる。
【０１１４】
こうして、差分Δｄ［ｋ］が０より大きく、かつ、誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となっているガイド音高ｋを最高音ｋｕｐと判定できる（図７（ｂ）の網掛け部Ａ参照）。
【０１１５】
次に、上記ｓ２１０で分類されたグループのうち、上記ｓ２３０で算出された変化率が一定以上となっている１以上のグループで構成される帯域が、以降の処理で音域の最低音を特定する際の対象帯域として抽出される（ｓ２５０）。本実施形態では、図５（ｅ）に示すように、低音側において、変化率として算出された隣接誤差比が最小となっている（「１」から負方向に最も離れている）グループｍと、その隣接誤差比を算出する際に参照された平均誤差ｄ［ｍ−１］に対応するグループｍ−１と、で構成される低域側の帯域（低域側誤差変曲帯域）が、対象帯域として抽出される（同図の網掛け部Ｂ参照）。
【０１１６】
なお、ここでは、該当グループｍとグループｍ−１との関係で隣接誤差比が算出されることを前提に、隣接誤差比が最小となっているグループｍとグループｍ−１とで構成される帯域が抽出されている。しかし、該当グループｍとグループｍ＋１との関係で隣接誤差比が算出される場合には、隣接誤差比が最小となっているグループｍとグループｍ＋１とで構成される帯域を、最小側誤差変曲帯域として抽出することとしてもよい。
【０１１７】
こうして、上記ｓ２５０で対象帯域が抽出された後、対象帯域を構成するグループのガイド音高それぞれについて、それぞれ隣接するガイド音高における誤差との差分Δｄが算出される（ｓ４１０）。本実施形態では、上記３１０と同様、差分Δｄ［ｋ］（＝ｄ［ｋ＋１］−ｄ［ｋ］）と、差分Δｄ［ｋ］（＝ｄ［ｋ］−ｄ［ｋ−１］）とが算出される。
【０１１８】
次に、対象帯域を構成するグループのガイド音高それぞれについて、該当ガイド音高ｋについて上記ｓ３１０で算出された差分Δｄ［ｋ］と差分Δｄ［ｋ−１］とを対比してなる誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が算出される（ｓ４２０）。
【０１１９】
次に、対象帯域を構成するグループのガイド音高のうち、上記ｓ４１０にて算出された差分Δｄ［ｋ］が０より小さく、かつ、上記ｓ４２０にて算出された誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となっているガイド音高ｋが抽出され、これがユーザの音域における最低音ｋｌｏと判定される（ｓ４３０）。
【０１２０】
上記のとおり、誤差ｄ［ｋ］が小さいガイド音高ｋは、該当ユーザが同じような推移パターンで適切に発声できている音高といえるのに対し、その誤差ｄ［ｋ］が大きいガイド音高は、該当ユーザが無理に発声している音高といえるため、低音側の誤差変曲帯域では、適切に発声できている最低音のガイド音高ｋより高音側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ＋１］に対し、ガイド音高ｋにおける誤差ｄ［ｋ］が急増する傾向を示す（図７（ａ）参照）。
【０１２１】
この場合、このガイド音高ｋについての誤差ｄ［ｋ］と、高音側に隣接するガイド音高ｋ＋１についての誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］は当然０より小さくなる。また、低音側に隣接するガイド音高ｋ−１との比である誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜は一定の小さい値を示すことになる。具体的にいえば、この誤差比は、上記誤差変曲帯域においてユーザが適切に発声できている最高音のガイド音高ｋを変曲点として、分母であるΔｄ［ｋ−１］が著しく大きくなることで最小値を示すこととなる。
【０１２２】
こうして、差分Δｄ［ｋ］が０より小さく、かつ、誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となっているガイド音高ｋを最高音ｋｌｏと判定できる（図７（ｂ）の網掛け部Ｂ参照）。
【０１２３】
そして、上記ｓ３３０にて判定された最高音ｋｕｐから、ｓ４３０にて判定された最低音ｋｌｏまでの音高の範囲が、ユーザの音域と判定される（図７（ｂ）（ｓ２６０）。
【０１２４】
こうして、ｓ２６０を終えた後、プロセスが誤差集計処理（ｓ１８０）へ戻る。
（３）作用，効果
本実施形態における音域判定システム１であれば、無理に発声している音高を除いた音高として判定されたユーザの音域における最高音ｋｕｐおよび最低音ｋｌｏに基づいて、このユーザの音域を適切に判定することができる（図ｓ２６０）。
【０１２５】
この最高音ｋｕｐ，最低音ｋｌｏの判定に際しては、まず、ユーザの歌唱に伴う時間軸に沿った音高（歌唱音高）の推移パターンを、楽曲を適切に歌唱した場合における音高（ガイド音高）の推移パターンと対比することで、これら推移パターンの誤差ｄを算出し（図６のｓ１４０）、これをユーザの誤差分布に反映させる（同図ｓ１６０）。
【０１２６】
そして、誤差分布におけるガイド音高１〜ｎのうち、隣接するガイド音高における誤差ｄとの差分Δｄそれぞれを対比した誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となるガイド音高ｋを、その誤差分布に対応するユーザの音域における最高音ｋｕｐと判定している（同図ｓ３１０〜ｓ３３０）。同様に、隣接するガイド音高における誤差との差分それぞれを対比した誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となるガイド音高ｋを、その誤差成分に対応するユーザの音域における最低音ｋｌｏと判定している（同図ｓ４１０〜ｓ４３０）。
【０１２７】
このように、上記実施形態では、誤差比｜Δｄ［ｋ−１］／Δｄ［ｋ］｜が最小となっているガイド音高ｋを、最高音ｋｕｐとして判定することができ、また、誤差比｜Δｄ［ｋ］／Δｄ［ｋ−１］｜が最小となっているガイド音高ｋを、最高音ｋｌｏとして判定することができる。
【０１２８】
また、上記実施形態では、最高音ｋｕｐの判定時に参照するガイド音高ｋの範囲を、差分Δｄ［ｋ］が０より大きいものに限定している（図６のｓ３３０）。
【０１２９】
上述した変曲領域では、ガイド音高Ｋが適切に発声できている最高音より高くなるにつれて、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ］が増加していくことが予想されるため、誤差ｄ［ｋ］と誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］は当然０より大きくなる。
【０１３０】
そうすると、対象となるガイド音高ｋを差分Δｄ［ｋ］が０より大きいものに限定しても、最高音ｋｕｐとして抽出されるべきガイド音高ｋが抽出対象から除かれることはないため、適切に処理負荷を抑えることができる。さらにいえば、適切なガイド音高ｋのみが対象となるため、不適切なガイド音高ｋを抽出してしまうことなどに起因して最高音ｋｕｐの判定精度が低くなってしまうことも防止することができる。
【０１３１】
また、上記実施形態では、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲を、差分Δｄ［ｋ］が０より小さいものに限定している（図６のｓ４３０）。
【０１３２】
上述した変曲領域では、ガイド音高ｋが適切に発声できている最低音より高くなるにつれて、高い側に隣接するガイド音高ｋ＋１における誤差ｄ［ｋ］が減少していくことが予想されるため、誤差ｄ［ｋ］と誤差ｄ［ｋ＋１］との差分Δｄ［ｋ］は当然０より小さくなる。
【０１３３】
そうすると、対象となるガイド音高ｋを差分Δｄ［ｋ］が０より小さいものに限定しても、最低音ｋｌｏとして抽出されるべきガイド音高ｋが抽出対象から除かれることはないため、適切に処理負荷を抑えることができる。さらにいえば、適切なガイド音高ｋのみが対象となるため、不適切なガイド音高ｋを抽出してしまうことなどに起因して最低音ｋｌｏの判定精度が低くなってしまうことも防止することができる。
【０１３４】
また、上記実施形態では、誤差分布におけるガイド音高ｋのうち、音高が高い側に位置する所定数のガイド音高からなる帯域を高音側の誤差変曲帯域として抽出したうえで、最高音ｋｕｐの判定を行っている（ｓ２４０〜ｓ３３０）。最高音ｋｕｐとなるガイド音高ｋは、誤差分布における全てのガイド音高のうち、高音側の変曲領域にあるため、最高音ｋｕｐの判定時に参照するガイド音高ｋの範囲を、高音側の変曲領域を形成する帯域に限定しても問題なく、これにより最高音ｋｕｐの判定に要する処理負荷を抑えることができる。
【０１３５】
また、上記実施形態では、誤差分布におけるガイド音高ｋのうち、音高が低い側に位置する所定数のガイド音高からなる帯域を低音側の誤差変曲帯域として抽出したうえで、最低音ｋｌｏの判定を行っている（ｓ２５０〜ｓ４３０）。最低音ｋｌｏとなるガイド音高ｋは、誤差分布における全てのガイド音高のうち、低音側の変曲領域にあるため、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲を、低音側の変曲領域を形成する帯域に限定しても問題なく、これにより最低音ｋｌｏの判定に要する処理負荷を抑えることができる。
【０１３６】
また、上記実施形態では、誤差分布のガイド音高のうち、音高が高い側に位置しており，かつ，それぞれ隣接するガイド音高との間での誤差の変化率が一定以上となっているガイド音高それぞれからなる高音誤差変曲帯域を抽出している（図６のｓ２４０）。
【０１３７】
誤差分布における高音側の帯域では、ガイド音高ｋが適切に発声できる音高より高くなるにつれて誤差が大きくなっていくことが予想されるため、このように誤差が大きくなっていくことに伴い、それぞれ隣接するガイド音高における誤差の変化度合も大きくなっていく。
【０１３８】
そのため、上述のように、帯域を抽出する際の変化率として、ユーザが適切に発声できるガイド音高以上の音高における変化率として想定される値（本実施形態においては「隣接誤差比が最大」となる値）を「一定の変化率」としておくことにより、高音誤差変曲帯域として適切な帯域を抽出することができる。
【０１３９】
また、上記実施形態では、誤差分布のガイド音高のうち、音高が低い側に位置しており，かつ，それぞれ隣接するガイド音高との間の誤差の変化率が一定以上となっているガイド音高それぞれからなる低音誤差変曲帯域を抽出している（図６のｓ２５０）。
【０１４０】
誤差分布における低音側の帯域では、ガイド音高ｋが適切に発声できる音高より低くなるにつれて誤差が大きくなっていくことが予想されるため、このように誤差が大きくなっていくことに伴い、それぞれ隣接するガイド音高における誤差の変化度合も大きくなっていく。
【０１４１】
そのため、上述のように、帯域を抽出する際の変化率として、ユーザが適切に発声できるガイド音高以下の音高における変化率として想定される値（本実施形態においては「隣接誤差比が最小」となる値）を「一定の変化率」としておくことにより、低音誤差変曲帯域として適切な帯域を抽出することができる。
【０１４２】
また、上記実施形態においては、所定数のガイド音高からなるグループ毎のガイド音高の誤差を平均化し（図６のｓ２２０）、それぞれ隣接するグループ間の隣接誤差比が最大となっている１以上のグループについて、このグループにおけるガイド音高それぞれからなる高音誤差変曲領域を抽出することができる（同図ｓ２４０）。同様に、隣接誤差比が最小となっている１以上のグループについて、このグループにおけるガイド音高それぞれからなる低音誤差変曲領域を抽出することができる。
【０１４３】
また、上記実施形態においては、歌唱音高の推移パターンとガイド音高の推移パターンとが最も近似するように、歌唱音高における時間軸上の位置が修正されたうえで音高の誤差が算出される（図２のｓ１４０）。このように推移パターンが近似するということは、その音高の変化するタイミングも近似した状態になることを意味するため、こうして、音高の変化が開始されたタイミングのズレを補償することができる。
（４）変形例
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【０１４４】
例えば、上記実施形態においては、最低音ｋｕｐの判定時に参照するガイド音高ｋの範囲を、差分Δｄ［ｋ］が０より大きいものに限定するように構成されている（図６のｓ３３０）。しかし、ここで参照するガイド音高ｋは、誤差分布における高音側のガイド音高であればよく、差分Δｄ［ｋ］とは無関係に決めてもよい。具体的な例としては、ガイド音高全域における高音側の一定割合（例えば、数十％など）とすることが考えられる。
【０１４５】
また、上記実施形態においては、最低音ｋｌｏの判定時に参照するガイド音高ｋの範囲を、差分Δｄ［ｋ］が０より小さいものに限定するように構成されている（図６のｓ４３０）。しかし、ここで参照するガイド音高ｋは、誤差分布における低音側のガイド音高であればよく、差分Δｄ［ｋ］とは無関係に決めてもよい。具体的な例としては、ガイド音高全域における低音側の一定割合（例えば、数十％など）とすることが考えられる。
（５）本発明との対応関係
以上説明した実施形態において、図２のｓ１４０が本発明における誤差算出手段であり、同図ｓ１６０が本発明における分布更新手段であり、図６のｓ３３０が本発明における最高音判定手段であり、同図ｓ２４０が本発明における高域誤差変曲帯域抽出手段であり、同図ｓ４３０が本発明における最低音判定手段であり、同図ｓ２５０が本発明における低域誤差変曲帯域抽出手段であり、同図ｓ２６０が本発明における音域判定手段である。
【符号の説明】
【０１４６】
１…音域判定システム、２…ネットワーク、１１…制御部、１３…記憶部、１５…通信部、１７…ユーザインタフェース部、１９…メディアドライブ、２１…表示部、２３…操作部、２５…マイク、２７…スピーカ、２９…音声入出力部。
【図１】
2010197738.tif 000003
【図２】
2010197738.tif 000004
【図３】
2010197738.tif 000005
【図４】
2010197738.tif 000006
【図６】
2010197738.tif 000007
【図５】
2010197738.tif 000008
【図７】
2010197738.tif 000009