図1は、本発明の実施例による演奏補助システムを構成する各装置のハードウェア構成の一例を表すブロック図である。
演奏補助システム1は、1台のマスター無線通信端末(メイン装置)100に無線通信で接続される1又は複数のスレーブ無線通信端末(演奏補助装置)101と該1又は複数の演奏補助装置101のそれぞれに有線通信で接続される電子楽器102で構成される。
メイン装置100は、専用の装置で構成しても良いし、パーソナルコンピュータに本実施例を実現するためのソフトウェアをインストールして構成しても良い。
メイン装置100のバス6には、RAM7、ROM8、CPU9、検出回路11、表示回路13、記憶装置15、音源・効果回路18、無線通信インターフェイス(I/F)21aが接続される。
RAM7は、再生バッファ等のバッファ領域、フラグ、レジスタ、各種パラメータ等を記憶するCPU9のワーキングエリアを有する。
ROM8には、各種データファイル、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。この場合、プログラム等を重ねて、記憶装置15に記憶する必要は無い。
CPU9は、ROM8又は、記憶装置15に記憶されている制御プログラム又は本実施例を実現するためのプログラム等に従い、演算又は装置の制御を行う。タイマが、CPU9に接続されており、基本クロック信号、割り込み処理タイミング等がCPU9に供給される。
ユーザは、検出回路11に接続されるパネル操作子12を用いて、各種入力及び設定、選択をすることができる。パネル操作子12は、例えば、スイッチ、パッド、フェーダ、スライダ、ロータリーエンコーダ、ジョイスティック、ジョグシャトル、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、パネル操作子12は、カーソルスイッチ等の他の操作子を用いて操作する表示装置14上に表示されるソフトスイッチ等でもよい。
表示回路13は、ディスプレイ14に接続され、各種情報をディスプレイ14に表示することができる。ディスプレイ14は、演奏補助システム1の設定のための各種情報等を表示することができる。
記憶装置15は、ハードディスク、FD(フレキシブルディスク又はフロッピーディスク(登録商標))、CD(コンパクトディスク)、DVD(デジタル多目的ディスク)、フラッシュメモリ等の半導体メモリ等の記憶媒体とその駆動装置の組み合わせの少なくとも1つで構成される。記憶媒体は、着脱可能であってもよいし、内蔵されていてもよい。記憶装置15及び(または)ROM8には、コード/スケール指定情報又はフレーズ情報PDを含む自動演奏データ(又はコード進行データ)、本発明の各実施例を実現するためのプログラムや、その他の制御プログラムを記憶することができる。なお、本発明の各実施例を実現するためのプログラムや、その他の制御プログラムを記憶装置15に記憶する場合は、これらをROM8に合わせて記憶する必要はない。また、一部のプログラムのみを記憶装置15に記憶し、その他のプログラムをROM8に記憶するようにしてもよい。
音源・効果回路18は、記憶装置15、ROM8又はRAM7等に記録された自動演奏データ又は無線通信インターフェイス21aに接続された外部機器等から供給される演奏信号、MIDI信号等に応じて楽音信号を生成し、各種音楽的効果を付与して、サウンドシステム19に供給する。サウンドシステム19は、D/A変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
無線通信インターフェイス21aは、無線LANやBluetooth(登録商標)等の汎用近距離無線I/F等の通信インターフェイス及び音楽専用無線通信インターフェイスのうち少なくとも1つで構成され、複数の機器と同時に通信が可能である。
演奏補助装置101は、専用のハードウェアで構成され、好ましくは演奏者が電子楽器102とあわせて携帯可能なサイズで提供される。例えば、ギターやベース型の電子楽器102のストラップ等に装着可能なサイズとする。演奏補助装置101のハードウェア構成は上述したメイン装置100と同様であり、実質的に同一の構成には同一の参照番号を付した。以下、メイン装置100と異なる点のみを説明する。
メイン装置100との違いは、演奏補助装置101では、メイン装置100との通信に用いられる無線通信インターフェイス21aに加えて電子楽器102との通信に用いられる有線通信インターフェイス21bを有している点にある。
有線通信インターフェイス21bは、USBやIEEE1394等の汎用近距離有線I/F、Ethernet(登録商標)等の汎用ネットワークI/F等の通信インターフェイス、MIDI I/Fなどの汎用I/F、あるいは電子楽器102を特定の演奏補助装置101に装着するための専用コネクタを用いたI/Fのうち少なくとも1つで構成される。
電子楽器102は、例えば、キーボード等の演奏操作子を備えた電子楽器で構成される。電子楽器102のハードウェア構成は上述したメイン装置100及び演奏補助装置101と同様であり、実質的に同一の構成には同一の参照番号を付した。以下、メイン装置100及び演奏補助装置101と異なる点のみを説明する。
メイン装置100及び演奏補助装置101との違いは、電子楽器102では、無線通信インターフェイス21aが省略され、演奏補助装置101との通信に用いられる有線通信インターフェイス21bのみを有している点にある。また、演奏操作子22を有している。
演奏操作子22は、検出回路11に接続され、ユーザの演奏動作に従い、演奏情報を供給する。演奏操作子22として、弦とピックアップ及びピックアップで発生する電気信号を演奏信号(例えば、MIDI信号)に変換可能な回路の組み合わせ等により弦楽器型の演奏操作子、鍵盤楽器型の演奏操作子、パッド等の打楽器型の演奏操作子、管楽器型の演奏操作子、その他演奏信号を発生可能な操作子等を用いることができる。なお、演奏操作子22はこれらに限らず、ユーザが演奏情報を入力できるものであればどのようなものでもよい。演奏操作子(鍵盤、パッド等)22は、ユーザの演奏を入力するための操作子であり、ユーザが操作した操作子に対応する音高で、該ユーザの操作子に対する操作開始タイミング及び終了タイミングをそれぞれキーオン信号及びキーオフ信号として入力する。なお、演奏補助機能がONとなっている時は、演奏操作子22で発生したノート情報が直接、音源・効果回路18に供給されないように自動的にローカルオフされる。また、ユーザが予め手動でローカルオフしてもよい。
なお、本実施例では、演奏補助装置101と電子楽器102とが別体で構成された例を中心に説明するが、演奏補助装置101と電子楽器102とは一体に構成されていても良い。例えば、電子楽器102が演奏補助装置を内蔵するように構成しても良い。また、演奏補助装置101と電子楽器102とが別体で構成されたものと、電子楽器102が演奏補助装置を内蔵するように構成したものとを混在させて演奏補助システム1を構築するようにしても良い。
メイン装置100は、ユーザの選択した曲に関連付けられたコード/スケール指定情報を含む自動演奏データを記憶装置15から読み出し、再生してコード/スケール指定情報を、無線通信I/F21aを介して、演奏補助装置101に供給する。なお、コード/スケール指定情報は、特定タイミングでのコード(和音)及び/又はスケールを指定する情報である。自動演奏データ(又はコード進行データ)には、コード/スケール指定情報が曲の進行に従い記録されている。なお、自動演奏データ(又はコード進行データ)は、楽曲の進行に沿ってコード進行のみを記憶した自動演奏データであっても良いし、メロディやその他のパートの自動演奏データやオーディオデータなどをあわせて記憶した自動演奏データであっても良い。
コード/スケール指定情報は、例えば、コード名やスケール名を指定する情報であり、その場合には、演奏補助装置101側で、当該コード名やスケール名で表されるコードやスケールを構成する複数の音高に変換して、音高変換処理に用いる。あるいは、コード/スケール指定情報が、コードやスケールを構成する複数の音高を表すものでも良い。その場合には、演奏補助装置101では、受信した情報をそのまま音高変換処理に用いる。
自動演奏データが、メロディやその他のパートの自動演奏データやオーディオデータなどを含む場合は、当該メロディやその他のパートの自動演奏データやオーディオデータは、メイン装置100において再生しても良いし、各電子楽器102に演奏補助装置101を介して送信し、当該各電子楽器102にて再生するようにしても良い。
なお、コード進行データは、予め記憶されているものに限らず、通信ネットワークを介して、取得されるものであってもよい。例えば、インターネット等のネットワークにおける演奏データ配信サービスから擬似ストリーミング(MIDIデータ等を一度にダウンロードして再生終了後自動的に消去するダウンロード手法)等によって、ダウンロードしてもよい。この場合、コード進行データは、図1の記憶装置15に記憶されるとともに、再生時には、RAM7等の再生バッファに記憶される。擬似ストリーミング等により一時的にダウンロードされたコード進行データは、RAM7等の再生バッファに記憶され、再生終了後に、消去される。
また、メイン装置100は、無線通信I/F21aを介して、演奏補助装置101にタイミング情報を供給する。タイミング情報は、演奏補助システム1を構成する全ての演奏補助装置101に一斉同報される。
タイミング情報の元になるクロックは、メイン装置100のクロックを基にしても良いし、いずれか1つの演奏補助装置101などが、当該演奏補助装置101に接続された電子楽器102の演奏操作子22等を用いて演奏者が入力する演奏情報に基づいてクロックを生成し、当該生成したクロックをメイン装置100に送り、それを一斉同報するようにしてもよい。
タイミング情報は、例えば、メイン装置100が細かい共通のクロックを一斉同報することで全演奏補助装置101に伝送される。この場合、メイン装置100は、MIDIクロックの形式で、クロックを細かく送り、それを元に演奏補助装置101側で、ユーザ操作などで指定された4分音譜、8分音譜(又は、1拍、1/2拍等)のような所定のグリッド間隔を生成する。なお、タイミング情報のデータ構造はMIDIクロックの形式に限らない。
また、例えば、メイン装置100が大まかな共通のクロックを一斉同報することで全演奏補助装置101に伝送することもできる。この場合、メイン装置100は、例えば、1小節単位などの大まかな間隔でタイミング情報を送信し、その間隔を元に、演奏補助装置101側で指定された小節時刻の間を等分し、さらに、ユーザ操作などで指定された4分音譜、8分音譜(又は、1拍、1/2拍等)のような所定のグリッド間隔を生成する。この場合のデータ構造もいかなるものでも良いが、コード/スケール情報を兼ねるものとしてもよい。すなわち、前述のコード/スケール情報を1小節単位などの大まかな間隔で送ることにより、コード/スケール情報を音高変換処理のみに用いるのではなく、所定のグリッド間隔を生成するのに用いるようにしても良い。
あるいは、メイン装置100が1小節単位などの所定間隔でタイミング情報を送信するとともに、別途、MIDIのテンポ情報を送信し、小節内の細かいグリッド間隔はテンポ情報を元に演奏補助装置101側で生成するようにしてもよい。この時、所定間隔を伝える情報は、コード/スケール情報又はテンポ情報を兼ねてもよい。
さらに、例えば、メイン装置100が直接、グリッドのタイミングを一斉同報することで全演奏補助装置101に伝送することもできる。例えば、メイン装置100で決めたグリッドのタイミングに合わせて所定形式のデータを送るようにする。この場合、全ての演奏補助装置101が同じグリッドでクオンタイズ処理をすることになる。なお、この場合のデータ構造もいかなるものでも良いが、コード/スケール情報を兼ねるものとしてもよい。
また、メイン装置100が電子楽器102(演奏補助装置101)ごとに、異なるグリッドのタイミングを送るようにしても良い。この場合、メイン装置100は、自身のクロックに基づいて各電子楽器102用のタイミング情報(例えば、ピアノの音色を設定している電子楽器102には4分音譜単位、ドラムの音色を選択している電子楽器102には8分音符単位等)に音色情報(又はチャンネル情報)を付与して全演奏補助装置101に一斉同報する。演奏補助装置101側では、送信されたタイミング情報に付与された音色情報が示す音色(チャンネル情報が示すチャンネル)をみて当該タイミング情報を取り込むか否かを判断する。
なお、タイミング情報等の送信は、ブロードキャストやマルチキャストによる一斉同報に限らずユニキャストを用いて各演奏補助装置101に個別に送信しても良い。
演奏補助装置101は、メイン装置100から供給される和音情報に基づき、電子楽器102から供給されるノート情報を変換する。なお、ノート変換処理の詳細は、特開2004−206073号公報の「発明を実施するための最良の形態」の項(特に、段落[0052]〜[0086])、特開2006−243102号公報の「発明を実施するための最良の形態」の項を参照する。例えば、和音情報として供給される和音のそれぞれにつき、入力されるノート情報の音高と当該音高のノート情報が変換されるべき和音構成音とを関連付けて記録した変換テーブルを予め用意し、当該変換テーブルに基づきノート情報を和音情報に適合する音高のノート情報に変換する。この変換モードを本明細書では、パフォーマンスアシスト(PAT)モードと呼ぶ。ここで、和音情報に適合する音高とは、音楽的に適合する音高であり、例えば、和音の構成音と同一音高等である。なお、ノート変換は演奏パート(又は音色)ごとに異なるアルゴリズム又は変換テーブルにより変換される。
また、和音進行データがメロディ等の自動演奏データを含み、当該自動演奏データがあわせて供給された場合は、演奏者が演奏操作子22を用いて入力する音高を全てメロディ等の自動演奏データの音高に変換するメロディアシスト(MAT)モードを選択できるようにしても良い。
演奏補助装置101の有線通信I/F21bは、電子楽器102の有線通信I/F21bとケーブル等を介して有線接続され、電子楽器102から演奏操作に基づくノート情報を受信するとともに、ノート変換されたノート情報を送信する。なお、ノート変換機能がOFFとなっている場合は、送信されるノート情報は電子楽器102から受信したものと同じものである。また、電子楽器102に対してローカルオフ/ローカルオンを送信する。
電子楽器102は、演奏操作子22から入力される演奏信号に基づきノート情報を生成し、生成したノート情報を有線通信I/F21bを介して演奏補助装置101に送信する。なお、ローカルオンに設定されている場合は、生成したノート情報は音源・効果回路18に直接供給され、ローカルオフに設定されている場合は、生成したノート情報は音源・効果回路18には直接供給されない。
図2は、本発明の第1の実施例によるクオンタイズ処理を説明するための概念図である。図中、垂直方向の破線は、1/2拍ごとに引かれている。
この例では、クオンタイズのグリッドは、1拍ごとに設定されている。また、クオンタイズのグリッドから1/2拍(グリッド間隔の1/2)前のタイミングまでを所定期間とする。なお、クオンタイズのグリッドは、1拍ごとに限らず、1/16拍、1/8拍、1/4拍、1/3拍、1/2拍、2拍、3拍、4拍などでも良い。また、所定期間もグリッド間隔の1/2の期間に限らず、グリッド間隔の1/16、1/8、1/4、1/3等でも良い。
入力ノート情報IN1は、ユーザが上記所定期間内に、電子楽器102の演奏操作子22を操作して、ノートオンイベント(例えば、押鍵操作)が発生し、その後、クオンタイズのグリッドよりも後にノートオフイベント(例えば、離鍵操作)が発生した例である。なお、本明細書において「ノート情報」とは、少なくとも音高情報を含むノートオンイベントとノートオフイベントの組み合わせである。
この場合、演奏補助装置101では、まず、入力ノート情報IN1のノートオンイベントのタイミングが所定期間内か否かを判断する。入力ノート情報IN1は、所定期間内にあるので、ノートオンイベントのタイミング(以下、単に「ノートオンタイミング」とする)をクオンタイズのグリッドに合わせて(クオンタイズ処理して)遅らせて電子楽器102に出力する。また、入力ノート情報IN1のノートオフイベントのタイミング(以下、単に「ノートオフタイミング」とする)は、クオンタイズ処理後のノートオンタイミング(クオンタイズのグリッド)よりも後にあるので、変更せずに電子楽器102に出力する。このようにすることで、入力ノート情報IN1は、ノートオンタイミングはクオンタイズのグリッドに合わせられ、ノートオフタイミングは入力されたままのクオンタイズ後のノート情報QN1となる。
次に、入力ノート情報IN2は、ユーザが上記所定期間外に、電子楽器102の演奏操作子22を操作して、ノートオンイベント(例えば、押鍵操作)が発生し、その後、クオンタイズのグリッドよりも後にノートオフイベント(例えば、離鍵操作)が発生した例である。
この場合、演奏補助装置101では、まず、入力ノート情報IN2のノートオンイベントのタイミングが所定期間内か否かを判断する。入力ノート情報IN2は、所定期間外にあるので、ノートオンタイミングは変更せずにそのまま電子楽器102に出力する。また、入力ノート情報IN1のノートオフイベントのタイミング(以下、単に「ノートオフタイミング」とする)は、変更されなかったノートオンタイミングよりも後にあるので、変更せずに電子楽器102に出力する。このようにすることで、入力ノート情報IN2は、クオンタイズ処理によりなんら変更が加えられていないクオンタイズ後のノート情報QN2となる。なお、本明細書では、ノート情報IN2に変更を加えずにノート情報QN2とした場合も、クオンタイズ処理したものとして扱う。
次に、入力ノート情報IN3は、ユーザが上記所定期間内に、電子楽器102の演奏操作子22を操作して、ノートオンイベント(例えば、押鍵操作)が発生し、その後、クオンタイズのグリッドよりも前の所定期間内にノートオフイベント(例えば、離鍵操作)が発生した例である。
この場合、演奏補助装置101では、まず、入力ノート情報IN3のノートオンイベントのタイミングが所定期間内か否かを判断する。入力ノート情報IN3は、所定期間内にあるので、ノートオンタイミングをクオンタイズのグリッドに合わせて(クオンタイズ処理して)遅らせて電子楽器102に出力する。また、入力ノート情報IN3のノートオフタイミングは、クオンタイズ処理後のノートオンタイミング(クオンタイズのグリッド)よりも前にあるので、グリッドに合わせて(グリッドから所定期間)遅らせて電子楽器102に出力する。このようにすることで、入力ノート情報IN3は、ノートオンタイミングはクオンタイズのグリッドに合わせられ、ノートオフタイミングはグリッドから所定時間後のクオンタイズ後のノート情報QN3となる。
図3は、本発明の第1の実施例による演奏補助装置101のCPU9で実行される演奏補助処理を表すフローチャートである。この処理は、ユーザの指示により起動する。なお、メイン装置100との無線通信は別の処理(図示しない)により、予め確立されているものとする。
ステップSA1で、演奏補助処理を開始し、ステップSA2では、メイン装置100からコード/スケール情報を受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSA3に進み、受信しなかった場合は、NOの矢印で示すステップSA4に進む。
ステップSA3では、例えば、RAM7内に確保されるコード/スケール情報の格納領域のコード/スケール情報をステップSA2で受信したコード/スケール情報で更新する。なお、初期値としては、コード/スケール情報は何も格納されていない。コード/スケール情報が格納されていない場合は、後述のステップSA7での処理はスルーされ、音高変換処理は行われない。
ステップSA4では、メイン装置100からタイミング情報を受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSA5に進み、受信しなかった場合は、NOの矢印で示すステップSA6に進む。
ステップSA5では、ステップSA4で受信したタイミング情報に基づき、図2に示すクオンタイズのグリッドを更新する。例えば、タイミング情報に基づき、クオンタイズのグリッドに該当するタイミングを算出する。
ステップSA6では、電子楽器102からノートオンを受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSA7に進み、受信しなかった場合は、NOの矢印で示すステップSA8に進む。
ステップSA7では、ステップSA3で更新したコード/スケール情報に基づきステップSA6で受信したノートオンの音高情報を修正する。例えば、ステップSA6で受信したノートオンの音高情報を、コード/スケール情報に含まれる音高の中で一番音程差が少ないものに変換する。
なお、接続されている電子楽器102でドラムキット等のパーカッション系の音色が設定されている場合は、音高情報は、ドラムキット等を構成する各打楽器の種類を表すものなので、ステップSA7での音高変換処理をスキップする。
ステップSA8では、ステップSA6で受信したノートオンのタイミングは、クオンタイズグリッド間の所定範囲内(例えば、上述したようにクオンタイズのグリッドの半拍前からクオンタイズのグリッドまで)か否かを判断する。所定範囲内であれば、YESの矢印で示すステップSA9に進み、所定範囲外であればNOの矢印で示すステップSA10に進む。
ステップSA9では、ステップSA6で受信したノートオンのタイミングを次のグリッドのタイミングまで遅らせて、電子楽器102に送信する。その後、ステップSA11に進む。
ステップSA10では、ステップSA6で受信したノートオンのタイミングを変更せずに、直ちに電子楽器102に送信する。その後、ステップSA11に進む。
ステップSA11では、電子楽器102からノートオフを受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSA12に進み、受信しなかった場合は、NOの矢印で示すステップSA16に進む。
ステップSA12では、ステップSA11で受信したノートオフに対応するノートオンと同様(同一音高)に当該ノートオフの音高情報を修正する。ここで対応するノートオンとは、ステップSA6で受信した音高変換前のノートオンの音高情報がステップSA11で受信したノートオフと同一のノートオンである。
ステップSA13では、ステップSA11で受信したノートオフのタイミングが、ステップSA9で遅らせたノートオンタイミング又はステップSA10で変更せずに出力したノートオンタイミングよりも時間的に後であるか否かを判断する。ノートオンタイミングよりも後である場合は、YESの矢印で示すステップSA14に進み、同一又は前である場合は、NOの矢印で示すステップSA15に進む。なお、この処理において、ステップSA11で受信したノートオフのタイミングが、ステップSA9で遅らせたノートオンタイミング又はステップSA10で変更せずに出力したノートオンタイミングよりも所定時間(例えば、1/2拍、1/4拍等)後であるか否かを判断するようにしても良い。
ステップSA14では、ステップSA11で受信したノートオフのタイミングを変更せずに、直ちに電子楽器102に送信する。その後、ステップSA16に進む。
ステップSA15では、ステップSA11で受信したノートオフのタイミングを所定時間(例えば、1/2拍、1/4拍等)遅らせて電子楽器102に送信する。その後、ステップSA16に進む。この処理では、例えば、対応するノートオンのステップSA9で遅らせた(又はステップSA10で変更しなかった)タイミングに対して、ノートオフタイミングを所定時間遅らせる。または、ステップSA11で受信したノートオフのタイミングの直後のクオンタイズグリッドに対して、所定時間遅らせる。
ステップSA16では、ユーザによる演奏補助処理の終了指示、又は、メイン装置100からの終了指示(コードキャンセルの受信、自動演奏データのエンドデータの受信等)等の演奏補助処理を終了する要因があるか否かを判断する。終了する場合は、YESの矢印で示すステップSA17に進み、演奏補助処理を終了する。終了しない場合は、NOの矢印で示すステップSA2に戻り以降の処理を繰り返す。なお、メイン装置100は、演奏補助処理を終了するに際して、演奏補助装置101に対して、コードキャンセルを送信する。演奏補助装置101では、コードキャンセルを受信すると、例えば、RAM7内に確保されるコード/スケール情報の格納領域のコード/スケール情報を初期化する。
以上、本発明の第1の実施例によれば、メイン装置100と該メイン装置100に無線接続される複数の演奏補助装置101と、各演奏補助装置101に接続される電子楽器102からなる演奏補助システム1において、電子楽器102から入力されるノート情報のタイミングをメイン装置100から供給されるタイミング情報に基づきクオンタイズすることにより、初心者でも、他の電子楽器102による演奏とテンポやリズムを合わせて簡単に合奏することができる。
さらに、電子楽器102から入力されるノート情報の音高情報をメイン装置100から供給されるコード/スケール指定情報に基づき音高変換することもできるので、初心者でも、他の電子楽器102による演奏とテンポやリズムを合わせるとともに、楽曲の調やコード進行に適合した合奏を簡単に行うことができる。
また、メイン装置100と演奏補助装置101が無線接続されているので、演奏者は、無線通信が可能な範囲内で自由に動き回って演奏を行うことができる。さらに、有線接続で起こりがちなケーブルの抜き間違い等のトラブルを防止することができる。
図4は、本発明の第2の実施例による演奏補助装置101のCPU9で実行される演奏補助処理を表すフローチャートである。この処理は、ユーザの指示により起動する。なお、メイン装置100との無線通信は別の処理(図示しない)により、予め確立されているものとする。
ステップSB1で、演奏補助処理を開始し、ステップSB2では、メイン装置100からフレーズ情報PDを受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSB3に進み、受信しなかった場合は、NOの矢印で示すステップSB4に進む。
ステップSB3では、例えば、RAM7内に確保されるフレーズ情報の格納領域のフレーズ情報PDをステップSB2で受信したフレーズ情報PDで更新する。なお、初期値としては、フレーズ情報PDは何も格納されていない。
フレーズ情報PDは、例えば、図5に示すように、チャンネルあるいは音色指定情報ISと、複数のノート情報(ノートオンPN1ON〜PN3ON及びノートオフPN1OFF〜PN3OFF)と、各ノート情報間の時間間隔(デルタタイム)で表されるタイミングデータTDとを含んで構成される。
ャンネルあるいは音色指定情報ISは、フレーズ情報PDがメイン装置100から一斉同報された場合に、それぞれの演奏補助装置101が当該情報を受け取るか否かを判断するのに用いられる。すなわち、各演奏補助装置101には、自身に接続されている電子楽器102がどの楽器を担当する(どの音色が設定される)かが予め設定されており、メイン装置100が音色指定情報(例えば、MIDIのプログラムチェンジ)をフレーズ情報PDに含めて一斉同報することにより、各演奏補助装置101及び電子楽器102はチャンネルと音色の対応付けをする。その後、送られたフレーズ情報PDに含まれるチャンネル指定情報を見て、指定されたチャンネルの音色が、自身に設定されているものと一致した場合に、当該フレーズ情報PDを取り込むこととする。また、この場合には、チャンネル情報ではなく音色情報を直接参照して取り込むか否かを判断するようにしても良い。また、単に、演奏補助装置101に予めチャンネルを設定し、当該予め指定されたチャンネルに基づいてフレーズ情報PDを取り込むか否かを判断しても良い。
ノート情報は、ノートオンイベント(ノートオンPNON)及びノートオフイベント(ノートオフPNOFF)であり、それぞれが、音高情報を含む。フレーズ情報PDは、コードがCMaj(ハ長調)の場合を想定した音高で用意されており、コード/スケール情報に応じてフレーズ情報PD内の音高情報が変換される。なお、接続されている電子楽器102でドラムキット等のパーカッション系の音色が設定されている場合は、音高情報は、ドラムキット等を構成する各打楽器の種類を表すものなので、フレーズ情報PD内の音高情報は変換されない。
タイミングデータTDは、音楽的な時間間隔(小節、拍、Tick等)であらわされ、前のイベントとの相対時間であるデルタタイムで示される。この時間間隔は、タイミング情報に応じて決定される。
なお、全ての演奏補助装置101で同一のフレーズ情報PDを用いる場合や、演奏補助装置101がフレーズ情報PDを予め記憶している場合は、チャンネルあるいは音色指定情報ISは省略しても良い。
図4に戻り、ステップSB4では、メイン装置100からコード/スケール情報を受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSB5に進み、受信しなかった場合は、NOの矢印で示すステップSB6に進む。
ステップSB5では、例えば、RAM7内に確保されるコード/スケール情報の格納領域のコード/スケール情報をステップSB4で受信したコード/スケール情報で更新する。なお、初期値としては、コード/スケール情報は何も格納されていない。コード/スケール情報が格納されていない場合は、後述のステップSB9での処理はスルーされ、音高変換処理は行われない。
ステップSB6では、メイン装置100からタイミング情報を受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSB7に進み、受信しなかった場合は、NOの矢印で示すステップSB8に進む。
ステップSB7では、ステップSB6で受信したタイミング情報に基づき、図2又は図6に示すクオンタイズのグリッドを更新する。例えば、タイミング情報に基づき、クオンタイズのグリッドに該当するタイミングを算出する。
ステップSB8では、電子楽器102からノートオンを受信したか否かを判断する。受信した場合は、YESの矢印で示すステップSB9に進み、受信しなかった場合は、NOの矢印で示すステップSB10に進む。
ステップSB9では、ステップSB5で更新したコード/スケール情報に基づきステップSB3で更新したフレーズ情報PDの音高情報を修正する。例えば、フレーズ情報PDがCMajで用意されている場合に、コード/スケール情報で指定されているコードがGMajの時は、音高情報を7半音分高音にシフトさせる。なお、接続されている電子楽器102でドラムキット等のパーカッション系の音色が設定されている場合は、フレーズ情報PDの音高情報は、ドラムキット等を構成する各打楽器の種類を表すものなので、ステップSB9での音高変換処理をスキップする。
ステップSB10では、ステップSB8で受信したノートオンのタイミングの次のクオンタイズグリッドからステップSB3で更新したフレーズ情報PDを再生し、再生されたノート情報を電子楽器102に順次送信する。その後、ステップSB11に進む。
具体的には、例えば、図6に示すように、ノート情報IN4が入力されると、その次のクオンタイズのグリッドのタイミングでフレーズ情報PDのノート情報PN1が発音開始される。その後、フレーズ情報PDに記録されているデルタタイム(タイミングデータ)に従い、ノート情報PN2及びPN3が順次発音開始される。
図4に戻り、ステップSB11では、ユーザによる演奏補助処理の終了指示、又は、メイン装置100からの終了指示(コードキャンセルの受信、自動演奏データのエンドデータの受信等)等の演奏補助処理を終了する要因があるか否かを判断する。終了する場合は、YESの矢印で示すステップSB12に進み、演奏補助処理を終了する。終了しない場合は、NOの矢印で示すステップSB2に戻り以降の処理を繰り返す。なお、メイン装置100は、演奏補助処理を終了するに際して、演奏補助装置101に対して、コードキャンセルを送信する。演奏補助装置101では、コードキャンセルを受信すると、例えば、RAM7内に確保されるコード/スケール情報の格納領域のコード/スケール情報を初期化する。
以上、本発明の第2の実施例によれば、メイン装置100と該メイン装置100に無線接続される複数の演奏補助装置101と、各演奏補助装置101に接続される電子楽器102からなる演奏補助システム1において、電子楽器102からノート情報が入力されると、当該入力されたノート情報のタイミングをメイン装置100から供給されるタイミング情報に基づきクオンタイズするとともに、メイン装置100から供給されるフレーズ情報PDを当該クオンタイズされたノートオンタイミングから再生開始することにより、初心者でも、他の電子楽器102による演奏とテンポやリズムを合わせて簡単に合奏することができる。
なお、第2の実施例では、メイン装置100がフレーズ情報PDを演奏補助装置101に供給するもとしたが、演奏補助装置101がフレーズ情報PDを予め記憶するようにしても良い。
なお、第2に実施例では、ノートオンが入力された場合、当該ノートオンをトリガーとして次のクオンタイズのグリッドからフレーズ情報PDの再生を開始し、当該入力されたノートオンに対応する楽音は発音されないようにしたが、このノートオンを第1の実施例にようにクオンタイズして発音するようにしても良い。その場合、フレーズ情報PDの先頭のノートオン及びしても良いし、先頭のノート情報から入力されたノート情報と合わせて発音するようにしても良い。
また、ドラムキット等の音色の場合は、特定の音高(例えば、バスドラム)が入力された場合にのみ、フレーズ情報PDの再生を開始するようにしてもよい。この場合にも、入力された音高をクオンタイズして発音するようにしても良い。
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。以下に、本発明の実施例に変形例を示す。