以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動コンテンツ生成システムに本発明を適用した場合の実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。
[1.運動コンテンツ生成システム1の構成]
始めに、図1を参照して、本実施形態の運動コンテンツ生成システム1の構成について説明する。図1は、本実施形態の運動コンテンツ生成システム1の概要構成例を示す図である。図1に示すように、運動コンテンツ生成システム1は、配信サーバ2と1つ以上の出力端末5とを含んで構成されている。配信サーバ2と出力端末5とは、ネットワーク10を介して接続可能になっている。ネットワーク10は、例えば、インターネットを含む。配信サーバ2には、データベース3が接続されている。データベース3には、運動に関する情報や楽曲に関する情報が登録されている。配信サーバ2は、データベース3に登録されている情報等を、定期的に又は出力端末5からの要求に応じて出力端末5に配信する。
出力端末5は、例えば、施設4に設置される端末装置である。出力端末5は、本発明の情報処理装置の一例である。出力端末5は、施設4の利用者41により利用される。施設4は、例えば、スポーツ施設であってもよい。利用者41は、スポーツ施設において、運動レッスンを受ける。運動レッスンは、複数の運動動作と歌唱により構成されるレッスンである。この場合の出力端末5は、例えばパーソナルコンピュータであってもよい。施設4は、例えば、カラオケ店舗であってもよい。カラオケ店舗において、利用者41は、カラオケの楽曲を歌唱する。この場合の出力端末5は、例えば、カラオケ装置である。以下では、施設4がスポーツ施設である場合を例にして説明する。
出力端末5は、モニタ57と接続可能である。モニタ57は、複数のスピーカ64とディスプレイ67とを備える表示装置であってもよい。この場合、出力端末5は、ディスプレイ67と接続可能である。また、出力端末5は、スピーカ64と接続可能である。ディスプレイ67は、本発明の表示手段の一例である。また、スピーカ64は、本発明の出力手段の一例である。出力端末5がモニタ57へ音声信号を出力することにより、スピーカ64により楽曲等が出力される。出力端末5がモニタ57へ映像信号を出力することにより、ディスプレイ67に運動映像等が表示される。運動映像は、動作を行うフィギュア83を映し出した動画である。フィギュア83は、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。フィギュア83は、三次元仮想空間に配置される。施設4がカラオケ店舗である場合、ディスプレイ67には、例えば、カラオケの楽曲に対応した踊りの動作を行うフィギュア83が表示される。運動映像は、本発明における映像の一例である。出力端末5は、スピーカ64から出力される楽曲と、ディスプレイ67に表示されるフィギュア83の動きとが同期するように、信号を出力する。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者41は、スピーカ64により出力される楽曲を聴きながら、楽曲を歌唱することができる。また、利用者41は、楽曲を聴きながら、ディスプレイ67に表示されるフィギュア83を見て、運動を行うことができる。これにより、利用者41は、歌唱しながら運動を行うことができる。操作者42は、リモコン66等を用いて出力端末5を操作することができる。利用者41と操作者42とは同一人物であってもよい。施設4がスポーツ施設である場合、操作者42は、例えば、インストラクターであってもよい。
運動レッスンを行うとき、利用者41は、例えば、複数の加速度センサASを装着することができる。加速度センサASは、利用者41が運動しているときの利用者41の所定の身体部位の加速度を検出する。例えば、利用者41は、手首、肘、肩、足の付け根、膝、足首等に加速度センサASを装着してもよい。出力端末5は、加速度センサASにより検出された加速度に基づいて、利用者41の運動の評価値と、運動による利用者41の消費カロリーとを計算する。例えば、出力端末5は、利用者41の運動動作が、ディスプレイ67に表示されるフィギュア83の運動動作に近いほど、評価値を高くしてもよい。例えば、利用者41が加速度センサASを装着するのではなく、運動しているときの利用者41を撮影するためのビデオカメラが施設4に設置されてもよい。この場合、出力端末5は、ビデオカメラにより撮影された利用者41の映像に基づいて、評価値及び消費カロリーを計算してもよい。また、運動レッスンを行うとき、利用者41は、マイク68に対して歌唱することができる。出力端末5は、マイク68に入力された歌唱音声に基づいて、利用者41の歌唱の評価値と、歌唱による利用者41の消費カロリーとを計算する。例えば、出力端末5は、利用者41の歌唱音声の音高が、スピーカ64により出力されている楽曲に対応する基準となる歌唱音声の音高に近いほど、評価値を高くしてもよい。運動レッスンが終了すると、出力端末5は、運動の評価値、運動による消費カロリー、歌唱の評価値及び歌唱による消費カロリーを、ディスプレイ67に表示させる。
[2.運動コンテンツ]
運動レッスンが行われるときにモニタ57が出力する運動コンテンツは、少なくとも楽曲と運動映像とを含む。楽曲は、複数の演奏パートで構成される。スピーカ64から、楽曲の構成に従ったパートの順で楽曲が出力される。例えば、Aメロ、Bメロ、サビ、間奏、Aメロ、Bメロ、サビ等の順で、楽曲が出力されてもよい。なお、1つの運動レッスンで複数の楽曲が順次スピーカ64から出力されてもよい。楽曲を構成する各演奏パートに、それぞれ運動動作が割り当てられる。出力端末5は、運動コンテンツを出力するとき、スピーカ64により出力されている演奏パートに割り当てられた運動動作をフィギュア83が行う運動映像をディスプレイ67に表示させる。
運動動作は、例えば、身体を鍛えるための動作である。運動動作として、例えば、体操の動作と踊りの動作とがある。体操は、例えば、健康の増進、体力の増強、筋力の強化等のために行われる運動である。体操の種類として、例えば、有酸素運動、無酸素運動、ストレッチ等がある。有酸素運動の運動動作として、例えば、マーチ、フロントランジ等がある。無酸素運動の運動動作として、例えば、ショルダープレス、チェストプレス等がある。ストレッチの運動動作として、例えば、上腕部ストレッチ、首ストレッチ等がある。踊りの動作は、楽曲に合わせて踊るために楽曲に対して振り付けられた動作である。
出力端末5は、運動コンテンツに、利用者41の運動動作を指導するナレーションや、楽曲の歌詞、効果音等を含めることができる。ナレーションにより、例えば、運動動作が説明されたり、身体の動かし方が指示されたりする。ナレーションとして、ナレーション文章とナレーション音声とがある。ナレーション文章は、ナレーションを示す文章である。ナレーション音声は、ナレーションを示す音声である。歌詞として、歌詞のテロップとガイドボーカルとがある。歌詞のテロップは、歌詞を示す文字である。ガイドボーカルは、例えば、楽曲の歌詞を、模範となる音高で歌手等が歌唱する音声である。効果音は、例えば、運動レッスンを行う利用者41の気分を盛り上げるための音声である。例えば、効果音は、手拍子の音、拍手の音、歓声等であってもよい。効果音として、基本効果音と追加効果音とがある。効果音が出力されるとき、基本効果音と追加効果音とのうち、少なくとも基本効果音が出力される。追加効果音は、基本効果音に追加して出力される効果音である。利用者41の気分を更に盛り上げる場合に、基本効果音と追加効果音との両方が出力される。基本効果音に含まれる効果音の種類と追加効果音に含まれる効果音の種類は異なっていてもよい。例えば、基本効果音は手拍子の音を含み、追加効果音は拍手の音及び歓声を含んでいてもよい。また、基本効果音と追加効果音との間で、含まれる効果音の種類の全部又は一部が同一であってもよい。
運動レッスンの内容を決める要素として、例えば、利用者41が歌唱する楽曲と、利用者41が行う複数の運動動作とがある。利用者41は、同じ内容の運動レッスンを何度も行うことによって、運動レッスンに慣れていく。利用者41運動レッスンに慣れていくことにより、利用者41は、運動レッスンを構成する運動動作に熟練していく。利用者41の運動の熟練の度合いを、運動レベルという。同じ内容の運動レッスンを行うことにより運動レッスンに慣れてくると、利用者41は、運動レッスンに飽きることがある。そこで、出力端末5は、同じ内容の運動レッスンであっても、ユーザの運動レベルに応じて、ユーザが楽しみながら運動及び歌唱を行うことができるように演出を行う。演出に用いられる情報として、ナレーション、歌詞及び効果音がある。
先ず、出力端末5は、運動レッスンを行う利用者41の運動レベルを決定する。例えば、出力端末5は、利用者41の過去の運動の評価値に基づいて、運動レベルを決定してもよい。この場合、出力端末5は、評価値が高いほど運動レベルを高くしてもよい。また、出力端末5は、例えば、利用者41が運動レッスンを行った回数に基づいて、運動レベルを決定してもよい。この場合、出力端末5は、回数が多いほど運動レベルを高くしてもよい。また、出力端末5は、例えば、利用者41により選択された運動レベルを、その利用者41の運動レベルに決定してもよい。本実施形態では、運動レベルは、3段階ある。例えば、運動レベルとして、初級、中級及び上級があってもよい。中級は初級よりも運動レベルが高い。また、上級は中級よりも運動レベルが高い。初級は、本発明における第1レベルの一例である。中級は、本発明における第2レベルの一例である。上級は、本発明における第3レベルの一例である。なお、本実施形態では、運動レベルは、3段階であったが、運動レベルは2段階であってもよいし、4段階以上あってもよい。
運動レベルを決定すると、出力端末5は、運動レベルに応じて運動レッスンの設定を行う。運動レッスンの設定は、ナレーションの出力の有無、歌詞の出力の有無、効果音の出力の有無を、少なくとも決定することである。また、運動レッスンの設定は、運動コンテンツの内容を決定することでもある。運動レベルが初級である場合、出力端末5は、ナレーションを出力させる。これにより、出力端末5は、運動レベルが低いときに、利用者41の運動の習得を支援することができる。一方、出力端末5は、歌詞及び効果音を出力させない。運動の習得には必要のない情報は出力されないので、利用者41は、運動の習得に集中することができる。
運動レベルが中級である場合、出力端末5は、歌詞を出力させる。これにより、運動に慣れてきた利用者41が、運動しながら歌唱を習得することができる。一方、出力端末5は、ナレーション及び効果音を出力させない。運動に慣れてきた利用者41にナレーションは不要である。また、歌唱の習得には必要のない情報は出力されないので、利用者41は、運動しながら歌唱の習得に集中することができる。
運動レベルが上級である場合、出力端末5は、歌詞及び効果音を出力させる。これにより、より運動に慣れて歌唱にも慣れてきた利用者41が歌唱しながら運動するとき、利用者41の気分を盛り上げることができる。一方、出力端末5は、ナレーションを出力させない。運動に慣れた利用者41にナレーションは不要である。
図2(A)は、運動レッスンの設定例を示す図である。図2(A)は、運動負荷と運動レベルとの組み合わせに応じて、運動レッスンを設定する場合の例を示す。運動負荷と運動レベルとの組み合わせを、コンテンツタイプという。コンテンツタイプは、例えば、運動コンテンツの種類、類型等を示す。運動負荷は、例えば、運動動作により利用者41の身体にかかる負荷である。例えば、ある演奏パートにステップ運動が割り当てられているとする。出力端末5は、例えば、運動負荷が高いほど、ステップ運動を行うフィギュア83の動作が大きくなるように、運動映像をディスプレイ67に表示させてもよい。動作が大きいほど、身体にかかる負荷が大きくなる。運動負荷は、例えば、利用者41が選択してもよい。図2(A)の例では、運動負荷として、負荷1、負荷2及び負荷3がある。負荷2は負荷1よりも運動負荷が大きく、負荷3は負荷2よりも運動負荷が大きい。負荷1、負荷2及び負荷3の間で、演奏パートに割り当てられる運動動作の種類は同じである。例えば、ある演奏パートにステップ運動が割り当てられるとする。この場合、負荷1のステップ運動、負荷2のステップ運動、又は、負荷3のステップ運動が割り当てられる。このように、同じ運動動作のステップ運動であるが、負荷が異なるステップ運動が割り当てられる。また、ステップ運動の種類は同じであるが、負荷により運動動作が異なるステップ運動が割り当てられても良い。
出力端末5は、コンテンツタイプに応じて、運動レッスンの設定を行う。具体的に、図2(A)に示すように、出力端末5は、運動負荷、ナレーション文章の表示の有無、ナレーション音声の出力の有無、歌詞のテロップの表示の有無、ガイドボーカルの出力の有無、基本効果音の出力の有無、追加効果音の出力の有無を決定する。図2(A)において、「○」は、出力又は表示があることを示し、「×」は、出力又は表示がないことを示す。練習タイプとして、例えば、図2(A)に示すように、負荷1初級、負荷1中級、負荷1上級、負荷2初級、負荷2中級、負荷2上級、負荷3初級、負荷3中級、負荷3上級がある。運動レベルが同一である複数の練習タイプは、運動負荷が異なるのみで、その他の内容は同一である。一例として、負荷1初級、負荷2初級及び負荷3初級は、運動負荷のみが異なる。そのため、初級、中級及び上級についてのみ説明する。
初級の場合、ナレーション文章の表示及びナレーション音声の出力が、「あり」に設定される。また、歌詞のテロップの表示、ガイドボーカルの出力、基本効果音の出力及び追加効果音の出力は、「なし」に設定される。中級の場合、歌詞のテロップの表示及びガイドボーカルの出力が、「あり」に設定される。また、ナレーション文章の表示、ナレーション音声の出力、基本効果音の出力及び追加効果音の出力は、「なし」に設定される。上級の場合、歌詞のテロップの表示、基本効果音の出力及び追加効果音の出力が、「あり」に設定される。また、ナレーション文章の表示、ナレーション音声の出力及びガイドボーカルの出力は、「なし」に設定される。運動レベルが上級である利用者41は、或る程度歌唱を習得している蓋然性がある。そのため、利用者41は、ガイドボーカルが出力されなくても、歌詞を見れば、歌唱することができる。また、歌唱に慣れた利用者41は、ガイドボーカルを気にしないで、運動しながら歌唱することができる。
図2(B)は、運動レッスンの別の設定例を示す図である。図2(B)は、各運動レベルをそれぞれ更に2つの運動レベルに分けた場合の例である。図2(B)の例においても、運動レベルが同一である複数の練習タイプは、運動負荷が異なるのみで、その他の内容は同一である。運動レベルとして、例えば、初級A、初級B、中級A、中級B、上級A及び上級Bがある。初級Bは初級Aよりも運動レベルが高い。また、中級Bは中級Aよりも運動レベルが高い。また、上級Bは上級Aよりも運動レベルが高い。初級Aは、本発明における第6レベルの一例である。初級Bは、本発明における第7レベルの一例である。中級Aは、本発明における第4レベルの一例である。中級Bは、本発明における第5レベルの一例である。なお、初級、中級及び上級がそれぞれ3つ以上の運動レベルに分けられてもよい。
初級Aの場合、ナレーション文章の表示及びナレーション音声の出力が、「あり」に設定される。また、歌詞のテロップの表示、ガイドボーカルの出力、基本効果音の出力及び追加効果音の出力は、「なし」に設定される。初級Bの場合、ナレーション音声の出力が、「あり」に設定される。また、ナレーション文章の表示、歌詞のテロップの表示、ガイドボーカルの出力、基本効果音の出力及び追加効果音の出力は、「なし」に設定される。運動レベルが初級Aから初級Bに上がり、利用者41が或る程度運動動作に慣れてくると、ナレーション文章及びナレーション音声のうち何れかが出力されれば十分である。ここで、音声の方が文章よりも、利用者41に伝えるナレーションの情報の量を多くすることができる。そのため、ナレーション文章は表示されず、ナレーション音声は出力される。これにより、利用者41は、ナレーション文章を見ないことにより、ナレーション音声を聴きながら運動に集中することができる。
中級Aの場合、歌詞のテロップの表示及びガイドボーカルの出力が、「あり」に設定される。また、ナレーション文章の表示、ナレーション音声の出力、基本効果音の出力及び追加効果音の出力は、「なし」に設定される。中級Bの場合、歌詞のテロップの表示が、「あり」に設定される。また、ナレーション文章の表示、ナレーション音声の出力、ガイドボーカルの出力、基本効果音の出力及び追加効果音の出力は、「なし」に設定される。運動レベルが中級Aから中級Bに上がり、利用者41が歌唱を習得してくる。すると、ガイドボーカルがなくても、利用者41は、歌詞を見ながら或る程度正しい音程で歌唱することができる。また、歌唱に慣れてきた利用者41は、ガイドボーカルを気にしないで、運動しながら歌唱することができる。
上級Aの場合、歌詞のテロップの表示、及び基本効果音の出力が、「あり」に設定される。また、ナレーション文章の表示、ナレーション音声の出力、ガイドボーカルの出力及び追加効果音の出力は、「なし」に設定される。上級Bの場合、歌詞のテロップの表示、基本効果音の出力及び追加効果音の出力が、「あり」に設定される。また、ナレーション文章の表示、ナレーション音声の出力、及びガイドボーカルの出力は、「なし」に設定される。上級においては、運動レベルが上がることに従って、効果音が増える。これにより、利用者41の気分を段階的に盛り上げることができる。
次に、図3を用いて、運動レベルに応じた実際の運動コンテンツの内容の決定例について説明する。本実施形態において、出力端末5は、運動レッスンにおいて楽曲が出力されているとき、1つの演奏パートの出力が終了するごとに、利用者41の運動の評価値を計算する。出力端末5は、評価値に基づいて運動レベルを決定する。そして、出力端末5は、運動レベルに基づいて、次の演奏パートが出力される間の運動コンテンツの内容を決定する。例えば、図2(B)に示す設定例に従って、運動コンテンツの内容が決定されるものとする。なお、出力端末5は、例えば、演奏パートの出力が終了するタイミングと異なるタイミングで、運動レベルを決定してもよい。また、出力端末5は、例えば、運動レッスンが開始されるときにのみ、運動レベルを決定してもよい。そして、CPU51は、最初に決定された運動レベルに基づいて、楽曲を構成する全ての演奏パートが順次出力される間の運動コンテンツの内容を決定してもよい。
ある楽曲Xは、例えば、Aメロ1、Bメロ1、サビ1、間奏1、Aメロ2、Bメロ2、サビ2の順で、演奏パートが出力されるとする。本実施形態においては、楽曲と演奏パートの種類との組み合わせに対応する運動動作が予め定められている。図3の例では、楽曲XのAメロ1及びAメロ2には、運動動作1が割り当てられる。楽曲XのBメロ1及びBメロ2には、運動動作2が割り当てられる。楽曲Xのサビ1には、運動動作3が割り当てられる。楽曲Xの間奏1には、運動動作4が割り当てられる。楽曲Xのサビ2には、運動動作5が割り当てられる。楽曲の中で演奏順が最後のサビ部分の運動動作は、他のサビ部分の運動動作と部分的に異なっていてもよい。また、本実施形態においては、運動動作と運動負荷との組み合わせごとに、組み合わせに対応するナレーション文章、ナレーション音声、基本効果音及び追加効果音がある。また、演奏パートごとに、演奏パートに対応する歌詞のテロップ及びガイドボーカルがある。
図3(A)は、Aメロ1が出力される時点の運動コンテンツの内容を示す。運動レッスンを開始するとき、操作者42は、例えば、楽曲Xを指定し、運動負荷として負荷1を指定したとする。運動レッスンを開始するときは、例えば、出力端末5が、予め設定された運動レベルを、運動レッスンを行う利用者41の運動レベルとして決定したとする。例えば、出力端末5は、運動レベルとして中級Bを決定する。Aメロ1が出力され、運動負荷が負荷1である運動動作1の運動映像が表示されているとき、出力端末5は、Aメロ1に対応する歌詞のテロップを表示させる。一方、出力端末5は、ナレーション文章、ナレーション音声、ガイドボーカル、基本効果音及び追加効果音を出力させない。
図3(B)は、Bメロ1が出力される時点の運動コンテンツの内容を示す。Aメロ1の出力が終了したとき、出力端末5は、利用者41により行われた運動動作1の評価値を計算する。そして、出力端末5は、評価値に基づいて、運動レベルとして初級Bを決定したとする。この場合、Bメロ1が出力され、運動負荷が負荷1である運動動作2の運動映像が表示されているとき、出力端末5は、負荷1の運動動作2に対応するナレーション音声を出力させる。一方、出力端末5は、ナレーション文章、歌詞のテロップ、ガイドボーカル、基本効果音及び追加効果音を出力させない。
図3(C)は、サビ1が出力される時点の運動コンテンツの内容を示す。Bメロ1の出力が終了したとき、出力端末5は、利用者41により行われた運動動作2の評価値を計算する。そして、出力端末5は、評価値に基づいて、運動レベルとして中級Aを決定したとする。この場合、サビ1が出力され、運動負荷が負荷1である運動動作3の運動映像が表示されているとき、出力端末5は、サビ1に対応する歌詞のテロップを表示させ、且つ、ガイドボーカルを出力させる。一方、出力端末5は、ナレーション文章、ナレーション音声、基本効果音及び追加効果音を出力させない。
図3(D)は、サビ2が出力される時点の運動コンテンツの内容を示す。サビ1からBメロ2までの各演奏パートの出力が終了するごとに、出力端末5は、運動レベルとして上級Aを決定したとする。この場合、各演奏パートの出力中、出力端末5は、演奏パートに対応する歌詞のテロップを表示させ、且つ、演奏パートに割り当てられた負荷1の運動動作に対応する基本効果音を出力させる。一方、出力端末5は、ナレーション文章、ナレーション音声、ガイドボーカル及び追加効果音を出力させない。
[3.各装置の構成]
次に、図1を参照して、運動コンテンツ生成システムに含まれる各装置の構成について説明する。
[3−1.配信サーバ2の構成]
図1に示すように、配信サーバ2は、CPU21、ROM22、RAM23、バス24、I/Oインタフェイス25、表示制御部26、ディスクドライブ28、ネットワーク通信部30及びHDD(ハードディスクドライブ)37を備える。CPU21は、バス24を介して、ROM22、RAM23及びI/Oインタフェイス25に接続されている。CPU21は、ROM22やHDD37に記憶されプログラムを実行することにより、配信サーバ2の各部を制御する。I/Oインタフェイス25には、データベース3、表示制御部26、ディスクドライブ28、ネットワーク通信部30、キーボード31、マウス32及びHDD37が接続されている。CPU21は、I/Oインタフェイス25を介してデータベース3にアクセスする。表示制御部26は、CPU21の制御に基づいて映像信号をモニタ57に出力する。ディスクドライブ28は、記録媒体29に対するデータの書き込み及び読み出しを行う。ネットワーク通信部30は、配信サーバ2がネットワーク10に接続するための制御を行う。HDD37には、OSや各種制御プログラム等が記憶されている。
データベース3には、楽曲データ、モーションデータ、ナレーション文章データ、ナレーション音声データ、歌詞データ、ガイドボーカルデータ、基本効果音データ、追加効果音データ、教師音高データ、教師座標データ、レッスン設定表等のデータが登録されている。
楽曲データは、スピーカ64により楽曲を出力するための演奏データである。楽曲データは、例えば、MIDI(Musical Instrument Digital Interface)形式のデータであってもよい。楽曲データは、楽曲ID、楽曲名、アーティスト名、オリジナルのテンポ、楽曲の演奏パートの構成、歌詞等の情報を含む。楽曲IDは、楽曲の識別情報である。また、楽曲データは、演奏パートの切り替わりのタイミング等を規定する。例えば、楽曲データがMIDI形式のデータである場合、楽曲データには、実際の演奏データとしてのMIDIイベントに加えて、メタイベントを含めることができる。メタイベントとしては、例えば、演奏パートを示すマーカーイベント等がある。そのため、演奏パートを識別するパートIDや演奏パートの種類を示すパート種別をイベントとして楽曲データに記述することが可能である。例えば、出力端末5には、後述のミュージックシーケンサがインストールされている。出力端末5は、ミュージックシーケンサを実行することにより、楽曲データを再生するとともに、楽曲データからメタイベント等を読み出すと、読み出したイベントを出力する。例えば、マーカーイベントが出力されるタイミングが、そのマーカーイベントが示す演奏パートが開始されるタイミングとなる。本実施形態においては、マーカーイベントを、演奏パート開始イベントという。演奏パート開始イベントは、演奏パートの演奏開始を通知するイベントである。演奏パート開始イベントは、パートID及びパート種別を含む。楽曲データは、本発明における楽曲情報の一例である。
モーションデータは、三次元仮想空間におけるフィギュア83の動作を定義するデータである。モーションデータは、ディスプレイ67にフィギュア83の運動動作を表示させるためのデータである。モーションデータは、運動動作の進行に応じたフィギュア83の身体の各部の座標を含む。モーションデータは、各運動動作について運動負荷ごとに登録される。モーションデータは、例えば、モーションIDと対応付けて登録される。モーションIDは、運動動作と運動負荷との組み合わせを識別する識別情報である。モーションIDは、例えば、運動負荷、楽曲ID及びパート種別から構成されてもよい。運動負荷は、運動動作により身体に与える負荷の大きさを示す。運動負荷として、例えば、負荷1、負荷2等が設定される。楽曲ID及びパート種別は、運動動作が割り当てられる楽曲及び演奏パートの種類を示す。モーションデータは、本発明における動作情報の一例である。
ナレーション文章データは、ナレーション文章を表示するためのデータである。ナレーション文章データは、例えば、ナレーション文章のテキスト、テキストの表示タイミング等を含む。表示タイミングは、例えば、ナレーションに対応する運動動作が割り当てられた演奏パートの演奏が開始されてからの経過時間で示されてもよい。ナレーション文章データは、例えば、ナレーション文章IDとモーションIDとに対応付けて登録される。ナレーション文章IDは、ナレーション文章の識別情報である。モーションIDは、ナレーション文章が表示される運動動作を示す。ナレーション文章データは、本発明における第1の指導情報の一例である。
ナレーション音声データは、ナレーション音声を出力するためのデータである。ナレーション音声データのデータ形式は、例えば、WAV(RIFF waveform Audio Format)、AAC(Advanced Audio Coding)、MP3(MPEG Audio Layer-3)等であってもよい。例えば、ナレーション音声の再生時間が、ナレーション音声に対応する運動動作が割り当てられる演奏パートの再生時間と一致するように、ナレーション音声データが予め作成されてもよい。ナレーション音声データは、例えば、ナレーション音声IDとモーションIDとに対応付けて登録される。ナレーション音声IDは、ナレーション音声の識別情報である。モーションIDは、ナレーション音声が出力される運動動作を示す。ナレーション音声データは、本発明における第2の指導情報の一例である。
歌詞データは、歌詞のテロップを表示するためのデータである。歌詞データは、例えば、歌詞のテキスト、テキストの表示タイミング等を含む。表示タイミングは、例えば、演奏パートの演奏が開始されてからの経過時間で示されてもよい。歌詞データは、例えば、歌詞ID、楽曲ID及びパートIDに対応付けて登録される。歌詞IDは、歌詞の識別情報である。楽曲ID及びパートIDは、歌詞が対応する楽曲及び演奏パートを示す。歌詞データは、本発明における第1の歌詞情報の一例である。
ガイドボーカルデータは、ガイドボーカルを出力するためのデータである。ガイドボーカルデータのデータ形式は、例えば、WAV、AAC、MP3等であってもよい。例えば、ガイドボーカルの再生時間が、ガイドボーカルに対応する演奏パートの再生時間と一致するように、ガイドボーカルデータが予め作成されてもよい。ガイドボーカルデータは、例えば、ガイドボーカルID、楽曲ID及びパートIDに対応付けて登録される。ガイドボーカルIDは、ガイドボーカルの識別情報である。楽曲ID及びパートIDは、ガイドボーカルが対応する楽曲及び演奏パートを示す。ガイドボーカルデータは、本発明における第2の歌詞情報の一例である。
基本効果音データは、基本効果音を出力するためのデータである。基本効果音データのデータ形式は、例えば、WAV、AAC、MP3等であってもよい。例えば、基本効果音の再生時間が、基本効果音に対応する運動動作が割り当てられる演奏パートの再生時間と一致するように、基本効果音データが予め作成されてもよい。基本効果音データは、例えば、基本効果音ID、楽曲ID及びパートIDに対応付けて登録される。基本効果音IDは、基本効果音の識別情報である。楽曲ID及びパートIDは、基本効果音が対応する楽曲及び演奏パートを示す。
追加効果音データは、追加効果音を出力するためのデータである。追加効果音データのデータ形式は、例えば、WAV、AAC、MP3等であってもよい。例えば、追加効果音の再生時間が、追加効果音に対応する運動動作が割り当てられる演奏パートの再生時間と一致するように、追加効果音データが予め作成されてもよい。追加効果音データは、例えば、追加効果音ID、楽曲ID及びパートIDに対応付けて登録される。追加効果音IDは、追加効果音の識別情報である。楽曲ID及びパートIDは、追加効果音が対応する楽曲及び演奏パートを示す。
教師音高データは、楽曲を歌唱するときの歌唱音声の音高の基準を示すデータである。教師音高データは、利用者41の歌唱の評価値を計算するために用いられる。教師音高データは楽曲ごとに登録される。例えば、教師音高データには、楽曲の演奏開始からの経過時間と、その経過時間における歌唱音声の正しい音高値とが、予め定められた時間間隔ごとに対応付けて登録される。この時間間隔を、設定時間間隔という。教師音高データは、例えば、楽曲IDに対応付けて登録される。楽曲IDは、教師音高データが用いられる楽曲を示す。
教師座標データは、利用者41が運動するときの身体の動きの基準を示す。教師座標データは、運動動作を行うときの利用者41の各身体部位の三次元空間における座標の基準を示すデータである。教師座標データは、利用者41の運動の評価値を計算するために用いられる。教師座標データは、各運動動作について運動負荷ごとに登録される。例えば、教師座標データには、運動動作の開始からの経過時間と、その経過時間における各身体部位の正しい座標とが、予め定められた時間間隔ごとに対応付けて登録される。この間隔は、例えば、教師音高データの設定時間間隔と同じであってもよい。例えば、配信サーバ2が、モーションデータに基づいて、教師座標データを生成してもよい。教師座標データは、例えば、モーションIDに対応付けて登録される。モーションIDは、教師座標データが用いられる運動動作を示す。教師座標データは、本発明における基準情報の一例である。
レッスン設定表は、運動レッスンを設定するための設定値が登録されるテーブルである。レッスン設定表は、例えば、図2(A)や図2(B)に示す表に相当する情報である。レッスン設定表には、コンテンツタイプごとに設定値が登録される。具体的に、コンテンツタイプに対応付けて、運動負荷、ナレーション文章有無、ナレーション音声有無、歌詞有無、ガイドボーカル有無、基本効果音有無、追加効果音有無等が登録される。ナレーション文章有無は、ナレーション文章の表示があるかないかを示す。ナレーション音声有無は、ナレーション音声の出力があるかないかを示す。歌詞有無は、歌詞の表示があるかないかを示す。ガイドボーカル有無は、ガイドボーカルの出力があるかないかを示す。基本効果音有無は、基本効果音の出力があるかないかを示す。追加効果音有無は、追加効果音の出力があるかないかを示す。
[3−2.出力端末5の構成]
図1に示すように、出力端末5は、CPU51、ROM52、RAM53、バス54、I/Oインタフェイス55、表示制御部56、ディスクドライブ58、ネットワーク通信部60、音声出力部63、信号受信部65、センサ情報受信部69及びHDD7を備える。CPU51は、バス54を介して、ROM52、RAM53及びI/Oインタフェイス55に接続されている。CPU51は、時計機能及びタイマー機能を有する。CPU51は、ROM52やHDD7に記憶されプログラムを実行することにより、出力端末5の各部を制御する。I/Oインタフェイス55には、HDD7、表示制御部56、音声出力部63、ディスクドライブ58、ネットワーク通信部60、キーボード61、マウス62、マイク68、信号受信部65及びセンサ情報受信部69が接続されている。表示制御部56は、CPU51の制御に基づいて映像信号をモニタ57に出力する。音声出力部63は、CPU51の制御に基づいて音声信号をモニタ57に出力する。ディスクドライブ58は、記録媒体59に対するデータの書き込み及び読み出しを行う。信号受信部65は、リモコン66から出力される信号を受信する。リモコン66は、操作者42が出力端末5を操作するためのものである。センサ情報受信部69は、各加速度センサASから送信される加速度情報を受信する。加速度情報は、加速度センサASが検出した加速度を含む。
HDD7は、本発明の記憶手段の一例である。HDD7には、配信サーバ2から配信された楽曲データ、モーションデータ、ナレーション文章データ、ナレーション音声データ、歌詞データ、ガイドボーカルデータ、基本効果音データ、追加効果音データ、教師音高データ、教師座標データ、レッスン設定表等のデータが登録される。
また、HDD7には、レッスン情報が記憶される。レッスン情報は、運動レッスンの構成及び運動コンテンツの内容を定めた情報である。レッスン情報は、例えば、図3(A)〜(D)に示すような運動レッスンの構成を表す。例えば、操作者42の操作に基づいて、出力端末5がレッスン情報を生成してもよい。レッスン情報は、例えば、楽曲IDを含む。楽曲IDは、運動レッスンが行われるときに出力される楽曲を示す。また、レッスン情報は、複数のパート情報を含む。パート情報は、楽曲IDが示す楽曲を構成する演奏パートに関連する情報である。パート情報は、演奏パートごとに登録される。パート情報は、例えば、パートID、パート種別、モーションID、ナレーション文章有無、ナレーション文章ID、ナレーション音声有無、ナレーション音声ID、歌詞有無、歌詞ID、ガイドボーカル有無、ガイドボーカルID、基本効果音有無、基本効果音ID、追加効果音有無、追加効果音ID等を含む。パートIDは、演奏パートの識別情報である。パート種別は、パートIDが示す演奏パートの種類を示す。モーションIDは、演奏パートに割り当てられた運動動作を示す。ナレーション文章IDは、表示されるナレーション文章の識別情報である。ナレーション文章IDは、ナレーション文章有無が「あり」に設定されている場合に登録される。ナレーション音声IDは、出力されるナレーション音声の識別情報である。ナレーション音声IDは、ナレーション音声有無が「あり」に設定されている場合に登録される。歌詞IDは、表示される歌詞の識別情報である。歌詞IDは、歌詞有無が「あり」に設定されている場合に登録される。ガイドボーカルIDは、出力されるガイドボーカルの識別情報である。ガイドボーカルIDは、ガイドボーカル有無が「あり」に設定されている場合に登録される。基本効果音IDは、表示される基本効果音の識別情報である。基本効果音IDは、基本効果音有無が「あり」に設定されている場合に登録される。追加効果音IDは、表示される追加効果音の識別情報である。追加効果音IDは、追加効果音有無が「あり」に設定されている場合に登録される。
HDD7には、更に、OS、運動支援プログラム、3Dエンジン、ミュージックシーケンサ等の各種プログラム等が記憶されている。運動支援プログラムは、利用者41の運動を支援するためのプログラムである。運動支援プログラムは、コンピュータとしてのCPU51に、決定ステップ、第1制御ステップ、第2制御ステップ、第3制御ステップ、第4制御ステップ、第5制御ステップを少なくとも実行させる。3Dエンジンは、モーションデータに基づいて、三次元仮想空間で運動動作するフィギュア83を二次元平面に投影した画像を生成するためのプログラムである。画像を生成する処理は、射影変換、クリッピング、隠面消去、シェーディング、テクスチャマッピング等を含む。CPU51は、3Dエンジンを実行して、静止画像を順次生成する。生成された静止画像をCPU51が表示制御部56へ順次出力することで、ディスプレイ67には、運動映像が表示される。
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。CPU51は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成する。また、CPU51は、ミュージックシーケンサを実行することにより、各種のイベントを発生させる。イベントとして、例えば、テンポに応じて所定時間間隔で発生するイベントがある。このイベントは、MIDIクロックや同期イベントと呼ばれる。また、イベントとして、例えば、演奏パート開始イベントがある。
各種プログラムは、例えば、配信サーバ2等のサーバからネットワーク10を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体59に記録されてディスクドライブ58を介して読み込まれるようにしてもよい。なお、3Dエンジンやミュージックシーケンサは、プログラムではなく、専用のハードウェアであってもよい。そして、出力端末5は、ハードウェアとしての3Dエンジンやミュージックシーケンサを備えてもよい。
CPU51は、設定されたテンポに従って、楽曲データに対応する音声信号を音声出力部63へ出力させるとともに、生成した画像に対応する映像信号を表示制御部56から出力させる。CPU51は、同期イベントに基づいて、楽曲の音声信号の出力タイミングと運動映像の映像信号の出力タイミングとを同期させる。これにより、スピーカ64から出力される楽曲に同期して歌唱動作又は運動動作を行うフィギュア83がディスプレイ67に表示される。また、CPU51は、演奏パート開始イベントに基づいて、楽曲の演奏パートの切り替わり及び演奏が開始される演奏パートを検出する。
[4.運動コンテンツ生成システム1の動作]
次に、図4及び図5を参照して、運動コンテンツ生成システム1の動作を説明する。図4(A)は、出力端末5のCPU51のレッスン処理の処理例を示すフローチャートである。例えば、操作者42が、リモコン66等により、運動レッスンを開始させるための操作を行う。すると、CPU51は、レッスン処理を開始する。
図4(A)に示すように、CPU51は、レッスン生成処理を実行する(ステップS1)。レッスン生成処理において、CPU51は、操作者42の指示に基づいて、レッスン情報を生成する。レッスン生成処理の詳細は後述する。次いで、CPU51は、レッスン実行処理を実行する(ステップS2)。レッスン実行処理において、CPU51は、生成されたレッスン情報に基づいて、運動コンテンツを再生する。利用者41は、再生される運動コンテンツに合わせて、運動レッスンを行う。レッスン実行処理の詳細は後述する。次いで、CPU51は、レッスン評価処理を実行する(ステップS3)。レッスン評価処理において、CPU51は、運動レッスンにおける利用者41の歌唱及び運動を評価する。レッスン評価処理の詳細は後述する。CPU51は、ステップS3の処理を終えると、レッスン処理を終了させる。
図4(B)は、出力端末5のCPU51のレッスン生成処理の処理例を示すフローチャートである。図4(B)に示すように、CPU51は、運動レッスンに用いる楽曲の楽曲IDを取得する(ステップS11)。具体的に、CPU51は、ディスプレイ67に楽曲の一覧を表示させる。操作者42は、例えば、リモコン66を操作して、一覧の中から楽曲を選択する。CPU51は、リモコン66からセンサ情報受信部69を介して受信された信号に基づいて、操作者42が選択した楽曲の楽曲IDを特定する。
次いで、CPU51は、運動負荷を取得する(ステップS12)。具体的に、CPU51は、運動負荷を選択するための画面を表示する。操作者42は、例えば、リモコン66を操作して選択を行う。すると、リモコン66は、操作に応じた信号を送信する。CPU51は、リモコン66から受信される信号に基づいて、運動負荷を特定する。
次いで、CPU51は、運動レッスンを行う利用者41の運動レベルを決定する(ステップS13)。例えば、CPU51は、HDD7に予め記憶された運動レベルを、運動レッスンを行う利用者41に決定する。
次いで、CPU51は、運動レッスンの設定値を取得する(ステップS14)。具体的に、CPU51は、運動負荷と運動レベルからコンテンツタイプを生成する。そして、CPU51は、レッスン設定表から、コンテンツタイプに対応する運動負荷、ナレーション文章有無、ナレーション音声有無、歌詞有無、ガイドボーカル有無、基本効果音有無、追加効果音有無を取得する。
次いで、CPU51は、レッスン情報を生成する(ステップS15)。具体的に、CPU51は、ステップS11で取得した楽曲IDを含むレッスン情報をHDD7に記憶させる。次いで、CPU51は、取得した楽曲IDに対応する楽曲データから、演奏順が1番目の演奏パート開始イベントを読み出す。次いで、CPU51は、取得した演奏パート開始イベントからパートID及びパート種別を取得する。次いで、CPU51は、取得したパートID及びパート種別を含むパート情報を生成する。次いで、CPU51は、運動負荷、楽曲ID及びパート種別から、モーションIDを生成する。次いで、CPU51は、生成したモーションIDをパート情報に追加する。次いで、CPU51は、取得したナレーション文章有無、ナレーション音声有無、歌詞有無、ガイドボーカル有無、基本効果音有無、追加効果音有無をパート情報に追加する。
ナレーション文章有無が「あり」に設定されている場合、CPU51は、モーションIDに対応するナレーション文章IDをHDD7から取得して、パート情報に追加する。ナレーション音声有無が「あり」に設定されている場合、CPU51は、モーションIDに対応するナレーション音声IDをHDD7から取得して、パート情報に追加する。歌詞有無が「あり」に設定されている場合、CPU51は、楽曲ID及びパートIDに対応する歌詞IDをHDD7から取得して、パート情報に追加する。ガイドボーカル有無が「あり」に設定されている場合、CPU51は、楽曲ID及びパートIDに対応するガイドボーカルIDをHDD7から取得して、パート情報に追加する。基本効果音有無が「あり」に設定されている場合、CPU51は、モーションIDに対応する基本効果音IDをHDD7から取得して、パート情報に追加する。追加効果音有無が「あり」に設定されている場合、CPU51は、モーションIDに対応する追加効果音IDをHDD7から取得して、パート情報に追加する。CPU51は、必要な情報を追加したパート情報をレッスン情報に追加する。CPU51は、ステップS15の処理を終えると、レッスン生成処理を終了させる。
図5(A)は、出力端末5のCPU51のレッスン実行処理の処理例を示すフローチャートである。図5(A)に示すように、CPU51は、初期設定を行う(ステップS21)。具体的に、CPU51は、センサASを装着して規定の姿勢で静止するよう利用者41に指示するメッセージをディスプレイ67に表示させる。規定の姿勢は、例えば、気を付けの姿勢であってもよい。例えば、HDD7には、規定の姿勢をとった場合の利用者41の各身体部位の三次元空間における座標が予め記憶されている。メッセージの表示から所定秒経過した後、CPU51は、HDD7に記憶されている座標を、利用者41の身体部位の座標の初期値としてRAM53に記憶させる。次いで、CPU51は、時計機能から現在時刻を取得する。そして、CPU51は、現在時刻を、楽曲の再生開始時刻としてRAM53に記憶させる。また、CPU51は、現在時刻を、演奏順が1番目の演奏パートの再生開始時刻としてRAM53に記憶させる。また、CPU51は、生成されたレッスン情報から、演奏順が1番目である演奏パートのパート情報を取得する。また、CPU51は、レッスン情報に含まれる楽曲IDに対応する楽曲データから、楽曲のテンポを取得する。
CPU51は、ステップS21の処理を終えると、運動コンテンツを再生する。先ず、CPU51は、3Dエンジンにより、運動映像表示処理を実行する(ステップS22)。具体的に、CPU51は、取得したパート情報に含まれるモーションIDに対応するモーションデータに基づいて、運動映像の静止画像を生成する。このとき、CPU51は、楽曲のテンポと、演奏パートの再生開始時刻から現時点までの経過時間とに基づいて、生成する静止画像を決定する。CPU51は、生成した静止画像を表示制御部56に出力する。表示制御部56は、静止画像に応じた映像信号をディスプレイ67に出力する。これにより、ディスプレイ67には、フィギュア83が動作する運動映像が表示される。
次いで、CPU51は、歌詞表示処理を実行する(ステップS23)。具体的に、CPU51は、取得したパート情報に含まれる歌詞有無が「あり」に設定されているか否かを判定する。このとき、歌詞有無が「なし」に設定されている場合、CPU51は、歌詞を表示させないで、歌詞表示処理を終了させる。一方、歌詞有無が「あり」に設定されている場合、CPU51は、パート情報に含まれる歌詞IDに対応する歌詞データに基づいて、歌詞のテロップを表示させる。このとき、CPU51は、演奏パートの再生開始時刻から現時点までの経過時間に基づいて、歌詞データに含まれるテキストの中から、表示させるテキストを決定する。そして、CPU51は、決定したテキストを表示制御部56に出力する。この場合、表示制御部56は、テキストが示す文字と運動映像の静止画像とを合成する。そして、CPU51は、合成した画像に応じた映像信号をディスプレイ67に出力する。これにより、ディスプレイ67には、運動動作するフィギュア83と歌詞とが表示される。
次いで、CPU51は、ナレーション文章表示処理を実行する(ステップS24)。具体的に、CPU51は、取得したパート情報に含まれるナレーション文章有無が「あり」に設定されているか否かを判定する。このとき、ナレーション文章有無が「なし」に設定されている場合、CPU51は、ナレーション文章を表示させないで、ナレーション文章表示処理を終了させる。一方、ナレーション文章有無が「あり」に設定されている場合、CPU51は、パート情報に含まれるナレーション文章IDに対応するナレーション文章データに基づいて、ナレーション文章を表示させる。このとき、CPU51は、演奏パートの再生開始時刻から現時点までの経過時間に基づいて、ナレーション文章データに含まれるテキストの中から、表示させるテキストを決定する。そして、CPU51は、決定したテキストを表示制御部56に出力する。この場合、表示制御部56は、テキストが示す文字と運動映像の静止画像とを合成する。そして、CPU51は、合成した画像に応じた映像信号をディスプレイ67に出力する。これにより、ディスプレイ67には、運動動作するフィギュア83とナレーション文章とが表示される。
次いで、CPU51は、ミュージックシーケンサにより、楽曲再生処理を実行する(ステップS25)。具体的に、CPU51は、生成されたレッスン情報に含まれる楽曲IDに対応する楽曲データに基づいて、楽曲を出力させる。このとき、CPU51は、楽曲データから、楽曲の再生開始時刻から現時点までの経過時間に対応するイベントを読み出す。そして、CPU51は、読み出したイベントに基づいて、音声出力部63による音声信号の出力を制御する。これにより、CPU51は、音声出力部63からスピーカ64へ、楽曲の音声信号を出力させる。そして、スピーカ64から楽曲が出力される。なお、楽曲データには、例えば、デルタタイムとイベントとの組が記述されている。デルタタイムは、あるイベントを出力してから、次のイベントを出力するまでの時間を示す。そのため、CPU51は、例えば、楽曲データからイベントを読み出すタイミングを、デルタタイムと楽曲のテンポとに従って決定する。
次いで、CPU51は、ガイドボーカル再生処理を実行する(ステップS26)。具体的に、CPU51は、取得したパート情報に含まれるガイドボーカル有無が「あり」に設定されているか否かを判定する。このとき、ガイドボーカル有無が「なし」に設定されている場合、CPU51は、ガイドボーカルを出力させないで、ガイドボーカル再生処理を終了させる。一方、ガイドボーカル有無が「あり」に設定されている場合、CPU51は、パート情報に含まれるガイドボーカルIDに対応するガイドボーカルデータに基づいて、ガイドボーカルを出力させる。このとき、CPU51は、ガイドボーカルデータから、演奏パートの再生開始時刻から現時点までの経過時間に対応するデータ部分を読み出す。そして、CPU51は、読み出したデータ部分に基づいて、音声出力部63による音声信号の出力を制御する。この場合、音声出力部63は、ガイドボーカルの音声信号と楽曲の音声信号とを合成する。そして、音声出力部63は、合成された音声信号をスピーカ64に出力する。これにより、スピーカ64から楽曲とガイドボーカルとが出力される。
次いで、CPU51は、ナレーション音声再生処理を実行する(ステップS27)。具体的に、CPU51は、取得したパート情報に含まれるナレーション音声有無が「あり」に設定されているか否かを判定する。このとき、ナレーション音声有無が「なし」に設定されている場合、CPU51は、ナレーション音声を出力させないで、ナレーション音声再生処理を終了させる。一方、ナレーション音声有無が「あり」に設定されている場合、CPU51は、パート情報に含まれるナレーション音声IDに対応するナレーション音声データに基づいて、ナレーション音声を出力させる。このとき、CPU51は、ナレーション音声データから、演奏パートの再生開始時刻から現時点までの経過時間に対応するデータ部分を読み出す。そして、CPU51は、読み出したデータ部分に基づいて、音声出力部63による音声信号の出力を制御する。この場合、音声出力部63は、ナレーション音声の音声信号と楽曲の音声信号とを合成する。そして、音声出力部63は、合成された音声信号をスピーカ64に出力する。これにより、スピーカ64から楽曲とナレーション音声とが出力される。
次いで、CPU51は、効果音再生処理を実行する(ステップS28)。具体的に、CPU51は、取得したパート情報に含まれる基本効果音有無が「あり」に設定されているか否かを判定する。このとき、基本効果音有無が「なし」に設定されている場合、CPU51は、基本効果音を出力させないで、効果音再生処理を終了する。一方、基本効果音有無が「あり」に設定されている場合、CPU51は、パート情報に含まれる基本効果音IDに対応する基本効果音データに基づいて、基本効果音を出力させる。このとき、CPU51は、基本効果音データから、演奏パートの再生開始時刻から現時点までの経過時間に対応するデータ部分を読み出す。そして、CPU51は、読み出したデータ部分に基づいて、音声出力部63による音声信号の出力を制御する。この場合、音声出力部63は、基本効果音の音声信号と楽曲の音声信号とを合成する。そして、音声出力部63は、合成された音声信号をスピーカ64に出力する。これにより、スピーカ64から楽曲と基本効果音とが出力される。また、CPU51は、追加効果音についても、基本効果音と同様に処理する。これにより、追加効果音有無が「あり」に設定されている場合、スピーカ64から楽曲と追加効果音とが出力される。
次いで、CPU51は、利用者41の歌唱データ及び運動データの取得タイミングであるか否かを判定する(ステップS29)。歌唱データは、利用者41の歌唱音声の音高値及び音量である。運動データは、利用者41の各身体部位の三次元空間における座標及び各身体部位の移動量である。例えば、利用者41は、予め設定された設定時間間隔が経過するごとに、歌唱データ及び運動データを取得する。このとき、CPU51は、取得タイミングではないと判定した場合には(ステップS29:NO)、ステップS32に進む。一方、CPU51は、取得タイミングであると判定した場合には(ステップS29:YES)、ステップS30に進む。
ステップS30において、CPU51は、利用者41の歌唱データを取得する。具体的に、CPU51は、マイク68から入力された音声信号を分析して、歌唱音声の音高値及び音量を取得する。そして、CPU51は、取得した音高値及び音量を、楽曲の再生開始時刻からの経過時間と対応付けてRAM53に記憶させる。次いで、CPU51は、利用者41の運動データを取得する(ステップS31)。具体的に、CPU51は、各加速度センサASから送信されてくる加速度情報をセンサ情報受信部69を介して取得する。次いで、CPU51は、取得した加速度情報と、設定時間間隔前に取得した利用者41の各身体部位の座標とに基づいて、現在の利用者41の各身体部位の座標及び移動量を計算する。そして、CPU51は、計算した座標及び移動量を、パート情報に含まれるモーションIDと、演奏パートの再生開始時刻からの経過時間と対応付けてRAM53に記憶させる。利用者41の各身体部位の座標は、本発明における第2動作情報の一例である。
次いで、CPU51は、レッスン更新処理を実行する(ステップS32)。レッスン更新処理において、CPU51は、レッスン情報を更新するタイミングであるとき、利用者41の運動レベルを改めて決定する。そして、CPU51は、新しい運動レベルに基づいて、レッスン情報を更新する。レッスン情報を更新するタイミングは、例えば、演奏パートが切り替わるタイミングである。レッスン更新処理の詳細については、後述する。
次いで、CPU51は、運動コンテンツの再生が終了したか否かを判定する(ステップS33)。例えば、CPU51は、ミュージックシーケンサから、楽曲データの終端が検出されたことを示すイベントが出力された場合には、運動コンテンツの再生が終了したと判定する。このとき、CPU51は、運動コンテンツの再生が終了していないと判定した場合には(ステップS33:NO)、ステップS22に進む。一方、CPU51は、運動コンテンツの再生が終了したと判定した場合には(ステップS33:YES)、レッスン実行処理を終了させる。
図5(B)は、出力端末5のCPU51のレッスン更新処理の処理例を示すフローチャートである。図5(B)に示すように、CPU51は、レッスン情報の更新タイミングであるか否かを判定する(ステップS41)。例えば、CPU51は、ミュージックシーケンサから演奏パート開始イベントが出力されたとき、レッスン情報の更新タイミングであると判定してもよい。このとき、CPU51は、更新タイミングではないと判定した場合には(ステップS41:NO)、レッスン更新処理を終了させる。一方、CPU51は、更新タイミングであると判定した場合には(ステップS41:YES)、ステップS42に進む。
ステップS42において、CPU51は、演奏パートの切り替わりによって出力が終了した演奏パートに割り当てられた運度動作の評価値を算出する。具体的に、CPU51は、出力が終了した演奏パートのパート情報から、モーションIDを取得する。次いで、CPU51は、モーションIDに対応する利用者41の各身体部位の座標と、モーションIDに対応する教師座標データに登録されている各身体部位の座標との差を、経過時間ごとに計算する。これにより、CPU51は、利用者41の各身体部位の座標と、教師座標データに登録されている各身体部位の座標とを比較する。次いで、CPU51は、座標の差が、HDD7に予め記憶された運動閾値以下であるか否かを判定する。そして、CPU51は、差が運動閾値以下である利用者41の身体部位の座標の数をカウントする。次いで、CPU51は、差が運動閾値以下である座標の数を、利用者41の身体部位の座標の総数で割ることにより、差が運動閾値以下である座標の割合を計算する。そして、CPU51は、計算した割合に100を掛けて、評価値を計算する。次いで、CPU51は、計算した評価値に基づいて、運動レベルを決定する(ステップS43)。例えば、CPU51は、評価値が高いほど、運動レベルを高くする。
次いで、CPU51は、運動レッスンの設定値を再取得する(ステップS44)。具体的に、CPU51は、レッスン設定表から、レッスン生成処理で取得した運動負荷及びステップS43で決定した運動レベルから、コンテンツタイプを生成する。そして、CPU51は、レッスン設定表から、コンテンツタイプに対応する運動負荷、ナレーション文章有無、ナレーション音声有無、歌詞有無、ガイドボーカル有無、基本効果音有無、追加効果音有無を取得する。
次いで、CPU51は、レッスン情報を更新する(ステップS45)。具体的に、CPU51は、ミュージックシーケンサから出力された演奏パート開始イベントから、パートID及びパート種別を取得する。次いで、CPU51は、パート情報を生成して、レッスン情報に追加する。パート情報の生成方法は、レッスン生成処理のステップS15と同様である。次いで、CPU51は、次の演奏パートの再生開始時刻としてRAM53に記憶させる。CPU51は、ステップS45の処理を終えると、レッスン更新処理を終了させる。レッスン実行処理において、CPU51は、新しく追加されたパート情報及び次の演奏パートの再生開始時刻に基づいて、ステップS22〜31を実行する。
図5(C)は、出力端末5のCPU51のレッスン評価処理の処理例を示すフローチャートである。図5(C)に示すように、CPU51は、歌唱の評価値を算出する(ステップS51)。具体的に、CPU51は、RAM53に記憶された利用者41の歌唱音声の音高値と、レッスン情報に含まれる楽曲IDに対応する教師音高データに登録されている音高値との差を、経過時間ごとに計算する。次いで、CPU51は、音高値の差が、HDD7に予め記憶された歌唱閾値以下であるか否かを判定する。そして、CPU51は、差が歌唱閾値以下である利用者41の音高値の数をカウントする。次いで、CPU51は、差が歌唱閾値以下である音高値の数を、利用者41の音高値の総数で割ることにより、差が歌唱閾値以下である音高値の割合を計算する。そして、CPU51は、計算した割合に100を掛けて、評価値を計算する。
次いで、CPU51は、運動の評価値を算出する(ステップS52)。具体的に、CPU51は、RAM53に記憶された利用者41の各身体部位の座標と、教師座標データに登録されている各身体部位の座標との差を、経過時間ごとに計算する。このとき、CPU51は、利用者41の身体部位の座標に対応付けられているモーションIDと同一のモーションIDに対応する教師音高データを用いる。次いで、CPU51は、座標の差が、HDD7に予め記憶された運動閾値以下であるか否かを判定する。そして、CPU51は、差が運動閾値以下である利用者41の身体部位の座標の数をカウントする。次いで、CPU51は、の差が運動閾値以下である座標の数を、利用者41の身体部位の座標の総数で割ることにより、差が運動閾値以下である座標の割合を計算する。そして、CPU51は、計算した割合に100を掛けて、評価値を計算する。
次いで、CPU51は、歌唱による消費カロリーを計算する(ステップS53)。具体的に、CPU51は、RAM53に記憶された利用者41の歌唱音声の音量ごとに、音量に対応するカロリーを決定する。このとき、CPU51は、音量が大きいほど、カロリーを高くする。そして、CPU51は、計算したカロリーの合計値を、歌唱による消費カロリーとして計算する。
次いで、CPU51は、運動による消費カロリーを計算する(ステップS54)。具体的に、CPU51は、RAM53に記憶された利用者41の各身体部位の移動量ごとに、移動量に対応するカロリーを決定する。このとき、CPU51は、移動量が大きいほど、カロリーを高くする。そして、CPU51は、計算したカロリーの合計値を、運動による消費カロリーとして計算する。
次いで、CPU51は、ステップS51〜S54で算出した評価値及び消費カロリーをディスプレイ67に表示させる(ステップS55)。CPU51は、ステップS55の処理を終えると、レッスン評価処理を終了させる。
以上説明したように、本実施形態によれば、CPU51が、利用者41の運動レベルを決定する。次いで、CPU51が、運動レベルが初級である場合、ナレーション文章を表示させること、及び、ナレーション音声を出力させることの少なくとも何れかを行う。また、CPU51が、運動レベルが中級である場合、歌詞のテロップを表示させること、及び、ガイドボーカルを出力させることの少なくとも何れかを行う。また、CPU51が、運動レベルが上級である場合、歌詞のテロップを表示させること、及び、ガイドボーカルを出力させることの少なくとも何れかを行い、且つ、効果音を出力させる。そのため、利用者41の運動レベルに応じて、利用者41が楽しみながら運動及び歌唱を行うことができるように演出することができる。
なお、本実施形態においては、出力端末5は、運動レッスンにおいて、1つの演奏パートの出力が終了するごとに運動レベルを決定していた。つまり、出力端末5は、運動レッスン中に運動レベルを動的に変化させていた。しかしながら、出力端末5は、例えば、運動レッスン中は、運動レベルを変化させなくてもよい。具体的に、図4(B)に示すレッスン生成処理のステップS13において、出力端末5は、運動レッスンの最初から最後まで通して適用される運動レベルを決定する。例えば、出力端末5は、利用者41の過去の運動の評価値に基づいて、運動レベルを決定してもよい。また、出力端末5は、例えば、利用者41に運動レベルを選択させてもよい。次いで、出力端末5は、決定した運動レベルに対応する設定値を取得し(ステップS14)、取得した設定値に基づいてレッスン情報を生成する(ステップS15)。このとき、出力端末5は、楽曲を構成する全ての演奏パートのパート情報を含むレッスン情報を生成する。つまり、出力端末5は、楽曲を構成する全ての演奏パートに対して、ステップS13で決定した運動レベルにより、運動コンテンツの内容を決定する。図5(A)に示すレッスン実行処理において、出力端末5は、ステップS32のレッスン更新処理を実行しない。レッスン実行処理において、出力端末5は、演奏パートが切り替わるごとに、レッスン情報から次の演奏順の演奏パートのパート情報を取得する。そして、出力端末5は、取得したパート情報に基づいて、運動コンテンツの出力を制御する。
また、上記実施形態においては、本発明の情報処理装置が出力端末5に適用されていた。しかしながら、本発明の情報処理装置が配信サーバ2に適用されてもよい。例えば、配信サーバ2が、利用者41の運動レベルを決定して、レッスン情報を生成してもよい。そして、配信サーバ2は、レッスン情報に基づいて、音声データ及び動画データを生成してもよい。この場合の音声データは、楽曲、ガイドボーカル、ナレーション音声、効果音を出力するためのデータである。また、動画データは、運動映像、歌詞及びナレーション文章を表示するためのデータである。運動レッスンが行われるとき、配信サーバ2は、音声データ及び動画データを、例えばストリーミング方式で出力端末5に送信する。これにより、配信サーバ2は、出力端末5により楽曲を出力させ、且つ、運動映像を表示させる。また、本発明の情報処理装置が出力端末5及び配信サーバ2に適用されてもよい。そして、出力端末5及び配信サーバ2は協働して処理を行ってもよい。