(57)【特許請求の範囲】
【請求項１】
複数系統の時系列データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶する記憶手段と、
利用者の操作に応じた操作データを出力する操作手段と、
前記複数系統の時系列データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すとともに、前記操作手段が出力した操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正する読出制御手段と、
を備えた時系列データの読出制御装置。
【請求項２】
前記操作手段は、身体とともに運動し、その運動態様または姿勢状態を検出するセンサ手段と、該センサ手段の検出内容に基づいて操作データを生成する操作データ出力手段を備えた請求項１に記載の時系列データの読出制御装置。
【請求項３】
複数系統の時系列データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶し、
前記複数系統の時系列データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すときに、
利用者の操作に応じた操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正することを特徴とする時系列データの読出制御方法。
【請求項４】
複数パートの演奏データと各パート毎のテンポ制御データおよび全パート共通の基準テンポデータを有する曲データを記憶する記憶手段と、
利用者の操作に応じた操作データを出力する操作手段と、
前記複数パートの演奏データを、各パート毎に、当該パートのテンポ制御データに基づく読み出しテンポで読み出すとともに、前記操作手段が出力した操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各パート毎の読出テンポを修正する演奏制御手段と、
を備えた演奏制御装置。
【請求項５】
前記操作手段は、身体とともに運動し、その運動態様または姿勢状態を検出するセンサ手段と、該センサ手段の検出内容に基づいて操作データを生成する操作データ出力手段を備えた請求項４に記載の演奏制御装置。
【請求項６】
前記記憶手段は、各パートに対応した表示データを記憶しており、前記演奏制御手段は、各パートに対応するテンポ制御データに基づいて前記表示データを読み出して表示を制御する請求項４または請求項５に記載の演奏制御装置。
【請求項７】
複数パートの演奏データと各パート毎のテンポ制御データおよび全パート共通の基準テンポデータを有する曲データを記憶し、
前記複数パートの演奏データを、各パート毎に、当該パートのテンポ制御データに基づく読み出しテンポで読み出すときに、
利用者の操作に応じた操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各パート毎の読出テンポを修正することを特徴とする演奏制御方法。
【請求項８】
それぞれ別の映像を表示する複数系統の映像データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶する記憶手段と、
利用者の操作に応じた操作データを出力する操作手段と、
前記複数系統の映像データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すとともに、前記操作手段が出力した操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正する再生制御手段と、
を備えた時系列データの映像再生制御装置。
【請求項９】
前記操作手段は、身体とともに運動し、その運動態様または姿勢状態を検出するセンサ手段と、該センサ手段の検出内容に基づいて操作データを生成する操作データ出力手段を備えた請求項８に記載の映像再生制御装置。
【請求項１０】
それぞれ別の映像を表示する複数系統の映像データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶し、
前記複数系統の映像データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すときに、
利用者の操作に応じた操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正することを特徴とする映像再生制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数系統からなる時系列データの読み出しテンポを系統別に制御する時系列データの読出制御装置および方法、複数パートからなる演奏データの読み出しテンポをパート別に制御する演奏制御装置および方法、および、それぞれ別の映像を表示する複数系統の映像データからなる映像データの読み出しテンポを系統別に制御する映像再生制御装置および方法に関する。
【０００２】
【発明が解決しようとする課題】
複数系統からなる時系列データの代表的なものとして複数パートの演奏データがあり、この複数パートの演奏データの読み出しを制御する演奏制御装置として自動演奏装置がある。一般的な自動演奏装置は、複数パートの曲データに基づいて複数パートの楽曲を自動演奏する機能を有するが、従来の自動演奏装置は、各パートの演奏データを同じテンポ制御データに基づいて読み出すのみであり、各パート毎に異なるテンポ制御をすることができなかった。このため、どのように演奏しても各パートの発音・消音タイミングは同じであり演奏に変化を持たせることができなかった。
【０００３】
また、従来一般的な自動演奏機能は、プレイボタンを押すなどのスタート操作をすれば楽曲が自動的に演奏され、それ以後利用者が操作する余地がなく、利用者が演奏に参加したり演奏を制御することができなかった。このため、また、合奏を楽しもうとすれば、各利用者がキーボードなどの楽器（演奏装置）を演奏できる必要があり、熟練を要するものであり、また、各合奏者が同時にその場にいなければならず、複数パートに対応する人数の演奏者を同時に集合させることは困難であった。
【０００４】
この発明は、自動演奏において各パート毎にテンポを制御できるようにし、且つ各パートのテンポ制御を利用者に開放したことにより、変化に富んだ演奏を可能にし、且つ容易な操作で合奏に参加することができるようにして音楽の演奏の敷居を下げた演奏制御装置および方法、時系列データの読出制御装置および方法、映像再生制御装置および方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１の発明である時系列データの読出制御装置は、複数系統の時系列データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶する記憶手段と、利用者の操作に応じた操作データを出力する操作手段と、前記複数系統の時系列データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すとともに、前記操作手段が出力した操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正する読出制御手段と、を備えたことを特徴とする。
請求項４の発明である演奏制御装置は、複数パートの演奏データと各パート毎のテンポ制御データおよび全パート共通の基準テンポデータを有する曲データを記憶する記憶手段と、利用者の操作に応じた操作データを出力する操作手段と、前記複数パートの演奏データを、各パート毎に、当該パートのテンポ制御データに基づく読み出しテンポで読み出すとともに、前記操作手段が出力した操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各パート毎の読出テンポを修正する演奏制御手段と、を備えたことを特徴とする。
請求項８の発明である映像再生制御装置は、それぞれ別の映像を表示する複数系統の映像データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶する記憶手段と、利用者の操作に応じた操作データを出力する操作手段と、前記複数系統の映像データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すとともに、前記操作手段が出力した操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正することを特徴とする。
【０００６】
請求項３の発明である時系列データの読出制御方法は、複数系統の時系列データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶し、前記複数系統の時系列データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すときに、利用者の操作に応じた操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正することを特徴とする。
請求項７の発明である演奏制御方法は、複数パートの演奏データと各パート毎のテンポ制御データおよび全パート共通の基準テンポデータを有する曲データを記憶し、前記複数パートの演奏データを、各パート毎に、当該パートのテンポ制御データに基づく読み出しテンポで読み出すときに、利用者の操作に応じた操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各パート毎の読出テンポを修正することを特徴とする。
請求項１０の発明である映像再生制御方法は、それぞれ別の映像を表示する複数系統の映像データを各系統毎のテンポ制御データおよび全系統共通の基準テンポデータとともに記憶し、前記複数系統の映像データを、各系統毎に、当該系統のテンポ制御データに基づく読み出しテンポで読み出すときに、利用者の操作に応じた操作データに基づいて算出した操作テンポデータを前記基準テンポデータと比較することによって修正データを生成し、この修正データで前記各系統毎の読出テンポを修正することを特徴とする。
【００１３】
請求項２の発明は、請求項１の発明において、前記操作手段は、身体とともに運動し、その運動態様または姿勢状態を検出するセンサ手段と、該センサ手段の検出内容に基づいて操作データを生成する操作データ出力手段を備えたことを特徴とする。
請求項５の発明は、請求項４の発明において、前記操作手段は、身体とともに運動し、その運動態様または姿勢状態を検出するセンサ手段と、該センサ手段の検出内容に基づいて操作データを生成する操作データ出力手段を備えたことを特徴とする。
請求項９の発明は、請求項８の発明において、前記操作手段は、身体とともに運動し、その運動態様または姿勢状態を検出するセンサ手段と、該センサ手段の検出内容に基づいて操作データを生成する操作データ出力手段を備えたことを特徴とする。
【００１４】
請求項６の発明は、請求項４、５の発明において、前記記憶手段は、各パートに対応した表示データを記憶しており、前記演奏制御手段は、各パートに対応するテンポ制御データに基づいて前記表示データを読み出して表示を制御することを特徴とする。
【００１５】
この発明は、複数パートの演奏データ、それぞれ別の映像を表示する複数系統の映像データのほか、全ての複数系統の時系列データに適用できるものであるが、以下主として複数パートの演奏データを例にあげて説明する。
複数パートの演奏データを読み出して演奏するとき、各パート毎のテンポ制御データに基づいて演奏データの読み出しテンポを制御する。各パート毎のテンポ制御データで自動演奏の読み出しテンポすなわち演奏のテンポを制御することにより、各パートをそれぞれ独自のテンポ感（発音タイミング、消音タイミング）で演奏することができ、複数パートの曲データに基づく（自動）演奏を本物の合奏のように変化に富んだものにすることができる。
これを他のデータ、例えば映像データに適用すれば、複数の映像をそれぞれ別々のテンポ感で表示することができる。たとえば、複数の楽器が演奏される映像をそれぞれの楽器の演奏テンポに合わせて表示するなどの制御が可能になる。
【００１６】
また、この発明では、上記各パート毎のテンポ制御データを上記演奏データとともに記憶手段に記憶しておくことにより、上記変化に富んだ演奏を自動演奏することができる。
【００２１】
また、この発明では、複数パートの演奏データと各パート毎のテンポ制御データを有する曲データを演奏するとき、操作手段の操作（操作データ）に基づいて生成された修正データで上記各パート毎のテンポ制御データを修正する。修正の方式は、各パート毎のテンポ制御データを修正データを除算または乗算することで同じ比率に修正したり、各パート毎のテンポ制御データを修正データを加算または減算することで同じ値だけ増減したりする方式を適用することができる。この修正された各パート毎のテンポ制御データで各パート別々に演奏データの読み出しテンポを制御することにより、各パート間のテンポの関係を維持したまま全パート同時のテンポ制御が可能になる。
【００２２】
なお、利用者が操作するテンポ制御装置としては、キーボードなどの通常の演奏操作装置を用いることもできるが、利用者の身体の運動態様や姿勢状態を検出する装置を用いて制御することもでき、このような装置を用いることにより、より演奏参加の敷居を下げることができるとともに、自然なテンポ制御が可能になる。
【００２３】
さらに、演奏データとしては、ＭＩＤＩなどのシーケンスデータ、ＰＣＭデータやＭＰ３データなどの演奏音を記録した波形データのいずれを用いることもできる。なお、この発明におけるパートは、シーケンスデータの場合にはＭＩＤＩチャンネルを対応させることができ、波形データの場合にはトラックを対応させることができる。
【００２４】
【発明の実施の形態】
図面を参照してこの発明の実施形態である自動演奏制御装置について説明する。図１は同自動演奏制御装置のブロック図である。この自動演奏制御装置は、パーソナルコンピュータ上でソフトウェアを動作させて実現するようにしているが、専用装置であってもよい。
【００２５】
図１において、装置全体を制御するＣＰＵ４１には、バスを介して、ＲＯＭ４２、ＲＡＭ４３、大容量記憶装置４４、ＭＩＤＩインタフェース４５、ＵＳＢインタフェース４６、キーボード４７、ポインティングデバイス４８、表示部４９、通信インタフェース５０が接続されている。また、ＭＩＤＩインタフェース４５には、外部装置である音源装置４が接続されている。
【００２６】
ＲＯＭ４２には、起動プログラム等が記憶されている。大容量記憶装置４４は、ハードディスク，ＣＤ−ＲＯＭ，ＭＯなどで構成され、システムプログラム、アプリケーションプログラム、曲データなどが記憶されている。ＲＡＭ４３には、パーソナルコンピュータ３の起動時または起動したのちに大容量記憶装置４４からシステムプログラムやアプリケーションプログラム等が読み込まれる。またＲＡＭ４３には、アプリケーションプログラム実行時に必要な記憶エリアが確保される。ＵＳＢインタフェース４６からは、自動演奏を利用者の操作で制御（ユーザ制御）するための操作データが入力される。キーボード４７およびポインティングデバイス４８は、演奏する曲を選択するなど、利用者がアプリケーションプログラムを操作するときに用いるものである。通信インタフェース５０は、加入電話回線やインターネットを介してサーバ装置（不図示）や他の自動演奏制御装置と通信するためのインタフェースであり、これらサーバ装置や他の自動演奏制御装置から曲データをダウンロードしたり、この自動演奏制御装置に記憶している曲データを送信したりすることができる。サーバ装置や他の自動演奏制御装置からダウンロードした曲データはＲＡＭ４３または大容量記憶装置４４に記憶される。
【００２７】
ＭＩＤＩインタフェース４５に接続されている音源装置４は、パーソナルコンピュータ３から入力された演奏データ（ＭＩＤＩデータ）に基づいて楽音を発生するとともに、発生した楽音に対してエコーなどのエフェクトを付与する。そしてこの楽音をアンプ５に出力する。アンプ５はこの楽音を増幅してスピーカ６に出力する。スピーカ６はこの楽音を音響として放音する。なお、音源装置４は、どのような方式で楽音波形を形成するものであってもよく、持続音、減衰音などの音の種類に応じてその方式を選択できるものであってもよい。
【００２８】
この自動演奏制御装置３は、複数パートからなる曲データを記憶し、これを自動演奏する。各パートは、そのパートの楽音を発音するための演奏データトラックのほか、そのパート独自のテンポを制御を行うためのテンポ制御データトラックを有し、他のパートから独立したテンポ設定・テンポ制御が可能になっている。また、楽譜表示データが書き込まれた楽譜データトラックも各トラック毎に設けられており、設定されたテンポでこのトラックのデータを読み出すことにより、曲の進行に追従して表示部４９に楽譜を表示することができる。
【００２９】
図２は、上記大容量記憶装置４４に記憶される曲データの構成を示す図である。この曲データは、複数パートからなっている。ＭＩＤＩデータの場合、各パートはそれぞれ別のＭＩＤＩチャンネルに対応する。各パートは、楽音の発音イベント、消音イベントなどのイベントデータとそのイベントデータの読出タイミングが書き込まれた演奏データトラック、このパート独自のテンポ制御データが書き込まれたテンポ制御データトラック、および、このパートの映像を表示するためのデータである映像データが書き込まれた映像データトラックからなっている。上記テンポ制御データトラックおよび楽譜データトラックも、イベントデータであるテンポ制御データ、映像データとそのイベントデータを読み出すタイミングを示すタイミングデータのデータ列からなっている。
【００３０】
なお、映像データトラックに記憶される映像データとしては、たとえばそのパートの楽譜データやそのパートの楽器を演奏する演奏者のアニメーションデータなどを用いることができる。映像データとして楽譜データを適用した場合、そのパートの演奏テンポに合わせて楽譜の表示が更新されるようになる。楽譜データの表示例を図１０に示す。また、映像データとしてアニメーションデータを用いた場合、そのパートの演奏のテンポに合わせて演奏者のアニメーションが動き、あたかもそのパートの演奏をしているかのような映像を表示することができる。アニメーションデータの表示例を図１１に示す。また、楽譜データ，アニメーションデータ、その他のデータなど複数の映像データを並行して用いてもよい。
【００３１】
さらに、各パートから独立して、この曲データの全体の基準となるテンポが書き込まれた基準テンポデータトラックが設けられている。このトラックのイベントデータである基準テンポデータは、利用者が全パートのテンポを一括して制御するとき、参照用のデータとして利用される。利用者が全パートのテンポを一括して制御する場合の処理動作については後述する。
【００３２】
利用者がマニュアルでテンポ制御をしないで全くの自動演奏をする場合、ＣＰＵ４１は、上記テンポ制御データトラックによって設定されるテンポによって各パートの自動演奏を進行させる。一方、一部（または全体）のパートがユーザ制御される場合には、そのパートのテンポ制御データトラックのテンポ制御データを用いず、利用者が操作する操作ユニットから入力される操作データに基づいて割り出されたテンポ制御データに基づいてそのパートの自動演奏を制御する。この場合でも、テンポをユーザ制御しないパートについては、テンポ制御データトラックのテンポ制御データに基づいてテンポを制御する。
【００３３】
また、利用者が全パートのテンポを一括して制御する場合には、利用者が操作する操作ユニットから入力される操作データに基づいて割り出されたテンポ制御データと基準テンポデータトラックのそのタイミングの基準テンポとを比較し、その比率を各パートの自動演奏のテンポに反映させることによって全パートのテンポを制御する。
【００３４】
図３は、上記自動演奏制御装置３を含む演奏制御システムの構成を示す図である。この演奏制御システムは、操作ユニットであるハンドコントローラ１、通信ユニット２、パーソナルコンピュータ３、音源装置４、アンプ５、スピーカ６を有している。上記ハンドコントローラ１は利用者が揺動操作するものであり、所定のテンポで揺動操作することにより、自動演奏時に所定のパートのテンポを制御することができる。ハンドコントローラ１はこの演奏制御システムに複数備えることができ、その場合、各ハンドコントローラ１には、それぞれ別々のＩＤ番号（＝１〜２４）が設定される。ハンドコントローラ１は、図４に示すようにバトン形の形状を有し、利用者が揺動操作する。この揺動操作による加速度を内蔵の加速度センサ１７（図４参照）が検出し、この加速度データが操作データとしてハンドコントローラ１から通信ユニット２に無線送信される。通信ユニット２は、ハンドコントローラ１から無線送信される操作データを受信し、自動演奏制御装置であるパーソナルコンピュータ３にこれを転送する。パーソナルコンピュータ３は、入力された操作データに基づいてテンポ制御データを生成し、このテンポ制御データに基づいてこのハンドコントローラ１がアサインされているパートの自動演奏のテンポを制御する。音源装置４は、自動演奏制御装置から入力された演奏データに基づいて楽音の発音／消音を制御する。
【００３５】
利用者が、上記ハンドコントローラ１を揺動操作すると、自動演奏制御装置３は、揺動のテンポ（揺動ピークが検出される間隔）を検出し、このテンポに基づいて自動演奏のテンポ制御データを生成する。また、揺動の加速度（または速度）の大きさに基づいて音量を制御することもできる。このように自動演奏のテンポ（および音量）のみを利用者が制御できるようにし、他の演奏要素（音高・音長など）は曲データに基づいて制御できるようにしたことにより、利用者に簡略に演奏参加させることができる。
【００３６】
図４は、上記操作ユニットであるハンドコントローラ１の外観図である。ハンドコントローラ１は、中央部が細くなったバトン形をしており、筐体は、最も細くなっている中央を境界に上側筐体１０と下側筐体１１に分離することができる。下側筐体１１の底部からはコード状のアンテナ１８が引き出されている。内部には、後述の受信回路、ＣＰＵ、スイッチ群などが実装された回路基板１３が設けられている。回路基板１３の上側筐体１０側には、４色のＬＥＤ１４（１４ａ〜１４ｄ）、２桁の７セグメント表示器１６、３軸の加速度センサ１７などが実装されている。ＬＥＤ１４ａ，１４ｂ，１４ｃ，１４ｄは、それぞれ青色発光，緑色発光，赤色発光，橙色発光のＬＥＤである。
【００３７】
このハンドコントローラ１を揺動させると、加速度センサ１７がその揺動加速度を検出し、これを操作データとして通信ユニット２に送信する。通信ユニット２はこの操作データを受信して（ＵＳＢインタフェースを介して）自動演奏制御装置３にこの操作データを入力する。
【００３８】
図５はハンドコントローラ１の制御部のブロック図である。制御部２０は、ＣＰＵ、メモリ、インタフェースなどを１チップに内蔵したマイクロコンピュータで構成されており、このハンドコントローラ１の動作を制御する。この制御部２０には、３軸の加速度センサ１７、ＩＤ設定スイッチ２１、モデム２３、変調回路２４、ＬＥＤ表示回路２２などが接続されている。
【００３９】
加速度センサ１７は、半導体センサであり、４００Ｈｚ程度のサンプリング周波数に応答でき、分解能が８ｂｉｔ程度のものを使用する。ハンドコントローラ１の揺動により加速度センサ１７が揺動すると、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向それぞれについて８ｂｉｔの加速度データを出力する。加速度センサ１７は、Ｘ軸，Ｙ軸，Ｚ軸が図４に示す方向になるように、ハンドコントローラ１の先端部に内蔵されている。なお、この加速度センサ１７は３軸センサに限定されるものではなく、２軸センサ、無方向のセンサであってもよい。
【００４０】
ＩＤ設定スイッチ２１は、５ビットのディップスイッチであり、１〜２４のＩＤ番号を設定することができる。このＩＤ設定スイッチ２１は、下側筐体１１側の回路基板１３上に実装されており、回路基板１３を下側筐体１１から抜き出して操作する。制御部２０は、加速度センサ１７から入力された加速度データを操作データとしてモデム２３に出力する。この操作データにはＩＤ設定スイッチ２１によって設定されたＩＤ番号が付加される。
【００４１】
モデム２３は、制御部２０から入力されたベースバンドデータを相転移データに変換する回路である。変調回路２４は上記相転移データで２．４ＧＨｚ帯のキャリア信号をＧＭＳＫ変調して無線伝送可能にする回路である。変調回路２４から出力された２．４ＧＨｚ帯の信号は、送信出力アンプ２５によって微弱電力程度に増幅され、アンテナ１８から輻射出力される。なお、ハンドコントローラから通信ユニットへのデータ送信は、このようにＦＭ変調された信号の無線伝送のほか、ＵＳＢインタフェースなどを用いた有線伝送、Ｂｌｕｅｔｏｏｔｈなどの周波数拡散通信方式を用いた近距離無線インタフェースなどを適用することができる。
【００４２】
図６〜図９は上記自動演奏制御装置の動作を示すフローチャートである。
図６は、自動演奏する曲およびパートを設定する自動演奏設定動作を示すフローチャートである。同図（Ａ）はメイン動作を示すフローチャートである。利用者がキーボード４７またはポインティングデバイス４８を操作して自動演奏したい曲を選曲入力すると（ｓ１）、この選曲に対応する曲データを大容量記憶装置４４からＲＡＭ４３に読み出す（ｓ２）。もし、大容量記憶装置４４に記憶されていない曲が選曲された場合には、通信インタフェース５０を介してサーバまたは他の自動演奏制御装置からダウンロードするようにしてもよい。こののち、複数パートのうちどのパートを演奏するかのパート選択動作を実行し（ｓ３）、選択されたパートを選択されたモード（自動制御またはユーザ制御）で自動演奏をスタートする（ｓ４）。
【００４３】
同図（Ｂ）はパート選択動作を示すフローチャートである。利用者がキーボード４７またはポインティングデバイス４８を操作して演奏パートを選択する（ｓ５）。演奏パートの選択は、複数パートを個別に選択することも全パートを一括して選択することもできる。全パートが一括して選択された場合は（ｓ６）、全パートを自動演奏するように設定するとともに（ｓ７）、上記全パートの選択と一緒に全パートのテンポを一括して制御する旨選択されたか否かを判断する（ｓ８）。その旨選択された場合には、全体テンポ制御を設定してリターンする（ｓ９）。
【００４４】
パートが個別に選択された場合には（ｓ６）、そのパートのテンポを自動制御するか（自動テンポ制御モード）、ユーザ制御するか（ユーザ制御モード）の入力を受け付ける（ｓ１０）。ユーザ制御をする場合には、このパートに対してどのハンドコントローラ１をアサインするか、および、ユーザ制御で生成されたテンポ制御データを記録するか否かの入力も受け付ける。ハンドコントローラのアサインは、そのパートに所定のハンドコントローラのＩＤを対応づけることによって行えばよい。
【００４５】
ｓ１０で自動テンポ制御モードが選択された場合には、このパートを自動テンポ制御する旨を設定して（ｓ１２）、ｓ１６に進む。一方、ｓ１０でユーザ制御モードが選択された場合には、そのパートをユーザ制御する旨を設定する。さらに、このユーザ制御のテンポ制御データを記録するよう選択された場合には（ｓ１４）、このテンポ制御データを当該パートのテンポ制御データトラックに書き込むように設定して（ｓ１５）、ｓ１６に進む。
ｓ１６では次の入力を受け付け、次のパートが選択入力された場合にはｓ１０に戻る。パートの選択が終了した旨の入力があった場合にはリターンする（ｓ１７）。
【００４６】
図７は自動演奏制御動作、表示制御動作を示すフローチャートである。この動作は、自動演奏される各パート毎に実行される。同図（Ａ）は演奏データトラックに基づいて実行される自動演奏制御動作を示すフローチャートである。テンポ制御データを受信した場合には（ｓ２０）、受信したテンポ制御データをこの自動演奏のテンポとして設定する（ｓ２１）。テンポ制御データは、自動テンポ制御モードの場合には図８に示すテンポ制御データトラックの読出処理動作から送信されてくる。一方、ユーザ制御モードの場合には、図９（Ｂ）に示す（ハンドコントローラから入力された）操作データ処理動作から送信されてくる。
【００４７】
この設定されたテンポで自動演奏クロックをカウントアップし（ｓ２２）、タイミングデータに基づき次のイベントデータの読出タイミングになった場合には（ｓ２３）、次のイベントデータ（演奏データ）を読み出し（ｓ２４）、この演奏データを音源装置４に送信する。演奏データとしては、上述の発音データ、消音データおよび効果制御データなどがある。そして次のイベントの読出タイミングを指示するタイミングデータをセットして（ｓ２５）、リターンする。この動作は曲が終了するまで繰り返し実行される。
【００４８】
同図（Ｂ）は、映像データトラックに基づいて実行される表示制御動作を示すフローチャートである。テンポ制御データを受信した場合には（ｓ２７）、受信したテンポ制御データをこの表示制御のテンポとして設定する（ｓ２８）。テンポ制御データは、上記自動演奏制御動作と同様に、自動テンポ制御モードの場合には図８に示すテンポ制御データトラックの読出処理動作から送信されてくる。一方、ユーザ制御モードの場合には、図９（Ｂ）に示す（ハンドコントローラから入力された）操作データ処理動作から送信されてくる。
【００４９】
この設定されたテンポで表示制御クロックをカウントアップし（ｓ２９）、タイミングデータに基づき、次のイベントデータの読出タイミングになった場合には（ｓ３０）、次のイベントデータ（映像データ）を読み出し（ｓ３１）、この映像データに基づく映像を表示部４９に表示する。
【００５０】
映像データが楽譜データ（コードデータ）の場合には、このコードに対応する楽譜の映像パターンをパターンライブラリ（フォント）から読み出して映像を作成し、これを表示部４９に出力する。一方、アニメーションデータの場合には、そのアニメーションのフレームを曲データ中から読み出して表示部４９に表示する。なお、アニメーションであっても図形素材を組み合わせて演奏者を合成する場合には、映像データはその図形素材の組み合わせを指示するコードデータになっている。この場合には、楽譜データと同様に図形素材ライブラリから図形素材を読み出し、これを組み合わせてアニメーションの１フレームを作成して表示部４９に出力する。なお、楽譜データの場合もアニメーションの場合も、そのとき演奏されている複数パートの映像が１画面に表示されるようにパターンが構成される。
【００５１】
こののち次のイベントの読出タイミングを指示するタイミングデータをセットする（ｓ３２）。そしてこのパートがユーザ制御モードであるかを判断し（ｓ３３）、ユーザ制御モードの場合には、テンポ制御データトラックに書き込まれているテンポ制御データと現在設定されているテンポとを比較し、この比較結果を（楽譜が表示されている場合には）その楽譜の下方に表示する（ｓ３５）。以上の動作は曲が終了するまで繰り返し実行される。
【００５２】
楽譜の表示例を図１０に示す。このように楽譜の下方にテンポ制御データトラックのテンポとユーザ制御のテンポがグラフ表示され、その追従度が分かるようになっている。また、アニメーションの表示例を図１１に示す。この図はバンド演奏のアニメーションであるが、各演奏者のアニメーションがそのパートのテンポ（演奏の進行）に応じて映像データトラックから読み出された映像データに基づいて図１２のように変化する。
【００５３】
図８は各パートの自動テンポ制御動作を示すフローチャートである。自分の動作で設定されたテンポでクロックをカウントアップし（ｓ４０）、タイミングデータに基づき次のイベントデータの読出タイミングになった場合には（ｓ４１）、次のイベントデータ（テンポ制御データ）を読み出し（ｓ４２）、このテンポ制御データを自分の動作に設定するとともに、自動演奏制御動作および表示制御動作に送信する（ｓ４３）。そして次のイベントの読出タイミングを指示するタイミングデータをセットして（ｓ４４）、リターンする。この動作は曲が終了するまで繰り返し実行される。
【００５４】
一方、全体テンポ制御動作からテンポ制御情報を受信した場合には、これに応じて現在のテンポ制御データを修正し（ｓ４６）、この修正したテンポ制御データを自分の動作に設定するとともに、自動演奏制御動作および表示制御動作に送信する（ｓ４７）。
【００５５】
この全体テンポ制御情報は、同図（Ｂ）に示す全体テンポ制御動作から送信されるものであり、この全体テンポ制御動作は、各パートを自動演奏しつつ全体のテンポを制御する場合に実行される。
【００５６】
同図（Ｂ）において、この動作は、利用者が図６（Ｂ）の動作で全パートを演奏するように選択するとともに、全パートのテンポを一括して制御する旨選択した場合に実行される。利用者が操作ユニット（ハンドコントローラ）を操作することによって生成・入力されたテンポ制御データが入力されると（ｓ５０）、このテンポ制御データと基準テンポトラックに書き込まれている基準テンポデータとを比較し、この比率を修正情報とする（ｓ５１）。たとえば、入力されたテンポ制御データが１２０であり、基準テンポデータが１００の場合には修正情報の内容は１．２となる。ここで、基準テンポトラックは、上記操作ユニットの操作によって生成されたテンポ制御データによって順次読み出されている。そして、ｓ５１では現在読み出されている最新の基準テンポデータと入力されたテンポ制御データとを比較する。上記の処理で算出された修正情報を各パートの動作に送信する（ｓ５２）。
なお、修正情報の算出方法は、上記のように入力されたテンポ制御データを基準テンポデータで除算して算出する方法以外に、テンポ制御データを基準テンポデータで減算して算出してもよい。また、テンポ制御データおよび基準テンポデータから修正情報を読み出すテーブルを設けて上記演算に代えてもよい。
【００５７】
図９は、上記操作ユニットであるハンドコントローラ１の操作データ送信動作および自動演奏制御装置の操作データ処理動作を示すフローチャートである。
【００５８】
同図（Ａ）はハンドコントローラ１の制御部２０の動作を示すフローチャートである。電源がオンされるとまず各チップのリセットなどのイニシャライズ動作を実行する（ｓ６０）。このイニシャライズ動作によって動作が可能になると、Ｘ，Ｙ，Ｚ方向の３軸の揺動加速度を検出し（ｓ６１）、これを操作データの電文に編集して（ｓ６２）、自動演奏制御装置３（通信ユニット２）に対して送信する（ｓ６３）。そしてこの揺動加速度に応じてＬＥＤを点灯制御する（ｓ６４）。この動作は、２．５ｍｓ毎に実行される。  このように上記動作を２．５ｍｓ毎に実行し、Ｘ軸，Ｙ軸，Ｚ軸の加速度を２．５ｍｓ程度の分解能で検出することで、細かい振動ノイズを除去しつつ利用者の揺動操作を高い分解能で検出することができる。
【００５９】
ＬＥＤ１４ａ〜１４ｄの点灯制御の態様は以下のようである。Ｘ軸方向の＋方向の加速度が一定以上の場合には、青色発光のＬＥＤ１４ａを点灯する。Ｘ軸方向の−方向の加速度が一定以上の場合には、緑色発光のＬＥＤ１４ｂを点灯する。Ｙ軸方向の＋方向の加速度が一定以上の場合には、赤色発光のＬＥＤ１４ｃを点灯する。Ｙ軸方向の−方向の加速度が一定以上の場合には、オレンジ色発光のＬＥＤ１４ｄを点灯する。また、Ｚ軸方向の＋方向の加速度が一定以上の場合には、ＬＥＤ１４ａとＬＥＤ１４ｂを同時に点灯する。Ｚ軸方向の−方向の加速度が一定以上の場合には、ＬＥＤ１４ｃとＬＥＤ１４ｄを同時に点灯する。また、上記の点灯制御において、ＬＥＤ１４ａ〜１４ｄを揺動加速度の大きさに応じた光量で点灯するようにしてもよい。
【００６０】
なお、複数のハンドコントローラ１が用いられる場合には、上記動作は各ハンドコントローラ１毎に実行され、自動演奏制御装置３には複数のハンドコントローラ１からそれぞれ操作データが入力されることになる。
【００６１】
図９（Ｂ）は、自動演奏制御装置３の操作データ処理動作を示すフローチャートである。この動作は、通信ユニット２を介してハンドコントローラ１から入力される操作データに基づいてテンポ制御データを生成する動作である。複数のハンドコントローラ１が別々のパートを制御する場合、この動作は各ハンドコントローラ毎に実行される。操作データが入力されると（ｓ７０）、この操作データに基づいて揺動加速度を検出する（ｓ７１）。揺動加速度はＸ軸方向加速度、Ｙ軸方向加速度およびＺ軸方向加速度を合成した加速度ベクトルである。このベクトルの大きさおよび方向の変化によりローカルピークであるか否かを検出する（ｓ７２）。ローカルピークが検出されない場合には、ｓ７３からそのままｓ７０にもどる。ローカルピークが検出された場合には（ｓ７３）、前回（または過去の数回）のローカルピークとの間隔に応じて揺動のテンポを割り出し（ｓ７４）、これをテンポ制御データに編集して対応する自動演奏制御動作、表示制御動作に対して送信する（ｓ７５）。そして、このユーザ制御によって生成されたテンポ制御データで対応するパートのテンポ制御データトラックを書き換える書き換えモードの場合には（ｓ７６）、上記対応パートのテンポ制御データトラックのデータをこれで書き換える（ｓ７７）。
この書き換えモードの動作により利用者の操作内容を曲データに記録することができる。
【００６２】
なお、上記実施形態では、ハンドコントローラ１により自動演奏のテンポのみを制御するようにしているが、これ以外に、音量制御、発音タイミングの制御、音色の制御などを行うことができる。発音タイミングの制御は、たとえば、揺動加速度のピーク点を検出し、このピーク点のタイミングで楽音を発音させるなどの制御である。また、音色の制御は、たとえば、揺動加速度の変化率や変化波形に応じて楽音を柔らかい音色や硬い音色に変化させるなどの制御である。
【００６３】
なお、上記ユーザ制御モードでは、１つのハンドコントローラ１と１つのパートが１対１で対応しているが、対応関係は１対１に限定されず、１つのハンドコントローラに複数のトラックをアサインするようにしてもよく、また、複数のハンドコントローラで１つのパートを制御するようにしてもよい。
【００６４】
複数のハンドコントローラで１つのトラックを制御する場合、各ハンドコントローラから入力される操作データに基づいて上記各パート毎の総合データを割り出し、これに基づいてそのパート（曲データのトラック）の演奏制御を行うようにする。
【００６５】
なお、上記実施形態では、複数パート（複数の音色）の楽音を全て１つの音源装置４で発音するようにしているが、制御装置である自動演奏制御装置３に複数の音源装置（楽器）を接続し、各パート（の全部または一部）に対してそれぞれ個別の音源（楽器）を割り当てるようにしてもよい。図１３は、自動演奏制御装置３に、ＭＩＤＩインタフェースを介して通常の音源装置４、電子管楽器用音源装置６０、電子ドラム音源装置６１、電磁駆動ピアノ６２および電子バイオリン６３を接続した例を示す。そして、音源装置４、電子管楽器用音源装置６０にそれぞれ複数のパートを担当させ、電磁駆動ピアノ６２にピアノパートのみを担当させる。たとえば音源装置４としては、基本波合成型のＦＭ音源などが適用され、汎用的に種々の楽音を発生できるものである。電子管楽器用音源装置６０としては、実際の管楽器をプロセッサでソフト的にシミュレートした物理モデル音源などが適用される。電子ドラム音源装置６１は、打楽器音をワンショットで読み出すＰＣＭ音源などが適用される。また、電磁駆動ピアノ６２は、各ハンマーにソレノイドが接続されたピアノであり、ＭＩＤＩデータなどの演奏データでソレノイドを駆動することができる自然楽器である。さらに、電子バイオリン６３は、例えばサイレントバイオリン（商標）などのバイオリン型の電子楽器であり、弦楽器の音に特化された音源装置を内蔵したものである。
【００６６】
このようにパーソナルコンピュータ３に接続できる音源は電子的な音源に限定されず、電気的に駆動される自然楽音を発生する音源装置を接続することも可能である。なお、音源の種類によって演奏データが入力されたのち実際に発音されるまでの時間差（タイムラグ）が異なるため、複数種類の音源を接続する場合には、このタイムラグを補償するディレイ手段を音源装置の前段に設けて、同じタイミングの演奏データが同じタイミングに発音されるようにする。
【００６７】
さらに、近年はＵＳＢインタフェースを有する音源装置や電子楽器も実用化されているため、図示のようにＵＳＢインタフェースを介して自動演奏制御装置３に電子ピアノ６４、電子オルガン６５、電子ドラム６６などを接続し、演奏データをＵＳＢインタフェースから出力して上記電子楽器（音源装置）を駆動するようにしてもよい。
【００６８】
このようにそれぞれ異なる発音形態の音源を複数接続することにより、聴覚的にもまた視覚的にもアンサンブル的な合奏が可能になる。
【００６９】
また、上記実施形態は、操作ユニットとして利用者が手に持って揺動操作するハンドコントローラ１を用いているが、操作ユニットは、ハンドコントローラに限定されない。たとえば、歌唱用のマイクに加速度センサを内蔵して歌唱と自動演奏制御を一緒にできるようにすることも可能である。カラオケ装置にこのハンドコントローラ内蔵マイクを適用すれば、歌唱者が歌唱しながらそのカラオケ曲を制御することができるようになり、たとえば、歌唱者が自分の歌いたいテンポに演奏テンポを制御しながら歌唱することが可能になる。また、操作ユニットとしては揺動操作するものに限定されず、指による押圧の強さを検出するタップスイッチを用いることも可能である。このタップスイッチは、圧電センサなどで構成することができる。
【００７０】
また、図１４に示すように靴を操作ユニット５０とし、その踵に３軸加速度センサ５１を埋め込み、足を前後に動かす蹴りの動作、左右に振る動作、上下に動かす踏みの動作を検出し、これに基づいて楽音の発音を制御するようにしてもよい。
【００７１】
また、図１５上部に示すように利用者の指先に３軸の加速度センサ５３を有する指先操作ユニット５２を取り付け、指の３次元の動きを検出して楽音の発音を制御するようにすることもできる。この場合、各指に別々のセンサを取り付けることにより、各指毎に異なる楽音の制御をすることも可能である。
【００７２】
また、同図下部に示すように手首に３次元加速度センサ５５および脈拍センサ５６を有する手首操作ユニット５４を取り付けることにより、腕の揺動に加えて脈拍を検出することもできる。この場合、両手首に手首操作子を取り付けることにより、両腕で２つの楽音を制御することも可能になる。
【００７３】
また、図示しないが、利用者の足首や胴に同様の操作子を取り付けることも可能である。さらに、上記実施形態では、利用者がハンドコントローラ１を揺動させる動作に基づいて演奏を制御するようにしているが、利用者の静的な姿勢に基づいて演奏を制御するようにしてもよい。
【００７４】
なお、上記実施形態において、ユーザ操作モード且つ書き換えモードで、所定パートのテンポ制御データトラックが書き換えられた曲データを再度自動演奏し、今度は他のパートのテンポ制御データを書き換えることで、１人の利用者が１つの操作ユニットを用いて順次全パートのテンポ制御データトラックを書き換えることもできる。また、ネットワークを介して曲データを送受信することにより、自分が一部パートを書き換えた曲データを他人が演奏する、または、他人が一部パートを書き換えた曲データを他のパートをユーザ制御しながら自動演奏するという合奏シミュレーションも可能になる。
【００７５】
上記実施形態は、自動演奏制御装置で、映像を一緒に表示できるものを示したが、音楽を演奏しないで映像のみのテンポ制御するものもこの発明に含まれる。たとえば、自転車型のペダルをこぐ運動器具に映像再生装置を接続し、ペダルをこぐテンポで風景の映像を進めてゆくようにしてもよい。この場合、映像は複数系統であってよく、単一の系統でもよい。
【００７６】
また、演奏、映像以外の時系列データを読み出す装置として、テキストデータを読み上げる装置があり、この発明を適用すれば、利用者の操作によって、テキストの読み上げテンポを制御できるようにすることができる。
【００７７】
【発明の効果】
以上のようにこの発明によれば、時系列データの読み出し時に複数系統の時系列データの読み出しテンポをそれぞれ独立したテンポ制御データでテンポ制御することができるため、各系統毎に再生等の制御をすることができ、変化に富んだ時系列データの読み出しが可能になる。
【００７８】
これを演奏制御装置に適用すれば、演奏時に複数パートのそれぞれを独立したテンポ制御データでテンポ制御することができるため、各パート毎に自由に発音・消音等を制御することができ、変化に富んだ合奏の演奏が可能になる。また、この場合において、一部パートのテンポ制御を利用者に開放することにより、このパートの演奏の音高や音長などは演奏データに基づいて制御され、利用者はこのパートのテンポのみを制御すればよいため、容易に合奏演奏に参加することができ、音楽演奏の敷居をさげることができる。
【００７９】
また、利用者による操作手段の操作に基づいて生成されたテンポ制御データを演奏データとともに記憶手段に書き込むことにより、利用者の演奏を曲データ中に記録することができ、再度この曲データを演奏することで、自らの演奏を再生することができるとともに、さらに他のパートのテンポをこの演奏に合わせて制御することも可能になる。また、このデータをネットワークを介して他の利用者に送信し、合奏シミュレーションをすることも可能になる。
【図面の簡単な説明】
【図１】この発明の実施形態である自動演奏制御装置のブロック図
【図２】同自動演奏制御装置で用いられる自動演奏データの構成を示す図
【図３】上記自動演奏制御装置を含む演奏制御システムの概略構成図
【図４】同演奏制御システムの操作ユニットであるハンドコントローラの外観図
【図５】同ハンドコントローラのブロック図
【図６】上記自動演奏制御装置の動作を示すフローチャート
【図７】上記自動演奏制御装置の動作を示すフローチャート
【図８】上記自動演奏制御装置の動作を示すフローチャート
【図９】上記自動演奏制御装置およびハンドコントローラの動作を示すフローチャート
【図１０】上記自動演奏制御装置の楽譜表示例を示す図
【図１１】上記自動演奏制御装置のアニメーション表示例を示す図
【図１２】上記自動演奏制御装置のアニメーション表示例を示す図
【図１３】演奏制御システムの他の構成例を示す図
【図１４】操作ユニットの他の態様を示す図
【図１５】操作ユニットの他の態様を示す図
【符号の説明】
１…ハンドコントローラ（操作ユニット）、２…通信ユニット、３…自動演奏制御装置（パーソナルコンピュータ）、４…音源装置、１４ａ〜１４ｄ…ＬＥＤ、１６…７セグメント表示器、１７…３軸加速度センサ
【図１】
0003654143.tif 000002
【図２】
0003654143.tif 000003
【図３】
0003654143.tif 000004
【図４】
0003654143.tif 000005
【図５】
0003654143.tif 000006
【図６】
0003654143.tif 000007
【図７】
0003654143.tif 000008
【図８】
0003654143.tif 000009
【図９】
0003654143.tif 000010
【図１０】
0003654143.tif 000011
【図１１】
0003654143.tif 000012
【図１２】
0003654143.tif 000013
【図１３】
0003654143.tif 000014
【図１４】
0003654143.tif 000015
【図１５】
0003654143.tif 000016