(57)【特許請求の範囲】
【請求項１】
第１の操作子と、
第２の操作子と、
第１及び第２の演奏データを記憶した記憶手段と、
第１の操作子の操作に応じて、前記記憶手段から第１の演奏データを読み出して音源回路に対して該第１の演奏データに基づく発音を指示する第１の読み出し手段であって、第１の操作子の操作毎に演奏位置を更新するものと、
演奏の進行に従って、前記記憶手段から第２の演奏データを順次読み出して音源回路に対して該第２の演奏データに基づく発音を指示する第２の読み出し手段と、
第１の読み出し手段により読み出された第１の演奏データによる発音と、第２の読み出し手段により読み出された第２の演奏データによる発音のいずれか一方を選択的に有効とする切り替え手段であって、第１の読み出し手段による発音が有効となっている状態で、第２の操作子の操作があったとき、第１の読み出し手段による発音に代えて、第２の読み出し手段による発音を有効とするものと、
を備えたことを特徴とする電子楽器。
【請求項２】
請求項１に記載の電子楽器であって、前記切り替え手段は、第２の読み出し手段による発音が有効となっている状態で、第１の操作子の操作があったとき、第２の読み出し手段による発音に代えて、第１の読み出し手段による発音を有効とすることを特徴とする電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は簡単な操作によりメロディや伴奏等の演奏をすることができる電子楽器に関する。
【０００２】
【従来の技術】
電子楽器には、鍵盤楽器型、打楽器型、弦楽器型、管楽器型等、様々な形態がある。それぞれの電子楽器は自然楽器の形態を模倣したものであり、これらの電子楽器を用いて演奏する際には、各楽器の演奏方法を修得する必要がある。このため、初心者にとって電子楽器を演奏する事は、自然楽器を演奏するのと同様に、困難である。
【０００３】
一方、電子楽器による演奏を容易にする目的で、予めメロディ等の音高データのシーケンスを記憶し、スイッチ操作毎に音高データを１つ読み出すことにより、メロディ等を演奏することができるようにした、いわゆるワンキープレイが提案されている。例えば、特開平６−２７４１６０号公報においては、電子楽器のキーボード等からのトリガー信号に応じて、１音の発音がなされるような構成が示されている。詳しくは、楽曲の進行に従って予めメモリに記憶された音高データを順次読み出し、トリガー信号の発生に応じて、その時点で読み出されている音高データに対応した楽音の発生を開始させ、該音高データのキーオフタイミングにおいて消音させるようになっている。また、特開昭５４−１５９２１３号公報においては、スイッチを操作する毎に、予めメモリに記憶された音高情報を読み出して発音させ、スイッチを押している長さだけ発音を持続させるような技術が示されている。
【０００４】
前者においては、発音継続期間が音高データのキーオフタイミングによって終了してしまうため、操作者が発音継続期間を任意に制御することが出来ないという不都合があった。また、後者においては、発音継続期間はスイッチの操作期間に対応しているので任意に制御できるが、次の音に移るときに一旦スイッチを離し、その後押し直す必要があるため、必ず発音がとぎれてしまい、テヌート気味の演奏をすることが難しいという不都合があった。
またこれらの電子楽器においては、予め決められたとおりの音高シーケンスに従う演奏しか出来ないため、アドリブ演奏が出来ないという不都合があった。
【０００５】
【発明が解決しようとする課題】
また、これらの電子楽器においては、一旦、本来の演奏位置からずれてしまうと、元の位置に復帰することが非常に困難であった。なぜならば、操作者による演奏が本来の位置に比べて進みすぎた場合、操作者は操作を一時停止し、本来の位置がくるまで待つことになるが、待っている間に自分が既に演奏し終わった部分がどこであるのか、どのタイミングから自分の操作を再開させればよいのかがわからなくなり、操作者による演奏が本来の位置に比べて遅れすぎた場合、すばやくスイッチを操作することによって本来のタイミングに復帰しようとするわけだが、自分の演奏位置を進める際に演奏のリズムが本来のリズムとは異なってしまい、そのために、自分が演奏している部分がわからなくなってしまうことがある。
【０００６】
【課題を解決するための手段】
上記不都合を解決するために、本発明は、第１の操作子と、第２の操作子と、第１及び第２の演奏データを記憶した記憶手段と、第１の操作子の操作に応じて、前記記憶手段から第１の演奏データを読み出して音源回路に対して該第１の演奏データに基づく発音を指示する第１の読み出し手段であって、第１の操作子の操作毎に演奏位置を更新するものと、演奏の進行に従って、前記記憶手段から第２の演奏データを順次読み出して音源回路に対して該第２の演奏データに基づく発音を指示する第２の読み出し手段と、第１の読み出し手段により読み出された第１の演奏データによる発音と、第２の読み出し手段により読み出された第２の演奏データによる発音のいずれか一方を選択的に有効とする切り替え手段であって、第１の読み出し手段による発音が有効となっている状態で、第２の操作子の操作があったとき、第１の読み出し手段による発音に代えて、第２の読み出し手段による発音を有効とするものと、を備えたことを特徴とする。
上記構成によれば、第１の操作子の操作に基づく演奏位置がわからなくなった場合、第２の操作子を操作することにより、操作者の演奏に代えて自動演奏が実行されるようになる。これにより、操作者の演奏位置が本来の演奏位置とずれてしまった場合に、容易に本来の演奏位置を確認することが出来る。
また、前記切り替え手段は、第２の読み出し手段による発音が有効となっている状態で、第１の操作子の操作があったとき、第２の読み出し手段による発音に代えて、第１の読み出し手段による発音を有効とすることが好ましい。このようにすることにより、自動演奏から、容易に操作者による演奏に復帰することが出来る。
【０００７】
【発明の実施の形態】
図１は本発明の電子楽器の外観を示す図である。この電子楽器は、楽器本体ＩとディスプレイＤとが別体となっており、ケーブルＣにより接続されている。楽器本体Ｉはギターに類似した形状を有しており、ボディＢとネックＮとからなる。ボディＢにはパッドＰ、ミュートスイッチＭＳ、ホイールＷ、パネルスイッチＰＳが設けられているとともに、メモリカートリッジＭＣが着脱可能に装着されている。
【０００８】
パッドＰには打撃センサ（圧電センサ等）が設けられており、演奏者の指等による打撃の有無、及び打撃強度を検出可能になっている。打撃に応じて、楽音が発生される。また、このパッドＰはその円周方向に回転可能に構成されており、演奏者による回転操作を検出する回転センサ（ロータリーボリューム等）が設けられている。回転操作により、発生される楽音の音高等を変化させることが出来る。回転操作されたパッドＰは、演奏者による回転操作から開放されると、基準位置に復帰するように構成されている。さらに、このパッドＰは内部に圧力センサが組み込まれており、演奏者による押圧操作を検出可能である。押圧操作により、発生される楽音の音量や音色、効果等を変化させることが出来る。
【０００９】
ミュートスイッチＭＳはパッドＰの操作により発音された楽音を消音させるのに用いる。すなわち、パッドＰの操作によって発音された楽音は、ミュートスイッチＭＳが押されるまで持続する。ミュートスイッチＭＳには押圧速度検出センサが設けられており、検出された押圧速度によって消音の仕方、例えば消音する際のリリース時間の制御等を変更制御する。なお、ミュートスイッチＭＳを押す前に再度パッドＰを操作したときは、それまで発音されていた音は消音され、それに引き続いて新たな音が発音される。
【００１０】
このミュートスイッチＭＳには発音している楽音を消音させる機能の他に、新たに発音する楽音の音色を変更／制御する機能も有している。すなわち、ミュートスイッチＭＳを押しながらパッドＰを操作したときと、ミュートスイッチＭＳを押さずにパッドＰを操作したときとで、異なる音色で発音するようにする。例えば、ミュートスイッチＭＳを押さずにパッドＰを操作したときは通常のギターの音色、ミュートスイッチＭＳを押しながらパッドＰを操作したときはミュートギターの音色で発音するようにする。或いは、ミュートスイッチＭＳに押圧力を検出する押圧力センサを設け、ミュートスイッチＭＳを押しながらパッドＰを操作したとき、検出されたミュートスイッチＭＳの押圧力に応じて音源回路のフィルタパラメータを制御するようにする。このようにミュートスイッチＭＳの操作の有無により発生される楽音の音色が変化するようにすると、ギターの弦を手のひらで押さえながらピッキングしたときと、そうでない時とで音色が変化するのと同様の効果を得ることができ、簡単な操作で表現力の高い演奏が可能となる。なお、音色はギターに限らないことはいうまでもない。
【００１１】
ホイールＷは演奏者によって回転操作可能に構成されており、回転操作を検出する回転センサ（ロータリーボリューム等）を備えている。演奏者はこのホイールＷを回転操作することにより、音量や音色、効果等を変化させることが出来る。
メモリカートリッジＭＣはＲＯＭカートリッジ、或いはＲＡＭカートリッジで構成されており、複数の曲データが記憶されている。各曲データは、メロディパート、ベースパート、コードパート、リズムパート等、複数の演奏パートから構成されている。本電子楽器は、これら複数の演奏パートのうち、１つのパートの演奏をパッドＰの操作により行い、その他のパートの演奏を記憶されている曲データに従って自動演奏する。
また、ボディＢには、図示しないスピーカ、ＭＩＤＩ端子等も設けられている。
【００１２】
ネックＮには多数（この実施の形態においては２０個）のフレットスイッチＦＳが１列に設けられている。押されたフレットスイッチＦＳの位置に応じて、パッドＰの打撃により発生される楽音の音高が制御される。また、このフレットスイッチＦＳの下部には圧力センサが設けられており、フレットスイッチＦＳを押したときの押圧力を検出できるようになっている。フレットスイッチＦＳの押圧力により、発生される楽音の音量や音色、効果等を変化させることが出来る。
ディスプレイＤはＣＲＴ表示器等からなり、演奏位置等を表示する。なお、ディスプレイＤは楽器本体Ｉに内蔵されてもよい。
【００１３】
図２はパネルスイッチＰＳの詳細を示す図である。ＰＳ１及びＰＳ２は曲選択スイッチであり、メモリカートリッジＭＣに記憶された複数の曲データのうち、いずれかを選択するためのスイッチである。ＰＳ１で曲番号を＋方向に、ＰＳ２で−方向に選択する。選択された曲番号は、ディスプレイＤに表示される。
ＰＳ３はスタート／ストップスイッチであり、選択された曲データの演奏をスタート或いはストップさせる。
【００１４】
ＰＳ４からＰＳ７は制御パート選択スイッチであり、ＰＳ４はメロディパートを、ＰＳ５はベースパートを、ＰＳ６はコードパート１を、ＰＳ７はコードパート２をそれぞれ選択する。なお、ベースパート、コードパート１、コードパート２は、バッキングパートとしてメロディパートと大別される。パッドＰの操作により、制御パート選択スイッチによって選択されたパートの演奏が行われる。
【００１５】
ＰＳ８、ＰＳ９は制御対象パートとしてメロディパートが選択されているときのメロディパート演奏モードを選択するためのスイッチである。ＰＳ８はメモリカートリッジＭＣに記憶されている曲データ中のメロディパートのシーケンスデータに基づいて演奏をするシーケンスモードのスイッチであり、ＰＳ９は曲データ中のメロディパートのシーケンスとは異なるアドリブ演奏をするアドリブモードのスイッチである。
【００１６】
ＰＳ８はシーケンスモードのうちのメロディモード１とメロディモード２を選択的に、交互に設定する。メロディモード１はパッドＰを操作する毎にメロディパートのシーケンスを１つ進めてメロディパートの音を発音させるモードである。すなわち、メロディ以外のパートに対して、パッドＰの操作を遅らせれば、メロディパートの進行は遅れ、逆に、パッド操作を進ませれば、メロディパートの進行は進む。メロディ音が抜ける可能性はないが、一旦メロディパートの進行位置とメロディ以外のパートの進行位置がずれると、メロディパートの進行位置を他のパートの進行位置に復帰させることは難しい。
【００１７】
一方、メロディモード２はパッドＰの操作とは無関係に、メロディ以外のパートの進行に合わせてメロディパートのシーケンスを進め、パッドＰの操作があったとき、その時点におけるメロディパートの音を発音させるモードである。すなわち、パッドＰの操作とは無関係にメロディパートも進行するため、パッドの操作がなければ、メロディパートの音は発音されないまま進んでいく。メロディ音が抜ける可能性はあるが、メロディパートの進行位置とメロディ以外のパートの進行位置は常に一致している。メロディモード１よりも初心者に適した演奏モードである。
【００１８】
ＰＳ９はアドリブモードのうちのマニュアルアドリブモードと自動アドリブモードを選択的に、交互に設定するスイッチである。マニュアルアドリブモードは複数のフレットスイッチＦＳのそれぞれに、選択されている曲データの調にあった音階の音を割り当てておき、フレットスイッチＦＳの操作によって音高を指定しながらパッドＰを操作することで、メロディパートのアドリブ演奏を行うモードである。フレットスイッチＦＳに割り当てる音階は後述する音階選択スイッチＰＳ１０からＰＳ１４によって選択可能である。フレットスイッチＦＳに割り当てる音階は曲データの調にあった音階であるので、フレットスイッチＦＳを適当に押してパッドＰを操作するだけで、曲の調にあったアドリブ演奏を容易に行うことが出来る。
【００１９】
一方、自動アドリブモードは複数のフレットスイッチＦＳのそれぞれに所定のアドリブフレーズを割り当てておき、いずれかのフレットスイッチを操作しながらパッドＰを操作することで、所定のアドリブフレーズに沿ったアドリブ演奏を行うモードである。アドリブフレーズは曲の調にあったものがフレットスイッチＦＳに割り当てらる。従って、フレットスイッチＦＳを適当に押してパッドＰを操作するだけで、曲の調にあったアドリブ演奏を容易に行うことが出来る。しかも、前述のマニュアルアドリブモードは同じフレットスイッチＦＳを押したままだと同じ音高の音が発生されるため、アドリブらしい演奏をするには通常のギター演奏と同様にフレットスイッチＦＳをすばやく押し替えなければならないが、自動アドリブモードは同じフレットスイッチＦＳを押したままであっても次々と異なる音高の音が発生される。従って、マニュアルアドリブモードよりも初心者に適した演奏モードである。
【００２０】
ＰＳ１０からＰＳ１４は音階選択スイッチである。これらのスイッチの操作により、フレットスイッチＦＳに割り当てる音階のタイプを選択する。ＰＳ１０はダイアトニックスケール選択スイッチであって、曲データの調にあったダイアトニックスケール（７音音階）がフレットスイッチＦＳに割り当てられる。曲データの調はこの実施の形態においては曲のシーケンスデータをもとに検出するようにしているが、演奏者が所定の調を指定したり、予め曲データ中に調を指定するデータが埋め込まれているようなものであってもよい。
【００２１】
ＰＳ１１はペンタトニックスケール１選択スイッチであって、曲データの調にあった第１のペンタトニックスケール（５音音階）がフレットスイッチＦＳに割り当てられる。ＰＳ１２はペンタトニックスケール２選択スイッチであって、曲データの調にあった第２のペンタトニックスケールがフレットスイッチＦＳに割り当てられる。第１のペンタトニックスケールと第２のペンタトニックスケールは同じ調であっても異なる５音が選ばれており、スケールを切り換えることで同じ５音音階でも異なる雰囲気の演奏となる。例えば第１ペンタトニックスケールとしてダイアトニックスケールから「ヨナヌキ」と呼ばれる第４音と第７音を取り去ったスケールを、第２ペンタトニックスケールとして、ブルーノートを伴ったブルーススケールを割り当てることが出来る。もちろん、他のスケールであってもよい。
【００２２】
ＰＳ１３はコード構成音選択スイッチであって、曲データ中のコード構成音がフレットスイッチＦＳに割り当てられる。曲の進行に従ってコードが変化するので、そのコード変化に伴い、フレットスイッチＦＳに割り当てられるコード構成音も変化する。すなわち、コードが変化する時点でフレットスイッチＦＳに割り当てるコード構成音が更新される。曲データのコードは、この実施の形態においては曲のシーケンスデータを元に検出するようにしているが、演奏者が所定のコード進行を指定したり、予め曲データ中にコード進行を指定するデータが埋め込まれているようなものであってもよい。上述したダイアトニックスケール、ペンタトニックスケール１、２では、曲の調にはあっていてもその時点のコードとは合わない音が発音される可能性があるが、コード構成音をフレットスイッチＦＳ割り当てたときは、その時点のコードとは合わない音が発音されることはない。そのかわり音高種類が少ないため、単調なアドリブ演奏になる恐れがある。
【００２３】
ＰＳ１４はメロディ構成音選択スイッチであって、曲データ中のメロディパートに現れる音名がフレットスイッチＦＳに割り当てられる。曲データを複数のフレーズに区分し、各区分毎に、その区分内において出現する音高をフレットスイッチＦＳに割り当てる。この実施の形態においては、曲データを複数のフレーズに区分する際、曲データ中に含まれている歌詞データの改行コード（フレーズ区切り位置に含まれている）を頼りに区分しているが、演奏者がフレーズの区切り位置を任意に指定したり、曲データのコード進行やメロディ進行を解析して、フレーズの区切り位置を検出するようにしてもよい。メロディ構成音をフレットスイッチＦＳに割り当てたときは、上述したコード構成音と同様にその時点でのコードと合わない音が発音されることは無いが、単調なアドリブ演奏になる恐れがある。なお、メロディ構成音の場合、コード構成音と比べて、よりメロディに近いアドリブ演奏を行うことが出来る。
【００２４】
ＰＳ１５はパニックスイッチであり、メロディシーケンスのメロディモード１の演奏の際、演奏者のパッドＰ操作が他のパートに対して遅すぎる、或いは早すぎるため、メロディの進行位置が本来の進行位置と大幅にずれてしまったとき、本来の位置に修正するためのスイッチである。このスイッチを押すことによりメロディシーケンスモードは解除され、メロディパートは本来の進行位置に復帰し、他のパートと同様の自動演奏に切り替わる。その後、再びパッドＰの操作があると、メロディシーケンスモードに切り替わる。このスイッチの機能は、曲のメロディをよく知らず、演奏をしている内にどこを演奏しているのかわからなくなってしまった場合、すなわちパニック状態に陥ったときに有効な機能である。
【００２５】
図３はハード構成の概略ブロックを示す図である。ＣＰＵ（中央処理装置）１は電子楽器全体の動作を制御するものであり、ＲＯＭ（リード・オンリィ・メモリ）３に記憶された制御プログラムにしたがって処理を実行する。また、ＣＰＵ１と各部とはバス２を介して接続されており、各種データの送受が行われる。
ＲＡＭ（ランダム・アクセス・メモリ）４はＣＰＵ１による処理時において発生する各種データを一時的に記憶するレジスタ、フラグ等の領域が設けられているとともに、メロディ演奏やバッキング演奏をする際に用いる制御対象パートデータやメロディパートデータ（詳しくは後述）を記憶する領域も設けられている。タイマ５はＣＰＵ１に対して割り込み信号を供給するもので、所定周期の割り込み信号を発生する。メモリカートリッジＭＣに記憶されたシーケンスデータやＲＡＭ４に記憶された制御対象パートデータは、ＣＰＵ１が実行する所定周期毎の割込処理によって読み出される。
【００２６】
６はＭＩＤＩ（ミュージカル・インストゥルメント・ディジタル・インターフェース）インターフェース（Ｉ／Ｆ）であり、外部装置とデータの送受を行う。例えば、外部の音源モジュールへと演奏イベントを出力することにより、より高音質な音で演奏をすることができる。７はパッドＰの操作を検出するためのパッド検出回路であり、パッドＰの操作の有無、及び操作されたときの打撃強度を検出する。８はスイッチ類検出回路であり、パネルスイッチＰＳ、フレットスイッチＦＳ、ミュートスイッチＭＳのオン／オフ操作、ホイールＷの回転操作、パッドＰの回転操作および押圧操作、ミュートスイッチの押圧操作、フレットスイッチの押圧操作等を検出する。ＣＰＵ１は供給された操作情報に従って各種機能を実行する。
【００２７】
音源回路９は供給された演奏イベントデータにもとづいて楽音波形信号を形成する。この実施の形態においては音源回路の方式として、波形メモリ読み出し＋フィルタ方式で音源回路を構成する。なお、周知のＦＭ（周波数変調）方式や物理モデルシミュレーション方式、高調波合成方式、フォルマント合成方式、発振器とフィルタを組み合わせたアナログシンセサイザ方式等を用いてもよい。音源回路９において形成された楽音波形信号は、サウンドシステム１０において音響として放音される。なお、専用のハードを用いて音源回路を構成するものに限らず、ＤＳＰ（デジタルシグナルプロセッサ）＋マイクロプログラムを用いて音源回路を構成するようにしてもよいし、ＣＰＵ＋ソフトウェアのプログラムで音源回路を構成するようにしてもよい。また、１つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、１つの発音チャンネルが１つの回路で構成されるような形式のものであってもよい。
Ｄは前述のディスプレイである。
【００２８】
図４はシーケンスモードにおけるメロディモード１の演奏例を示す図である。（Ａ）はシーケンスデータ中に記憶されている本来のメロディデータを表し、（Ｂ）はその下に示す上向き矢印のタイミングにおいて演奏者がパッドＰを操作することにより発音される音を表す。横方向に延びる太い実線が発音期間を示す。この例においては、演奏者によるパッドＰの操作が本来のメロディの演奏タイミングに対して若干遅れている。なお、図中「ミュート」と示した時点でミュートスイッチＭＳを操作している。この時点で発音中の音は消音されるので、スタッカート気味の演奏が出来る。これ以外の部分はバッドＰの操作によってそれまで発音されていた音が消音されると共に、それに引き続いて新たな音の発音が開始されるので、レガートでの演奏になる。
【００２９】
図５はシーケンスモードにおけるメロディモード２の演奏例を示す図である。（Ａ）は図４と同様にシーケンスデータ中に記憶されている本来のメロディデータを表し、（Ｂ）は図４と同じタイミングで演奏者がパッドＰを操作したときに発音される音を表す。この例においては、演奏者によるパッドＰの操作が本来のメロディの演奏タイミングに対して若干遅れており、特に、Ｌで示す音については、その本来の発音期間内においてパッドＰの操作が無かったため、発音されない。また、図中「ミュート」と示した時点でミュートスイッチＭＳを操作し、この時点で発音中の音が消音されるのは図４の場合と同様である。
【００３０】
次に、図６を用いて音階割り当てテーブルについて説明する。音階割り当てテーブルはアドリブ演奏の時にフレットスイッチＦＳに割り当てられる複数種類の音階を記憶したテーブルであり、ＲＡＭ４に記憶される。ここでは開放位置および１〜２０の２０個のフレットスイッチの合計２１のポジションの各々に割り当てる音高の例が示されている。「ダイアトニック」、「ペンタトニック１」、「ペンタトニック２」については演奏曲の調により音階が決定され、「コード構成音」については演奏曲中で出現するコードに基づいて音階が決定され、「メロディ構成音」については演奏曲中で出現するメロディ音に基づいて音階が決定され、決定された音階音が音階割り当てテーブルに記憶される。
【００３１】
「ダイアトニック」、「ペンタトニック１」、「ペンタトニック２」は１つの曲の中で変更されない。すなわち、演奏曲の開始から終了までテーブル内容は変化しない。なお、曲によっては転調する曲もあるため、曲の途中でテーブル内容が変化するようにしてもよいことはいうまでもない。一方、「コード構成音」と「メロディ構成音」は演奏曲の進行に従って逐次記憶内容が変化する。なぜならば、演奏曲の中の場所によって出現するコードやメロディ音が変化するからである。「コード構成音」は、例えばコード進行が変化する場所において毎回テーブル内容を更新し、「メロディ構成音」は所定のフレーズの区切り毎にテーブル内容を更新するようにすればよい。なお、所定のフレーズは後述する歌詞の区切り位置に基づいて決定するが、メロディパートやその他の演奏パートの構造を解析してフレーズ区切り位置を決定するようにしてもよい。なお、この音階割り当てテーブルの例はほんの一例に過ぎないことはいうまでもない。
【００３２】
次に、図７、図８、図９を用いて演奏曲のデータ構造について説明する。図７は演奏曲の元データを示すシーケンスデータを表している。このシーケンスデータはメモリカートリッジＭＣに記憶されるものである。シーケンスデータはタイミングデータとイベントデータが演奏の進行順に記憶されているものである。タイミングデータは１つ前のイベントデータとその次のイベントデータの間の発生時間間隔を示すデータであり、所定の音符長（例えば３８４分音符）を単位としたクロック数という値で表現されている。複数のイベントデータが同時に発生する場合には、タイミングデータとしては「０」が記憶される。
【００３３】
イベントデータはノートイベント、歌詞に関連する歌詞イベント、コントロールチェンジイベントからなる。ノートイベントは演奏曲の音符に対応するノートオン或いはノートオフを示すデータ、音高データ、ベロシティデータからなる。コントロールチェンジデータは曲を演奏する上で必要な種々のデータであり、例えば音量、ピッチベンド、音色切り替えなどのデータが含まれている。各々のノートイベント、コントロールチェンジイベントには１〜１６のチャンネルのいずれに属するかを示すチャンネルデータが付されており、このチャンネルデータによって各イベントがどのチャンネルに属するのかを識別するようになっている。なお、各チャンネルは演奏パートに対応したものであり、チャンネルデータと共に各イベントを記憶することによって、複数パートのイベントデータを混在させて記憶することができる。また、これらのデータの最後にはエンドデータが記憶されている（図示せず）。このシーケンスデータの読み出しは、第１の読み出しポインタによって行われる（詳しくは後述）。
【００３４】
図８は前述の複数パート分の演奏データおよび歌詞イベントからなるシーケンスデータのうち、パッド操作によって読み出される複数種類の制御対象パート（メロディパート、ベースパート、コード１パート、コード２パート）のデータのみを抜き出したものである。制御対象パートデータはＲＡＭ４に記憶される。この制御対象パートデータは、メロディパート演奏のうちのメロディモード２、ベースパート演奏、コード１パートの演奏、コード２パートの演奏に用いられる。制御対象パートデータは、詳しくは後述するが、前述のシーケンスデータ中に含まれる各パートの演奏データを、制御に適した形態に多少加工したものが記憶される。なお、記憶の形式は前述のシーケンスデータと同様にタイミングデータとイベントデータとで構成されるものなので、詳細説明は省略する。この制御対象パートデータは、第２の読み出しポインタによって読み出される。
【００３５】
図９は前述の複数パート分の演奏データおよび歌詞イベントからなるシーケンスデータのうち、メロディパートのデータのみを抜き出したものである。メロディパートデータはＲＡＭ４に記憶される。メロディパートデータは前述のシーケンスデータ、制御対象パートデータとは異なり、タイミングデータやコントロールチェンジイベントは含まれていない。また、ノートイベントのうちでも、ノートオンイベントのみが記憶され、ノートオフイベントは記憶されない。このメロディパートデータは、メロディパート演奏のうちのメロディモード１の演奏に用いられる。メロディパートデータの読み出しは、第３の読み出しポインタによって読み出される。
【００３６】
次に図１０を用いて、ベースパート演奏、コード１パート演奏、コード２パート演奏の時の演奏音の音高制御について説明する。ベースパート演奏、コード１パート演奏、コード２パート演奏は、読み出された制御対象パートのノートイベントに基づいて発音がなされるが、このとき、押さえられているフレットの位置に応じてオクターブが変化するように制御される。すなわち、フレットのネックに近い部分を操作した場合は低い音高にて発音され、ボディに近い部分を操作した場合は高い音高にて発音される。よって、単にメモリから読み出されたノートイベントが示す音高で発音するだけではなく、操作者が発音される音の高さを制御することが出来るため、変化に富んだ演奏が楽しめる。
【００３７】
図１０（Ａ）はＲＯＭ３に記憶される発音範囲規制テーブルを示す。これは、操作されているフレットポジションに応じて、発音される音高が属する音域を決定するためのテーブルである。例えば、フレットポジション「０」（開放位置）ならばＥ０〜Ｅ２の範囲に、フレットポジション「１０」ならばＣ２〜Ｃ４の範囲に、フレットポジション「２０」（最もボディ寄り）ならばＧ＃３〜Ｇ＃５の範囲になるように、フレットポジションが１つ変わる毎に、２半音ずつ、発音範囲が変化している。
【００３８】
図１０（Ｂ）はこの発音範囲規制テーブルによって発音音高のオクターブが制御される例を示すものである。今、入力音（制御対象パートデータから読み出されたノートイベント）の音高がＣ４、Ｃ３、Ｃ２の場合を考える。Ｃ４であった場合、フレットポジション０〜９までには発音範囲にそのＣ４の音高は含まれていない。このとき、Ｃ４の音高はＣ２に変更される。フレットポジション１０〜２０までには発音範囲にＣ４の音高が含まれるため、音高は変更されない。
【００３９】
入力音がＣ３であった場合、フレットポジション０〜３までには発音範囲にそのＣ３の音高は含まれていない。このとき、Ｃ３の音高はＣ１に変更される。フレットポジション４〜１６までには発音範囲にＣ４の音高が含まれるため、音高は変更されない。そして、フレットポジション１７〜２０までには発音範囲にＣ３の音高が含まれないため、Ｃ３の音高はＣ５に変更される。
【００４０】
入力音がＣ２であった場合、フレットポジション０〜１０までには発音範囲にＣ２の音高が含まれるため、音高は変更されない。フレットポジション１１〜２０までには発音範囲にＣ２の音高は含まれない。このとき、Ｃ２の音高はＣ４に変更される。すなわち、変更規則としては、「入力音が発音範囲に含まれていなければ、その発音範囲に含まれる音高であって、偶数の添字がついた音高は別の最も近い偶数の添字がついた音高に、奇数の添字がついた音高は別の最も近い奇数の添字がついた音高に、それぞれ変更される」ということになる。なお、この音高変更例はほんの一例に過ぎない。添字の偶数、奇数は問わないようにしてもよい。規制する発音範囲も図示のものに限らない。
【００４１】
次に、図１１を用いてディスプレイＤにおける表示例を示す。この例においては、ディスプレイＤには歌詞、メロディパート、ベースパート、コード１パート、コード２パートの各演奏タイミング、選択されているパート、現在の楽曲の進行位置、現在の操作者の操作位置、進み具合が表示される。図１１において、歌詞、メロディパートの演奏タイミング、ベースパートの演奏タイミング、コード１パートの演奏タイミング、コード２パートの演奏タイミングが、それぞれ左から右方向に向かって進行が進むような形式で、縦に並べて表示されている。メロディパート、ベースパート、コード１パート、コード２パートについては四角で表す部分が発音している部分である。すなわち、四角の左端が発音開始タイミング、横方向の長さが発音時間に相当する。なお、ノートイベントに含まれるベロシティ値を検出して、該四角の縦方向の長さで示すことにより、パッドを操作するときの推奨強度を表示してもよい。
【００４２】
ドットの網掛けにより、制御対象パートとして選択されているパートが表示されている。図１１においてはメロディパートが選択されている。また、現在の楽曲の進行位置が縦の実線により表示されている。この縦の実線は、楽曲の演奏が進むにつれて、右側に移動していく。また、縦線の網掛けにより現在の操作者の操作位置が表示されている。図１１においてはメロディパートの発音タイミングを示す四角が左から３つ分塗りつぶされている。これは、現在の操作位置が３つ目の音符の位置であることを示している。
【００４３】
「進め」、「待て」で示す斜線による網掛けの部分は、進み具合が表示される。楽曲の進行位置と操作者による操作位置がほぼ同じ位置の場合、「進め」が点灯する。カラー表示可能なディスプレイであれば、例えば青色で点灯する。楽曲の進行位置に対して操作者による操作位置が遅れている場合は、「急げ」を表すために「進め」の表示が点滅する。逆に、楽曲の進行位置に対して操作者による操作位置が進んでいる場合は、「待て」が点灯する。カラー表示可能なディスプレイであれば、例えば赤色で点灯する。この表示により、操作者は自分の操作をそのまま続けるべきなのか、早めるべきなのか、或いは少し待つべきなのかが一目で把握できる。なお、表示形態はこの例に限らず、進み具合表示として「進め」、「急げ」、「待て」の３種類を用意してもよい。
【００４４】
次に、図１２から図４３を用いて、ＣＰＵ１による処理の流れを説明する。図１２はパネルスイッチ処理を示すフローチャートである。この処理は所定期間毎、例えば１０ｍｓ毎に実行される。ステップｓ１においてパネルスイッチを走査する。ステップｓ２においてスイッチ状態に変化があったか否かを判断し、変化があればステップｓ３にて変化のあったスイッチに応じた処理を実行する。
【００４５】
図１３は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部である曲選択スイッチ処理を示すフローチャートである。ステップｓ１１において押されたスイッチに対応する曲を選択し、メモリカートリッジＭＣからシーケンスデータを読み出す。ステップｓ１２にて読み出されたシーケンスデータ中の複数の演奏パートのうち、制御対象となるパートを抽出する。抽出の一例として、メロディパートはチャンネル４の演奏パートを、ベースパートは音色名が「○○ベース」に対応するプログラムチェンジイベントが初期音色として記憶されている演奏パートを、コード１はすべての演奏パートの中でドラムパートを除き音数が最も多い演奏パートを、コード２パートはドラムパートを除き２番目に音数が多い演奏パートをそれぞれ設定する。  ここで、チャンネル４のパートをメロディパートとした理由は、コンピュータミュージックの分野において、一般的にメロディパートとして４チャンネルを使用することが多いからである。このほか、演奏データ中にコメント情報が記憶されており、その中に「メロディ」或いはそれに対応したコメントが入っている場合などは、このコメントを頼りにメロディパートを抽出するようにしてもよい。また、ベースパートとしてプログラムチェンジイベントがベース音色を示すものをペースパートとして決定する以外に、上記メロディパートの抽出方法と同じように、コメント情報を参照してもよいし、全パートの中で、最も低音が多発するパートをベースパートとして決定してもよい。
【００４６】
また、コード１、２パートの抽出方法として、音の長さを考慮し、発音している総時間が最も長いものをこれらのパートとして抽出してもよい。また、音数が最も多いパートをコード１、２パートとしてもよい。また、上記メロディやベースパートと同様、コメント情報を参照してもよい。また、予め、演奏データ中にどのパートを制御対象として抽出すべきかを示す情報を持たせるようにしてもよい。また、自動的に決定した制御対象パートを、操作者が変更できるようにしてもよい。
【００４７】
ステップｓ１３では抽出された制御対象パートのそれぞれについて、制御用のデータを作成する。制御用のデータとは、制御対象パートに対応する元のシーケンスデータの内容を多少修正して、制御に適するようにしたものである。元のシーケンスデータは本発明による制御を意図せずに作成されていることもあり、このようなシーケンスデータをそのまま用いると制御に適さない場合がある。例えば、シーケンスデータの各パート中の音符と音符の間には、若干の無発音期間があるのが普通である（無発音期間が全くないと、常にレガート演奏になってしまい、リズム感のない単調な音楽になってしまう）。メロディパートのメロディモード２、ベースパート、コード１パート、コード２パートの演奏はパッド操作時点における音をならすため、この無発音期間の間に操作者がパッドの操作をすることにより発音指示をした場合、操作があったにも係わらず、何も発音されないという不都合が起こる。このような不都合を防ぐため、予め無発音期間のない演奏データを作成しておき、それを制御対象パートのデータとして記憶するようにしているのである。
【００４８】
無発音期間の無い演奏データは、例えば次のいずれかのルールで作成する。
（１）無発音期間の次にくるノートイベントで、無発音期間を埋める。すなわち、次のノートイベントの発音開始タイミングを、前のノートイベントの消音タイミングの直後とする。
（２）無発音期間の中間に、前のノートイベントの消音タイミングと、次のノートイベントの発音開始タイミングをもってくる。すなわち、前のノートイベントの消音タイミングが無発音期間の中間まで遅れると共に、次のノートイベントの発音開始タイミングが無発音期間の中間まで早まる。
（３）すべてのノートイベントの発音開始タイミングを所定時間だけ早める。これにより、例えば拍の頭で鳴るべき音を発音させようと、拍の頭の付近でパッドを操作したが、操作が若干早すぎたために、意図する音が発音されなかったという不都合を解消することが出来る。それでもなお、無発音期間が存在するのであれば、上記（１）、（２）などを適用して無発音期間をなくす。
なお、無発音期間の無い演奏データの作成ルールは、上記例以外であってもよい。また、制御対象パート毎に、作成ルールを異ならせるようにしてもよい。
【００４９】
次に、ステップｓ１４でシーケンスデータから曲の調を検出する。例えば、出現する各音に、その長さ（音価）を掛けたものの総計をもとめ、その分布からその曲の調を求める。なお、曲の調の求め方は従来より様々なものが発案されているので、そのうちの任意のものを適用することが出来る。そして、ステップｓ１５において、求められた調とシーケンスデータ中のノートデータに基づいて曲のコード進行を検出する。複数の演奏パートを考慮してコード進行を決定してもよいし、ある特定のパートのみに着目してコード進行を検出してもよい。着目する演奏パートは、音数が最も多いパート、平均発音長さが最も長いパートなどにより決定することが出来る。曲のコード進行の求め方も従来より様々なものが発案されているので、そのうちの任意のものを適用することが出来る。
【００５０】
ステップｓ１６では歌詞イベントに含まれる改行コードに基づいて、フレーズの区切り位置を抽出する。前述のようにシーケンスデータには、歌詞の進行に従って歌詞イベントが記憶されている。例えば歌詞イベントは、その歌詞に対応する音符と同じ位置に、１文字分ずつ記憶されている。歌詞を表示する際に、所定のフレーズ区切りで歌詞表示を改行する必要があるので、歌詞イベントのうちの所定のものには、改行を指示する改行コードが含まれている。この改行コードはフレーズ毎に含まれていると考えることが出来るので、この実施例においては、改行コードを検出することにより、フレーズの区切り位置を抽出するようにしている。なお、曲データの構造解析をすることによってフレーズ位置を抽出するようにしてもよい。
【００５１】
ステップｓ１７では、求められた調、コード進行、フレーズに基づいて音階テーブルを作成する。すなわち、求められた調に基づいて、ダイアトニックスケール、ペンタトニックスケール１、２を作成し、コード進行に基づいてコード構成音のスケールを作成し、フレーズ区切り位置によってメロディを区切り、各区間で出現する音高に基づいてメロディ構成音のスケールを作成する。なお、コード構成音、メロディ構成音は、曲の進行に従って逐次変化していくので、この時点では出現するコードの種類分、フレーズ分の各スケールを作成しておき、曲の進行に従ってテーブルを逐次切り換えていくようにする。
【００５２】
ステップｓ１８では、求められた調に応じた自動アドリブフレーズをフレットの数に対応する数だけ作成する。例えばペンタトニックスケール、ダイアトニックスケールでそれぞれ複数種類ずつ作成し、適当にフレットに割り当てる。このとき、フレット位置に応じて、音域が変わるようにするのが好ましい。なお、自動アドリブフレーズは、調のスケール音をランダムに並べたものであってもよいし、所定のフレーズを予め記憶しておき、求めた調に応じて音高を修正して作成するようにしてもよい。
【００５３】
図１４は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部であるスタート／ストップスイッチ処理を示すフローチャートである。ステップｓ２１において自動演奏中であることを示すランフラグＲＵＮが１であるか否かを判断し、１ではない、すなわち非自動演奏中である時は、ステップｓ２２で自動演奏処理（後述）を許可する。これにより自動演奏処理が開始される。続くステップｓ２３では第１、第２、第３、第４の読み出しポインタをそれぞれ対応するデータの先頭へとセットする。
【００５４】
一方、ステップｓ２１でランフラグＲＵＮが１であると判断したときはステップｓ２４で自動演奏処理を禁止することにより、自動演奏を停止させ、ステップｓ２５で音源回路へオールノートオフコマンドを出力することによりその時点で発音中であった音を消音させる。
【００５５】
図１５は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部である制御対象パート選択スイッチ処理を示すフローチャートである。ステップｓ３１で、発音中の制御対象パートの音が有れば、その音に対応するキーオフイベントを音源回路の制御対象パートのチャンネルへと出力する。これにより、制御対象パートが変更されたとき、前の制御対象パートの音が消音される。ステップｓ３２では押されたスイッチに応じて制御対象パートを変更する。ステップｓ３３では変更後の制御対象パートを示すため、ディスプレイＤにおける制御対処パートの表示を変更するとともに、選択されたパートに対応したＬＥＤを点灯させる。
【００５６】
次に、ステップｓ３４では新たに選択された制御対象パートがメロディパートであるか否かを判断する。メロディパートではないときは、この後、直ちにこの制御対象パート選択スイッチ処理を終える。メロディパートであったときは、ステップｓ３５でシーケンスモードであるか、それともアドリブモードであるかを判断する。アドリブモードであれば、制御対象パート選択スイッチ処理を終える。シーケンスモードであったならば、ステップｓ３６にてメロディモードが１であるのか、それとも２であるのかが判断される。メロディモードが２であるならば制御対象パート選択スイッチ処理を終える。メロディモードが１であったとき、ステップｓ３７でメロディパートの自動演奏を実行することを示すフラグＡＵＴＯを１にセットする。これにより、メロディパートは自動演奏状態、すなわち、操作者がパッドを操作しなくても自動的にメロディ演奏がなされる状態になる。また、メロディパートの自動演奏は、現在の楽曲の進行位置と同期したものとなる。
【００５７】
これは、次のような理由による。メロディモード１はパッド操作をしない限り次の音に移行しないため、制御対象パートを他のパートからメロディパートに切り換えたとき、直ちにパッドを操作しなければメロディの進行位置はどんどん遅れてしまう。しかしながら、他の演奏パートからメロディパートに切り換えた直後であるので、操作者はメロディパートの演奏がどのように進行していくのか、すなわち、どのようにパッドを操作すれば正しいメロディが演奏されるかがわからない場合が多い。従って、切り換えた直後はメロディパートの演奏を自動的に実行することによって、操作者にメロディパートの流れを把握させ、その後、任意の時点でパッド操作を開始することにより、その時点から操作者の操作によってメロディパートの演奏が制御されるようにするのがよいからである。
【００５８】
図１６は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部であるシーケンススイッチ処理を示すフローチャートである。ステップｓ４１では制御対象パートがメロディパートであるか否かを判断し、メロディパート以外であれば、以下の処理は関係ないのでこの処理を終了する。メロディパートであったとき、ステップｓ４２で現在のモードがシーケンスモードであるのか、それともアドリブモードであるのかを判断する。シーケンスモードであった場合は、ステップｓ４３でメロディモード切り替え処理（後述）を実行する。一方、アドリブモードであった場合は、ステップｓ４４でシーケンスモードに切り替え、ステップｓ４５でメロディモードが１であるのか、２であるのかを判断する。メロディモードが１であれば前述のステップｓ３７と同様に、ステップｓ４６でフラグＡＵＴＯを１にセットする。これにより、現在の楽曲の進行位置と同期したメロディパートの自動演奏が実行される。メロディモードが２であればこのステップｓ４６の処理は行わない。そして、ステップｓ４７では発音中のメロディパートの音があれば対応するキーオフイベントを音源回路のメロディパートのチャンネルへと出力し、該音を消音させる。そしてステップｓ４８で、選択されたモードに応じたＬＥＤを点灯させる。
【００５９】
図１７は前述のステップｓ４３におけるメロディモード切り替え処理を示すフローチャートである。ステップｓ５１では現在メロディモード１が設定されているのか、それともメロディモード２が設定されているのかを判断し、メロディモードが１であればステップｓ５２でメロディモードを２に設定する。一方、メロディモードが２であればステップｓ５３でメロディモードを１に設定し、ステップｓ５４でフラグＡＵＴＯを１にセットする。これにより、現在の楽曲の進行位置と同期したメロディパートの自動演奏が実行される。
【００６０】
図１８は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部である音階選択スイッチ処理を示すフローチャートである。ステップｓ６１において押されたスイッチに対応する音階割り当てテーブルを選択する。そして、ステップｓ６２にて必要に応じて最新のフレットポジションを格納しているフレットレジスタＦＲＥＴの位置の音名が、今までのものと今回のものとで一致、または近い値になるように、必要に応じて音階割り当てテーブルの内容を書き替える。ステップｓ６３では選択された音階に対応するＬＥＤを点灯させる。
【００６１】
図１９は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部であるアドリブスイッチ処理を示すフローチャートである。ステップｓ７１において、制御対象がメロディパートに設定されているか否かを判断する。メロディパート以外であればこの処理を終了する。一方、メロディパートが設定されていれば、ステップｓ７２にてアドリブモードが設定されているのか、シーケンスモードが設定されているのかを判断する。シーケンスモードが設定されている場合は、ステップｓ７３でアドリブモードに切り替える。一方、アドリブモードが設定されている場合は、ステップｓ７４においてマニュアルアドリブモードに設定されているのか、それとも自動アドリブモードに設定されているのかを判断する。マニュアルアドリブモードに設定されている場合は、ステップｓ７５において自動アドリブモードに切り替える。一方、自動アドリブモードが設定されている場合は、ステップｓ７６においてマニュアルアドリブモードに切り替える。その後、ステップｓ７７において、設定されたモードに応じてＬＥＤを点灯させる。
【００６２】
図２０は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部であるパニックスイッチ処理を示すフローチャートである。ステップｓ８１において、制御対象パートがメロディパートであるか否かを判断し、メロディパート以外であればこの処理を終了させる。メロディパートであれば、ステップｓ８２においてシーケンスモードに設定されているのか、それともアドリブモードに設定されているのかを判断する。アドリブモードに設定されている場合は、この処理を終了させる。シーケンスモードに設定されているのであれば、ステップｓ８３にてメロディモード１に設定されているのか、それともメロディモード２に設定されているのかを判断する。メロディモード２に設定されている場合はこの処理を終了させる。メロディモード１に設定されている場合は、ステップｓ８４にてフラグＡＵＴＯを１にセットする。これにより、現在の楽曲の進行位置と同期したメロディパートの自動演奏が実行される。そして、ステップｓ８５にて、発音中のメロディパートの音があれば対応するキーオフイベントを音源回路のメロディパートのチャンネルへと出力し、該音を消音させる。
【００６３】
図２１は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部であるミュートスイッチ処理を示すフローチャートである。ステップｓ９１においてスイッチがオンされたのか、それともオフされたのかを判断し、オンされたのであれば、ステップｓ９２にてミュートスイッチがオンされている状態を示すミュートフラグＭＵＴＥを１にセットする。そして、ステップｓ９３にて制御対象パートの音が現在発音中であるか否かを判断し、発音中であれば、ステップｓ９４にて発音中の制御対象パートの楽音に対応するキーオフイベントを、音源回路の制御対象パートに対応するチャンネルへと出力することにより、該発音中の楽音を消音させる。このとき、ミュートスイッチの操作タッチ速度が検出されているので、その速度に応じて、楽音のリリース時間を制御する。例えば速度が速いときはリリース時間を短くし、遅いときはリリース時間を長くする。なお、リリース時間以外の楽音パラメータ、例えばフィルタのカットオフ周波数などを制御することでリリースの仕方を制御するようにしてもよい。このようにミュートスイッチのタッチ速度に応じて楽音のリリースの仕方を制御すると、例えばギターの弦を押さえてミュートする場合に、ブリッジの近辺を押さえた場合と、ブリッジから多少離れた場所を押さえた時とで、音の減衰の仕方が異なるような減少をシミュレートすることが出来る。もちろん、音色がギター以外の時に上述した制御を適用してもよい。
【００６４】
ステップｓ９１にて、ミュートスイッチがオフされたと判断されたときは、ステップｓ９５にてフラグＭＵＴＥに０をセットする。
【００６５】
図２２は前述のステップｓ３における「変化のあったスイッチに応じた処理」の一部であるフレットスイッチ処理を示すフローチャートである。ステップｓ１０１においてフレットスイッチを走査する。ステップｓ１０２にてフレットスイッチの押圧状態にに変化があれば、ステップｓ１０３にて操作されているフレットスイッチのうち、最もボディに近いものの位置をフレットポジションレジスタＦＲＥＴへと格納する。
【００６６】
次に、図２３から図２８を用いて、パッド打撃センサ処理について説明する。このパッド打撃センサは所定時間（例えば１０ｍｓ）毎に実行される処理である。まずステップｓ１１１にてパッド打撃センサの出力値を読む。パッド打撃センサからの出力値は複数段階（例えば１２８段階）の値を持ち、パッドの打撃があると、出力値が急激に増加し、ピークに達する。そしてピークに達した後、徐々に減衰していく。ステップｓ１１２では値に変化があったかどうかを判断し、ステップｓ１１３ではその変化により、出力値がピークを迎えたか否かを判断する。ピークを迎えていたら、パッド操作があったと判断し、ステップｓ１１４へと進む。ピーク以外、すなわち、増加している最中である、または減衰中であるという場合は、ステップｓ１１３でＮＯと判断される。ステップｓ１１４ではピーク値を打撃強度としてベロシティを格納するレジスタに記憶させる。そしてステップｓ１１５にてパッド発音処理を実行する。
【００６７】
図２４は前述のステップｓ１１５のパッド発音処理の詳細を示すフローチャートである。まずステップｓ１２１において制御対象パートがメロディパートであるか否かを判断する。メロディパートであればステップｓ１２２へ進み、非メロディパートであればステップｓ１３１のメロディモード２及び非メロディパート処理へと進む。ステップｓ１２２ではシーケンスモードが設定されているのか、それともアドリブモードが設定されているのかを判断する。シーケンスモードが設定されている場合はステップｓ１２３へ進み、アドリブモードが設定されている場合はステップｓ１３２のアドリブ処理へと進む。
【００６８】
ステップｓ１２３ではメロディモード１が設定されているのか、それともメロディモード２が設定されているのかを判断する。メロディモード１が設定されている場合はステップｓ１２４へ進み、メロディモード２が設定されている場合はステップｓ１３１へと進む。ステップｓ１２４では、フラグＡＵＴＯが１にセットされていれば０にリセットする。これにより、今までパッド操作無しでも自動的に演奏されていたメロディパートはパッド操作がないと演奏されない状態となる。そしてステップｓ１２５では、発音中のメロディパートの音があれば対応するキーオフイベントを音源回路のメロディパートのチャンネルへと出力し、該音を消音させる。なお、ミュートスイッチの操作により、既に楽音が消音されていれば、ここでの処理は行われない。ステップｓ１２６では第３の読み出しポインタを進め、次のメロディパートのデータを読み出す。そしてステップｓ１２７で音色変更処理を実行する。
【００６９】
図２６及び図２７はこの音色変更処理を示すフローチャートである。図２６の処理はパッドが操作された時点でミュートスイッチが押されているか否かに応じて楽音の音色を変えるものである。まずステップｓ１５１にてミュートフラグＭＵＴＥに１がセットされているか否かを判断し、１がセットされていればステップｓ１５２においてミュート音に対応するプログラムチェンジ（音色変更コマンド＋音色番号）を音源回路の制御対象パートのチャンネルへと出力する。ミュート音に対応するプログラムチェンジとは、例えば非ミュート時の音色としてギターの音色が設定されている場合はミュートギターの音色に対応するプログラムチェンジであり、非ミュート時の音色としてトランペットの音色が設定されている場合はミュートトランペットの音色に対応するプログラムチェンジである。一方、フラグＭＵＴＥに１がセットされていない場合は、ステップｓ１５３にて非ミュート音（例えば前述のギターやトランペット）に対応するプログラムチェンジを音源回路の制御対象パートのチャンネルへと出力する。このような処理により、ミュートスイッチを押しながらパッドを操作すると、ミュート音が発音され、ミュートスイッチを操作せずにパッドを操作すると、非ミュート音が発音される。なお、上述の例においてはパッドの操作がある毎に必ずプログラムチェンジを音源回路へと出力するようにしたが、前回のパッド操作時と今回の状態が同じであれば、プログラムチェンジを出力せず、状態に変化があったときのみ出力するほうが好ましい。
【００７０】
図２７の処理は音色変更処理の他の例を示すものであって、パッドが操作された時点におけるミュートスイッチの押圧力に応じて楽音制御パラメータを変更するものである。この処理では、ステップｓ１６１において、ミュートスイッチの押圧力を格納するレジスタＭＵＴＥ＿ＰＲＥＳに格納されている値に応じたフィルタパラメータを作成し、音源回路の制御対象パートのチャンネルへと出力する。これにより、ミュートスイッチが押されていないときは押圧力＝０に対応するフィルタパラメータが音源回路へと与えられ、例えばフィルタカットオフ周波数が高い、明るく派手な音色で楽音が発音され、ミュートスイッチが押されているときは、その時の押圧力に応じてカットオフ周波数が低域に移動しているフィルタパラメータが音源回路へと与えられ、丸く柔らかい音色で楽音が発音される。なお、これらの音色変更処理のいずれか一方を適用してもよいし、両方を同時に適用してもよい。
【００７１】
次にステップｓ１２８で、読み出されたキーオンイベントデータに含まれているベロシティをパッド操作により得られたベロシティと入れ替えた後、該キーオンイベントを音源回路のメロディパートへと出力する。以上の動作により、それまで発音されていた楽音が消音されると共に、新たに読み出されたノートイベントに対応した音高、パッドの操作強度に応じたベロシティ、ミュースイッチの押圧状態に応じた音色にて楽音が発音され、メロディ演奏が行われる。続いて、ステップｓ１２９において、出力したキーオンイベントに対応する表示要素（図１１において前述した各パートの四角）の表示態様を変更（図１１においては縦線の網掛け）し、操作者が現在どの音を演奏しているのかを表示する。そして、ステップｓ１３０において第３、第４の読み出しポインタの位置の差に応じて「進み具合」の表示態様を変更する。第４ポインタは後述する自動演奏処理において進められるものであり、本来のメロディパートの進行と同期して進められるものである。表示態様は、例えば、前述のように第３ポインタと第４ポインタの位置がほぼ一致していれば青色を点灯、第３ポインタの位置が第４ポインタの位置に比べてかなり遅い場合は、青色を点滅、第３ポインタの位置が第４ポインタの位置に比べてかなり進んでいる場合は、赤色を点灯させる。これにより、操作者は自分の操作が適正なのか、または早すぎる、遅すぎるのかがわかり、操作がしやすくなる。
【００７２】
図２５は前述のステップｓ１３１におけるメロディモード２及び非メロディパート処理を示すフローチャートである。ステップｓ１４１において、発音中の制御対象パートの音があれば対応するキーオフイベントを音源回路の制御対象パートのチャンネルへと出力し、該音を消音させる。なお、ミュートスイッチの操作により、既に楽音が消音されていれば、ここでの処理は行われない。ステップｓ１４２では図２６或いは図２７の音色変更処理を実行する。次に、ステップｓ１４３において制御対象パートがメロディパートであるか否かを判断し、メロディパートであればステップｓ１４４にて、制御対象パートレジスタの内容に基づき、ベロシティをパッド操作により得られたベロシティを入れ替えて、キーオンイベントを音源回路のメロディパートのチャンネルへと出力する。これにより、メロディパートから読み出され、現在の楽曲の進行位置に対応した音高の楽音が、パッド操作により発音され、メロディ演奏が行われる。なお、制御対象パートレスタには、現在の進行位置において制御対象パートから読み出されているノートベントが記憶されている（詳しくは後述）。
【００７３】
一方、制御対象パートがメロディパート以外の時は、ステップｓ１４５へ進み、制御対象パートレジスタに記憶されているノートイベントのキーコードのオクターブを、必要に応じて発音範囲規制テーブル内容とフレットポジションレジスタＦＲＥＴの内容に従って変換し、ベロシティをパッド操作により得られたベロシティを入れ替えて、キーオンイベントを音源回路の制御対象パートのチャンネルへと出力する。これにより、ベースパート、コード１パート、コード２パートのいずれかのパートから読み出され、現在の楽曲の進行位置に対応した音高の楽音が、フレット操作位置に対応したオクターブに変更された状態で、パッド操作により発音され、バッキング演奏が行われる。続いて、ステップｓ１４６へと進み、出力したキーオンイベントに対応する表示要素（図１１の四角）の表示態様を変更する。
【００７４】
図２８は前述のステップｓ１３２におけるアドリブ処理を示すフローチャートである。まずステップｓ１７１にて発音中のメロディパートの音があれば対応するキーオフイベントを音源回路のメロディパートのチャンネルへと出力し、該音を消音させる。なお、ミュートスイッチの操作により、既に楽音が消音されていれば、ここでの処理は行われない。次にステップｓ１７２にてマニュアルアドリブモードが設定されているのか、或いは自動アドリブモードが設定されているのかを判断する。マニュアルアドリブモードが設定されている場合は、ステップｓ１７３にてフレットポジションレジスタＦＲＥＴの記憶内容に対応するノートナンバを、選択されている音階割り当てテーブルから読み出す。一方、自動アドリブモードが設定されている場合は、ステップｓ１７４にてフレットポジションレジスタＦＲＥＴの記憶内容に対応する自動アドリブシーケンスデータのポインタを進め、ノートナンバを読み出す。次にステップｓ１７５で図２６或いは図２７の音色変更処理を実行した後、ステップｓ１７６で、ステップｓ１７３またはステップｓ１７４にて決定されたノートナンバに、パッド操作により得られたベロシティを付加したキーオンイベントを、音源回路のメロディパートへと出力する。これにより、メロディアドリブ演奏がなされる。  次に、図２９から図３８を用いて、所定時間（例えば１０ｍｓ）毎に実行される自動演奏処理について説明する。
【００７５】
図２９において、ステップｓ１８１ではシーケンスデータから読み出されたタイミングデータを格納するレジスタＴＩＭＥ１から所定値Ｋを減算する。所定値Ｋは自動演奏処理の周期（例えば１０ｍｓ）の間に進めるべき単位音符の長さに対応しており、Ｋ＝（テンポ×分解能×実行周期）／（６０×１０００）で表される。ここで、「テンポ」は１分間に演奏される４分音符数であり、「分解能」はシーケンスデータのタイミングデータが、４分音符をいくつに分けたものによって記述されているかをかを表す。例えば、前述のようにタイミングデータが３８４分音符を単位として記述されている場合、３８４分音符は４分音符を９６に分けたものであるから、「分解能」は９６となる。「実行周期」は自動演奏処理が実行されるときの処理周期であり、前述のようにこの実施形態においては例えば１０ｍｓである。従って、「テンポ」が１２０、「分解能」が９６、「割込周期」が１０ならば、Ｋの値は１．９２となり、１回の自動演奏処理によってタイミングデータが１．９２だけ進むことになる。例えば、タイミングデータの値が「１９２（＝２分音符の長さに相当）」であったとすると、１００回の自動演奏処理によって２分音符分の演奏が進むことになる。言い換えると、Ｋの値を変更することにより、再生テンポを変更することができる。なお、演奏のテンポを変更する方法は、自動演奏処理の実行周期を変更するものや、実行周期はそのままでタイミングデータの値を修正するものあってもよい。なお、レジスタＴＩＭＥ１の初期値としては、図示はしないが演奏スタート時にシーケンスデータの中の最初のタイミングデータがセットされる。
【００７６】
ステップｓ１８１の結果、レジスタＴＩＭＥ１の値が０以下になったとき、ステップｓ１８２でＹＥＳと判断され、ステップｓ１８３において第１の読み出しポインタを進め、該ポインタが示すシーケンスデータを読み出す。ステップｓ１８４では読み出されたデータがタイミングデータであるか否かが判断される。演奏スタート時には既に先頭のタイミングデータが読み出されているので、ステップｓ１８３ではタイミングデータの次の記憶されているイベントデータが読み出される。従って、ステップｓ１８４の判断はＮＯとなり、ステップｓ１８５へと進む。
【００７７】
ステップｓ１８５では読み出されたイベントデータに応じた処理が実行される。この処理については後述する。その後、再びステップｓ１８３へ戻り、第１の読み出しポインタを進め、次のデータを読み出す。イベントデータの次にはタイミングデータが記憶されているので、ステップｓ１８４ではＹＥＳと判断され、ステップｓ１８６でレジスタＴＩＭＥ１に読み出されたタイミングデータが加算される。タイミングデータを加算した結果、ＴＩＭＥ１の値が正の値になっていれば、ステップｓ１８８へと進む。ノートイベントデータと歌詞イベントデータが連続する場合や、和音に対応したノートイベントデータが存在する場合などは、タイミングデータの値が０或いは０に近い値を取ることもあり、そのような場合は、ステップｓ１８７でＮＯと判断され、さらにステップｓ１８３以降を繰り返す。
【００７８】
ステップｓ１８８では先読み表示処理（後述）を実行し、その後ステップｓ１８９で現在の進行位置表示バーの位置を自動演奏処理の実行周期（例えば１０ｍｓ）に対応した量だけ右側へと移動させ、次にステップｓ１９０で制御対象パートの読み出し処理（後述）を実行する。そして、ステップｓ１９１にて音階割り当てテーブルの書き換え処理を行う。音階割り当てテーブルのうち、コード構成音の音階とメロディ構成音の音階に関しては曲の進行に従ってその時点の音階に逐次変更する必要がある。従って、この音階割り当てテーブル書き換え処理では、現在の楽曲の進行位置がコード変更位置であれば、コード構成音の音階を変更されるコードに応じたものに変更し、フレーズの区切り位置であれば、メロディ構成音の音階を、該フレーズ区間に対応したものへと変更する。なお、コード変更位置やフレーズ区切り位置であることの判別は、次のようにすればよい。すなわち、図１３において前述したステップｓ１５にてコード進行を検出し、ステップｓ１６にてフレーズを抽出しているので、コードの変更位置やフレーズの区切り位置をこの時点で記憶しておき、図２９の自動演奏処理において現在の進行位置を管理し、コード変更位置やフレーズ区切り位置と現在進行位置とを比較することにより判別できる。
【００７９】
図３０は前述のステップｓ１８５の「イベントデータに応じた処理」の一部である演奏イベント処理を示すフローチャートである。まずステップｓ２０１においてメロディパートのイベントであるか否かを判断する。各イベントにはチャンネルナンバが付与されているので、このチャンネルナンバを見ることでどのパートのイベントであるかを判断することが出来る。メロディパートのイベントであったときは、ステップｓ２０２にて、それがキーオンイベントであるか否かを判断する。キーオンイベントであったときは、ステップｓ２０３にて第４の読み出しポインタを進める。これにより、第４の読み出しポインタは、常に正規の進行位置と同期して進められることになる。次にステップｓ２０４にてフラグＡＵＴＯが１にセットされているか否かを判断する。１にセットされているときは、ステップｓ２０５へ進んで第３の読み出しポインタを第４の読み出しポインタの位置に合わせる。これにより、メロディの自動演奏時は第３の読み出しポインタも正規の進行位置と同期して進むことになり、その後のパッド操作によって、正規の進行位置からメロディモード１の演奏を再開することが可能となる。そして、ステップｓ２０６にてこのキーオンイベントを音源のメロディパートのチャンネルへと出力し、メロディパートの楽音が発音される。フラグＡＵＴＯが１にセットされていないときは、ステップｓ２０７において第３、第４の読み出しポインタの位置の差に応じて、「進み具合」の表示態様を前述のステップｓ１３０の処理と同様に変更する。そして、操作者のパッドによるメロディ演奏のため、音源回路へのデータ出力は行わない。
【００８０】
ステップｓ２０２においてキーオンイベントではないと判断されたとき（すなわちキーオフイベントやコントロールチェンジイベント）、ステップｓ２０８へ進み、フラグＡＵＴＯが１にセットされているか否かを判断し、１にセットされていたら、ステップｓ２０９にてイベントデータを音源回路のメロディパートのチャンネルへと出力することにより、メロディパートの楽音の消音や音量、ピッチ、音色等の制御がなされる。フラグＡＵＴＯが１にセットされていなければ、操作者のパッドによるメロディ演奏のため、音源回路へのデータ出力は行わない。
【００８１】
一方、ステップｓ２０１においてメロディパート以外のイベントであったと判断されたとき、ステップｓ２１０で制御対象パート以外のイベントであるか否かを判断する。制御対象パート以外のイベントであれば、ステップｓ２１１にてイベントデータを音源回路の該当チャンネルへと出力することにより、楽音の発生や消音等がなされる。制御対象パートのイベントであれば、楽音の発音は操作者のパッド操作により行われるため、ここでは音源回路へのデータの出力は行わない。
【００８２】
図３１は前述のステップｓ１８５の「イベントデータに応じた処理」の一部である歌詞イベント処理を示すフローチャートである。ステップｓ２２１では読み出された歌詞に対応する文字の色を変更することにより、歌詞の進行位置を表示する。このとき、歌詞の色が左側から徐々に変化していくようにしてもよいし、一度に変化するようにしてもよい。
【００８３】
図３２は前述のステップｓ１８５の「イベントデータに応じた処理」の一部であるエンドデータ処理を示すフローチャートである。ステップｓ２３１にて自動演奏処理を禁止させい、ステップｓ２３２にて音源回路へオールノートオフを出力する。これによって自動演奏は停止する。
【００８４】
図３３は前述のステップｓ１８８の先読み表示処理の詳細を示すフローチャートである。まずステップｓ２４１において現在の進行位置が小節戦に対応するタイミングであるか否かを判断する。小節戦のタイミングであれば、ステップｓ２４２にて小節カウントレジスタＭＥＡＳＵＲＥの値を１だけインクリメントし、ステップｓ２４３にてその値が５になったか否かを判断し、５になっていれば、ステップｓ２４４でＭＥＡＳＵＲＥの値を１にセットし、ステップｓ２４５にて過去の４小節分の表示を消去し、表示段をずらす。そして、ステップｓ２４６において４小節分の各制御対象パートの演奏イベント及び歌詞イベントをシーケンスデータの中から先読みし、表示のためのデータを作成してディスプレイＤへと表示する。すなわち、この例においては、１段の表示量を４小節分とし、これを複数段（例えば２段）表示可能なようにしている。そして、演奏が４小節経過する毎に最も過去の４小節分の表示を消去し、そのかわりに、現在位置から４小節先までの演奏及び歌詞のデータを先読みして表示するようにしている。このとき、過去の４小節消去するをことにより空いた表示領域に、既に表示されている他の段をずらして表示し、空いた領域に最新の４小節分の表示をするようにしている。なお、表示の仕方はこのような表示態様に限るものではない。
【００８５】
図３４は前述のステップｓ１９０の制御対象パート読み出し処理の詳細を示すフローチャートである。ステップｓ２５１では制御対象パートデータから読み出されたタイミングデータを格納するレジスタＴＩＭＥ２から所定値Ｋを減算する。所定値Ｋは前述のステップｓ２５１にて減算した値と同じ値である。なお、レジスタＴＩＭＥ２の初期値としては、図示はしないが演奏スタート時に制御対象パートデータの中の最初のタイミングデータがセットされる。
【００８６】
ステップｓ２５１の結果、レジスタＴＩＭＥ２の値が０以下になったとき、ステップｓ２５２でＹＥＳと判断され、ステップｓ２５３で第２の読み出しポインタを進め、該ポインタが示す制御対象パートデータを読み出す。ステップｓ２５４では読み出されたデータがタイミングデータであるか否かが判断される。演奏スタート時には既に先頭のタイミングデータが読み出されているので、ステップｓ２５３ではタイミングデータの次の記憶されているイベントデータが読み出される。従って、ステップｓ２５４の判断はＮＯとなり、ステップｓ２５５へと進む。
【００８７】
ステップｓ２５５では読み出されたイベントデータに応じた処理が実行される。この処理については後述する。その後、再びステップｓ２５３へ戻り、第２の読み出しポインタを進め、次のデータを読み出す。イベントデータの次にはタイミングデータが記憶されているので、ステップｓ２５４ではＹＥＳと判断され、ステップｓ２５６でレジスタＴＩＭＥ２に読み出されたタイミングデータが加算される。タイミングデータを加算した結果、ＴＩＭＥ２の値が正の値になっていれば、この処理を終了する。ノートイベントデータが連続する場合、タイミングデータの値が０或いは０に近い値を取ることもあり、そのような場合は、ステップｓ２５７でＮＯと判断され、さらにステップｓ２５３以降を繰り返す。
【００８８】
図３５から図３８は前述のステップｓ２５５における「イベントデータに応じた処理」の詳細を示すフローチャートである。図３５はメロディパートのイベントデータが読み出されたときの処理である。まず、ステップｓ２６１にて読み出されたイベントデータがキーオンイベントであるか否かを判断する。キーオンイベントであれば、ステップｓ２６２にて該キーオンイベントをメロディレジスタへと書き込む。一方、キーオフイベントであった場合は、ステップｓ２６３へと進み、該キーオフイベントに対応し、既に書き込まれているキーオンイベントを、メロディレジスタから消去する。このメロディレジスタは、複数の記憶領域を有し、楽曲の各進行位置において、その時点で発音しているはずのキーイベントを保持するレジスタである。キーオンイベントが読み出されたときはこのレジスタに記憶され、キーオフイベントが読み出されたときは対応するキーオンイベントをレジスタから消去する。基本的にはメロディパートは単音発音であるが、デュエット曲などは複数の音が同時になることもある。この点を考慮して、複数の記憶領域を設けてある。メロディモード２においてパッドが操作されたときは、このレジスタの内容が前述のステップｓ１４４にて読み出され、発音される。
【００８９】
図３６はベースパートのイベントが読み出されたときの処理である。まず、ステップｓ２７１にて読み出されたイベントデータがキーオンイベントであるか否かを判断する。キーオンイベントであれば、ステップｓ２７２にて該キーオンイベントをベースレジスタへと書き込む。一方、キーオフイベントであった場合は、ステップｓ２７３へと進み、該キーオフイベントに対応し、既に書き込まれているキーオンイベントを、ベースレジスタから消去する。このベースレジスタは、前述のメロディレジスタと同様の機能を持つレジスタである。ベース演奏モードにおいてパッドが操作されたときは、このレジスタの内容が前述のステップｓ１４４にて読み出され、発音される。
【００９０】
図３７はコード１パートのイベントが読み出されたときの処理である。まず、ステップｓ２８１にて読み出されたイベントデータがキーオンイベントであるか否かを判断する。キーオンイベントであれば、ステップｓ２８２にて該キーオンイベントをコード１レジスタへと書き込む。一方、キーオフイベントであった場合は、ステップｓ２８３へと進み、該キーオフイベントに対応し、既に書き込まれているキーオンイベントを、コードレジスタから消去する。このコード１レジスタも、前述のメロディレジスタと同様の機能を持つレジスタである。コード１演奏モードにおいてパッドが操作されたときは、このレジスタの内容が前述のステップｓ１４４にて読み出され、発音される。
【００９１】
図３８はベースパートのイベントが読み出されたときの処理である。まず、ステップｓ２９１にて読み出されたイベントデータがキーオンイベントであるか否かを判断する。キーオンイベントであれば、ステップｓ２９２にて該キーオンイベントをコード２レジスタへと書き込む。一方、キーオフイベントであった場合は、ステップｓ２９３へと進み、該キーオフイベントに対応し、既に書き込まれているキーオンイベントを、コード２レジスタから消去する。このコード２レジスタも、前述のメロディレジスタと同様の機能を持つレジスタである。コード２演奏モードにおいてパッドが操作されたときは、このレジスタの内容が前述のステップｓ１４４にて読み出され、発音される。
【００９２】
次に、図３９から図４３を用いて、その他の各種センサの処理について説明する。各処理は所定周期（例えば１０ｍｓ）毎に実行される。図３９はフレットアフタタッチセンサの処理を示すフローチャートである。ステップｓ３０１にてフレットアフタタッチセンサの出力を読む。センサ出力に変化があったか否かをステップｓ３０２にて判断し、変化があったときは、ステップｓ３０３にてフレットアフタタッチセンサの出力値を第１アフタタッチとし、該値を音源回路の制御対象パートのチャンネルへと出力する。第１アフタタッチにより制御される楽音パラメータは、任意に設定可能であるが、例えばビブラートの深さが制御される。したがって、フレットを押さえる強さを変えることによってビブラートの係り具合を制御することが出来る。
【００９３】
図４０はパッドアフタタッチセンサの処理を示すフローチャートである。ステップｓ３１１にてパッドアフタタッチセンサの出力を読む。センサ出力に変化があったか否かをステップｓ３１２にて判断し、変化があったときは、ステップｓ３１３にてパッドアフタタッチセンサの出力値を第２アフタタッチとし、該値を音源回路の制御対象パートのチャンネルへと出力する。第２アフタタッチにより制御される楽音パラメータは、任意に設定可能であるが、例えば音量が制御される。したがって、パッドを操作した後、さらにパッドを押し込むように操作することで、楽音を発音させた後の音量を制御することが出来る。なお、パッドアフタタッチセンサとパッド打撃センサとは異なる種類のセンサであり、押し込むような操作では、打撃センサはあまり反応しないようにするとよい。
【００９４】
図４１はパッド回転センサの処理を示すフローチャートである。ステップｓ３２１にてパッド回転センサの出力を読む。センサ出力に変化があったか否かをステップｓ３２２にて判断し、変化があったときは、ステップｓ３２３にてパッド回転センサの出力値をピッチベンドの値に変換する。このとき、楽曲の調とその時発音されている楽音の音高とに応じて、パッド回転センサを最大操作した場合に、楽曲の調におけるスケール上の音に達するように、ピッチベンド値に所定の係数を掛ける。このようにすると、パッド回転操作子を最大限に操作した場合に必ずスケール上の音になり、初心者であっても音楽的におかしくない演奏が可能である。そして、係数を掛けたピッチベンド値を音源回路の制御対象パートのチャンネルへと出力する。なお、非発音中にパッド回転センサを操作し、操作した状態でパッドを操作したときは、係数としてどの値を掛ければ最終ピッチがスケール上の音になるかはわからないため、このような場合には係数を掛けず、センサの出力値をそのままピッチベンド値として用いる。
【００９５】
図４２はホイールセンサの処理を示すフローチャートである。ステップｓ３３１にてホイールセンサの出力を読む。センサ出力に変化があったか否かをステップｓ３３２にて判断し、変化があったときは、ステップｓ３３３にてホイールセンサの出力値をホイール値とし、該値を音源回路の制御対象パートのチャンネルへと出力する。ホイール値により制御される楽音パラメータは、任意に設定可能であるが、例えばフィルタのカットオフ周波数が制御される。したがって、パッドを操作した後、パッド近傍のホイールを操作することで、楽音の音色を制御することが出来る。
【００９６】
図４３はミュートスイッチ圧力センサの処理を示すフローチャートである。ステップｓ３４１にてミュートスイッチ圧力センサの出力を読む。センサ出力に変化があったか否かをステップｓ３４２にて判断し、変化があったときは、ステップｓ３４３にてミュートスイッチ圧力センサの出力値をレジスタＭＵＴＥ＿ＰＲＥＳへと格納する。このレジスタＭＵＴＥ＿ＰＲＥＳの値は、前述のようにパッド操作時の音色制御に用いられる。
【００９７】
なお、上述した例においては、無発音期間を無くした制御対象パートデータというものを予め作成しておき、それに基づいてメロディパートのメロディモード２、ベースパート、コード１パート、コード２パートの演奏するようにしたが、このようなデータを予め作成することはせず、パッドの操作があった時点で、その時点が無発音期間であれば、発音すべきノートイベントをサーチするようにしてもよい。例えば、
（１）パッドの操作があった時点が無発音期間であれば、所定時間後にノートイベント（ノートオン）が有るかどうかチェックする。ノートイベントが有れば、その音で発音する（図４４（Ａ））。
（２）（１）でノートイベントが無ければ、前後所定区間（例えば１小節）内にノートイベントが有るかどうかチェックする。ノートイベントが有れば、そのうちの最も近いノートイベントの音で発音する（図４４（Ｂ））。
（３）（２）でもノートイベントがなければ、パッド操作時点における制御対象パート以外のパートの音を探し、見つかった音からコードを検出し、該コード構成音のうち、少なくとも１つを発音する（メロディパート、ベースパートの時は１音を発音、コード１、２パートの時は複数音を発音）。
といった具合にしてもよい。
【００９８】
次に、他の実施の形態について説明する。この実施の形態においては、前述の形態とは次の点で異なる。
（１）厳密な調検出やコード検出を行うことなく、スケール音、コード音を決定する。
（２）いずれかのフレットスイッチを押しながらパッドを操作したときはアドリブ演奏モード、フレットスイッチを押さずにパッドを操作したときはシーケンス演奏モードに自動的に切り替わる。
（３）アドリブ演奏モードにおいて、発音中にフレットスイッチをオフしたら、その時点で鳴っている自動演奏楽音のうちのいずれか最も近い音高へと自動的に移行する。その後、再度フレットスイッチが操作されるか、またはパッドが操作されるまで、その時点で鳴っている自動演奏楽音のうちのいずれか最も近い音高へと自動的に移行する動作が継続する（アドリブ追従モード）。
【００９９】
図４５から図５１を用いて、他の実施の形態について詳しく説明する。なお、ここでは前述の装置と異なる部分のみを説明する。図４５はスケール音検出処理を示すフローチャートである。この処理は、前述の図１３におけるステップｓ１４の調検出、及びステップｓ１７の音階割り当てテーブル作成の代わりに実行されるものである（その他の処理は省略した）。ステップｓ３５１にて、曲全体で出現する音数、或いは数×音価（音の長さ）を、各音名毎に求め、多いほうから順位を付ける。ステップｓ３５２では順位付けされた音名のうち、上位７音をスケール音として決定し、それに基づいて音階割り当てテーブルを作成する。すなわち最も多く出現する７音を、楽曲の調におけるスケール音とほぼ等価であると見なし、上位７音をその楽曲のスケール音としてしまうのである。このようにすると、複雑な調検出のアルゴリズムが不要となり、装置を簡略化することが出来る。
【０１００】
図４６はパッド音発音処理を示すフローチャートである。この処理は前述の図２４に代わる処理である。まずステップｓ３６１において、いずれかのフレットスイッチがオンされているか否かを判断する。フレットスイッチがオンされているときは、ステップｓ３６２にてモードをアドリブ演奏モードに設定すると同時に、アドリブ追従モード（後述）も解除する。その後ステップｓ３６３にてアドリブ演奏音決定処理を実行した後、ステップｓ３６４で、決定した音で発音させる。一方、すべてのフレットスイッチが離された状態でパッドの操作があったときは、ステップｓ３６５にてモードをシーケンス演奏モードに設定し、ステップｓ３６６でシーケンス演奏音を発音させる。このステップｓ３６６の処理は前述のシーケンスモードにおける処理と同様の処理であり、ここでの詳細説明は省略する。
【０１０１】
図４７は前述のステップｓ３６３におけるアドリブ演奏音決定処理を示すフローチャートであり、コード音の音階で発音する場合である。ステップｓ３７１において、自動演奏（ドラムパート以外のパート）において現在発音されているすべての音名をサーチする。ステップｓ３７２では、見つかった音名に基づいて音階割り当てテーブルを作成する。すなわち、パッドが操作された時点で、自動演奏において発音されている音名を、その時点におけるコード構成音とほぼ等価であると見なしている。このようにすると、複雑なコード検出のアルゴリズムが不要となり、装置を簡略化することが出来る。なお、パッドが操作された時点を含む所定区間（例えば１拍）の間に発生する音名を検出し、その時点におけるコード構成音としてもよい。そして、ステップｓ３７３で操作されているフレットに対応する音を音階割り当てテーブルから探し、発音する音を決定する。
【０１０２】
図４８は前述のステップｓ３６３におけるアドリブ演奏音決定処理を示すフローチャートであり、スケール音の音階で発音する場合である。スケール音の音階割り当てテーブルは前述のステップｓ３５２において作成されているので、ステップｓ３８１では操作されているフレットに対応する音を音階割り当てテーブルから探し、発音する音を決定する。
【０１０３】
図４９は前述のステップｓ３６３におけるアドリブ演奏音決定処理を示すフローチャートであり、コード音とスケール音が混合された音階で発音する場合である。すなわち、自動演奏において鳴っている音名が７音に満たない場合や、８音以上ある場合に、スケール音を考慮することによって７音にそろえるようにする。まずステップｓ３９１にて、自動演奏（ドラムパート以外のパート）において現在発音されているすべての音名をサーチする。次にステップｓ３９２で、見つかった音名が７音であるか否かを判断し、７音であった場合はステップｓ３９３でその７音を元に音階割り当てテーブルを作成する。ステップｓ３９２で７音ではないと判断されたとき、ステップｓ３９４で７音よりも少ないか、それとも多いかを判断する。７音よりも少ないときは、ステップｓ３９５で７音になるようにスケール音のうちの上位の音名の中で、コード音に含まれていない音を加えて７音にする。ステップｓ３９４で７音よりも多いと判断されたときは、ステップｓ３９６でいずれかの音を削除して７音とする。このとき、削除する音はスケール音の上位に無い音を優先的に削除する。そしてステップｓ３９３でその７音を元に音階割り当てテーブルを作成する。これらの後、ステップｓ３９７において、操作されているフレットに対応する音を音階割り当てテーブルから探し、発音する音を決定する。このようにすると、次のような利点がある。スケール音のみによって音階を決定する方法は、曲が進行しても音階が変化しないため、パッド操作時点におけるコードとの相性が悪い音が発生する可能性がある。一方、コード音のみによって音階を作成する方法は、コード進行に伴って逐次音階が変化するので、パッド操作時点におけるコードとの相性は非常によいが、常にコード構成音しかならないため、単調で表現力に乏しい。コード音の足りないところをスケール音で補うようにすると、コード進行と相性の良い音が出る確率が高いと共に、たまにコード構成音にはない音がでることがあり、単調さをなくすことが出来る。しかもその音はスケール音であるので、音楽的にそれほどおかしくなることはない。
【０１０４】
図５０はフレットスイッチ処理を示すフローチャートである。この処理は図２２のフレットスイッチ処理に代わる処理である。ステップｓ４０１において、フレットスイッチがオンされたのか、それともオフされたのかを判断する。オンされたときは、該オンされたフレットスイッチの位置を得る。ステップｓ４０３にて、現在アドリブ追従モードであるか否か、ステップｓ４０４で現在発音中であるか否かを判断する。両者ともにＹＥＳであれば、ステップｓ４０５で前述のアドリブ演奏音決定処理を実行し、その後、ステップｓ４０６において、決定したピッチにて、ポルタメントコントロールコマンドを音源回路へ出力する。これにより、それまで発音していた楽音は、ステップｓ４０５にて決定されたピッチへと滑らかに変化する。このアドリブ追従モードは、アドリブ演奏によって発生された楽音が非コード構成音であり、それが長時間継続して発音していると、他の自動演奏のパートと協和しなくなり、耳障りになることがある。これを防ぐため、フレットスイッチをオフしており、すぐにアドリブ演奏を続ける意志がないと判断されるときは、このアドリブ追従モードに自動的に移行するようにしている。
【０１０５】
一方、ステップｓ４０１でフレットスイッチがオフされたと判断されたとき、ステップｓ４０７でその時点で発音中であるか否かを判断する。フレットスイッチをオフする前にミュートスイッチを操作している場合は、ここでの判断はＮＯとなるが、それ以外の時はＹＥＳと判断される。ステップｓ４０８では自動演奏において現在鳴っているすべての音をサーチし、その時点での疑似コード構成音を検出する。ステップｓ４０９では見つかった音の中で発音中の音に最も近い音を探し、新たに発音する音として決定する。そして、ステップｓ４１０でアドリブ追従モードに設定する。
【０１０６】
図５１は発音ピッチ変更処理を示すフローチャートであり、所定時間（例えば１００ｍｓ）毎に実行される処理である。この処理に対応する処理は、前述の実施の形態にはない。アドリブ追従モードのための処理である。まずステップｓ４１１にてアドリブ追従モードに設定されているか否かを判断し、設定されていれば、ステップｓ４１２で現在アドリブ演奏音が発音中であるか否かが判断される。発音中であれば、ステップｓ４１３で自動演奏において現在鳴っているすべての音をサーチする。ステップｓ４１４では見つかった音の中に前記発音中の音が無いか否かを判断し、無ければ、ステップｓ４１５で見つかった音の中で、発音中の音に最も近い音を探し、新たに発音する音を決定する。そして、ステップｓ４１６にて、決定したピッチにて、ポルタメントコントロールコマンドを音源回路へ出力する。これにより、それまで発音していた楽音は、ステップｓ４１５にて決定されたピッチへと滑らかに変化する。
【０１０７】
なお、次のような変形も可能である。
フレットスイッチは１列のみ配置したが、ギターの弦のように複数列配置してもよい。このとき、アドリブ演奏ならば各スイッチ列毎にスケールを異ならせたり、音域を異ならせたりすることが出来る。また、シーケンス演奏ならば各スイッチ列毎に演奏するパートを異ならせたり、音域を異ならせたりすることが出来る。また、フレット部をスイッチにて構成するものに限らず、感圧センサなどにより構成することもできる。
メロディモード２やバッキングパートの演奏において、パッド操作による発音開始から所定時間以内に次の音が読み出されていたら、その時点で次の音のピッチに移行するようにしてもよい。すなわち、本来は次の音のピッチで発音開始させるつもりであったのに、若干早めにパッド操作をしてしまい、前の音で発音しはじめてしまった場合にも、本来の意図した音で演奏をすることが出来る。
【０１０８】
制御対象パートに含まれるコントロールチェンジデータは無視するような例を示したが、これらのデータも有効とするようにしてもよい。
操作者による演奏の時、ノートイベントのベロシティはパッド操作から得られた値を用いるようにしたが、本来のノートイベント中に含まれるベロシティの値をそのまま用いてもよいし、パッド操作のベロシティとノートイベントに含まれるベロシティを合成して、両者の中間のベロシティとしてもよい。
形状はギタータイプの楽器に限らない。操作子も、パッドに限らず、スイッチであってもよい。要は、少なくともパッド等の演奏のための操作子を有していればよい。
【０１０９】
上述したすべての機能を１つの電子楽器で実現する必要はなく、個々の機能を単独で搭載していてもよい。
曲データはメモリカートリッジで供給するほか、ＭＩＤＩインターフェースを介して供給するようにしてもよいし、各種通信手段を用いて供給するようにしてもよい。
さらに背景映像を表示できるようにしてもよい。
【０１１０】
操作者による操作の善し悪しを採点してもよい。また、採点結果を各種モードの制御に反映させてもよい。例えば、採点結果が良ければより高度な演奏方法のモードに切り替え、逆に採点結果が悪ければより簡単な演奏方法のモードに切り替えるようにしてもよい。また、採点結果が良ければ拍手を、採点結果が良くなければブーイングを発音するようにしてもよい。また、演奏途中での採点結果が悪い場合に、途中で操作者による演奏に代えて、自動演奏に移行するようにしてもよい。
各種スイッチの種類や、操作性（どのように操作するとどのような機能が実行されるか、など）は任意であってよい。  複数台の電子楽器を接続して、それぞれが異なるパートを担当してアンサンブル演奏をするようにしてもよい。その場合、演奏データを各楽器間でやり取りをして、全部の楽器の動作を総合的に制御するようにしてもよいし、制御は１つの楽器が集中して担当し、その他の楽器は操作情報のみを１つの楽器に対して送信するだけという形式にしてもよい。
【０１１１】
最後に、本発明の電子楽器に関連する電子楽器の実施の形態として、次のようなものがあることを付記しておく。
（１）第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、第１の操作子の操作に応じて、前記記憶手段から演奏データを読み出して音源回路に対して該演奏データに基づく発音を指示する読み出し手段であって、第１の操作子の操作毎に演奏位置を更新するとともに、既に発音指示されている音に関する消音を指示するものと、第２の操作子の操作に応じて、音源回路に対して消音を指示する消音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、第１の操作子の操作がある毎に記憶手段から演奏データが読み出され、発音される。これと同時に、それまで発音されていた音が消音される。従って、第１の操作子を操作するだけで、レガート気味の演奏が可能となる。必要に応じて第２の操作子を操作すれば、発音中の楽音を消音させることが出来るので、スタッカート気味の演奏もできる。
【０１１２】
（２）第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、演奏の進行に従って、前記記憶手段から演奏データを順次読み出す読み出し手段と、第１の操作子の操作に応じて、該操作時において前記記憶手段から読み出されている演奏データに対応する発音を音源回路に対して指示するとともに、既に発音指示されている音に関する消音を指示する発音消音指示手段と、第２の操作子の操作に応じて、音源回路に対して消音を指示する消音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、第１の操作子の操作がある毎に、その時点において記憶手段から読み出されている演奏データに基づく発音がなされる。これと同時に、それまで発音されていた音が消音される。従って、第１の操作子を操作するだけで、レガート気味の演奏が可能となる。必要に応じて第２の操作子を操作すれば、発音中の楽音を消音させることが出来るので、スタッカート気味の演奏もできる。また、第１の操作子の操作が無くても演奏位置は順次更新されるため、操作者は演奏位置を気にせずに第１の操作子を操作すればよい。
【０１１３】
（３）第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、演奏の進行に従って、前記記憶手段から演奏データを順次読み出す読み出し手段と、第２の操作子の操作に応じて、前記読み出し手段により読み出された演奏データの音高を変更する音高変更手段と、第１の操作子の操作に応じて、該操作時において前記記憶手段から読み出され、前記音高変更手段により変更された音高を有する演奏データに対応する発音を音源回路に対して指示する発音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、第２の操作子の操作により音高が変更制御された楽音が、第１の操作子の操作により発音される。従って、記憶手段に記憶された演奏データをそのまま発音させるものに比べて、操作者の意図を楽音に反映させることが出来る。
【０１１４】
（４）複数の操作位置を有した第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、前記演奏データの調またはコード進行にあった音階を決定し、決定した音階を前記第１の操作子の複数の操作位置へと割り当てる割り当て手段と、前記第２の操作子の操作に応じて、前記第１の操作子において操作されている操作位置に割り当てられた音高に基づく発音を、音源回路に対して指示する発音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、第１の操作子の操作位置に応じてた音高の楽音が、第２の操作子の操作により発音される。このとき、発音される音高は曲の調やコード進行にあった音高であるので、曲にマッチしたアドリブ演奏を簡単に演奏することが出来る。
【０１１５】
（５）上述した（４）に記載の電子楽器であって、前記割り当て手段は前記演奏データの調またはコード進行にあった音階を複数種類決定するものであり、そのうちの選択された１つの音階が前記第１の操作子の複数の操作位置へと割り当てられることを特徴とする電子楽器。
このようにすると、アドリブ演奏の雰囲気を変えることが出来る。
【０１１６】
（６）複数の操作位置を有した第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、前記演奏データ中に含まれる各音名の出現度合いを求め、度合いの高い上位複数個を前記演奏のスケール音として決定し、決定したスケール音を前記第１の操作子の複数の操作位置へと割り当てる割り当て手段と、前記第２の操作子の操作に応じて、前記第１の操作子において操作されている操作位置に割り当てられた音高に基づく発音を、音源回路に対して指示する発音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、曲の中に含まれる各音名の出現度合いが高い音を、スケール音と見なすようにしている。複雑な調検出のアルゴリズムを用いることなく、曲にあった音を用いてアドリブ演奏をすることが可能となる。
【０１１７】
（７）複数の操作位置を有した第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、演奏の進行に従って、前記記憶手段から演奏データを順次読み出す読み出し手段と、前記第２の操作子が操作された時点において、前記読み出し手段により読み出されている演奏データに含まれる複数の音名を検出し、該検出された複数の音名をコード構成音として決定し、決定したコード構成音を前記第１の操作子の複数の操作位置へと割り当てる割り当て手段と、前記第２の操作子の操作に応じて、前記第１の操作子において操作されている操作位置に割り当てられた音高に基づく発音を、音源回路に対して指示する発音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、第２の操作子が操作された時点において、読み出し手段により読み出されている複数の音名を、その時点におけるコード構成音と見なすようにしている。複雑なコード検出のアルゴリズムを用いることなく、曲にあった音を用いてアドリブ演奏をすることが可能となる。
【０１１８】
（８）複数の操作位置を有した第１の操作子と、第２の操作子と、演奏データを記憶した記憶手段と、演奏の進行に従って、前記記憶手段から演奏データを順次読み出す読み出し手段と、前記演奏データ中に含まれる各音名の出現度合いを求め、度合いの高い上位複数個を前記演奏のスケール音として決定するスケール音決定手段と、前記第２の操作子が操作された時点において、前記読み出し手段により読み出されている演奏データに含まれる複数の音名を検出し、該検出された複数の音名をコード構成音として決定し、決定したコード構成音を前記第１の操作子の複数の操作位置へと割り当てる割り当て手段であって、検出された複数の音名が、所定数に達していない場合、前記決定されたスケール音の中からいずれかを選択して前記コード構成音に加え、所定数になるようにするものと、前記第２の操作子の操作に応じて、前記第１の操作子において操作されている操作位置に割り当てられた音高に基づく発音を、音源回路に対して指示する発音指示手段と、を備えたことを特徴とする電子楽器。
上記構成によれば、第２の操作子が操作された時点において、読み出し手段により読み出されている複数の音名を、その時点におけるコード構成音と見なすとともに、該複数の音名が所定数に達していないときは、曲の中に存在する各音名のうち、出現度合いの高いものを前記コード構成音に加えるようにしている。このようにすると、コード構成音以外の音もアドリブ演奏時に発音されることがあり、演奏が単調になることがない。
【０１１９】
【発明の効果】
以上説明したように、この発明の電子楽器においては、簡単な操作により、初心者であっても表現力の高い演奏を楽しむことが出来るという効果がある。
【図面の簡単な説明】
【図１】  本発明の実施形態における電子楽器の外観を示す図である。
【図２】  本発明の実施形態におけるパネルスイッチＰＳの詳細を示す図である。
【図３】  本発明の実施形態におけるハード構成の概略ブロックを示す図である。
【図４】  本発明の実施形態におけるシーケンスモードにおけるメロディモード１の演奏例を示す図である。
【図５】  本発明の実施形態におけるシーケンスモードにおけるメロディモード２の演奏例を示す図である。
【図６】  本発明の実施形態における音階割り当てテーブルを示す図である。
【図７】  本発明の実施形態における演奏曲の元データを示すシーケンスデータを示す図である。
【図８】  本発明の実施形態におけるパッド操作によって読み出される複数種類の制御対象パート（メロディパート、ベースパート、コード１パート、コード２パート）のデータを示す図である。
【図９】  本発明の実施形態におけるメロディパートのデータを示す図である。
【図１０】  本発明の実施形態における発音範囲規制テーブル及び発音範囲規制テーブルによって発音音高のオクターブが制御される例を示す図である。
【図１１】  本発明の実施形態におけるディスプレイＤにおける表示例を示す図である。
【図１２】  本発明の実施形態におけるパネルスイッチ処理のフローチャートを示す図である。
【図１３】  本発明の実施形態における曲選択スイッチ処理のフローチャートを示す図である。
【図１４】  本発明の実施形態におけるスタート／ストップスイッチ処理のフローチャートを示す図である。
【図１５】  本発明の実施形態における制御対象パート選択スイッチ処理のフローチャートを示す図である。
【図１６】  本発明の実施形態におけるシーケンススイッチ処理のフローチャートを示す図である。
【図１７】  本発明の実施形態におけるメロディモード切り替え処理のフローチャートを示す図である。
【図１８】  本発明の実施形態における音階選択スイッチ処理のフローチャートを示す図である。
【図１９】  本発明の実施形態におけるアドリブスイッチ処理のフローチャートを示す図である。
【図２０】  本発明の実施形態におけるパニックスイッチ処理のフローチャートを示す図である。
【図２１】  本発明の実施形態におけるミュートスイッチ処理のフローチャートを示す図である。
【図２２】  本発明の実施形態におけるフレットスイッチ処理のフローチャートを示す図である。
【図２３】  本発明の実施形態におけるパッド打撃センサ処理のフローチャートを示す図である。
【図２４】  本発明の実施形態におけるパッド発音処理のフローチャートを示す図である。
【図２５】  本発明の実施形態におけるメロディモード２及び非メロディパート処理のフローチャートを示す図である。
【図２６】  本発明の実施形態における第１の音色変更処理のフローチャートを示す図である。
【図２７】  本発明の実施形態における第２の音色変更処理のフローチャートを示す図である。
【図２８】  本発明の実施形態におけるアドリブ処理のフローチャートを示す図である。
【図２９】  本発明の実施形態における自動演奏処理のフローチャートを示す図である。
【図３０】  本発明の実施形態における演奏イベント処理のフローチャートを示す図である。
【図３１】  本発明の実施形態における歌詞イベント処理のフローチャートを示す図である。
【図３２】  本発明の実施形態におけるエンドデータ処理のフローチャートを示す図である。
【図３３】  本発明の実施形態における先読み表示処理のフローチャートを示す図である。
【図３４】  本発明の実施形態における制御対象パート読み出し処理のフローチャートを示す図である。
【図３５】  本発明の実施形態におけるメロディパートイベント処理のフローチャートを示す図である。
【図３６】  本発明の実施形態におけるベースパートイベント処理のフローチャートを示す図である。
【図３７】  本発明の実施形態におけるコード１パートイベント処理のフローチャートを示す図である。
【図３８】  本発明の実施形態におけるコード２パートイベント処理のフローチャートを示す図である。
【図３９】  本発明の実施形態におけるフレットアフタタッチセンサ処理のフローチャートを示す図である。
【図４０】  本発明の実施形態におけるパッドアフタタッチセンサ処理のフローチャートを示す図である。
【図４１】  本発明の実施形態におけるパッド回転センサ処理のフローチャートを示す図である。
【図４２】  本発明の実施形態におけるホイールセンサ処理のフローチャートを示す図である。
【図４３】  本発明の実施形態におけるミュートスイッチ圧力センサ処理のフローチャートを示す図である。
【図４４】  本発明の実施形態における無発音期間において発音すべきノートイベントを決定する方法を示す図である。
【図４５】  本発明の実施形態におけるスケール音検出処理のフローチャートを示す図である。
【図４６】  本発明の実施形態におけるパッド音発音処理のフローチャートを示す図である。
【図４７】  本発明の実施形態におけるアドリブ演奏音決定処理（コード音）のフローチャートを示す図である。
【図４８】  本発明の実施形態におけるアドリブ演奏音決定処理（スケール音）のフローチャートを示す図である。
【図４９】  本発明の実施形態におけるアドリブ演奏音決定処理（コード音＋スケール音）のフローチャートを示す図である。
【図５０】  本発明の実施形態におけるフレットスイッチ処理のフローチャートを示す図である。
【図５１】  本発明の実施形態における発音ピッチ変更処理のフローチャートを示す図である。
【符号の説明】
１…ＣＰＵ、３…ＲＯＭ、４…ＲＡＭ、９…音源回路、Ｐ…パッド、Ｄ…表示回路、ＭＣ…ミュージックカートリッジ、ＰＳ…パネルスイッチ、ＦＳ…フレットスイッチ
【図１】
0003656597.tif 000002
【図２】
0003656597.tif 000003
【図３】
0003656597.tif 000004
【図４】
0003656597.tif 000005
【図５】
0003656597.tif 000006
【図６】
0003656597.tif 000007
【図７】
0003656597.tif 000008
【図８】
0003656597.tif 000009
【図９】
0003656597.tif 000010
【図１０】
0003656597.tif 000011
【図１１】
0003656597.tif 000012
【図１２】
0003656597.tif 000013
【図１３】
0003656597.tif 000014
【図１４】
0003656597.tif 000015
【図１５】
0003656597.tif 000016
【図１６】
0003656597.tif 000017
【図１７】
0003656597.tif 000018
【図１８】
0003656597.tif 000019
【図１９】
0003656597.tif 000020
【図２０】
0003656597.tif 000021
【図２１】
0003656597.tif 000022
【図２２】
0003656597.tif 000023
【図２３】
0003656597.tif 000024
【図２４】
0003656597.tif 000025
【図２５】
0003656597.tif 000026
【図２６】
0003656597.tif 000027
【図２７】
0003656597.tif 000028
【図２８】
0003656597.tif 000029
【図２９】
0003656597.tif 000030
【図３０】
0003656597.tif 000031
【図３１】
0003656597.tif 000032
【図３２】
0003656597.tif 000033
【図３３】
0003656597.tif 000034
【図３４】
0003656597.tif 000035
【図３５】
0003656597.tif 000036
【図３６】
0003656597.tif 000037
【図３７】
0003656597.tif 000038
【図３８】
0003656597.tif 000039
【図３９】
0003656597.tif 000040
【図４０】
0003656597.tif 000041
【図４１】
0003656597.tif 000042
【図４２】
0003656597.tif 000043
【図４３】
0003656597.tif 000044
【図４４】
0003656597.tif 000045
【図４５】
0003656597.tif 000046
【図４６】
0003656597.tif 000047
【図４７】
0003656597.tif 000048
【図４８】
0003656597.tif 000049
【図４９】
0003656597.tif 000050
【図５０】
0003656597.tif 000051
【図５１】
0003656597.tif 000052