(57)【特許請求の範囲】
【請求項１】
複数の入力データの始点から終点までの各情報を各入力データ間で対応付ける対応情報を生成する対応情報生成手段と、
前記対応情報生成手段が生成した対応情報により対応付けられた前記複数の入力データの途中の各位置を各々の始点とする新たな複数の入力データを前記対応情報生成手段に与える実行制御手段と
を具備することを特徴とするアライメント装置。
【請求項２】
前記実行制御手段は、前記対応情報生成手段に先行して与えた複数の入力データの各始点と各終点の間の略中央の各位置を各々の始点とする複数の入力データを前記新たな複数の入力データとし、前記対応情報生成手段に与えることを特徴とする請求項１に記載のアライメント装置。
【請求項３】
コンピュータを
複数の入力データの始点から終点までの各情報を各入力データ間で対応付ける対応情報を生成する対応情報生成手段と、
前記対応情報生成手段が生成した対応情報により対応付けられた前記複数の入力データの途中の各位置を各々の始点とする新たな複数の入力データを前記対応情報生成手段に与える実行制御手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のデータの各部の対応付けを行うアライメント装置に係り、特に音データ等の時系列データ間の対応付けを行うタイムアライメント装置に関する。
【背景技術】
【０００２】
ＤＴＷ（Ｄｙｎａｍｉｃ  Ｔｉｍｅ  Ｗｉｒｐｉｎｇ；動的時間整合）は、複数の時系列データ間の時間整合を行う技術である。特許文献１は、このＤＴＷを利用した楽曲練習支援装置を開示している。この楽曲練習支援装置では、歌唱音または演奏音の波形を表す第１のオーディオ信号を所定時間長の時間単位に分割するとともに、手本となる歌唱音または演奏音の波形を表す第２のオーディオ信号を所定時間長の時間単位に分割する。そして、ＤＴＷにより、第１のオーディオ信号の各時間単位と第２のオーディオ信号の各時間単位とを対応付ける対応情報を生成し、この対応情報により対応付けられた時間単位毎に両オーディオ信号波形を比較し、両者の一致度の点数化を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４７９７０１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＤＴＷでは、その対象となる第１および第２の入力データ（上記の例では第１および第２のオーディオ信号）の全区間のデータを用いて、対応情報を生成するための演算を実行する。従って、ＤＴＷを実行する場合、それに先立って、処理対象となる第１および第２の入力データの全区間のデータを記憶装置に格納する必要がある。従って、処理対象となる第１および第２の入力データが発生してから、対応情報の生成が開始されるまでの所要時間が長くなる問題がある。また、ＤＴＷの処理対象となる第１および第２の入力データの情報量が大きい場合、対応情報を生成するための演算において、大きな記憶容量の記憶装置が必要になる問題がある。
【０００５】
この発明は、以上説明した事情に鑑みてなされたものであり、対応付けの対象となるデータの入力が開始されてから対応情報の生成が開始されるまでの所要時間が短く、かつ、大きな記憶容量のメモリを使用することなく対応情報を生成することができるアライメント装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、複数の入力データの始点から終点までの各情報を各入力データ間で対応付ける対応情報を生成する対応情報生成手段と、前記対応情報生成手段が生成した対応情報により対応付けられた前記複数の入力データの途中の各位置を各々の始点とする新たな複数の入力データを前記対応情報生成手段に与える実行制御手段とを具備することを特徴とするアライメント装置を提供する。
【０００７】
この発明によれば、実行制御手段が複数の入力データを対応情報生成手段に与えると、対応情報生成手段は、複数の入力データの始点から終点までの各情報を各入力データ間で対応付ける対応情報を生成する。次に実行制御手段は、この対応情報により対応付けられた複数の入力データの途中の各位置を各々の始点とする新たな複数の入力データを対応情報生成手段に与える。以下同様であり、実行制御手段は、部分的に重複して前後した複数の入力データを対応情報生成手段に順次与え、対応情報の生成を行わせる。この発明によれば、このように実行制御手段が対応付けの対象である各データを部分的に重複して前後した複数の入力データに区切って対応情報生成手段に与えるので、対応付けの対象となるデータの入力が開始されてから対応情報の生成が開始されるまでの所要時間を短くし、かつ、対応情報を生成する演算のために使用する記憶装置の容量を少なくすることができる。また、この発明において、対応情報により対応付けられた複数の入力データの途中の各位置は、複数の入力データの各終点から離れているので、互いに正確に対応している可能性が高い。この発明によれば、実行制御手段は、対応情報生成手段が生成した対応情報により対応付けられた複数の入力データの途中の各位置を各々の始点とする新たな複数の入力データを対応情報生成手段に与えるので、対応情報生成手段により正確な対応情報を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明によるアライメント装置の一実施形態であるタイムアライメント装置としての機能を備えた歌唱評価装置の構成を示すブロック図である。
【図２】同実施形態における解析部、対応情報生成部および実行制御部の機能を示すブロック図である。
【図３】同実行制御部の動作を示すフローチャートである。
【図４】同実施形態の動作例を示す図である。
【図５】同実施形態の動作例を示す図である。
【図６】同実施形態の動作例を示す図である。
【図７】同実施形態の動作例を示す図である。
【図８】同実施形態における揮発性記憶部の使用状況を示すタイムチャートである。
【図９】同実施形態の比較例の動作を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、この発明の実施の形態を説明する。
図１はこの発明によるアライメント装置の一実施形態であるタイムアライメント装置としての機能を備えた歌唱評価装置１の構成を示すブロック図である。この歌唱評価装置１は、カラオケにおいて歌唱者が発声した歌唱音声とガイドボーカル音声との一致の度合いを評価する装置であり、パーソナルコンピュータ、携帯電話端末、スマートフォン、タブレット型端末等の各種のコンピュータにより構成されている。
【００１０】
カラオケでは、歌唱者によっては、楽譜内容に忠実に歌唱するのではなく、曲の各部の歌い始めや歌い終わりのタイミングを意図的にずらして歌唱を行い、これにより豊かな感情表現を行う場合がある。そこで、本実施形態による歌唱評価装置１では、このような歌唱のタイミングのずれがあったとしてもマイナス評価を行わず、仮に歌唱者が曲の各部をガイドボーカル音声の対応する各部と同じタイミングで歌唱していたとした場合に歌唱音声がガイドボーカル音声とどの程度一致しているかという観点で歌唱の評価を行う。本実施形態における歌唱評価装置１は、カラオケ装置の一部をなすものであるが、歌唱評価装置１をカラオケ装置とは独立した装置としてもよい。なお、図１では、歌唱評価装置１の全体構成のうち歌唱評価に関連した各部のみが図示されており、カラオケの伴奏、歌詞表示等、歌唱評価と関係のない各部の図示は省略されている。
【００１１】
図１に示すように、歌唱評価装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等からなる不揮発性記憶部１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなる揮発性記憶部１３と、マイクロホン１４ａおよびＡ／Ｄ変換部１４と、操作部１５と、表示部１６と、通信Ｉ／Ｆ１７とを有する。
【００１２】
図１において、操作部１５は、テンキー等の各種の操作子により構成されており、各操作子に対する操作情報をＣＰＵ１１に供給する。表示部１６は、液晶ディスプレイとその駆動回路により構成されており、ＣＰＵ１１から供給される表示情報の表示を行う。通信Ｉ／Ｆ１７は、ＣＰＵ１１がインターネット等のネットワークを介して他の装置との間で行う通信を仲介する装置である。マイクロホン１４ａは歌唱者が発声する歌唱音声を収音する手段である。Ａ／Ｄ変換部１４は、マイクロホン１４ａの出力信号を一定のサンプリングレートでサンプリングしてＡ／Ｄ変換し、歌唱音声波形のデジタルサンプル列である歌唱データをＣＰＵ１１に出力する。
【００１３】
不揮発性記憶部１２には、歌唱評価プログラム１２１と、複数の楽曲に各々対応した複数のガイドボーカル音響パラメータ１２２が記憶されている。ここで、歌唱評価プログラム１２１は、Ａ／Ｄ変換部１４から供給される歌唱データに基づき、歌唱の評価を行うプログラムである。この歌唱評価プログラム１２１は、歌唱評価装置１の工場出荷時に不揮発性記憶部１２に予め書き込まれたものであってもよく、通信Ｉ／Ｆ１７を介してネットワーク上のサーバから不揮発性記憶部１２にダウンロードされたものであってもよい。ガイドボーカル音響パラメータ１２２は、楽曲の模範的な歌唱音声波形のデジタルサンプル列であるガイドボーカルデータを一定時間長のフレームに区切り、フレーム毎に解析を行うことにより得られた音のパラメータ列である。ここで、ガイドボーカル音響パラメータは、ガイドボーカル音のピッチ等、時間軸に沿って変化する単一の種類のパラメータであってもよく、ガイドボーカル音のピッチ、音量等、時間軸に沿って変化する複数種類のパラメータからなるベクトルであってもよい。
【００１４】
ＣＰＵ１１は、揮発性記憶部１３をワークエリアとして使用して歌唱評価プログラム１２１を実行し、Ａ／Ｄ変換部１４から供給される歌唱データに基づいて歌唱の評価を行う。その際、ＣＰＵ１１は、不揮発性記憶部１２に記憶された各ガイドボーカル音響パラメータ１２２のうちカラオケの選択曲に対応したガイドボーカル音響パラメータ１２２を参照して歌唱の評価を行う。なお、ＣＰＵ１１は、不揮発性記憶部１２から歌唱評価プログラム１２１を直接読み出して実行してもよいが、歌唱評価プログラム１２１をＲＡＭに移して実行してもよい。また、ＣＰＵ１１は、ネットワークを経由して歌唱評価プログラム１２１をＲＡＭに移して実行してもよい。また、ＣＰＵ１１に加えてＤＳＰを設け、歌唱評価プログラム１２１に従って行う演算処理の一部をＤＳＰに実行させてもよい。また、ＣＰＵ１１は、歌唱評価プログラム１２１を実行する際、ガイドボーカル音響パラメータ１２２を不揮発性記憶部１２からＲＡＭに移して歌唱評価プログラム１２１の演算処理に使用してもよい。また、ＣＰＵ１１は、ネットワークを経由してガイドボーカル音響パラメータ１２２をＲＡＭに移してもよい。また、ガイドボーカル音響パラメータ１２２は、予め記憶しておくのではなく、ガイドボーカル音声から抽出して使用してもよい。
【００１５】
ＣＰＵ１１は、歌唱評価プログラム１２１を実行することにより、図１に示す解析部１１１、対応情報生成部１１２、評価部１１３および実行制御部１１４の各機能を実現する。また、ＣＰＵ１１は、歌唱評価プログラム１２１に従い、揮発性記憶部１３内に、図１に示す歌唱データバッファ１３１、歌唱音響パラメータバッファ１３２、第１の入力データバッファ１３３、第２の入力データバッファ１３４、差分マトリックスバッファ１３５、対応情報バッファ１３６および評価結果バッファ１３７の各バッファ領域を設定する。
【００１６】
図２は、図１における解析部１１１、対応情報生成部１１２および実行制御部１１４の機能を示すブロック図である。歌唱者が歌唱を行っている間、Ａ／Ｄ変換部１４から供給される歌唱データは、歌唱データバッファ１３１内に順次蓄積される。解析部１１１は、歌唱データバッファ１３１内の歌唱データを一定時間長のフレームに区切って、フレーム毎に周波数解析等の解析を行い、歌唱音声のピッチ等の歌唱音響パラメータを生成する。ここで、歌唱音響パラメータは、歌唱音声のピッチ等、時間軸に沿って変化する単一の種類のパラメータであってもよく、歌唱音声のピッチ、音量等、時間軸に沿って変化する複数種類のパラメータからなるベクトルであってもよい。
【００１７】
実行制御部１１４は、解析部１１１により生成される歌唱音響パラメータを歌唱音響パラメータバッファ１３２に順次蓄積する。また、実行制御部１１４は、予め設定した終点までの歌唱音響パラメータが歌唱音響パラメータバッファ１３２に蓄積される都度、対応情報生成部１１２に対する第１の入力データおよび第２の入力データを第１の入力データバッファ１３３および第２の入力データバッファ１３４に設定する。ここで、第１の入力データは、歌唱音響パラメータバッファ１３２に蓄積された歌唱音響パラメータのうち実行制御部１１４により決定された始点から終点までの区間内の歌唱音響パラメータを正規化したデータである。また、第２の入力データは、不揮発性記憶部１２内のカラオケ選択曲に対応したガイドボーカル音響パラメータのうち実行制御部１１４により決定された始点から終点までの区間内のガイドボーカル音響パラメータを正規化したデータである。ここで、歌唱音響パラメータを正規化したデータとは、例えば始点から終点までの歌唱音響パラメータについて加算平均と標準偏差を求め、始点から終点までの歌唱音響パラメータから加算平均を減じた各値を標準偏差により除算したデータである。ガイドボーカル音響パラメータを正規化したデータも同様である。なお、始点および終点の決定方法については後述する。
【００１８】
対応情報生成部１１２は、第１の入力データバッファ１３３内の第１の入力データの始点から終点までの各情報Ａ（ｉ）と、第２の入力データバッファ１３４内の第２の入力データの始点から終点までの各情報Ｂ（ｊ）とを対応付ける対応情報を生成する動的時間整合を実行する。この動的時間整合を実行するため、対応情報生成部１１２は、差分マトリックスを生成する。実行制御部１１４は、この差分マトリックスを差分マトリックスバッファ１３５に格納する。ここで、差分マトリックスは、第１の入力データの始点から終点までの各情報Ａ（ｉ）（ｉ＝０〜ｉｍａｘ）と第２の入力データの始点から終点までの各情報Ｂ（ｊ）（ｊ＝０〜ｊｍａｘ）の各組み合わせについて算出された差分情報Ｄ（ｉ、ｊ）＝｜Ａ（ｉ）−Ｂ（ｊ）｜を要素とするマトリックスである。
【００１９】
対応情報生成部１１２は、この差分マトリクスにおいてその左下隅（すなわち、（０、０）成分）からその右上隅（ｉｍａｘ、ｊｍａｘ）へ至る経路のうち、その経路上に位置する各成分の累積値が最小になる経路（以下、最適経路）Ｒを探索し、その最適経路Ｒの示す対応関係（第１の入力データの時間軸と第２の入力データの時間軸との対応関係）を表す対応情報を対応情報バッファ１３６に格納する。なお、演算の誤差等により不適切な最適経路Ｒが探索されるのを防止するため、予め設定した探索窓の範囲内に最適経路Ｒを制限してもよい。
【００２０】
より詳細に説明すると、対応情報生成部１１２は、以下に説明する規則にしたがって最適経路Ｒを探索する。
規則１．移動に伴い経路にある値の累積を求める。
規則２．最後に右上隅から選択された経路を逆に辿って先頭（左下隅）に至り、最適経路を決定する。
規則３．１回の移動は右、上、右上への移動に制限される。
規則３ａ．右と上への移動において、移動後の値の累積が等しい場合、右への移動が優先される。
規則３ｂ．右と右上への移動において、移動後の値の累積が等しい場合、右への移動が優先される。
規則３ｃ．上と右上への移動において、移動後の値の累積が等しい場合、上への移動が優先される。
規則３ｄ．右、上、右上への移動において、移動後の値の累積を求める際、値への重み付けを行わない。
【００２１】
実行制御部１１４は、この対応情報生成部１１２により生成された対応情報を対応情報バッファ１３６に格納する。
【００２２】
そして、本実施形態において、実行制御部１１４は、対応情報生成部１１２が動的時間整合により第１および第２の入力データについて対応情報を生成した後、対応情報生成部１１２に再び動的時間整合を行わせる際に、当該対応情報により対応付けられた第１および第２の入力データの途中の各位置を各々の始点とする新たな第１および第２の入力データを生成して第１の入力データバッファ１３３および第２の入力データバッファ１３４に格納する。
【００２３】
図１において、評価部１１３は、実行制御部１１４による制御の下、対応情報バッファ１３６に格納された対応情報と差分マトリックスバッファ１３５に格納された差分マトリックスとに基づいて歌唱音声とガイドボーカルとの一致度に関する評価を行い、評価結果である採点データを評価結果バッファ１３７に格納する。
以上が本実施形態の構成である。
【００２４】
図３は本実施形態における実行制御部１１４の動作を示すフローチャートである。実行制御部１１４は、カラオケの伴奏が始り、歌唱者による歌唱が開始されると、歌唱者による歌唱が終了してステップＳ６の判断結果が「ＹＥＳ」となるまでの間、図３に示すステップＳ１〜Ｓ５の各処理を繰り返す。
【００２５】
まず、ステップＳ１において、実行制御部１１４は、歌唱データバッファ１３１から所定時間長の歌唱データを読み出して解析部１１１に与え、解析部１１１に歌唱データの解析を行わせ、解析部１１１から解析結果として出力される歌唱音響パラメータを歌唱音響パラメータバッファ１３２に格納する。
【００２６】
次にステップＳ２に進むと、実行制御部１１４は、事前に設定された始点から終点までの区間内の歌唱音響パラメータを歌唱音響パラメータバッファ１３２から読み出し、これに正規化を施し、第１の入力データとして第１の入力データバッファ１３３に格納する。ここで、歌唱開始後に最初に実行されるステップＳ２では、歌唱音響パラメータバッファ１３２に格納された歌唱音響パラメータの先頭の位置（すなわち、歌唱開始時刻）が始点とされ、この始点に対して所定時間を加えた時刻が終点とされる。また、歌唱開始後の２回目以降に実行されるステップＳ２では、後述するステップＳ４において設定される始点および終点が採用される。
【００２７】
次にステップＳ３に進むと、実行制御部１１４は、事前に設定された始点から終点までの区間内のガイドボーカル音響パラメータ１２２を不揮発性記憶部１２から読み出し、これに正規化を施し、第２の入力データとして第２の入力データバッファ１３４に格納する。ここで、歌唱開始後に最初に実行されるステップＳ３では、不揮発性記憶部１２内の当該歌唱曲に対応したガイドボーカル音響パラメータの先頭の位置（すなわち、ガイドボーカル開始時刻）が始点とされ、この始点に対して所定時間を加えた時刻が終点とされる。また、歌唱開始後の２回目以降に実行されるステップＳ３では、後述するステップＳ４において設定される始点および終点が採用される。
【００２８】
次にステップＳ４に進むと、実行制御部１１４は、第１の入力データバッファ１３３内の第１の入力データおよび第２の入力データバッファ１３４内の第２の入力データについての動的時間整合を対応情報生成部１１２に実行させる。この動的時間整合において、対応情報生成部１１２は、第１の入力データ（歌唱）の各情報Ａ（ｉ）と第２の入力データ（ガイドボーカル）の各情報Ｂ（ｊ）の各組み合わせにおいて、各情報間の差分Ｄ（ｉ、ｊ）＝｜Ａ（ｉ）−Ｂ（ｊ）｜を算出し、この差分Ｄ（ｉ、ｊ）を要素とする差分マトリックスを生成する。ここで、第１の入力データを構成する情報Ａ（ｉ）および第２の入力データを構成する情報Ｂ（ｊ）が、音のピッチと音量等、複数種類のパラメータからなるベクトルである場合には、それらのベクトルのベクトル空間におけるユークリッド距離を差分Ｄ（ｉ、ｊ）とする。そして、対応情報生成部１１２は、この差分マトリックスにおける始点同士の組に対応した要素から終点同士の組に対応した要素に至る経路であって、当該経路上の各要素（差分Ｄ（ｉ、ｊ））の累計値が最小となる経路を最適経路とし、この最適経路を示す対応情報を生成する。実行制御部１１４は、この動的時間整合により得られる対応情報を対応情報バッファ１３６に格納する。また、実行制御部１１４は、動的時間整合を実行するために対応情報生成部１１２が生成する差分マトリックスを差分マトリックスバッファ１３５に格納する。
【００２９】
また、ステップＳ４において、実行制御部１１４は、次回のステップＳ２における歌唱音響パラメータの始点および終点（すなわち、第１の入力データの始点および終点）を設定するとともに、次回のステップＳ３におけるガイドボーカル音響パラメータの始点および終点（すなわち、第２の入力データの始点および終点）を設定する。
【００３０】
さらに詳述すると、実行制御部１１４は、対応情報により対応付けられた第１の入力データの始点および終点間の中央付近の途中の位置と第２の入力データの始点および終点間の中央付近の途中の位置を次回のステップＳ２における歌唱音響パラメータの始点および次回のステップＳ３におけるガイドボーカル音響パラメータの始点とする。また、実行制御部１１４は、現状の歌唱音響パラメータの終点に所定時間を加えた時刻を次回のステップＳ２における歌唱音響パラメータの終点とし、現状のガイドボーカル音響パラメータの終点に所定時間を加えた時刻を次回のステップＳ３におけるガイドボーカル音響パラメータの終点とする。ただし、このようにして定まるガイドボーカル音響パラメータの終点がガイドボーカル音響パラメータの終了時刻−α（αは所定の値）以上の範囲にある場合には、歌唱データまたはガイドボーカル音響パラメータの終了時刻を次回の歌唱音響パラメータまたはガイドボーカル音響パラメータの終点とする。
【００３１】
次にステップＳ５に進むと、実行制御部１１４は、評価部１１３に歌唱の評価を行わせる。このステップＳ５において、評価部１１３は、対応情報バッファ１３６内の対応情報を参照することにより、差分マトリックスバッファ１３５から差分マトリックスの各要素のうち対応情報が示す最適経路上の各要素を読み出す。そして、読み出した各要素の累計値に例えば所定の重み係数を乗算する等して歌唱の採点データとし、この採点データを評価結果バッファ１３７に格納する。
【００３２】
この評価結果バッファ１３７内の採点データは、表示部１６に表示される。採点データは、数値として表示部１６に表示してもよいが、横軸を時刻、縦軸を採点とする座標に採点データをグラフ表示してもよい。なお、このような表示をする代わりに、あるいはこのような表示に加えて、採点データをイラスト表示してもよい。
【００３３】
以下同様であり、実行制御部１１４は、歌唱が終了するまでの間、ステップＳ１〜Ｓ５の各処理を繰り返す。
【００３４】
図４〜図７は、本実施形態の動作例を示す図である。これらの図４〜図７において、縦軸は歌唱音響パラメータの時間軸であり、横軸はガイドボーカル音響パラメータの時間軸である。また、図４〜図７において、Ｔｓ（０）は歌唱開始時刻、Ｔｓ（Ｍ）は歌唱終了時刻、Ｔｔ（０）はガイドボーカル開始時刻、Ｔｔ（Ｎ）はガイドボーカル終了時刻である。また、図４〜図７において、時刻Ｔｓ（０）、Ｔｓ（１）、Ｔｓ（２）、Ｔｓ（３）およびＴｓ（４）の各間の時間長は各々一定の時間長Ｔであり、時刻Ｔｔ（０）、Ｔｔ（１）、Ｔｔ（２）、Ｔｔ（３）およびＴｔ（４）の各間の時間長も各々一定の時間長Ｔである。さらに図４〜図７において、ガイドボーカルの終了時刻Ｔｔ（Ｎ）は、時刻Ｔｓ（４）−α以上の範囲にある。また、図４〜図７には、仮に歌唱開始時刻から歌唱終了時刻を第１の入力データの始点および終点とし、ガイドボーカル開始時刻およびガイドボーカル終了時刻を第２の入力データの始点および終点として動的時間整合を行ったとした場合に得られる対応情報が破線で例示されている。図８はこの動作例における揮発性記憶部１３内の各バッファ領域の使用状況を示す図である。以下、これらの図４〜図８と、前掲図３のフローチャートを参照し、本実施形態の動作例を説明する。
【００３５】
歌唱開始後の最初のステップＳ１において、実行制御部１１４は、図８に示す始点Ｔｓ（０）から終点Ｔｓ（２）までの区間の歌唱データを歌唱データバッファ１３１から読み出して解析部１１１に与え、始点Ｔｓ（０）から終点Ｔｓ（２）までの区間の歌唱音響パラメータを歌唱音響パラメータバッファ１３２に格納する。
【００３６】
次に歌唱開始後の最初のステップＳ２において、実行制御部１１４は、図８に示す始点Ｔｓ（０）から終点Ｔｓ（２）までの区間の歌唱音響パラメータを正規化し、第１の入力データとして第１の入力データバッファ１３３に格納する。
【００３７】
次に歌唱開始後の最初のステップＳ３において、実行制御部１１４は、図８に示すように、不揮発性記憶部１２内の始点Ｔｔ（０）から終点Ｔｔ（２）までの区間のガイドボーカル音響パラメータを正規化し、第２の入力データとして第２の入力データバッファ１３４に格納する。
【００３８】
次に歌唱開始後の最初のステップＳ４において、実行制御部１１４は、第１の入力データ（Ｔｓ（０）〜Ｔｓ（２））と第２の入力データ（Ｔｔ（０）〜Ｔｔ（２））についての動的時間整合を対応情報生成部１１２に実行させる。このとき、対応情報生成部１１２は、始点Ｔｓ（０）から終点Ｔｓ（２）までの第１の入力データの各情報Ａ（ｉ）と、始点Ｔｔ（０）から終点Ｔｔ（２）までの第２の入力データの各情報Ｂ（ｊ）の各組み合わせについて差分を算出し、この差分を要素とする差分マトリックスを生成する。そして、実行制御部１１４は、この差分マトリックスを図８に示すように差分マトリックスバッファ１３５に格納する。また、対応情報生成部１１２は、この差分マトリックスに基づいて始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の最適経路を示す対応情報を生成する。そして、実行制御部１１４は、この対応情報を図８に示すように対応情報バッファ１３６に格納する。図４にはこの始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の最適経路を示す対応情報が実線で示されている。
【００３９】
また、このステップＳ４において、実行制御部１１４は、次回のステップＳ２における歌唱音響パラメータの始点および終点を設定するとともに、次回のステップＳ３におけるガイドボーカル音響パラメータの始点および終点を設定する。
【００４０】
まず、実行制御部１１４は、次の規則４、５に従って次回の始点の設定を行う。
規則４：第１および第２の入力データから生成された対応情報が、当該第１の入力データの終点から所定時間Ｔだけ前の位置を当該第２の入力データの終点から所定時間Ｔだけ前の位置よりも終点側の位置に対応付けている場合、当該第１の入力データの終点から所定時間Ｔだけ前の位置を新たな第１の入力データの始点（すなわち、次回のステップＳ２における歌唱音響パラメータの始点）とし、当該新たな第１の入力データの始点に対応情報によって対応付けられた第２の入力データの位置を新たな第２の入力データの始点（すなわち、次回のステップＳ３におけるガイドボーカル音響パラメータの始点）とする。
規則５：第１および第２の入力データから生成された対応情報が、当該第２の入力データの終点から所定時間Ｔだけ前の位置を当該第１の入力データの終点から所定時間Ｔだけ前の位置よりも終点側の位置に対応付けている場合、当該第２の入力データの終点から所定時間Ｔだけ前の位置を新たな第２の入力データの始点（すなわち、次回のステップＳ３におけるガイドボーカル音響パラメータの始点）とし、当該新たな第２の入力データの始点に対応情報によって対応付けられた第１の入力データの位置を新たな第１の入力データの始点（すなわち、次回のステップＳ２における歌唱音響パラメータの始点）とする。
【００４１】
このような規則４、５を使用するのは、次回の動的時間整合に使用する第１および第２の入力データの始点を時間軸上において極力後の位置とし、歌唱データの入力速度に対して対応情報の生成速度を追従させるためである。
【００４２】
また、実行制御部１１４は、現状の歌唱音響パラメータおよびガイドボーカル音響パラメータの各終点に所定時間Ｔを加えた各時刻を次回のステップＳ２およびＳ３における歌唱音響パラメータおよびガイドボーカル音響パラメータの各終点とする。
【００４３】
この例において、動的時間整合により得られた対応情報は、図４に示すように、第１の入力データの終点Ｔｓ（２）から所定時間Ｔだけ前の時刻Ｔｓ（１）を、第２の入力データの終点Ｔｔ（２）から所定時間Ｔだけ前の時刻Ｔｔ（１）よりも終点Ｔｔ（２）よりの時刻Ｔｔ（１’）に対応付けている。そこで、実行制御部１１４は、上記規則４を適用し、時刻Ｔｓ（１）を次回のステップＳ２における第１の入力データ（歌唱音響パラメータ）の始点とし、時刻Ｔｔ（１’）を次回のステップＳ２における第２の入力データ（ガイドボーカル音響パラメータ）の始点とする。また、実行制御部１１４は、現状の終点である時刻Ｔｓ（２）から所定時間Ｔだけ後の時刻Ｔｓ（３）を次回のステップＳ２における第１の入力データの終点とし、現状の終点である時刻Ｔｔ（２）から所定時間Ｔだけ後の時刻Ｔｔ（３）を次回のステップＳ３における第２の入力データの終点とする。
【００４４】
次に歌唱開始後の最初のステップＳ５において、実行制御部１１４は、評価部１１３に歌唱の評価を行わせる。このとき、評価部１１３は、対応情報の前半部分、より具体的には第１の入力データにおける時刻Ｔｓ（０）から時刻Ｔｓ（１）までの区間の各情報を第２の入力データにおける時刻Ｔｔ（０）から時刻Ｔｔ（１’）までの区間の各情報に対応付ける前半区間の対応情報を参照する。そして、評価部１１３は、この前半区間の対応情報により対応付けられた第１の入力データの前半区間内の各情報と第２の入力データの前半区間内の各情報との差分を差分マトリックスバッファ１３５内の差分マトリックスから読み出し、これらの差分の累計値に基づいて歌唱の採点データを生成し、図８に示すように評価結果バッファ１３７に格納する。
【００４５】
次に歌唱開始後の２回目のステップＳ１において、実行制御部１１４は、図８に示す時刻Ｔｓ（２）から終点Ｔｓ（３）までの区間の歌唱データを歌唱データバッファ１３１から読み出して解析部１１１に与え、時刻Ｔｓ（２）から時刻Ｔｓ（３）までの区間の歌唱音響パラメータを歌唱音響パラメータバッファ１３２に格納する。
【００４６】
次に歌唱開始後の２回目のステップＳ２において、実行制御部１１４は、事前に設定された始点および終点、すなわち、図８に示す始点Ｔｓ（１）から終点Ｔｓ（３）までの区間の歌唱音響パラメータを正規化し、第１の入力データとして第１の入力データバッファ１３３に格納する。
【００４７】
次に歌唱開始後の２回目のステップＳ３において、実行制御部１１４は、図８に示すように、事前に設定された始点および終点、すなわち、不揮発性記憶部１２内の始点Ｔｔ（１’）から終点Ｔｔ（３）までの区間のガイドボーカル音響パラメータを正規化し、第２の入力データとして第２の入力データバッファ１３４に格納する。
【００４８】
次に歌唱開始後の２回目のステップＳ４において、実行制御部１１４は、第１の入力データ（Ｔｓ（１）〜Ｔｓ（３））と第２の入力データ（Ｔｔ（１’）〜Ｔｔ（３））についての動的時間整合を対応情報生成部１１２に実行させる。このとき実行制御部１１４は、対応情報生成部１１２が動的時間整合のために生成する差分マトリックスを図８に示すように差分マトリックスバッファ１３５に格納する。また、対応情報生成部１１２は、この差分マトリックスに基づいて始点（Ｔｓ（１）、Ｔｔ（１’））および終点（Ｔｓ（３）、Ｔｔ（３））間の最適経路を示す対応情報を生成する。そして、実行制御部１１４は、この対応情報を図８に示すように対応情報バッファ１３６に格納する。
【００４９】
図５にはこの始点（Ｔｓ（１）、Ｔｔ（１’））および終点（Ｔｓ（３）、Ｔｔ（３））間の最適経路を示す対応情報が実線で示されている。また、図５には、この対応情報とともに、初回のステップＳ４において得られた対応情報（すなわち、始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の最適経路を示す対応情報）が実線で示されている。
【００５０】
また、このステップＳ４において、実行制御部１１４は、次回のステップＳ２における歌唱音響パラメータの始点および終点を設定するとともに、次回のステップＳ３におけるガイドボーカル音響パラメータの始点および終点を設定する。
【００５１】
この例において、動的時間整合により得られた対応情報は、図５に示すように、第２の入力データ（ガイドボーカル音響パラメータ）の終点Ｔｔ（３）から所定時間Ｔだけ前の時刻Ｔｔ（２）を第１の入力データ（歌唱音響パラメータ）の終点Ｔｓ（３）から所定時間Ｔだけ前の時刻Ｔｓ（２）よりも終点Ｔｓ（３）よりの時刻Ｔｓ（２’）に対応付けている。
【００５２】
そこで、実行制御部１１４は、上記規則５を適用し、時刻Ｔｓ（２’）を次回のステップＳ２における第１の入力データ（歌唱音響パラメータ）の始点とし、時刻Ｔｔ（２）を次回のステップＳ２における第２の入力データ（ガイドボーカル音響パラメータ）の始点とする。また、実行制御部１１４は、現状の終点である時刻Ｔｓ（３）から所定時間Ｔだけ後の時刻Ｔｓ（４）を次回のステップＳ２における第１の入力データ（歌唱音響パラメータ）の終点とし、現状の終点である時刻Ｔｔ（３）から所定時間Ｔだけ後の時刻Ｔｔ（４）を次回のステップＳ３における第２の入力データ（ガイドボーカル音響パラメータ）の終点とする。
【００５３】
次に歌唱開始後の２回目のステップＳ５において、実行制御部１１４は、評価部１１３に歌唱の評価を行わせる。このとき、評価部１１３は、対応情報の前半部分、より具体的には第１の入力データにおける時刻Ｔｓ（１）から時刻Ｔｓ（２’）までの区間の各情報を第２の入力データにおける時刻Ｔｔ（１’）から時刻Ｔｔ（２）までの区間の各情報に対応付ける前半区間の対応情報を参照する。そして、評価部１１３は、この前半区間の対応情報により対応付けられた第１の入力データの前半区間内の各情報と第２の入力データの前半区間内の各情報との差分を差分マトリックスバッファ１３５内の差分マトリックスから読み出し、これらの差分の累計値に基づいて歌唱の採点データを生成し、図８に示すように評価結果バッファ１３７に格納する。
【００５４】
次に歌唱開始後の３回目のステップＳ１において、実行制御部１１４は、図８に示す時刻Ｔｓ（３）から終点Ｔｓ（４）までの区間の歌唱データを歌唱データバッファ１３１から読み出して解析部１１１に与え、時刻Ｔｓ（３）から時刻Ｔｓ（４）までの区間の歌唱音響パラメータを歌唱音響パラメータバッファ１３２に格納する。
【００５５】
次に歌唱開始後の３回目のステップＳ２において、実行制御部１１４は、事前に設定された始点および終点、すなわち、図８に示す始点Ｔｓ（２’）から終点Ｔｓ（４）までの区間の歌唱音響パラメータを正規化し、第１の入力データとして第１の入力データバッファ１３３に格納する。
【００５６】
次に歌唱開始後の３回目のステップＳ３において、実行制御部１１４は、図８に示すように、事前に設定された始点および終点、すなわち、不揮発性記憶部１２内の始点Ｔｔ（２）から終点Ｔｔ（４）までの区間のガイドボーカル音響パラメータを正規化し、第２の入力データとして第２の入力データバッファ１３４に格納する。
【００５７】
次に歌唱開始後の３回目のステップＳ４において、実行制御部１１４は、第１の入力データ（Ｔｓ（２’）〜Ｔｓ（４））と第２の入力データ（Ｔｔ（２）〜Ｔｔ（４））についての動的時間整合を対応情報生成部１１２に実行させる。このとき実行制御部１１４は、対応情報生成部１１２が動的時間整合のために生成する差分マトリックスを図８に示すように差分マトリックスバッファ１３５に格納する。また、対応情報生成部１１２は、この差分マトリックスに基づいて始点（Ｔｓ（２’）、Ｔｔ（２））および終点（Ｔｓ（４）、Ｔｔ（４））間の最適経路を示す対応情報を生成する。そして、実行制御部１１４は、この対応情報を図８に示すように対応情報バッファ１３６に格納する。図６にはこの始点（Ｔｓ（２’）、Ｔｔ（２））および終点（Ｔｓ（４）、Ｔｔ（４））間の最適経路を示す対応情報が実線で示されている。また、図６には、この対応情報とともに、初回および２回目の各ステップＳ４において得られた対応情報が実線で示されている。
【００５８】
また、このステップＳ４において、実行制御部１１４は、生成した対応情報に基づいて、次回のステップＳ２における歌唱音響パラメータの始点および終点を設定するとともに、次回のステップＳ３におけるガイドボーカル音響パラメータの始点および終点を設定する。
【００５９】
この例において、動的時間整合により得られた対応情報は、図６に示すように、第１の入力データ（歌唱音響パラメータ）の終点Ｔｓ（４）から所定時間Ｔだけ前の時刻Ｔｓ（３）を第２の入力データ（ガイドボーカル音響パラメータ）の終点Ｔｔ（４）から所定時間Ｔだけ前の時刻Ｔｔ（３）よりも終点Ｔｔ（４）よりの時刻Ｔｔ（３’）に対応付けている。
【００６０】
そこで、実行制御部１１４は、時刻Ｔｓ（３）を次回のステップＳ２における第１の入力データ（歌唱音響パラメータ）の始点とし、時刻Ｔｔ（３’）を次回のステップＳ２における第２の入力データ（ガイドボーカル音響パラメータ）の始点とする。また、実行制御部１１４は、現状の終点である時刻Ｔｓ（４）と時刻Ｔｔ（４）とに基づいて、次回のステップＳ２における歌唱音響パラメータの終点と、次回のステップＳ３におけるガイドボーカル音響パラメータの終点とを設定する。この例では、時刻Ｔｔ（４）に所定時間Ｔを加えた時刻は、ガイドボーカル終了時刻Ｔｔ（Ｎ）−α以上の範囲にある。そこで、実行制御部１１４は、歌唱終了時刻Ｔｓ（Ｍ）を次回のステップＳ２における歌唱音響パラメータの終点とし、ガイドボーカル終了時刻Ｔｔ（Ｎ）を次回のステップＳ３におけるガイドボーカル音響パラメータの終点とする。
【００６１】
次に歌唱開始後の３回目のステップＳ５において、実行制御部１１４は、評価部１１３に歌唱の評価を行わせる。このとき、評価部１１３は、対応情報の前半部分、より具体的には第１の入力データにおける時刻Ｔｓ（２’）から時刻Ｔｓ（３）までの区間の各情報を第２の入力データにおける時刻Ｔｔ（２）から時刻Ｔｔ（３’）までの区間の各情報に対応付ける前半区間の対応情報を参照する。そして、評価部１１３は、この前半区間の対応情報により対応付けられた第１の入力データの前半区間内の各情報と第２の入力データの前半区間内の各情報との差分を差分マトリックスバッファ１３５内の差分マトリックスから読み出し、これらの差分の累計値に基づいて歌唱の採点データを生成し、図８に示すように評価結果バッファ１３７に格納する。
【００６２】
次に歌唱開始後の４回目のステップＳ１において、実行制御部１１４は、図８に示す時刻Ｔｓ（４）から時刻Ｔｓ（Ｍ）までの区間の歌唱データを歌唱データバッファ１３１から読み出して解析部１１１に与え、時刻Ｔｓ（４）から時刻Ｔｓ（Ｍ）までの区間の歌唱音響パラメータを歌唱音響パラメータバッファ１３２に格納する。
【００６３】
次に歌唱開始後の４回目のステップＳ２において、実行制御部１１４は、事前に設定された始点および終点、すなわち、図８に示す始点Ｔｓ（３）から終点Ｔｓ（Ｍ）までの区間の歌唱音響パラメータを正規化し、第１の入力データとして第１の入力データバッファ１３３に格納する。
【００６４】
次に歌唱開始後の４回目のステップＳ３において、実行制御部１１４は、図８に示すように、事前に設定された始点および終点、すなわち、不揮発性記憶部１２内の始点Ｔｔ（３’）から終点Ｔｔ（Ｎ）までの区間のガイドボーカル音響パラメータを正規化し、第２の入力データとして第２の入力データバッファ１３４に格納する。
【００６５】
次に歌唱開始後の４回目のステップＳ４において、実行制御部１１４は、第１の入力データ（Ｔｓ（３）〜Ｔｓ（Ｍ））と第２の入力データ（Ｔｔ（３’）〜Ｔｔ（Ｎ））についての動的時間整合を対応情報生成部１１２に実行させる。このとき実行制御部１１４は、対応情報生成部１１２が動的時間整合のために生成する差分マトリックスを図８に示すように差分マトリックスバッファ１３５に格納する。また、対応情報生成部１１２は、この差分マトリックスに基づいて始点（Ｔｓ（３）、Ｔｔ（３’））および終点（Ｔｓ（Ｍ）、Ｔｔ（Ｎ））間の最適経路を示す対応情報を生成する。そして、実行制御部１１４は、この対応情報を図８に示すように対応情報バッファ１３６に格納する。図７にはこの始点（Ｔｓ（３）、Ｔｔ（３’））および終点（Ｔｓ（Ｍ）、Ｔｔ（Ｎ））間の最適経路を示す対応情報が実線で示されている。また、図７には、この対応情報とともに、初回、２回目および３回目の各ステップＳ４において得られた対応情報が実線で示されている。
【００６６】
なお、このステップＳ４では、その後、ステップＳ２およびステップＳ３を実行する可能性がないので、次回のステップＳ２における歌唱音響パラメータの始点および終点の設定、次回のステップＳ３におけるガイドボーカル音響パラメータの始点および終点の設定を行わない。
【００６７】
次に歌唱開始後の４回目のステップＳ５において、評価部１１３は、第１の入力データにおける時刻Ｔｓ（３）から時刻Ｔｓ（Ｍ）までの区間の各情報を第２の入力データにおける時刻Ｔｔ（３’）から時刻Ｔｔ（Ｎ）までの区間の各情報に対応付ける対応情報を参照する。そして、評価部１１３は、この対応情報により対応付けられた第１の入力データの各情報と第２の入力データの各情報との差分を差分マトリックスバッファ１３５内の差分マトリックスから読み出し、これらの差分の累計値に基づいて歌唱の採点データを生成し、図８に示すように評価結果バッファ１３７に格納する。
以上が本実施形態の動作例である。
【００６８】
次に本実施形態と比較例との比較を行い、本実施形態の効果について説明する。第１の比較例では、図４〜図７に破線で示したように、曲の全区間に亙る歌唱音響パラメータおよびガイドボーカル音響パラメータを第１および第２の入力データとして動的時間整合を行う。この場合、歌唱音響パラメータおよびガイドボーカル音響パラメータの始点同士の近傍の区間と終点同士の近傍の区間を除いた広範囲の区間において正確な対応情報が得られる。しかし、この第１の比較例では、曲の全区間に亙る歌唱音響パラメータおよびガイドボーカル音響パラメータを利用して対応情報を得るための動的時間整合の演算を行うので、演算に使用するデータを記憶するためのメモリの容量が大きくなる問題がある。また、第１の比較例では、曲の全区間に亙る歌唱音響パラメータが得られてから対応情報を生成するための動的時間整合が開始されるため、歌唱の評価結果が得られるのは、歌唱が終わった後になる。このため、曲の歌唱中に自分が上手く歌唱できているかをリアルタイムに知りたい歌唱者の要求に応えることができない。
【００６９】
これに対し、本実施形態では、実行制御部１１４が第１および第２の入力データを対応情報生成部１１２に与えると、対応情報生成部１１２は、第１の入力データの始点から終点までの各情報と第２の入力データの始点から終点までの各情報とを対応付ける対応情報を生成する。次に実行制御部１１４は、この対応情報により対応付けられた第１および第２の入力データの途中の各位置を各々の始点とする新たな第１および第２の入力データを対応情報生成部１１２に与える。本実施形態では、このように部分的に重複して前後した複数組の第１および第２の入力データを実行制御部１１４が対応情報生成部１１２に順次与え、対応情報を生成させる。従って、本実施形態によれば、動的時間整合の演算に使用するデータを記憶するためのメモリの容量を第１の比較例に比べて格段と減らすことができる。
【００７０】
例えば図８において、始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の第１および第２の入力データの動的時間整合を行うために必要となるデータは、歌唱データバッファ１３１内の時刻Ｔｓ（０）−Ｔｓ（２）間の歌唱データ、歌唱音響パラメータバッファ１３２内の時刻Ｔｓ（０）−Ｔｓ（２）間の歌唱音響パラメータ、第１の入力データバッファ１３３内の時刻Ｔｓ（０）−Ｔｓ（２）間の第１の入力データ、第２の入力データバッファ１３４内の時刻Ｔｔ（０）−Ｔｔ（２）間の第２の入力データ、差分マトリックスバッファ１３５内の始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の領域に対応した差分マトリックス、対応情報バッファ１３６内の始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の領域に対応した対応情報である。これらの情報は、その後に行う始点（Ｔｓ（１）、Ｔｔ（１’））および終点（Ｔｓ（３）、Ｔｔ（３））間の第１および第２の入力データの動的時間整合では不要であるため、当該動的時間整合の際には、当該動的時間整合の演算を行うために使用するデータを上書きしても構わない。よって本実施形態によれば、動的時間整合の演算に使用するデータを記憶するためのメモリの容量を第１の比較例に比べて格段と減らすことができる。
【００７１】
また、本実施形態によれば、部分的に重複して前後した複数組の第１および第２の入力データを実行制御部１１４が対応情報生成部１１２に順次与え、対応情報を生成させ、この対応情報に基づいて歌唱の評価を行う。従って、例えば図８に示すように、まず、始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（１）、Ｔｔ（１’））間の区間について評価結果が出力され、次いで始点（Ｔｓ（１）、Ｔｔ（１’））および終点（Ｔｓ（２’）、Ｔｔ（２））間の区間について評価結果が出力され、…という具合に歌唱者が行う歌唱に追従して歌唱の評価結果が順次出力される。従って、本実施形態によれば、曲の歌唱中に自分が上手く歌唱できているかをリアルタイムに知りたい歌唱者の要求に応えることができる。
【００７２】
第２の比較例では、図９に示すように、曲の全区間に亙る歌唱音響パラメータおよびガイドボーカル音響パラメータを一定時間長の小区間に各々区切り、歌唱音響パラメータおよびガイドボーカル音響パラメータの小区間の組を順次切り換えて動的時間整合を行う。この第２の比較例によれば、動的時間整合の演算に使用するデータを記憶するためのメモリの容量を格段と減らすことができる。また、この第２の比較例によれば、曲の全区間に亙る歌唱音響パラメータおよびガイドボーカル音響パラメータを小区間に各々区切り、歌唱音響パラメータおよびガイドボーカル音響パラメータの小区間の組毎に動的時間整合を行って歌唱の評価を行うので、曲の歌唱中に自分が上手く歌唱できているかをリアルタイムに知りたい歌唱者の要求に応えることができる。
【００７３】
しかし、この第２の比較例には、動的時間整合により得られる対応情報が不正確になる問題がある。さらに詳述すると、例えば図９において、始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（１）、Ｔｔ（１））間の動的時間整合では、当該始点および終点間の領域において、当該始点から当該終点に至る経路であって、経路上における第１の入力データ（歌唱）および第２の入力データ（ガイドボーカル）間の差分の累積値が最小となる最適経路を探索し、その最適経路を示す対応情報を生成する。次に始点（Ｔｓ（１）、Ｔｔ（１））および終点（Ｔｓ（２）、Ｔｔ（２））間の動的時間整合では、当該始点および終点間の領域において、当該始点から当該終点に至る経路であって、経路上における第１の入力データ（歌唱）および第２の入力データ（ガイドボーカル）間の差分の累積値が最小となる最適経路を探索し、その最適経路を示す対応情報を生成する。以下、同様であり、第２の比較例において生成される対応情報が示す最適経路は、動的時間整合において始点または終点となる各位置（Ｔｓ（０）、Ｔｔ（０））、（Ｔｓ（１）、Ｔｔ（１））、（Ｔｓ（２）、Ｔｔ（２））、（Ｔｓ（３）、Ｔｔ（３））、…を必ず通過する。ところが、曲の全区間に亙る歌唱音響パラメータおよびガイドボーカル音響パラメータの各部を対応付ける正確な対応情報は、図９において破線で例示するように、動的時間整合において始点または終点となる各位置を通過しない曲線となり得る。このように第２の比較例では、動的時間整合により得られる対応情報が示す最適経路が各位置（Ｔｓ（０）、Ｔｔ（０））、（Ｔｓ（１）、Ｔｔ（１））、（Ｔｓ（２）、Ｔｔ（２））、（Ｔｓ（３）、Ｔｔ（３））、…を通過する経路に制限されるため、正確な対応情報が得られない問題がある。
【００７４】
これに対し、本実施形態において、実行制御部１１４は、対応情報生成部１１２が例えば図４に示す始点（Ｔｓ（０）、Ｔｔ（０））および終点（Ｔｓ（２）、Ｔｔ（２））間の第１および第２の入力データについての対応情報を生成した後、図５に示すように、当該対応情報により対応付けられた第１および第２の入力データの途中の各位置（Ｔｓ（１）、Ｔｔ（１’））を各々の始点とする新たな第１および第２の入力データを対応情報生成部１１２に与え、新たな第１および第２の入力データの動的時間整合を行わせる。以下同様であり、実行制御部１１４は、対応情報生成部１１２が生成した対応情報により対応付けられた第１および第２の入力データの途中の各位置を各々の始点とする新たな第１および第２の入力データを対応情報生成部１１２に与える動作を繰り返す。ここで、対応情報により対応付けられた第１および第２の入力データの途中の位置は第１および第２の入力データの各終点から離れているため、この第１および第２のデータの途中の位置は正確に対応している確率が高い。従って、本実施形態によれば、図４〜図７に示すように、曲の全区間を通じて正確な対応情報（具体的には破線と重なる対応情報）が得られる。
【００７５】
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば次の通りである。
【００７６】
（１）上記実施形態では、動的時間整合の処理対象となる歌唱音響パラメータおよびガイドボーカル音響パラメータの始点および終点間の各区間を旧区間から新区間に切り換える際、旧区間と新区間を一定時間Ｔだけオーバラップさせた。しかし、このオーバラップ長は、常に一定長である必要はなく、例えばガイドボーカル音響パラメータにおいてピッチの変化が激しい区間はオーバラップ長を長くする、といった具合に、曲の進行に合わせて変化させてもよい。あるいはオーバラップ長を指定するオーバラップ長情報をガイドボーカル音響パラメータに重畳しておき、曲の進行に合わせてオーバラップ長情報をガイドボーカル音響パラメータから読み出して、オーバラップ長の制御に利用するようにしてもよい。
【００７７】
（２）上記実施形態では、動的時間整合の処理対象となる歌唱音響パラメータおよびガイドボーカル音響パラメータの始点および終点間の各区間の長さを一定時間長２Ｔとした。しかし、この区間の長さは必ずしも一定である必要はなく、曲の進行に合わせて変化させてもよい。この場合も、始点および終点間の区間長を指定する区間長情報をガイドボーカル音響パラメータに重畳しておき、曲の進行に合わせて区間長情報をガイドボーカル音響パラメータから読み出して、区間長の制御に利用するようにしてもよい。
【００７８】
（３）上記実施形態では、動的時間整合の処理対象となる歌唱音響パラメータの始点および終点間の長さと、動的時間整合の処理対象となるガイドボーカルパラメータの始点および終点間の長さを同じ長さにしたが、両者の長さを異ならせてもよい。
【００７９】
（４）この発明はカラオケ装置以外の装置にも適用可能である。例えば言語学習装置において、入力されたユーザの音声データと比較対象となる教師データとの動的時間整合を行い、ユーザの音声データを採点するのに上記実施形態を利用してもよい。また、この言語学習装置において、ユーザの音声データを採点を行うだけでなく、ユーザの音声データが示す発声タイミングと教師データが示す発声タイミングとの時間関係を示す情報（ある箇所の発声が遅れている、あるいは早すぎる、といった情報）をユーザに提供し、ユーザに発声の練習を行わせるようにしてもよい。あるいは楽器演奏練習装置において、入力されたユーザの楽器演奏データと比較対象となる教師データとの動的時間整合を行い、ユーザの楽器演奏データを採点するのに上記実施形態を利用してもよい。また、この楽器演奏練習装置において、ユーザの楽器演奏データを採点を行うだけでなく、ユーザの楽器演奏データが示す演奏タイミングと教師データが示す演奏タイミングとの時間関係を示す情報をユーザに提供し、ユーザに楽器演奏の練習を行わせるようにしてもよい。
【００８０】
（５）上記実施形態において解析部１１１と評価部１１３を省略し、対応情報生成部１１２と実行制御部１１４の機能のみを備えたタイムアライメント装置を構成してもよい。
【００８１】
（６）上記実施形態において、第１および第２の入力データは、複数の情報を時間軸に沿って序列化した時系列データであった。そして、上記実施形態では、この発明を２つの時系列データ間の対応付けを行うタイムアライメント装置に適用した。しかし、この発明は、時系列データ以外のデータ、すなわち、任意の軸に沿って序列化された情報からなる任意のデータ間の対応付けをも行う一般的なアライメント装置にも適用可能である。例えば、ある基準位置から全方位に波動（例えば地震の波動）が伝搬する場合において、第１の方向に沿った各位置において観測される物理量（例えば地表の変位）と、第２の方向に沿った各位置において観測される物理量とを対応付けるのにこの発明を利用してもよい。
【００８２】
（７）上記実施形態では、第１の入力データと第２の入力データとの対応付けを行った。しかし、この発明の適用対象は、このような２つの入力データ間の対応付けを行うアライメント装置に限定されるものではない。この発明は、３つ以上の複数の入力データ間の対応付けを行うアライメント装置にも適用可能である。例えばカラオケにおいて、ＡさんとＢさんが歌唱を行う場合に、上記実施形態の歌唱評価装置１が、Ａさんの歌唱の歌唱音響パラメータとガイドボーカルパラメータとの動的時間整合を行うのと並行し、Ｂさんの歌唱の歌唱音響パラメータとガイドボーカルパラメータとの動的時間整合を行い、Ａさんの歌唱の採点とＢさんの歌唱の採点を行うようにしてもよい。あるいは例えばカラオケにおいて、ＡさんとＢさんとＣさんが歌唱を行う場合に、上記実施形態の歌唱評価装置１が、Ａさんの歌唱の歌唱音響パラメータとＢさんの歌唱の歌唱音響パラメータとの動的時間整合を行うのと並行し、Ｂさんの歌唱の歌唱音響パラメータとＣさんの歌唱の歌唱音響パラメータとの動的時間整合を行い、Ａさん、Ｂさん、Ｃさんの歌唱が時間的関係を考慮した場合にどの程度類似しているかの採点を行うようにしてもよい。
【００８３】
（８）上記実施形態では、歌唱評価装置１を、パーソナルコンピュータ、携帯電話端末、スマートフォン、タブレット型端末等により構成した。しかし、そのようにする代わりに、クラウド技術を利用し、ネットワーク上のコンピュータに歌唱評価装置１の処理を実行させてもよい。
【符号の説明】
【００８４】
１１……ＣＰＵ、１２……不揮発性記憶部、１３……揮発性記憶部、１４……Ａ／Ｄ変換部、１５……操作部、１６……表示部、１７……通信Ｉ／Ｆ、１１１……解析部、１１２……対応情報生成部、１１３……評価部、１１４……実行制御部、１２１……歌唱評価プログラム、１２２……ガイドボーカル音響パラメータ、１３１……歌唱データバッファ、１３２……歌唱音響パラメータバッファ、１３３……第１の入力データバッファ、１３４……第２の入力データバッファ、１３５……差分マトリックスバッファ、１３６……対応情報バッファ、１３７……評価結果バッファ。
【図１】
0006597048.tif 000002
【図２】
0006597048.tif 000003
【図３】
0006597048.tif 000004
【図４】
0006597048.tif 000005
【図５】
0006597048.tif 000006
【図６】
0006597048.tif 000007
【図７】
0006597048.tif 000008
【図８】
0006597048.tif 000009
【図９】
0006597048.tif 000010