以下、図面を参照して、本発明の実施形態について説明する。以下に示す実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲内で任意に変更可能である。
<A:第1実施形態>
まず、図1を参照して、本発明の第1実施形態に係る演奏システムの全体構成を説明する。同図に示すように、この演奏システムは、演奏処理装置10、サウンドシステム20、スピーカ21、表示装置22および複数の操作子30を有する。このうちサウンドシステム20および表示装置22は演奏処理装置10に接続されている。
表示装置22は、CRT(Cathode Ray Tube)や液晶表示パネルなどを備え、演奏処理装置10による制御のもとに各種の画像を表示する。一方、サウンドシステム20およびスピーカ21は、演奏処理装置10による制御のもとに楽音を出力するための装置である。すなわち、サウンドシステム20は、楽音の波形を表すデジタルデータ(以下、「楽音波形データ」という)を演奏処理装置10から受け取ってこれをアナログ信号に変換するD/A変換器と、D/A変換器から出力されたアナログ信号を増幅するアンプとを有する。また、スピーカ21は、サウンドシステム20から出力されたアナログ信号を音として出力するための装置である。なお、スピーカ21に代えて、耳に装着可能なイヤホンやヘッドホンを用いることもできる。
複数の操作子30の各々は、利用者によって所持されまたは利用者の身体に装着されて当該利用者の動作を検出し、この検出結果を表す情報(以下、「検出情報」という)を演奏処理装置10に送信するための装置である。図2に示すように、本実施形態に係る操作子30は、利用者によって把持され得る略筒状の長尺状部材である。より具体的には、操作子30は、その長手方向における中央部近傍の直径が両端部の直径よりも小さくなるように、両端部から中央部近傍に向かってテーパ状をなす形状となっている。利用者は、この操作子30の中央部近傍を把持したうえで、当該操作子30を任意に揺らしたり振り回したりする。
図3は、ひとつの操作子30の内部構成を示すブロック図である。この図に示すように、操作子30は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、センサ303および送信機304を有する。このうちCPU301は、ROM302に格納されたプログラムを実行することによって当該操作子30全体の動作を制御する。ROM302は、CPU301によって実行されるプログラムのほか、当該操作子30に対して一意に割り当てられた識別情報を記憶している。
センサ303は、利用者の動作に応じた電気信号、換言すれば利用者の動作に伴なう当該操作子30の移動に応じた電気信号をCPU301に出力するための装置である。ただし、本実施形態においては、2次元速度センサをセンサ303として用いた場合を想定する。すなわち、図2に示すように、操作子30の長手方向と直交する面内において相互に直交する2軸をそれぞれX軸およびY軸とすると、本実施形態におけるセンサ303は、操作子30の移動速度のX軸方向成分に応じた電気信号とY軸方向成分に応じた電気信号とを出力する。一方、CPU301は、センサ303から供給される電気信号に基づいて、X軸方向の速度とY軸方向の速度とを表す検出情報を生成する。
図3に示す送信機304は、演奏処理装置10との間で通信を行なうための装置である。具体的には、送信機304は、CPU301によって生成された検出情報を当該操作子30の識別情報とともに演奏処理装置10に送信する。送信機304と演奏処理装置10との間で行なわれる通信の方式としては、赤外線通信やBlueTooth(登録商標)に準拠した無線通信のほか、送信機304と演奏処理装置10とを相互に接続する通信線を介した有線通信などを採用することができる。
一方、演奏処理装置10は、楽曲を構成する音をスピーカ21から発生させるとともに、この楽曲の進行度を各操作子30から受信した検出情報に基づいて制御する装置である。さらに、演奏処理装置10は、楽曲の進行状況に応じたタイミングで表示装置22に画像を表示させるようになっている。ここで、楽曲の「進行度」とは、楽曲演奏(スピーカ21からの音出力)の進行の程度(度合い)を意味する。そして、「検出情報に基づいて進行度を調整する」とは、例えば楽曲のテンポ(進行速度)や一拍の時間長を検出情報に応じて調整するといった具合に、楽曲の進行状況を検出情報に応じて異ならせるすべての処理を含む概念である。ただし、本実施形態においては、検出情報に応じて楽曲のテンポを制御する場合を想定する。
図4に示すように、この演奏処理装置10は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、外部記憶装置103、入力装置104、受信機105、音源回路106、効果付与回路107および表示制御回路108を有する。これらの各部はバス120を介して相互に接続されている。
CPU101は、外部記憶装置103や図示しないROM(Read Only Memory)に格納されたプログラムを実行することによって当該演奏処理装置10の各部を制御する。RAM102は、CPU101によって主記憶として使用される。すなわち、RAM102は、CPU101によって実行されるプログラムやプログラムの実行に際して使用されるデータなどを一時的に記憶する。
外部記憶装置103は、例えばハードディスクドライブ、フレキシブルディスクドライブ、光磁気ディスクドライブまたはDVD(Digital Versatile Disk)ドライブなどであり、CPU101によって実行されるプログラムを記憶している。このプログラムとしては、楽曲の演奏および画像の表示を操作子30から送信された検出情報に応じて制御するための演奏処理プログラムがある。
また、外部記憶装置103は、それぞれひとつの楽曲に対応した複数の演奏ファイルを記憶している。図5は、ひとつの楽曲に対応する演奏ファイルの構成を示す図である。同図に示すように、演奏ファイルは、ヘッダチャンク、楽曲データチャンク、パート規定チャンクおよび画像データチャンクを含んでいる。このうちヘッダチャンクには、その楽曲や演奏ファイルに関する種々の情報、例えば当該演奏ファイルのデータ形式やデータ長を表すデータ、およびひとつの四分音符に相当する時間(以下、「単位時間」という)の長さを表すデータなどが含まれている。
ここで、本実施形態において演奏対象となる楽曲は、それぞれ音色や音高を異にする複数のパートから構成されているものとする。そして、各操作子30には楽曲を構成する複数のパートのうち1または複数のパートが割り当てられており、各操作子30から送信された検出情報に応じて、当該操作子30に割り当てられた1または複数のパートに含まれる楽音が適宜に変更されるようになっている。演奏ファイルのうちパート規定チャンクは、この割り当て内容を規定するためのデータである。すなわち、図6に示すように、パート規定チャンクは、各操作子30の識別情報と、楽曲に含まれる1または複数のパートの番号とが対応付けられたテーブルを表す。図6においては、識別情報が「IDa」である操作子30に「パート#1」が割り当てられ、識別情報が「IDc」である操作子30に「パート#3」および「パート#4」の2つのパートが割り当てられている、といった具合である。
一方、楽曲データチャンクは、楽曲を構成する楽音を指定するデータの集合である。ひとつの楽曲データチャンクには、それぞれ異なるパートに対応する複数のデータ(以下、「パートデータ」という)が含まれている。各パートデータは、図7に示すように、デルタタイム(Δ)とイベントとからなる多数の組がシーケンシャルに配列されたデータ列である。各イベントは、音高を表すノートナンバと、楽音の発生を示すノートオンイベントまたは楽音の消音を示すノートオフイベントと、発音の強度を表すベロシティとを含んでいる。他方、デルタタイムは、時系列的に前後する2つのイベントを音源回路106に対して出力すべき時間間隔を示すデータである。すなわち、CPU101は、あるイベントを音源回路106に出力してからデルタタイムに相当する時間長が経過したタイミングで次のイベントを音源回路106に出力する。ここで、デルタタイムを計時するためのタイミングクロックは、ひとつの操作子30に割り当てられた1または複数のパートごとに、図示しないクロック発生器によって生成されている。したがって、各タイミングクロックの周期を独立に変化させることにより、ひとつの操作子30に対応付けられた1または複数のパートごとにテンポを変化させることができる。
次に、図8に示すように、画像データチャンクには、複数の操作子30の各々について用意された複数の画像データ列が含まれている。各画像データ列は、設定拍数と画像データとからなる多数の組がシーケンシャルに配列されたデータ列である。このうち設定拍数は、当該設定拍数と組をなす画像データの示す画像が表示装置22に表示されるべきタイミングを示す。本実施形態においては、楽曲が演奏される期間のうち各画像データに基づいて画像が表示されるべきタイミングが、ヘッダチャンクに含まれる単位時間を一拍として楽曲の開始時点から計数したときの拍数として指定されている。図8を例にとると、識別情報が「IDa」である操作子30について用意された画像a1は、楽曲の演奏開始からの拍数がNa1となったタイミングで表示装置22に表示されるといった具合である。
次に、図4に示す入力装置104は、利用者によって操作される複数のボタンを備え、この操作に応じた信号をCPU101に出力する。また、受信機105は、各操作子30との間で通信を行なうための装置である。すなわち、受信機105は、各操作子30から送信された検出情報を受信し、この検出情報をCPU101に出力する。
音源回路106は、CPU101からイベントが与えられると、このイベントに対応した楽音の波形を表す楽音波形データを生成する回路である。音源回路106はそれぞれ異なるパートに対応する複数のチャネルを有する。各チャネルには当該チャネルに対応するパートデータのイベントが入力される。この構成のもと、各パートの楽音波形データが音源回路106から並行して出力される。
一方、効果付与回路107は、音源回路106から出力された楽音波形データに対して各種の効果を付与するための回路である。この効果付与回路107によって各パートの楽音波形データに付与される効果の内容および程度は、当該パートに対応する操作子30から受信された検出情報に基づいてCPU101が決定する。効果付与回路107によって付与される効果としては、リバーブやエコーに代表される残響効果など種々の効果が挙げられるが、本実施形態においてはリバーブが付与される場合を想定する。この場合、検出情報の内容に応じてリバーブ時間(残響の深さ)が増減されることとなる。
次に、表示制御回路108は、CPU101からの指示に応じて表示装置22に画像を表示させるための回路である。この表示制御回路108は、表示装置22に表示すべき1画面分の画像データを記憶するVRAM(Video Random Access Memory)109を備えている。画像データチャンク内の設定拍数に応じたタイミングでCPU101から画像データが与えられると、表示制御回路108はこの画像データをVRAM109に書き込む。この画像データは、一定の走査周期に同期して1ラインずつ読み出されて表示装置22に供給される。
次に、本実施形態に係る演奏システムの動作を説明する。
利用者によって入力装置104に所定の操作がなされると、CPU101は、外部記憶装置103に記憶された演奏処理プログラムをRAM102に読み込んだうえでこれを順次に実行する。図9は、この演奏処理プログラムのメインルーチンを表すフローチャートである。
まず、利用者により演奏処理装置10の入力装置104が操作されて演奏すべき楽曲が選択されると、CPU101は、選択された楽曲に対応する演奏ファイルをRAM102に読み込む(ステップS10)。次いで、CPU101は、演奏に関する初期設定を実行する(ステップS11)。この初期設定においては、例えば、ヘッダチャンクに含まれる単位時間が四分音符に相当する時間長として設定される。
この後、利用者によって入力装置104に所定の操作がなされて演奏開始の指示が与えられると、CPU101は楽曲の演奏処理を行なう(ステップS12)。この演奏処理は、楽曲の全部にわたって演奏が完了するまで繰り返し実行される(ステップS13;No)。
一方、各利用者は、自分が所持する操作子30の電源を投入した後、演奏処理装置10による演奏処理に伴なってその操作子30を任意に揺らしたり振ったりする。各操作子30のCPU301は、一定時間間隔ごとに、センサ303からの出力信号に応じた検出情報とROM302に格納された識別情報とを送信機304から送信する。
次に、図10を参照して、上述した演奏処理(ステップS12)の具体的な内容について説明する。同図に示すように、CPU101は、複数の操作子30の各々についてステップS122からS126までの処理を実行する。そして、すべての操作子30について処理が完了すると(ステップS121;Yes)、図9に示したステップS13に戻る。以下では、複数の操作子30のうちステップS122からS126までの処理の対象となっている操作子30を、特に「対象操作子30」と表記する場合がある。
ステップS122において、CPU101は、対象操作子30から受信機105を介して受信した検出情報に基づいて、この操作子30を所持している利用者の動作を解析する。具体的には、CPU101は、対象操作子30から受信した検出情報に基づいて、当該対象操作子30の速度のY軸方向成分の向きが逆転する時点を速度極小点として認識するとともに、時系列的に前後する2つの速度極小点の時間間隔を検出する。さらに、CPU101は、検出情報に含まれる速度のX方向成分とY方向成分とから、対象操作子30の移動速度を算出する。
次いで、CPU101は、ステップS122における解析結果に基づいて、対象操作子30に割り当てられた1または複数のパートのテンポと効果パラメータとを決定する(ステップS123)。具体的には以下の通りである。まずCPU101は、対象操作子30の速度極小点の時間間隔に応じてテンポを増減させる。例えば、速度極小点の時間間隔が小さい場合、すなわち対象操作子30が小刻みに振られている場合にはテンポを速める。一方、速度極小点の時間間隔が大きい場合、すなわち対象操作子30が大きい振幅をもって振られている場合にはテンポを遅くする。テンポの遅速は、デルタタイムの計数に用いられるタイミングクロックの周期を変化させることによって調整される。また、CPU101は、操作子30の移動速度に応じてリバーブ時間を増減させる。例えば、移動速度が大きい場合、すなわち操作子30が素早く振られている場合にはリバーブ時間として短い時間を効果付与回路107に指示する。一方、移動速度が小さい場合、すなわち操作子30がゆっくりと振られている場合にはリバーブ時間として長い時間を効果付与回路107に指示する。
次いで、CPU101は、対象操作子30に割り当てられたパートデータのイベント処理を行なう(ステップS124)。すなわち、CPU101は、対象操作子30に対応するタイミングクロックのクロック数に基づいてデルタタイムが経過したと判定したときに当該デルタタイムの直後のイベントを音源回路106に出力する。これに対し、未だデルタタイムが経過していないと判定したときにはイベントの出力を行なわない。
音源回路106は、いずれかのパートのイベントが当該パートに対応するチャネルに入力されると、このイベントに応じた楽音波形データを出力する。一方、効果付与回路107は、音源回路106から出力された楽音波形データに対し、ステップS123におけるCPU101からの指示に応じたリバーブを付与して出力する。この結果、ひとつの操作子30に割り当てられた1または複数のパートごとに、その操作子30の利用者の動作に応じたリバーブの付与された楽音が、当該利用者の動作に応じたテンポで出力されることとなる。
一方、CPU101は、タイミングクロックと単位時間の時間長に相当するクロック数とに基づいて、ひとつの操作子30に割り当てられた1または複数のパートごとに、楽曲の演奏開始時点から現在までの拍数(以下、「現拍数」という)をカウントしている。そして、ステップS125において、CPU101は、画像データチャンクのうち対象操作子30の画像データ列に含まれる設定拍数のいずれかと現拍数とが一致するか否かに応じて、この画像データ列中の画像を表示すべきタイミングが到来したか否かを判定する。すなわち、CPU101は、設定拍数と現拍数とが一致した場合には画像表示のタイミングが到来したと判定する。この場合、CPU101は、当該設定拍数に対応する画像データをRAM102から読み出して表示制御回路108に出力し(ステップS126)、その後ステップS121に処理を移行する。これに対し、設定拍数と現拍数とが一致していない場合には未だ画像表示のタイミングが到来していないことを意味しているから、CPU101は、ステップS126の処理を経ることなくステップS121に処理を移行する。この後、CPU101は、他の操作子30についてもステップS122からステップS126までの処理を繰り返し、すべての操作子30について処理が完了すると図9のステップS13に処理を移行する。
一方、表示制御回路108は、ステップS126においてCPU101から供給された画像データをVRAM109に格納する。この結果、各操作子30に対応付けられた画像が設定拍数に応じたタイミングで表示装置22に表示される。ここで、一拍の時間長は、ひとつの操作子30に割り当てられた1または複数のパートごとに、その操作子30の利用者の動作に応じて変化する。したがって、ある操作子30について用意された画像は、当該操作子30に割り当てられた1または複数のパートの進行状況に応じたタイミングにて表示されることとなる。
ところで、現拍数が、複数の操作子30に関する設定拍数を超えると、これらの操作子30に対応する複数の画像を表示装置22に表示する必要が生じる。この場合、表示制御回路108は、表示すべき画像の数に応じて表示装置22の表示領域を分割した各領域に画像が表示されるように、複数の画像の画像データをVRAM109に格納する。以下、図11を参照して、この分割表示の具体例を説明する。なお、ここでは、識別情報が「IDa」である操作子30に「パート#1」が割り当てられ、識別情報が「IDb」である操作子30に「パート#2」が割り当てられ、識別情報が「IDc」である操作子30に「パート#3」および「パート#4」が割り当てられている場合を想定する。また、識別情報が「IDa」である操作子30に対応した設定拍数のうち、ひとつ目の設定拍数Na1は「3」であり、2つ目の設定拍数Na2は「15」であるものとする。さらに、識別情報が「IDb」である操作子30、および「IDc」である操作子30のひとつ目の設定拍数Nb1、Nc1は、それぞれ「8」、「12」であるものとする。
まず、「パート#1」の現拍数が3拍目(=Na1)に至ったタイミングで、画像a1が表示装置22の全表示領域にわたって表示される(図11の(1))。次いで、「パート#2」の現拍数が8拍目(=Nb1)に至ると、表示すべき画像が画像a1と画像b1の2つとなる。この場合には、表示装置22の表示領域が2つに分割され、このうち一方の領域に画像a1が、他方の領域に画像b1がそれぞれ同時に表示される(図11の(2))。さらに、「パート#3」および「パート#4」の現拍数が12拍目(=Nc1)に至ると、画像a1および画像b1に加えて画像c1も表示対象となる。この場合には、表示装置22の表示領域が3つに分割され、このうち左側の領域に画像a1が、中央の領域に画像b1が、右側の領域に画像c1が、それぞれ同時に表示される(図11の(3))。なお、「パート#1」の現拍数が2つ目の設定拍数Na2「15」に至った場合、表示領域の分割数(つまり表示画像数)は変化することなく、それまでに表示されていた画像a1が画像a2に切り替わる(図11の(4))。
以上説明したように、本実施形態によれば、利用者の動作に応じたタイミングで表示装置22に画像が表示されるため、予め固定的に(すなわち利用者の動作に依存せずに)定められたタイミングで画像を表示させる場合と比較して、利用者は容易に演奏動作を楽しむことができる。また、表示画像を視認することによって、利用者は自分の動作が演奏に反映されていることを直感的に認識することができる。
さらに、楽曲の進行状況に応じて表示装置22に表示すべき画像が複数となったときには、表示装置22の表示領域を分割した各領域にこれらの画像が同時に表示される。したがって、ひとつの表示装置22で複数の利用者が演奏を楽しむことができ、演奏システムのコストを低く抑えることができる。
<B:第2実施形態>
次に、本発明の第2実施形態について説明する。なお、本実施形態に係る演奏システム、および同システムを構成する操作子30や演奏処理装置10の構成は、上記第1実施形態に示した構成と共通する。したがって以下では、本実施形態に係る演奏システムのうち上記第1実施形態とは異なる部分を中心に説明し、共通する部分についてはその説明を適宜に省略する。
上記第1実施形態においては、検出情報に応じて楽曲のテンポを制御するとともに、その楽曲の進行状況に応じて表示装置22に画像を表示させるものとした。これに対し、本実施形態においては、表示装置22の表示領域を分割した領域が各操作子30にそれぞれ割り当てられて各領域に画像が表示される一方(図14参照)、各画像の表示態様が、その表示領域に対応する操作子30から送信された検出情報に応じて変化するようになっている。
本実施形態に用いられる演奏ファイルの構成は、画像データチャンクを除いて、図5から図7に示したものと同様である。ここで、図12は、本実施形態に係る演奏ファイルに含まれる画像データチャンクの構成を示す図である。同図に示すように、この画像データチャンクは、それぞれ異なる画像を表す複数の画像データを含んでいる。各画像データには利用者の動作内容に関する情報(以下、「動作情報」という)が対応付けられている。そして、CPU101によって検出情報に応じた利用者の動作内容が検知されると、この動作内容を示す動作情報に対応付けられた画像データに基づいて表示装置22に画像が表示される。すなわち、各操作子30ごとに、その操作子30を所持する利用者の動作に応じた画像が表示されるのである。本実施形態においては、操作子30の移動に応じた2つの速度極小点の時間間隔と操作子30の移動速度とが動作情報として含まれるものとする。
次に、本実施形態の動作を説明する。まず、利用者による入力装置104への操作を契機として、CPU101は図9に示したメインルーチンを実行する。図13は、このメインルーチンのステップS12において実行される演奏処理の内容を示すフローチャートである。同図に示すように、本実施形態に係る演奏処理において、CPU101は、図10に示した演奏処理のステップS125およびステップS126に代えて表示画像切替処理を行なう(ステップS127)。
このステップS127において、CPU101は、処理対象となっている演奏ファイルの画像データチャンクのうち、ステップS122において解析された動作に対応する動作情報を検索する。さらに、CPU101は、検索された動作情報に対応付けられた画像データを読み出し、この画像データを対象操作子30の識別情報とともに表示制御回路108に出力する。上記第1実施形態と同様に、CPU101はステップS122からS127までの処理をすべての操作子30について実行した後に、図9に示したステップS13に処理を移行する。
一方、表示制御回路108は、CPU101から受信した画像データおよび識別情報に基づいて、表示装置22の表示領域を分割した複数の領域(以下、「分割表示領域」という)のうち対象操作子30に割り当てられた分割表示領域に画像を表示させる。この処理がすべての操作子30について実行される結果、表示装置22の各分割表示領域には、その領域に対応する操作子30を所持している利用者の動作に応じた画像が表示されることとなる。図14は、本実施形態における表示装置22の具体的な表示内容を示す図である。なお、同図においては6つの操作子30が用いられている場合を想定しているため、表示装置22の表示領域23を6等分した分割表示領域230(230a、230b、230c、230d、230eおよび230f)に、各操作子30を所持する利用者の動作に応じた画像が表示されている。なお、以下では、分割表示領域230aに対応する操作子30の利用者を「利用者a」、分割表示領域230bに対応する操作子30の利用者を「利用者b」といった具合に表記するものとする。
いま、利用者aと利用者bとが同様の動作を行なっているものとする。この場合、図14に示すように、分割表示領域230aと分割表示領域230bにはこの動作に応じた同一の画像が表示される。分割表示領域230cと分割表示領域230e、または分割表示領域230dと分割表示領域230fについても同様である。
また、各分割表示領域230による表示画像の内容は、各利用者の動作に応じたものとなる。例えば、いま、利用者aおよび利用者bが素早く(スムーズに)動作し、利用者cおよび利用者eがゆっくりと(ぎこちなく)動作し、利用者dおよび利用者fがその中間程度の速さで動作しているものとする。このとき、分割表示領域230aおよび分割表示領域230bには上を向いた人物のシルエットが表示され、分割表示領域230dおよび分割表示領域230fには戸惑った人物のシルエットが表示され、分割表示領域230cおよび分割表示領域230eには転倒した人物のシルエットが表示されるといった具合である。
このように本実施形態によれば、各利用者の動作に応じて表示画像が切り替えられるため、操作子30を用いた演奏動作を容易に楽しむことができる。また、表示画像を利用者の動作が反映された興趣性や多様性に富んだものとすることができる。さらに、表示画像を視認することによって、利用者は自分の動作が演奏に反映されていることを直感的に認識することができる。
なお、ここでは、表示画像自体を利用者の動作に応じて切り替える構成としたが、表示画像の内容を切り替えずに、表示に関わる各種のパラメータを利用者の動作に応じて変更するようにしてもよい。例えば、分割表示領域230に表示される画像の明るさを、利用者の動作に応じて変化させるといった具合である。表示に関わるパラメータとしては、画像の明るさのほかにも、色合いや解像度、画像の大きさなどが考えられる。図15は、表示画像の大きさを変化させる構成とした場合の表示装置22による表示例を示す図である。同図の例では、画像cに対応する操作子30を所持する利用者、画像eに対応する操作子30を所持する利用者、および画像fに対応する操作子30を所持する利用者の動作が、他の利用者よりも遅い(ぎこちない)場合を想定しているため、画像c、画像eおよび画像fが他の画像(画像a、画像bおよび画像d)と比較して小さく表示されている。
また、表示に関するパラメータの調整に代えてまたはこれとともに、各利用者の動作に応じて、画像をモザイク表示を表示するか否かを切り替えたり、モノクロ表示またはカラー表示を切り替えたりしてもよい。要するに、本実施形態においては、利用者の動作を表す検出情報に応じて、画像の表示態様が変化させられる構成であればよい。
<C:第3実施形態>
次に、本発明の第3実施形態に係る通信システムについて説明する。この通信システムは、本発明に係る演奏処理装置に対して演奏ファイルを提供するためのシステムである。なお、ここでは、上記第1実施形態に係る演奏ファイルを提供するためのシステムを例示する。
図16は、本実施形態に係る通信システムの構成を示すブロック図である。同図に示すように、このシステムは、インターネットや公衆交換電話網などを含む通信ネットワーク60と、この通信ネットワーク60に接続されたファイル生成装置50と、本発明に係る演奏処理装置10とを有する。なお、図16においては図面が煩雑になるのを防ぐためにファイル生成装置50と演奏処理装置10とがひとつずつ図示されているが、実際にはより多数のファイル生成装置50および演奏処理装置10が通信ネットワーク60に接続されている。
演奏処理装置10は上記各実施形態と同様の構成である。ただし、本実施形態に係る演奏処理装置10は、図4に示した各部に加えて、バス120に接続された通信装置110を備えている。この通信装置110は、ファイル生成装置50との間で通信ネットワーク60を介した通信を行なうための装置である。
ファイル生成装置50は、図5ないし図8に示した演奏ファイルを生成して演奏処理装置10に提供するための装置であり、CPU501、記憶装置502、通信装置503、楽曲データベース504および画像データベース505を有する。このうち通信装置503は、演奏処理装置10との間で通信ネットワーク60を介した通信を行なうための装置である。楽曲データベース504は、多数の楽曲の楽曲データを記憶している。各楽曲データは、図6に示した演奏ファイルの楽曲データチャンクと同様のデータ構成を有する。一方、画像データベース505は、多数の画像の画像データを記憶している。
CPU501は、記憶装置502に記憶されたファイル生成プログラムを実行することにより、楽曲データベース504に含まれる楽曲データと画像データベース505に含まれる画像データとを含む演奏ファイルを生成する。記憶装置502は、CPU501によって実行されるプログラムを記憶しているほか、このプログラムの実行によって生成された演奏ファイルを一時的に記憶する。
次に、本実施形態の動作を説明する。まず、利用者によって入力装置104に所定の操作がなされると、演奏処理装置10は通信ネットワーク60を介してファイル生成装置50に接続される。通信装置503を介してこの接続を検知すると、ファイル生成装置50のCPU501は、記憶装置502に記憶されたファイル生成プログラムの実行を開始する。図17は、このプログラムの内容を示すフローチャートである。
同図に示すように、CPU501はまず、演奏処理装置10に接続された表示装置22に、図18に示す楽曲/画像選択画面70を表示させる(ステップS20)。この画面70は、演奏ファイルに含まれる楽曲データおよび画像データを演奏処理装置10の利用者に選択させるための画面である。具体的には、利用者が入力装置104を操作して楽曲選択ボタン701を指示すると、楽曲データベース504に楽曲データとして格納された複数の楽曲の名称が表示される。この状態のもとでいずれかの楽曲が選択されると、この楽曲の名称が表示欄702に表示される。一方、画像選択の手順も同様である。すなわち、画像選択ボタン703が指示されると、画像データベース505に画像データとして格納された複数の画像の名称が表示される。そして、この状態のもとでいずれかの画像が選択されると、この選択された画像が表示欄704に表示される。利用者は、演奏ファイルに含ませるべき画像として複数の画像を選択することができる。図18においては、「楽曲A」、ならびに「画像a」、「画像b」および「画像c」が選択された場合が示されている。楽曲および画像の選択が完了すると、利用者は、楽曲/画像選択画面中の「決定」ボタン705を指示する。この結果、選択された楽曲および画像がファイル生成装置50のCPU501によって検知される(ステップS21)。
次いで、CPU501は、楽曲データベース504に格納された多数の楽曲データのうち利用者によって選択されたものを読み出すとともに、画像データベース505に格納された多数の画像データのうち利用者によって選択されたものを読み出す(ステップS22)。続いてCPU501は、読み出した楽曲データおよび画像データを含む演奏ファイルを生成する(ステップS23)。以下、演奏ファイル生成の手順について説明する。
まず、CPU501は、図7に示したパート規定チャンクを生成する。より具体的には、予め設定された数の操作子30の識別情報と、楽曲を構成する各パートの番号とを対応付けたテーブルをパート規定チャンクとして生成する。このとき、楽曲を構成するパート数が操作子30の数よりも大きい場合には、1以上の操作子30に対して複数のパートを重複して割り当てる。
次いで、CPU501は、利用者により選択された1または複数の画像データを含む画像データチャンクを生成する。このとき、利用者により選択された楽曲の全時間長を、選択された画像数に応じて等分した時点に対応する拍数を設定拍数とし、各設定拍数を画像データに対応付けたものを画像データチャンクとする。
さらに、CPU501は、楽曲データ(楽曲データチャンク)、パート規定チャンクおよび画像データチャンクの合計データ量や、楽曲について設定された単位時間の長さを表すデータなどを含むヘッダチャンクを生成する。最後にCPU501は、以上の手順により生成したヘッダチャンク、楽曲データチャンク、パート規定チャンクおよび画像データチャンクからなる演奏ファイルを生成して所定の記憶装置502に記憶させる。
この後、CPU501は、記憶装置502に記憶された演奏ファイルを演奏処理装置10に送信する(ステップS24)。一方、この演奏ファイルは、演奏処理装置10のCPU101によって受信された後、外部記憶装置103に格納される。
このように本実施形態によれば、利用者が選択した楽曲データおよび画像データを含む演奏ファイルが生成されるから、利用者は、ファイルの生成に関する専門的な知識を要することなく演奏ファイルを得ることができ、さらに自分の好みに合った画像を表示させながら楽曲の演奏を楽しむことができる。
なお、ここでは上記第1実施形態に係る演奏ファイルが生成される場合を例示したが、上記第2実施形態に係る演奏ファイルが生成されるようにしてもよい。この場合、画像データチャンクには、設定拍数に代えて動作情報が含まれる。この動作情報は、上記第2実施形態に示したように、表示装置22による表示画像の態様(明るさ、色合い、解像度または大きさなどのほか画像の種類も含む)を利用者の動作に応じて指定するものである。
<D:変形例>
以上この発明の一実施形態について説明したが、上記実施形態はあくまでも例示であり、上記実施形態に対しては、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。変形例としては、例えば以下のようなものが考えられる。
<D−1:変形例1>
上記各実施形態においては、センサ303として2次元速度センサを用いて操作子30の移動速度を検出するものとしたが、センサ303の種類および検出内容はこれに限られるものではない。例えば、一方向の速度や加速度を検出するセンサや2次元加速度センサ、3次元速度センサ、3次元加速度センサなどをセンサ303として用いることもできる。また、上記各実施形態においては、速度極小点の時間間隔および速度に基づいて楽音を制御するものとしたが、楽音制御のために用いられる物理量はこれに限られない。例えば、センサ303として速度センサを用いた場合には、検出された速度を積分することによって操作子30の変位を演算し、この演算結果に応じて楽音を制御してもよい。
また、上記各実施形態においては、利用者の動作に応じてリバーブ時間を制御するものとしたが、制御対象となる効果の内容はこれに限られるものではない。また、利用者の動作に応じた制御の対象は効果の内容または程度に限られない。例えば、利用者の動作に応じて楽音の音量や音色、音高などが制御されるようにしてもよい。すなわち、本発明においては、楽音に関わるパラメータを利用者による動作に応じて制御する方法や、その制御対象の如何については不問である。
<D−2:変形例2>
上記各実施形態および変形例においては利用者が手で所持するタイプの操作子30を用いたが、操作子30の形態はこれに限られるものではない。例えば、利用者の足に装着される靴の踵部分にセンサ303を設けたものを操作子30として用い、タップダンスをしたときに得られる検出情報に応じて楽音を制御するといった具合である。
また、上記各実施形態においては利用者の動作が検出されるものとしたが、これに代えて、または利用者の動作とともに、利用者の身体状態が検出される構成としてもよい。例えば、利用者の身体に装着可能な操作子30に脈拍(脈波)検出器を設け、心拍数の検出結果を表す検出情報に基づいて楽音を制御するといった具合である。センサによって検出され得る利用者の身体状態としては、例えば体温、皮膚間抵抗、脳波、呼吸および眼球移動などが考えられる。
<D−3:変形例3>
上記第1実施形態においては、楽曲の演奏開始からの拍数に応じたタイミングで画像を表示させるものとしたが、画像表示のタイミングを規定する情報は拍数に限られない。例えば、楽曲中の小節が切り替わるタイミングで画像を表示させるようにしてもよい。このように、本発明における「表示時点指定データ」は、演奏対象となる楽曲のいずれかの時点を演奏速度とは無関係に特定するデータであればよく、演奏開始からの拍数や小節数に限られるものではない。
なお、この表示時点指定データは本発明において必ずしも必要なものではない。例えば、ある操作子について用意された画像数に応じて楽曲の演奏期間を等分した時点を画像の表示タイミングとする構成とすれば、表示時点指定データがなくても画像の表示タイミングが特定される。
また、上記実施形態においては楽曲の演奏テンポを検出情報に応じて制御するものとしたが、検出情報に応じてリズムや拍子など、進行度を規定するその他の音楽的要素を制御する構成としてもよい。すなわち、本発明においては、テンポ情報または拍情報により規定される音出力の進行度を検出情報に基づいて調整するようにしてもよい。ここにいう「テンポ情報」とは、音出力のテンポを数値にて指定する情報である。また、「拍情報」とは、楽曲の拍子を指定する情報であり、例えば一拍に相当する時間長を指定する情報、時系列的に隣り合う2つの拍の時間的なバランスを指定する情報、あるいは楽曲のリズムを指定する情報などである。もっとも、本発明における検出情報に応じた制御対象はテンポや拍子に限られるものではない。要するに、本発明においては、音出力装置による音出力の進行度が検出情報に応じて制御される構成であれば足りる。
<D−4:変形例4>
上記第1実施形態においては、各利用者の動作または身体状態に応じたタイミングで画像を表示させるものとしたが、これに加えて、表示された画像の態様を楽曲の進行度に応じて制御する構成としてもよい。例えば、楽曲の進行度に応じて、上記第2実施形態と同様に、表示画像の明るさ、色合い、解像度、大きさまたはその内容を制御する構成としてもよい。例えば楽曲の進行速度が速ければ画像を大きく表示する一方、遅ければ画像を小さく表示するといった具合である。
<D−5:変形例5>
上記各実施形態および各変形例においては、各利用者の動作または身体状態に応じた画像を単一の表示装置22に表示させるものとしたが、利用者ごとに表示装置22を用意し、これらの表示装置22の各々にひとりの利用者の動作または身体状態に応じた画像を表示させる構成としてもよい。あるいは、複数の利用者を複数のグループに分け、各グループごとに、当該グループに属する1または複数の利用者の動作に応じた画像を表示させる表示装置22を設けてもよい。
また、上記実施形態においては、楽曲を構成する全パートの楽音が単一のスピーカ21から出力される構成を例示したが、1または複数のパートが割り当てられたひとつの操作子30ごとに(すなわち各利用者ごとに)スピーカ21を設けた構成とし、各スピーカ21ごとに、当該スピーカ21に対応する利用者に割り当てられたパートの楽音を出力するようにしてもよい。
<D−6:変形例6>
上記第1および第2実施形態においては、楽曲データと画像データとが同一の記憶装置(外部記憶装置103)に記憶されるものとしたが、楽曲データと画像データとをそれぞれ異なる記憶装置に記憶させるようにしてもよい。すなわち、本発明においては、楽曲データと画像データとが単一のファイルを構成することは必ずしも必要ではない。
<D−7:変形例7>
上記第3実施形態においては、ファイル生成装置50の楽曲データベース504に予め記憶された楽曲データのうち利用者によって選択されたものを演奏ファイルに含ませるものとしたが、利用者が自ら用意(作成)した楽曲データが演奏処理装置10からファイル生成装置50に送信されるものとし、ファイル生成装置50がこの楽曲データを含む演奏ファイルを生成するようにしてもよい。画像データについても同様に、利用者が自ら用意した画像データを演奏処理装置10からファイル生成装置50に送信し、ファイル生成装置50がこの画像データを含む演奏ファイルを生成するようにしてもよい。このとき演奏処理装置10からファイル生成装置50に送信される画像データとしては、利用者がデジタルカメラなどを利用して撮影した画像を表す画像データや、利用者がスキャナなどを利用して取り込んだ画像を表す画像データなどが考えられる。
また、上記第3実施形態においては、演奏ファイルがファイル生成装置50によって生成されて演奏処理装置10に送信される構成としたが、演奏処理装置10において演奏ファイルが生成される構成としてもよい。すなわち、複数の楽曲データおよび複数の画像データとファイル生成プログラムとを図4に示した外部記憶装置103に記憶させる一方、CPU101がファイル生成プログラムを実行することによって演奏ファイルを生成するようにしてもよい。
さらに、上記第3実施形態においては、演奏ファイルがネットワーク60を介して演奏処理装置10に送信されるものとしたが、演奏ファイルの提供方法はこれに限られない。例えば、所定の店舗(例えば楽器店や音楽教室など)に設置されたファイル生成装置50によって利用者からの依頼に応じた演奏ファイルを生成し、この演奏ファイルをフレキシブルディスクやCD−ROMといった可搬型の記憶メディアに格納した状態で利用者に提供するようにしてもよい。
<D−8:変形例8>
本発明は、コンピュータを演奏処理装置として機能させるためのプログラム(上記第1および第2実施形態に示した演奏処理プログラム)としても特定され得る。このプログラムは、インターネットなどのネットワークを介して所定のサーバ装置からコンピュータに提供されるものであってもよいし、何らかの記録媒体に格納された状態で提供されてコンピュータにインストールされるものであってもよい。この記録媒体としては、CD−ROM(Compact Disk−Read Only Memory)に代表される光ディスクのほか、可搬型の磁気ディスクなどが考えられる。
さらに、本発明は、コンピュータをファイル生成装置として機能させるためのプログラム(上記第3実施形態に示したファイル生成プログラム)としても特定され得る。すなわち、上記第1実施形態に係る演奏ファイルを生成するためのプログラムは、楽曲データと、画像データと、当該楽曲データに対応する楽曲のうち上記画像データに基づいて画像が表示されるべき時点を指定する表示時点指定データとを含むファイルを生成する機能をコンピュータに実現させるためのものとなる。一方、上記第2実施形態に係る演奏ファイルを生成するためのプログラムは、楽曲データと、1または複数の画像データと、いずれかの画像データに基づく表示画像の態様を利用者の動作内容に応じて指定する動作情報とを含むファイルを生成する機能を実現させるためのものとなる。これらのプログラムは、インターネットなどのネットワークを介してコンピュータに提供されるものであってもよいし、CD−ROMや可搬型の磁気ディスクといった記録媒体に格納された状態で提供されてコンピュータにインストールされるものであってもよい。
10……演奏処理装置、101……CPU(音出力制御手段、表示制御手段)、102……RAM、103……外部記憶装置(記憶手段)、104……入力装置、105……受信機(検出情報取得手段)、106……音源回路、107……効果付与回路、108……表示制御回路(表示制御手段)、20……サウンドシステム、21……スピーカ(音出力装置)、22……表示装置、30……操作子、301……CPU、302……ROM、303……センサ(検出手段)、304……送信機、50……ファイル生成装置、501……CPU(ファイル生成手段)、502……記憶装置、503……通信装置、504……楽曲データベース(楽曲データ記憶手段)、505……画像データベース(画像データ記憶手段)、60……通信ネットワーク。