以下、本発明を具体化した一実施の形態について、楽曲設定プログラムが実行される運動支援装置5を一例とし、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。本明細書に記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
図1〜図3を参照し、運動支援装置5および楽曲管理装置2の概略的な構成について説明する。図1に示すように、運動支援装置5は、例えばインターネット等のネットワーク10を介して、楽曲管理装置2と電気的に接続される。楽曲管理装置2は、コンピュータが楽曲を演奏するための楽曲データを管理する装置である。楽曲データとは、例えばMIDIやWAV、MP3などの形式のデータをいう。楽曲管理装置2は、ネットワーク10を介して接続される複数の運動支援装置5に対して、定期的に、あるいはリクエストに応じて、楽曲データを配信することができる。楽曲管理装置2は、さらに、その楽曲データに関連する楽曲情報および属性情報(後述)を、楽曲データとともに配信することができる。運動支援装置5は、配信された楽曲データ、楽曲情報および属性情報を、後述するハードディスクドライブ(HDD)7に記憶する。運動支援装置5は、後述する楽曲設定プログラムによって運動(後述するモーション情報)に割当てられた楽曲を、運動映像の表示に合わせて再生する。
次に、運動支援装置5および楽曲管理装置2の詳細な構成について説明する。まず、楽曲管理装置2について説明する。楽曲管理装置2は、例えば、周知のパーソナルコンピュータ(PC)である。楽曲管理装置2は、制御を司るCPU21を備える。CPU21には、バス24を介して、ROM22、RAM23、入出力(I/O)インタフェイス25が接続されている。ROM22は、CPU21が実行するBIOS等のプログラムを記憶する読出し専用の記憶装置である。RAM23は、データを一時的に記憶する読み書き可能な記憶装置である。
入出力インタフェイス25には、データベース3、HDD37、ディスクドライブ28、ネットワーク通信部30、表示制御部26、キーボード31およびマウス32が接続されている。データベース3は、楽曲データと楽曲情報と属性情報とを関連付けて記憶する記憶装置である。データベース3に蓄積される情報は、CPU21によって読み書きされる。楽曲情報は、楽曲データによって表される楽曲に関する情報であり、例えば楽曲名やコード番号である。属性情報は、楽曲の検索や分類を行えるようにするため設定される情報である。属性情報は、例えば、楽曲のアーティスト名、ジャンル名、リリース時期、テンポ(BPM:Beats Per Minute)などの情報を含む。また、属性情報は、楽曲の特徴を表す任意のキーワード等の情報を含んでもよい。
ディスクドライブ28は、ディスクROM29からデータやプログラム等の読み込みを行う装置である。ディスクROM29は、例えばCD−ROMやDVD−ROMなど、データが記憶された記憶媒体である。PCを楽曲管理装置2として稼働させるためのOSやプログラム等が、ディスクROM29に記憶されて提供される。
記憶装置であるHDD37には、ディスクROM29から読み出されたOSやプログラム等がインストールされる。なお、OSやプログラム等は、フラッシュROMなど、その他の記憶媒体に記憶されて提供されてもよい。あるいは、ネットワーク通信部30を介して接続されるネットワーク10上の図示しない端末から、ダウンロードにより、提供されてもよい。表示制御部26は、楽曲管理装置2で稼働されるOSやプログラム等の操作画面をモニタ27に表示するための描画処理を行う。キーボード31、マウス32は、楽曲管理装置2で稼働されるOSやプログラム等の操作画面における操作を行う際に用いられる。
次に、運動支援装置5について説明する。運動支援装置5は、楽曲管理装置2と同様に、周知のパーソナルコンピュータ(PC)を用いて構成した装置である。運動支援装置5は、ユーザ41が所定の身体部位を動作させる運動を支援する装置である。運動支援装置5は、例えば、スポーツ施設4などに設置されて、モニタ57の表示部67に運動映像を表示する。運動支援装置5は、図示しないプログラムの実行にしたがって、モーションデータ(後述)に応じた運動動作を行うキャラクタ68を映し出した運動映像を生成する。生成された運動映像は、運動支援装置5に接続されたモニタ57の表示部67に表示される。その際に運動支援装置5は、各運動に対して設定された楽曲を、運動映像の表示に合わせて再生する。なお、楽曲は、後述する楽曲設定プログラムの実行によって、各運動に設定される。スポーツ施設4のユーザ41は、表示部67に表示された映像を手本に、楽曲のテンポに合わせ、各自の身体部位を動作させる運動を行う。
運動支援装置5の電気的な構成は楽曲管理装置2と同様である。運動支援装置5は、制御を司るCPU51を備えている。CPU51には、バス54を介して、ROM52、RAM53、入出力インタフェイス55が接続されている。ROM52は、CPU51が実行するBIOS等のプログラムを記憶する読出し専用の記憶装置である。RAM53は、データを一時的に記憶する読み書き可能な記憶装置である。
入出力インタフェイス55には、HDD7、ディスクドライブ58、ネットワーク通信部60、表示制御部56、音声出力部63、信号受信部65、キーボード61およびマウス62が接続されている。ディスクドライブ58は、上記同様、ディスクROM59からデータやプログラム等の読み込みを行う装置である。後述の楽曲設定プログラムは、ディスクROM59に記憶されて提供される。なお、楽曲設定プログラムは、フラッシュROMなど、その他の記憶媒体に記憶されて提供されてもよい。あるいは、楽曲設定プログラムは、ネットワーク10を介してダウンロードにより提供されてもよい。
記憶装置であるHDD7には、各種プログラムやデータがインストールされる。各種プログラムは、例えば、運動支援装置5を稼働させるためのOSや、ディスクROM59から読み出された楽曲設定プログラムを含む。また、HDD7には、後述するモーションデータが、モーション情報に対応付けられて、あらかじめ記憶されている。なお、モーションデータおよびモーション情報は、ネットワーク10を介し、図示しないサーバから配信され、HDD7に記憶されてもよい。
また、HDD7の所定の記憶エリアには、図2に示す、楽曲管理テーブル71が作成される。楽曲管理テーブル71は、楽曲データと、その楽曲データに関連する楽曲情報および属性情報とを、互いに関連付けた状態で記憶するテーブルである。上記したように、楽曲データ、楽曲情報および属性情報は、楽曲管理装置2から定期的に、あるいはリクエストに応じて配信される。後述する楽曲設定プログラムの実行に伴い行われる楽曲情報の検索では、検索情報に基づく楽曲情報の検索が行われる。検索情報は、検索のためのキーワード等である。楽曲管理テーブル71の属性情報は、検索情報の検索対象として検索時に参照される。そして、検索情報を含む属性情報に対応する楽曲情報が、検索結果として利用者に提示される。
さらに、HDD7の所定の記憶エリアには、図3に示す、レッスン管理テーブル72が作成される。レッスン管理テーブル72は、複数のレッスン情報を管理するテーブルである。レッスン管理テーブル72は、各レッスン情報に含まれる複数のモーション情報のそれぞれに、楽曲情報と検索経緯情報とを対応付けて記憶する。レッスン情報は、1つ以上の運動動作により構成される。レッスン情報は、所定の運動目的を達成するために効果的な1つ以上の運動動作を含む。具体的には、レッスン情報は、レッスン情報に含まれる運動動作が実行順に行われるレッスンの情報を表す。すなわち、レッスン情報は、モーション情報を実行順に並べてリスト化したものである。モーション情報は、個々の運動を表す情報である。モーション情報は、例えば、「マーチ」、「サイドステップ」、「Vステップ」などを含む。
本実施の形態では、レッスン情報に含まれるモーション情報のそれぞれに対して楽曲情報が割当てられている。モーション情報と楽曲情報は、レッスン管理テーブル72において互いに対応付けられて管理される。また、後述する楽曲設定プログラムでは、楽曲情報を検索する処理が行われる。その検索の処理において、複数の検索情報(キーワード等)が、順に、楽曲情報の検索に用いられて、楽曲情報の候補の抽出が行われる。検索経緯情報は、検索情報を、検索情報が用いられた順序を示す情報とともに表す情報である。レッスン管理テーブル72は、検索経緯情報を記憶する際に、検索情報が用いられた順序を示す情報を記憶する。本実施の形態は、順序を示す情報として、改行コードを用いる。レッスン管理テーブル72は、複数の検索情報を検索順に並べ、間に改行コードによる区切りを挿入したものを、検索経緯情報として記憶する。検索情報が用いられた順序を示す情報として、上記の改行コードに限らず、例えばカンマなど、特定の文字や記号による区切りを用いてもよい。あるいは、順序を示す情報として、検索順を示す番号等を用い、検索情報に対応付けてもよい。なお、検索情報の詳細については後述するが、検索情報は、分類情報および項目情報を含む。
本実施の形態では、複数種類のレッスン情報があらかじめ作成される。複数種類のレッスン情報は、様々なモーション情報の組み合わせによって構成される。作成されたレッスン情報は、レッスン管理テーブル72として、HDD7に楽曲設定プログラムのインストール時に記憶されているものとする。各モーション情報に割当てられる楽曲情報は、あらかじめ、推奨の楽曲情報が対応付けられていてもよいし、あるいは未割当てであってもよい。検索経緯情報についても同様に、あらかじめ、推奨の楽曲情報を検索した経緯に基づく検索経緯情報が対応付けられていてもよいし、あるいは未設定であってもよい。なお、レッスン管理テーブル72は、ネットワーク10を介し、図示しないサーバから配信され、HDD7に記憶されてもよい。あるいは、インストラクター42が、任意のモーション情報を組み合わせてレッスン情報を作成し、レッスン管理テーブル72に記憶させてもよい。
次に、図1に示すように、表示制御部56は、キャラクタ68を映し出した運動映像を、モニタ57の表示部67に表示するための描画処理を行う。キーボード61、マウス62、リモコン66は、インストラクター42が、運動支援装置5の操作を行う際に用いられる。マウス62等は、インストラクター42が、例えば、1つ以上のモーション情報により構成されるレッスン情報の選択や視点の変更などの操作を行う際に、用いられる。また、マウス62等は、後述する楽曲設定プログラムの実行によってモニタ57の表示部67に表示される、楽曲設定画面80の操作が行われる際にも用いられる。信号受信部65は、電波や光など周知の手段を用いてリモコン66から出力される信号を受信する。音声出力部63は、キャラクタ68を映し出した運動映像に合わせて再生される楽曲をスピーカ64から出力する制御を行う。
モーションデータは、図示しない、三次元仮想空間内に配置されるキャラクタ68が、具体的な運動動作を行う際に使用されるデータである。モーションデータは、モーション情報に対応付けられている。また、モーションデータは、キャラクタ68の各身体部位の座標データ、同様に各身体部位に対応した細部の座標データ、細部に対応したテクスチャデータなども含む。
また、運動映像の生成は、以下のように行われる。図示しない三次元仮想空間内にキャラクタ68が配置される。キャラクタ68により、モーションデータに基づく運動動作が行われる。図示しない仮想カメラによって、運動動作を行うキャラクタ68が所定の時間ごとに撮影される。撮影された画像が、公知のアフィン変換によって、二次元の画像に変換される。運動映像は、このように運動動作を行うキャラクタ68を撮影した画像が、時系列に沿って連続的に表示された映像である。運動映像は、インストラクター42によって選択されるレッスン情報にしたがって生成される。
次に、図4を参照し、後述する楽曲設定プログラムの実行に伴い、モニタ57の表示部67に表示される楽曲設定画面80について説明する。運動支援装置5では、図示しないメインプログラムの実行によって、ユーザ41の運動を支援するための運動映像が、モニタ57の表示部67に表示される。インストラクター42は、表示部67に表示される操作画面(図示外)において、ユーザ41に行わせたい運動レッスンすなわちレッスン情報を選択する。操作画面は、メインプログラムの実行に伴い表示される。インストラクター42がレッスン情報に含まれるモーション情報に割当てられている楽曲を変更したい場合、操作画面上で、マウス62等による操作が行われる。あるいは楽曲が割当てられていないモーション情報に楽曲を割当てたい場合にも同様に、マウス62等による操作画面の操作が行われる。すると、後述する楽曲設定プログラムが実行されて、表示部67に楽曲設定画面80が表示される。
図4に示すように、楽曲設定画面80には、レッスン表示領域81と、検索設定領域82と、楽曲選択領域83と、指示入力領域84とが設けられている。レッスン表示領域81には、レッスン情報と、モーション情報と、楽曲情報とが表示される。表示されるレッスン情報は、操作画面(図示外)においてインストラクター42に選択されたレッスン情報である。表示されるモーション情報は、そのレッスン情報に含まれるモーション情報である。表示される楽曲情報は、各モーション情報にそれぞれ割当てられた楽曲情報である。図4に示すレッスン表示領域81の表示例は、レッスン情報として「レッスンA」が選択された場合の表示例である。レッスン表示領域81には、レッスン情報として「レッスンA」が表示されている。また、レッスンAに含まれるモーション情報として、「マーチ」、「サイドステップ」、「Vステップ」、「運動X」等が表示されている。さらに、各モーション情報に割当てられた楽曲情報として、「楽曲A」、「楽曲B」、「楽曲C」、「楽曲X」が、各モーション情報に対応付けられて表示されている。
検索設定領域82は、楽曲情報の候補を検索するための検索情報(キーワード等)を設定する領域である。楽曲情報の候補とは、レッスン表示領域81において指定されたモーション情報に割当てる楽曲情報の候補となる楽曲情報をいう。楽曲情報の候補は、HDD7に記憶された多数の楽曲情報のなかから検索される。本実施の形態では、楽曲情報に関連付けられた属性情報を検索対象とし、属性情報に検索情報が含まれる楽曲情報が抽出されることによって、楽曲情報の検索が行われる。検索設定領域82は左右の欄に分けられている。左側の分類情報欄91には、プルダウンメニューによる選択や直接の入力によって、分類情報が設定される。分類情報は、属性情報の分類を示す情報である。分類情報の例として、「ジャンル」や「アーティスト」などを挙げることができる。なお、プルダウンメニューによる選択が行われる場合は、HDD7に記憶されたすべての楽曲の属性情報に含まれる分類情報が、プルダウンメニューに選択可能に表示される。また、検索設定領域82の右側の項目情報欄92には、プルダウンメニューによる選択や直接の入力によって、項目情報が設定される。項目情報は、分類情報に対応する具体的な内容を示す情報である。項目情報の例として、例えばジャンルに対しては、「バラード」や「ユーロビート」などを挙げることができる。なお、プルダウンメニューによる選択が行われる場合は、HDD7に記憶されたすべての楽曲の属性情報に含まれる項目情報のうち、分類情報欄91に設定された分類情報に対応する項目情報が、プルダウンメニューに選択可能に表示される。
さらに、検索設定領域82に複数組の検索情報を設定することによって、インストラクター42は、所望する楽曲情報の候補を抽出することができる。検索情報の組とは、左右に並ぶ分類情報欄91と項目情報欄92とにそれぞれ設定される分類情報と項目情報とを組にしたものである。分類情報欄91と項目情報欄92との組は、検索設定領域82において、上下に数段、設けることができる。楽曲情報の検索時には、検索設定領域82において、より上段側の組に設定された検索情報から順に、楽曲情報の検索に用いられて、楽曲情報の候補の抽出が行われる。検索設定領域82において設定される検索情報を、検索情報が用いられた順序を示す情報(改行コード)とともに表したものが、本実施の形態における検索経緯情報である。検索経緯情報は、モーション情報に対応付けられてレッスン管理テーブル72に記憶される。検索経緯情報は、楽曲情報の再度の検索の際に利用される。
図4に示す検索設定領域82の表示例は、一段目の検索情報として、分類情報欄91に「ジャンル」が設定され、項目情報欄92に「ユーロビート」が設定された場合の表示例である。一段目に設定される検索情報は、検索の最初の条件として使用される。また、表示例では、二段目の検索情報として、分類情報欄91に「アーティスト」が設定され、項目情報欄92に「アーティストA」が設定されている。二段目に設定される検索情報は、検索の最初の条件で抽出した候補をさらに絞り込む条件として使用される。
楽曲選択領域83は、検索設定領域82において設定された検索情報に基づいて検索された楽曲情報の候補の一覧を、選択可能に表示する領域である。図4に示す楽曲選択領域83の表示例は、上記の検索設定領域82において設定された検索情報に基づく検索によって得られた楽曲情報が、一覧表示された例である。すなわち、「ジャンル:ユーロビート」で検索された楽曲情報がさらに、「アーティスト:アーティストA」で抽出された例である。楽曲選択領域83には、抽出された楽曲情報である「楽曲B」、「楽曲D」、「楽曲E」、「楽曲F」、「楽曲G」、「楽曲H」が表示されている。インストラクター42は、マウス62等の操作により、楽曲選択領域83に表示された所望の楽曲を選択することができる。
指示入力領域84は、楽曲情報の検索を行う際の指示を入力するための領域である。図4に示す指示入力領域84の表示例は、指示入力領域84に、「楽曲検索」ボタン97および「リセット」ボタン98の2つの操作ボタンを配置した場合の表示例である。楽曲検索ボタン97は、検索設定領域82の分類情報欄91および項目情報欄92に設定された検索情報に基づき、楽曲情報の候補を検索する際に操作されるボタンである。また、本実施の形態では、レッスン表示領域81にてモーション情報が指定された場合、検索設定領域82の分類情報欄91および項目情報欄92は、検索情報が設定された状態で表示される。その際に設定される検索情報は、指定されたモーション情報に割当てられている楽曲情報の検索経緯情報に基づく検索情報である。リセットボタン98は、分類情報欄91および項目情報欄92に設定された検索情報をさらに変更した場合において、検索情報を初期状態に戻す際に操作されるボタンである。
このような構成の楽曲設定画面80において、インストラクター42が、モーション情報に割当てられた楽曲情報を変更する場合に、検索設定領域82に、検索経緯情報に基づく検索情報が提示される。検索経緯情報は、上記したように、レッスン表示領域81において、現在選択中のモーション情報に割当てられている楽曲情報が、前回検索された際の検索情報を、その検索情報が用いられた順序を表す情報とともに、表したものである。本実施の形態では、この検索経緯情報が、レッスン情報に含まれる個々のモーション情報のそれぞれに対応付けられている。これにより、インストラクター42は、楽曲情報を変更する際に、より効率よく、狙いの楽曲情報を探すことができる。
そもそも、スポーツ施設4において、ユーザ41が、同じ運動レッスンを繰り返し行う場合もある。しかし、同じ内容の運動レッスンが繰り返し行われることで、ユーザ41が飽きを生ずる場合がある。ゆえにインストラクター42は、ユーザ41の飽きを抑制させるために、レッスン情報に含まれるモーション情報に対応付けられた楽曲情報を任意に変更することを希望する。
もっとも、インストラクター42は、楽曲情報の変更を所望するモーション情報に相応しい楽曲情報を、数多くの楽曲情報の中から選ぶ必要がある。その際に、インストラクター42は、現在モーション情報に割当てられている楽曲情報を前回検索した際に、どのような意図に基づいて検索したのかを忘れている場合がある。あるいは、今回、楽曲情報を変更するインストラクター42が、前回、楽曲情報を設定したインストラクター42とは異なる場合もある。なお、相応しい楽曲の例として、例えば、テンポやリズムが運動動作のタイミングに合う楽曲を挙げることができる。また、例えば、ユーザ41の年齢や性別などから連想されるユーザ41の趣向に合う楽曲を挙げることができる。他にも、例えば、ユーザ41が運動動作に対して抱くと想定される観念と楽曲に対して抱くと想定される観念とが近い楽曲を挙げることができる。
そこで、本実施の形態の運動支援装置5では、楽曲情報の変更の際に、CPU51が、後述の楽曲設定プログラムに従って、検索設定領域82に検索経緯情報に基づく検索情報を設定する。さらにCPU51は、検索設定領域82に設定した検索情報に基づいて楽曲情報の候補を抽出する。そしてCPU51は、楽曲選択領域83に楽曲情報の候補の一覧を選択可能に表示するのである。すなわち、楽曲選択領域83に表示される楽曲情報の候補は、前回、インストラクター42が楽曲情報を選定した際に行った検索の経緯と同一の経緯によって検索された楽曲情報の候補である。言い換えると、楽曲選択領域83に表示される楽曲情報の候補は、前回、インストラクター42が楽曲情報を選定した際のコンセプトを引き継いだ状態で検索された楽曲情報の候補である。
このようにすることで、インストラクター42は、楽曲情報の変更を所望するモーション情報に相応しい楽曲情報を、前回、自身が行った検索のコンセプトに従って検索された楽曲情報の中から、選択することができる。また、インストラクター42が前回の検索のコンセプトを忘れていなくとも、本実施の形態の運動支援装置5は、インストラクター42自身が検索情報を再設定するという手間を、省くことができるという効果をも奏する。あるいは前回とは異なるインストラクター42が楽曲情報を選定する場合であっても、インストラクター42は、前回、楽曲情報が設定された際のコンセプトを引き継いだ状態で、新たに設定する楽曲情報を選択することができる。このように、レッスン情報に含まれるモーション情報に対応付けられた楽曲情報に、さらに、検索経緯情報が対応付けられることによって、インストラクター42は、楽曲情報の変更の際に、変更対象として相応しい楽曲情報を、候補として得ることができるのである。また、検索経緯情報はモーション情報ごとに管理されるので、インストラクター42は、きめ細かな楽曲情報の変更を行うこともできる。
以下、図5を参照し、図1〜図4を適宜参照しながら、運動支援装置5において、レッスン情報に含まれる各モーション情報に楽曲情報が割当てられる過程について説明する。以下では、フローチャートの各ステップを「S」と略記する。なお、運動支援装置5において生成される運動映像は、以下に説明する楽曲設定プログラムとは異なる他のプログラムの実行によって生成されるものとする。また、生成された運動映像の表示部67への表示は、同様に、他のプログラムの実行によって行われるものとする。したがって楽曲設定プログラムは、レッスン情報に含まれるモーション情報に対し、楽曲情報を割当てる処理を行う。また、楽曲設定プログラムは、モーション情報に現在割当てられている楽曲情報を変更する処理を行う。さらに楽曲管理プログラムは、割当てあるいは変更された楽曲情報を、レッスン管理テーブル72に記憶する処理も行う。他のプログラムは、楽曲設定プログラムによって作成されるレッスン管理テーブル72を利用する。
レッスンを開始するにあたって、インストラクター42が運動支援装置5を操作する。表示部67に、レッスンの入力を行うための、図示しない操作画面が表示される。その操作画面において、インストラクター42は、ユーザ41に行わせたい運動レッスンを選択する。すなわち、インストラクター42によるレッスン情報の選択が行われる。操作画面には、レッスン情報と、モーション情報と、楽曲情報とが表示される。表示されるレッスン情報は、上記選択されたレッスン情報である。表示されるモーション情報は、そのレッスン情報に含まれるモーション情報である。表示される楽曲情報は、各モーション情報に割当てられた楽曲情報である。なお、楽曲情報が未割当ての場合には、空欄が表示される。楽曲情報が未割当てのモーション情報に所望の楽曲情報を割当てたい場合、インストラクター42は、操作画面における操作によって、楽曲設定プログラムの実行を指示する。すでに割当てられた楽曲情報を変更したい場合も同様である。
図5に示す、楽曲設定プログラムが実行されると、初期設定において、RAM53やHDD7に、楽曲設定プログラムの各処理に応じた記憶エリアが確保される。また、プログラム内で使用される変数やフラグ、カウンタ等の初期化が行われる。なお、以下の処理はCPU51により実行される。
楽曲設定画面80のレッスン表示領域81(図4参照)に、選択されたレッスン情報およびモーション情報と、各モーション情報に割当てられた楽曲情報とが表示される。インストラクター42は、表示されたモーション情報に楽曲情報が割当てられていない場合、マウス62等を操作する。そして、インストラクター42は、割当て対象のモーション情報を選択する(S10)。割当てられた楽曲情報を変更したい場合も同様に、インストラクター42はマウス62等を操作する。そして、インストラクター42は、変更対象のモーション情報を選択する。HDD7のレッスン管理テーブル72が参照される。検索経緯情報がRAM53に読み込まれる。このとき読み込まれる検索経緯情報は、表示中のレッスン情報において選択中のモーション情報に対応する検索経緯情報である。検索設定領域82に、検索情報が、検索順に設定された状態に表示される(S12)。なお、レッスン管理テーブル72が参照された際に、検索経緯情報が未設定であれば、検索設定領域82への検索情報の設定は、行われない。
さらに、楽曲管理テーブル71が参照される。そして、検索情報に基づく楽曲情報の検索が行われる。楽曲情報の検索が行われる場合、属性情報の欄が、検索対象となる。そして、属性情報に含まれる属性と、検索設定領域82に設定された検索情報とが一致する楽曲情報が、抽出される。楽曲情報の抽出は、検索設定領域82に設定された検索情報の検索順に、行われる。検索結果として、検索情報を含む属性情報に対応する楽曲情報が得られる。得られた楽曲情報は、候補として、楽曲選択領域83に表示される(S14)。
S16〜S24では、インストラクター42による操作の入力待ちが行われる。S16において、検索設定領域82の設定内容が変更されなければ、CPU51はS22に進む(S16:NO)。S22において、リセットボタン98が操作されなければ、S24に進む(S22:NO)。S24において、楽曲選択領域83に表示された楽曲情報の候補のなかから所望の楽曲情報の選択がなされなければ、S16に戻る(S24:NO)。
S14で楽曲選択領域83に表示された楽曲情報の候補中に、インストラクター42が所望する楽曲情報がなかった場合、楽曲情報の再検索が行われる。S16において、検索設定領域82の分類情報欄91や項目情報欄92のプルダウンメニューが操作されると(S16:YES)、CPU51はS18に進む。S18では、分類情報欄91や項目情報欄92に、検索情報の入力または変更が行われる(S18)。そして、楽曲検索ボタン97が操作されたら、上記同様、入力または変更された検索情報に基づいて、楽曲管理テーブル71の参照による楽曲情報の検索が行われる。検索結果として得られる楽曲情報が、候補として、楽曲選択領域83に表示され(S20)、S22に進む。
S22において、リセットボタン98が操作されたら(S22:YES)、CPU51はS12に戻る。S12では、レッスン管理テーブル72からの検索経緯情報の読み込みが、再度行われる。さらにS14において、検索情報に基づく楽曲情報の検索が、再度行われる。すなわち、S18〜S20で検索設定領域82に設定された検索情報が変更された場合、検索情報は変更前すなわち初期状態の検索情報に戻される。
S24において、楽曲選択領域83に表示された楽曲情報の候補のなかから所望の楽曲情報の選択がなされたら、CPU51はS26に進む(S24:YES)。楽曲選択領域83において選択された楽曲情報は、レッスン表示領域81に表示中のレッスン情報にて選択中のモーション情報に対応する楽曲情報である。選択された楽曲情報は、レッスン管理テーブル72に記憶される(S26)。
ここで、検索設定領域82に設定されている検索情報が、S12において設定された初期状態の検索情報に対して変更がなければ(S28:NO)、CPU51は、楽曲設定プログラムを終了する。検索設定領域82の検索情報に変更があった場合には(S28:YES)、検索経緯情報が生成される。なお、S28において、検索設定領域82の検索情報に新規の入力があった場合も同様に(S28:YES)、検索経緯情報が生成される。検索経緯情報は、検索設定領域82に設定された分類情報欄91と項目情報欄92との組が、上段から順に読み込まれることによって、生成される。生成された検索経緯情報は、レッスン管理テーブル72に記憶される(S30)。その際に、検索経緯情報は、レッスン表示領域81に表示中のレッスン情報にて選択中のモーション情報に対応付けられる。そしてCPU51は、楽曲設定プログラムを終了する。
以上説明したように、レッスン情報に含まれるモーション情報に所望の楽曲情報が割当てられる場合に、その候補となる楽曲情報の検索が行われる。その際に、CPU51は、現在、モーション情報に割当てられている楽曲情報が、前回、検索された際の検索経緯情報を、検索設定領域82に表示する。このようにして、検索経緯情報が、インストラクター42に提示される。このため、インストラクター42は、前回の検索時と同様の経緯にて、所望の楽曲情報の候補となる楽曲情報を検索することができる。言い換えると、レッスン情報において楽曲情報が選定されたコンセプトを引き継いだ状態で、所望の楽曲情報の候補となる楽曲情報を、CPU51に検索させることができる。よって、インストラクター42は、モーション情報にふさわしい楽曲情報を、候補となる楽曲情報のなかから選択することができる。
また、検索経緯情報は、順に絞り込みを行って検索するその過程の情報を含むことができる。つまり、検索経緯情報は、複数の検索情報を単にAND検索しただけの単純な情報ではない。ゆえに、検索経緯情報に基づく検索を行うことで、インストラクター42は、モーション情報に、よりふさわしい楽曲情報の候補を、CPU51に検索させることができる。また、例えば、前回の検索後に新たな楽曲情報が検索対象となることがある。検索経緯情報を保持することによって、インストラクター42は、楽曲情報の選定のコンセプトを引き継いだ検索を、CPU51に行わせることができる。これにより、所望の楽曲情報の候補となる楽曲情報は、楽曲情報の選定の上記コンセプトに合致する新たな楽曲情報を含むことができる。
また、CPU51は、検索設定領域82に検索経緯情報を設定して表示することができる。このため、インストラクター42は、楽曲情報の候補を検索する上で、どのような経緯で前回の検索が行われたかを容易に知ることができる。よって、検索の条件を変更したい場合に、インストラクター42は、前回の経緯を参考にした、楽曲情報の候補の検索を行うことができる。
また、検索設定領域82に提示された検索経緯情報が変更されて新たな検索情報が設定された後に、リセットボタン98が操作され、検索情報の削除が行われる場合がある。この場合にCPU51は、検索設定領域82に検索経緯情報を再度提示することができる。ゆえに、インストラクター42は、検索設定領域82に誤って狙いと異なる検索情報を設定してしまった場合でも、初期状態に戻してから再度、新たな検索情報を設定することができる。一方で、楽曲検索ボタン97による検索の指示を行うことで、新たに設定した検索情報が反映された楽曲情報の候補を楽曲選択領域83に提示することができる。
また、楽曲情報の選択が行われる際に、CPU51は、候補となる楽曲情報を楽曲選択領域83に提示することができる。よってインストラクター42は、所望の楽曲情報を容易に探すことができる。
なお、上記の実施形態に示される運動支援装置5の構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。例えば、楽曲情報の検索が、楽曲管理装置2において行われてもよい。本実施の形態では、運動支援装置5のHDD7の楽曲管理テーブル71に、楽曲管理装置2から配信される楽曲データとともに、その楽曲データに関連する楽曲情報および属性情報が記憶(蓄積)された。このため、楽曲情報の検索が行われる場合には、楽曲管理テーブル71が参照され、属性情報が検索対象とされることで、検索情報を含む属性情報に対応する楽曲情報が検索された。そこで、運動支援装置5は、設定される検索情報を楽曲管理装置2に送信する。楽曲管理装置2は、データベース3を参照し、検索情報を含む属性情報に対応する楽曲情報を検索する。この場合、レッスン管理テーブル72は、楽曲管理装置2のHDD37に作成されればよい。このようにすれば、楽曲管理装置2が検索経緯情報を保持することができる。よって、運動支援装置5は、他の運動支援装置5との間で検索経緯情報を共有し、相互に利用することができる。また、楽曲情報の検索にかかる負荷を、楽曲管理装置2のCPU21が負担することができる。よって、運動支援装置5は、CPU51にかかる負荷を減らすことができる。
また、運動支援装置5は、検索経緯情報に含まれる検索情報を検索対象としてもよい。そして、所望の検索情報に関連するレッスン情報を、検索できるようにしてもよい。レッスン情報に含まれるモーション情報には、楽曲情報が対応付けられている。その楽曲情報には、検索経緯情報が対応付けられている。その検索経緯情報に含まれる検索情報に、所望の検索情報が一致するレッスン情報が、所望の検索情報に関連するレッスン情報として、検索されればよい。例えば、運動支援装置5で実行されるメインプログラムの操作画面(図示外)において、インストラクター42が、ユーザ41に行わせたい運動レッスン(レッスン情報)を検索するための操作を行う。この場合に、図6に示す、レッスン検索プログラムが実行される。
図6に示すように、レッスン検索プログラムが実行されると、図示しない検索画面が表示される。その検索画面に、楽曲設定画面80の検索設定領域82と同様の検索情報の入力領域が表示される。S18と同様に、インストラクター42によって、分類情報欄や項目情報欄に検索情報が入力される。マウス62等の操作により、レッスン情報の検索が指示される(S40)。CPU51は、レッスン管理テーブル72の検索経緯情報を参照する。レッスン情報ごとに、レッスン情報に含まれる各モーション情報の検索経緯情報から、すべての検索情報が取り出される。図7に示すように、読み込まれた検索情報は、レッスン情報ごとにまとめられる。まとめられた検索情報は、レッスン管理テーブル72に記憶される(S42)。なお、図7に示すレッスン管理テーブル72は、図3のレッスン管理テーブル72において、レッスン情報に、S42で取り出された検索情報と、重み付け情報とを関連付けたテーブルである。モーション情報、楽曲情報および検索経緯情報の図示は省略されている。さらに、同一のレッスン情報において、重複する検索情報がまとめられる。まとめられた検索情報に対し、重複回数を重み付け情報とする検索情報の重み付けが行われる。重み付けがなされた検索情報は、レッスン管理テーブル72に記憶される(S44)。
次に、レッスン管理テーブル72が参照される。S40において入力された検索情報が含まれるレッスン情報が、検索によって抽出される。このとき、抽出されたレッスン情報は、S40において入力された検索情報に対応する重複回数が多い順に、検索画面(図示外)に並べられて表示される(S46)。重複回数が多い順とは、重み付けの高い順をいう。インストラクター42が、表示されたレッスン情報のなかから所望のレッスン情報を選択する(S48)。メインプログラムの操作画面(図示外)に、選択されたレッスン情報が表示される。レッスン検索プログラムの実行が終了される。以上説明したように、運動支援装置5は、レッスン管理テーブル72に検索経緯情報として記憶した検索情報を、検索対象とする。このようにすれば、所望の検索情報に関連するレッスン情報を、検索することができる。
また、上記のレッスン検索プログラムのS40において、検索画面(図示外)の検索情報の入力領域に、さらに、所望のモーション情報を入力または選択できる欄が設けられてもよい。レッスン検索プログラムのS46では、所望の検索情報が含まれるレッスン情報が抽出されている。ゆえにCPU51は、抽出されたレッスン情報からさらに、入力されたモーション情報を含むレッスン情報を抽出する。そして、上記同様、S40で入力された検索情報に対応する重複回数の多い順に、S46で抽出されたレッスン情報が、検索画面(図示外)に並べて表示されればよい。なお、上記「所望のモーション情報」が、本発明の「第3検索情報」に相当する。S40において、所望のモーション情報を取得するCPU51が、「取得手段」に相当する。また、重複回数によって重み付けられた検索情報を記憶するレッスン管理テーブル72が、「第4記憶手段」に相当する。
また、楽曲管理装置2に接続されたデータベース3は、運動支援装置5に、直接、接続されてもよい。そして、運動支援装置5は、ネットワーク10から切り離した単独の端末装置として、稼働されてもよい。この場合に、運動支援装置5のHDD7は、データベース3として機能してもよい。
また、楽曲設定プログラムにおいて、CPU51は、楽曲管理テーブル71の属性情報を検索対象としたが、さらに楽曲情報を検索対象に含めてもよい。このようにすれば、インストラクター42は、直接、楽曲名やコード番号の入力により、所望の楽曲情報を検索することができる。また、S24において、インストラクター42は、楽曲選択領域83に表示された楽曲情報の候補のなかから所望の楽曲情報の選択を行った。これに限らず、モーション情報に割当てる楽曲情報として、楽曲情報の候補のなかから任意の楽曲情報が、例えば乱数によって決定されてもよい。あるいは、楽曲情報の候補が1つであれば、その楽曲情報が、モーション情報に割当てる楽曲情報として決定されてもよい。
また、レッスン管理テーブル72の検索経緯情報の代わりに、検索によって得られる楽曲情報の候補が、モーション情報に対応付けられて、記憶されてもよい。この場合、楽曲設定プログラムのS14において、CPU51は、楽曲情報の検索を行わずに、楽曲選択領域83に検索結果を表示すればよい。このようにすることで、運動支援装置5は、楽曲情報の検索を行うことによって生ずるCPU51の負荷をなくすことができる。
また、楽曲管理テーブル71やレッスン管理テーブル72は、HDD7の所定の記憶エリアに作成された。HDD7に限らず、RAM53の所定の記憶エリアに作成されてもよい。また、楽曲管理プログラムが実行される際に、HDD7からRAM53に読み込まれ、検索に利用されてもよい。
また、楽曲設定画面80の楽曲選択領域83において、分類情報欄91に、例えば「フリーワード」という選択肢が用意されてもよい。そして、フリーワードが選ばれたら、項目情報欄92に任意のキーワードが入力されるようにしてもよい。また、図4には、三段目までの検索情報を設定できる例が図示された。これに限らず、四段目以降の検索情報を設定できるようにしてもよい。すなわち、分類情報欄91および項目情報欄92が、さらに追加されるようにしてもよい。
また、本実施の形態では、レッスン管理テーブル72が、レッスン情報に含まれる複数のモーション情報と、楽曲情報と、検索経緯情報とを対応付けて記憶した。これら各情報をそれぞれ異なる管理テーブルに記憶させ、各管理テーブルを互いに対応付けることで、モーション情報と、楽曲情報と、検索経緯情報とを対応付けてもよい。
なお、本実施の形態においては、レッスン管理テーブル72が、「第1記憶手段」および「第3記憶手段」に相当し、楽曲管理テーブル71が、「第2記憶手段」に相当する。S20において、楽曲管理テーブル71を参照し、属性情報に、検索設定領域82に設定された検索情報が含まれる楽曲情報を、モーション情報に割当てる楽曲情報の候補として検索するCPU51が、「第1検索手段」に相当する。検索設定領域82に設定された検索情報が、「第1検索情報」に相当する。検索情報が含まれる楽曲情報が、「第1楽曲情報」に相当する。モーション情報に割当てる楽曲情報が、「第2楽曲情報」に相当する。S24において、楽曲選択領域83に表示された楽曲情報の候補のなかから所望の楽曲情報が選択されたら、その楽曲情報をモーション情報に割当てる楽曲情報とするためS26に進むCPU51が、「決定手段」に相当する。S26において、S24で選択された楽曲情報を、モーション情報に対応する楽曲情報としてレッスン管理テーブル72に記憶するCPU51が、「第1制御手段」に相当する。
S30において、検索設定領域82に設定された分類情報欄91と項目情報欄92との組を上段から順に読み込み、検索経緯情報として、レッスン管理テーブル72に記憶するCPU51が、「第2制御手段」に相当する。S12において、モーション情報に割当てられた楽曲情報を変更する際に、レッスン管理テーブル72から検索経緯情報を読み込み、検索設定領域82に検索情報を検索順に設定するCPU51が、「第3制御手段」に相当する。楽曲設定画面80において、検索設定領域82が「設定部」に相当する。楽曲選択領域83が「楽曲選択部」に相当する。リセットボタン98が「削除指示部」に相当する。楽曲検索ボタン97が「検索指示部」に相当する。S44において、同一のレッスン情報において重複する検索情報をまとめ、重複回数を重み付け情報とするCPU51が、「重み付け手段」に相当する。同、S44において、レッスン管理テーブル72に、レッスン情報に重み付け情報を対応付けて記憶させるCPU51が、「第4制御手段」に相当する。S46において、レッスン管理テーブル72を参照し、S40において入力された検索情報が含まれるレッスン情報を検索するCPU51が、「第2検索手段」に相当する。S40において入力された検索情報が、「第2検索情報」に相当する。