(57)【要約】      （修正有）【課題】操作者にとって、直感的に自動演奏の状態や操作ガイドを認識でき、自動演奏を容易に制御できる自動演奏装置を提供する。【解決手段】ＢＧＭの進行状況を表すインジケータ１０３、操作者の現在の操作位置を表す縦棒１０４、固定した位置に表示される操作指示枠１０１及び操作指示マーク１０２、並びに、操作指示枠１０１に向かって移動し、操作者に操作のタイミングを指示する音符マークｎを、テレビジョンモニタのスクリーン８２に表示する。縦棒１０４が表す操作位置は、楽曲全体の時間を表す時間軸上の位置である。音符マークｎが、操作指示枠１０１及び操作指示マーク１０２に到達した時が、操作者が操作するタイミングである。【選択図】図１４
2010256923.tif 000002
【特許請求の範囲】
【請求項１】
操作者の操作に応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置において、
ＢＧＭ（ｂａｃｋｇｒｏｕｎｄ  ｍｕｓｉｃ）の進行状況を表すインジケータ、前記操作者の現在の操作位置を表す操作位置明示オブジェクト、固定した位置に表示される第１の操作指示画像、及び、前記第１の操作指示画像に向かって移動し、前記操作者に操作のタイミングを指示するタイミング指示画像を、表示装置に表示し、
前記操作位置明示オブジェクトが表す前記操作位置は、楽曲全体の時間を表す時間軸上の位置であり、
前記タイミング指示画像が、前記第１の操作指示画像に到達した時が、前記操作者が操作するタイミングである、ことを特徴とする自動演奏装置。
【請求項２】
前記操作者の操作が本来のタイミングからどのくらいずれているかを前記表示装置に示す、請求項１記載の自動演奏装置。
【請求項３】
前記表示装置において、前記第１の操作指示画像に隣接して、かつ、前記タイミング指示画像の移動方向に沿った方向に、第２の操作指示画像を表示し、
前記タイミング指示画像が前記第１の操作指示画像に到達した時に、前記操作者の操作が検知された場合、第１の所定の点数が算出され、前記タイミング指示画像が前記第２の操作指示画像に到達した時に、前記操作者の操作が検知された場合、前記第１の所定の点数より低い第２の所定の点数が算出される、請求項１又は２記載の自動演奏装置。
【請求項４】
難易度の異なる第１のモード及び第２のモードが用意され、前記第２のモードより難易度が高い前記第１のモードでは、前記第１の操作指示画像及び前記第２の操作指示画像の、前記タイミング指示画像の移動方向の幅は、前記第２のモードでの、前記第１の操作指示画像及び前記第２の操作指示画像の、前記タイミング指示画像の移動方向の幅より狭い、請求項３記載の自動演奏装置。
【請求項５】
所定数のライフが設定され、前記第１の操作指示画像及び前記第２の操作指示画像の外部に前記タイミング指示画像がする位置する時に、前記操作者の操作が検知された場合、前記ライフを減少する、請求項３又は４記載の自動演奏装置。
【請求項６】
所定数のライフが全て消滅したときに、自動演奏を終了する、請求項５記載の自動演奏装置。
【請求項７】
操作者の操作に応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置を操作する前記操作者に操作のタイミングを指示する操作ガイド方法において、
ＢＧＭ（ｂａｃｋｇｒｏｕｎｄ  ｍｕｓｉｃ）の進行状況を表すインジケータ、前記操作者の現在の操作位置を表す操作位置明示オブジェクト、固定した位置に表示される操作指示画像、及び、前記操作指示画像に向かって移動し、前記操作者に操作のタイミングを指示するタイミング指示画像を、表示装置に表示し、
前記操作位置明示オブジェクトが表す前記操作位置は、楽曲全体の時間を表す時間軸上の位置であり、
前記タイミング指示画像が、前記操作指示画像に到達した時が、前記操作者が操作するタイミングである、ことを特徴とする操作ガイド方法。
【請求項８】
操作者の操作に応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置を操作する前記操作者に操作のタイミングを指示する操作ガイド方法をコンピュータに実行させるコンピュータプログラムにおいて、
前記操作ガイド方法は、
ＢＧＭ（ｂａｃｋｇｒｏｕｎｄ  ｍｕｓｉｃ）の進行状況を表すインジケータ、前記操作者の現在の操作位置を表す操作位置明示オブジェクト、固定した位置に表示される操作指示画像、及び、前記操作指示画像に向かって移動し、前記操作者に操作のタイミングを指示するタイミング指示画像を、表示装置に表示し、
前記操作位置明示オブジェクトが表す前記操作位置は、楽曲全体の時間を表す時間軸上の位置であり、
前記タイミング指示画像が、前記操作指示画像に到達した時が、前記操作者が操作するタイミングである、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からの操作に基づくトリガに応じて自動演奏を行う自動演奏装置及びその関連技術に関する。
【背景技術】
【０００２】
従来より、擦弦型の電子楽器に関する文献は、多く存在する。例えば、日本国特開平９−２１２１６２号公報（特許文献１）がある。この特許文献１に開示されている擦弦型の電子楽器について簡単に説明する。
【０００３】
この従来の電子楽器では、演奏者は、本体のネック部に設けられた多数のスイッチにより、ピッチを指定し、同時に、弓に相当する演奏操作部材を操作することにより、指定したピッチに対応した楽音を発生して、演奏が行われる。つまり、ここでは、マニュアル演奏を行っている。日本国特開平３−４８８９１号公報（特許文献２）にも同様の擦弦型の電子楽器が開示されている。
【０００４】
また、日本国特開平１０−７８７７８号公報（特許文献３）に開示されている従来の弦楽器型の電子楽器では、演奏者が、本体のネック部に設けられたスイッチを押下すると、楽曲を構成する音符データがメモリから読み出される。そして、演奏者がこのスイッチを押下している時に、演奏者が演奏操作部材を操作することで、そのスイッチの押下により読み出された音符データに基づく楽音が発生される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２１２１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、古典的な楽器や特許文献１〜３に開示された電子楽器を用いた音楽演奏においては、当該楽器の演奏者には、音楽的知識と楽器を奏でるための技量が要求され、また、演奏曲の正しいピッチやテンポでの演奏を行うことが求められる。
【０００７】
ここで、一般的に、演奏とは、人間が主体となって、楽器を操作して、音楽を奏でること、と言える。この場合の人間は演奏者ということになる。従って、古典的な楽器や特許文献１〜３に開示された電子楽器を操作する人間は、演奏者であり、当該楽器を演奏する者である。従って、上記のように、特別な音楽的知識や技量を有しない演奏者にとって、思い通りの演奏は困難である。
【０００８】
一方、従来の、コンピュータが行う音楽の自動演奏においては、予め定められた楽曲データに基づいて非常に正確な演奏が行われるものの、全ての演奏が画一的で、容易に個性的な演奏を行うことができない。このような、従来の、コンピュータが行う音楽の自動演奏は、単なる楽曲の再生に近いと言える。ここで、コンピュータに自動演奏を実行させる人間は、言わば操作者である。
【０００９】
そこで、本発明は、コンピュータが自動演奏する楽曲に対して、直感的な操作方法により、強弱を加えたり、テンポを調整したりでき、特別な音楽的知識や技量を有しない操作者でも、個性的な自動演奏を楽しむことができる自動演奏装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の形態によると、自動演奏装置は、外部からの操作に基づくトリガに応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置であって、本体部と、前記本体部と接触した状態で摺り動かされる摺動操作部材と、を備え、前記本体部は、前記摺動操作部材の摺動速さを計測する速さ計測手段と、前記摺動操作部材の摺動方向を検出する方向検出手段と、前記摺動操作部材の摺動速さが、第１の予め定められた閾値を超えた場合であって、かつ、前記摺動操作部材の摺動方向が変化した場合に、自動演奏に対するトリガを発生するトリガ発生手段と、前記摺動操作部材の摺動速さが、第２の予め定められた閾値を下回った場合に、最新のトリガによる発音の終了処理を行い、あるいは、新たなトリガが発生した場合に、前回のトリガによる発音の終了処理を行う発音終了手段と、前記摺動操作部材の摺動速さに応じて、自動演奏される楽曲の音量を制御する音量制御手段と、を含む。
【００１１】
この構成によれば、操作者が摺動操作部材の摺動方向を変えたり、摺動速さを変えたり、という直感的な操作により、自動演奏のトリガを発生させたり、音量を制御したり、できる。
【００１２】
このように自動演奏装置（コンピュータ）が自動演奏する楽曲に対して、直感的な操作方法により、強弱を加えたり、テンポを調整したりでき、特別な音楽的知識や技量を有しない操作者でも、個性的な自動演奏を楽しむことができる。
【００１３】
また、摺動操作部材の摺動速さが、第２の予め定められた閾値を下回った場合に、最新のトリガによる発音の終了処理が行われるだけでなく、新たなトリガが発生した場合に、前回のトリガによる発音の終了処理が行われる。
【００１４】
従って、摺動操作部材の摺動速さが、第１の予め定められた閾値を超えたことのみをトリガの発生条件とし、第２の予め定められた閾値を下回ったことのみを、発音の終了条件とする場合と比べて、次の利点がある。
【００１５】
操作者が、大きい摺動速さで、しかも、素早く摺動方向を変化させた場合、摺動速さが第２の予め定められた閾値を下回ったことが検知されず、そのため、発音終了処理が実行されず、しかも、変化直後に検知した摺動速さが第２の予め定められた閾値を超えていることもあり得る。この場合、１つのトリガによる発音が持続してしまうという不都合が生じる。大きい摺動速さで、しかも、素早く摺動方向を変化させる操作は、度々行われ、上記不都合は大きな問題である。
【００１６】
新たなトリガの発生を（前回のトリガの後に、摺動速さが第１の予め定められた閾値を超えた場合であって、かつ、摺動方向が変化した場合）、前回のトリガによる発音の終了条件とすることで、以上のような問題を回避できる。
【００１７】
ここで、操作者にとって、摺動操作部材の摺動方向を変化させる行為は必ず行う行為であり、しかも、摺動方向の変化は容易に認知できるため、摺動方向を変化させることは直感的な操作と言える。このため、摺動方向の変化をトリガの条件に加えることは、操作者の操作に制約を課すことにはならない。
【００１８】
また、摺動操作部材の摺動方向が変化したことのみをトリガの発生条件とする場合、例えば、僅かな手のぶれ等でもトリガが発生してしまう、等の不都合が発生し得るが、摺動方向の変化に加えて、摺動速さが第１の予め定められた閾値を超えたことをトリガ発生の条件としているため、このような問題を回避できる。
【００１９】
ここで、本明細書において、発音の終了処理とは、発音を直ちに中止するという意味ではなく、音の減衰処理を行うという意味である。従って、発音の終了処理が開始されてから、音が出なくなるまで、一定時間要することになる。
【００２０】
上記自動演奏装置において、前記本体部は、前記摺動操作部材が通過する位置に設けられ、光ビームを発射する発光手段と、前記摺動操作部材が通過する位置に設けられ、前記発光手段が発射した光ビームを受光する第１の受光手段と、前記摺動操作部材が通過する位置に設けられ、前記発光手段が発射した光ビームを受光する第２の受光手段と、をさらに含み、前記摺動操作部材は、前記受光手段に入射する光ビームの光量を変化させる光量変化部、を含み、前記第１の受光手段と前記第２の受光手段とは、前記摺動操作部材の摺動方向に沿って配置され、前記速さ計測手段及び前記方向検出手段は、前記光量変化部による光ビームの光量変化に応じて前記第１の受光手段が出力する電気信号及び前記第２の受光手段が出力する電気信号に基づいて、摺動速さの計測及び摺動方向の検出を行う。
【００２１】
この構成によれば、摺動操作部材の摺動速さの計測及び摺動方向の検出を簡易に行うことができる。
【００２２】
上記自動演奏装置において、自動演奏される楽曲は、２種類以上の旋律で構成され、少なくとも１種類以上の旋律について、前記トリガ発生手段によるトリガに応じて、楽曲演奏が制御される。
【００２３】
この構成によれば、１種類の旋律だけでなく、複数の旋律についても、摺動操作部材の摺動速さ及び摺動方向に応じて、楽曲演奏を制御でき、自動演奏装置による自動演奏に変化、表情を加えることができるので、操作者は、自動演奏装置による自動演奏をより一層楽しむことができる。
【００２４】
上記自動演奏装置において、前記本体部は、自動演奏の状態及び操作ガイドを表す画像信号を生成して、前記本体部と別個に設けられるテレビジョンモニタに供給する画像生成手段、をさらに含み、前記自動演奏の状態は、オブジェクトの移動あるいは色の変化を用いて表現され、前記操作ガイドは、オブジェクトの移動及び色の変化を用いて表現される。
【００２５】
このように、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、をテレビジョンモニタに表示することで、操作者にとって、直感的に自動演奏の状態や操作ガイドを認識でき、自動演奏装置による自動演奏を容易に制御できる。
【００２６】
また、テレビジョンモニタに、自動演奏装置を接続するだけで容易に、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、を表示することができる。
【００２７】
さらに、これらの画像を表示するための画像表示部を本体部に設けることが不要となって、本体部に画像表示部を有する場合より安価な自動演奏装置を提供できる。
【００２８】
さらに、これらの画像を表示するテレビジョンモニタを、自動演奏装置と別個に設けることで、自動演奏装置に画像表示部を設ける場合と比較して、重量が軽くなるため、操作者は、自動演奏装置の本体部を抱持して摺動操作することが容易になる。
【００２９】
さらに、これらの画像を表示するテレビジョンモニタを、自動演奏装置と別個に設けることで、操作者が自動演奏装置の本体部を抱持して摺動操作をする場合に、自動演奏装置に画像表示部を設ける場合と比較して、操作者は、これらの画像が見易くなる。本体部を操作者が抱持して摺動操作を行う場合、画像表示部を本体部に設けると、その画像の視認が困難になる。
【００３０】
上記自動演奏装置において、前記本体部は、新たなトリガに応じた発音のための発音チャンネルを、前回のトリガに応じた発音のための発音チャンネルと異ならせる発音チャンネル制御手段、をさらに含む。
【００３１】
この構成によれば、前回のトリガによる発音が、新たなトリガによる発音開始によって直ちに停止されることがないため、滑らかな自動演奏を実行できる。
【００３２】
上記自動演奏装置において、前記本体部は、自動演奏される楽曲データ及び描画を行うための画像データを格納したメディアを装着するメディア装着手段、をさらに含む。
【００３３】
この構成によれば、メディアを交換するだけで、様々な楽曲の自動演奏が可能となる。
【００３４】
上記自動演奏装置において、前記本体部は、断面視において、中央部が最頂部となり両端部に向かって傾斜する形状の接触部と、前記接触部を挟むように、所定間隔で起立して設けられる２つのガイド部と、を含み、前記発光手段、前記第１の受光手段、及び、前記第２の受光手段は、前記接触部の内面側に配置される。
【００３５】
この構成によれば、２つのガイド部により、摺動操作部材の摺動位置が規制されるため、操作者は特別に意識することなく、摺動操作部材を、発光手段、第１の受光手段、及び、第２の受光手段上を通過させることができる。また、接触部は、中央部が最頂部となって両端部に向かって傾斜しているので、摺動操作部材の動きの自由度を大きくでき、様々な態様の摺動操作が可能となる。
【００３６】
上記自動演奏装置において、前記本体部には、第１の光ファイバの一方端が、前記接触部の内面側にくるように、他方端が、前記第１の受光手段の受光部側にくるように、固定され、かつ、第２の光ファイバの一方端が、前記接触部の内面側にくるように、一方端が、前記第２の受光手段の受光部側にくるように、固定される。
【００３７】
この構成によれば、第１の光ファイバの一方端と第２に光ファイバの一方端との間隔を調整することにより、第１の受光手段が出力する電気信号と、第２の受光手段が出力する電気信号と、の位相差の調整を、容易、かつ、高精度に行うことができる。
【００３８】
上記自動演奏装置において、前記摺動操作部材の底面には、その長さ方向に直線状の２つのスペーサが平行に形成され、前記光量変化部は、前記摺動操作部材の底面であって、２つの前記スペーサの間に形成される。
【００３９】
この構成によれば、摺動操作部材の２つのスペーサが、本体部の接触部に接触することになるので、光量変化部が接触部に接触することはなく、光量変化部の劣化を防止できる。
【００４０】
上記自動演奏装置において、前記本体部は、他の自動演奏装置の第１の受光手段からの電気信号が与えられる第１の信号線、及び、前記他の自動演奏装置の第２の受光手段からの電気信号が与えられる第２の信号線、を含むケーブルが接続されるコネクタ、をさらに含む。
【００４１】
この構成によれば、マスタである自動演奏装置の摺動速さ計測手段及び摺動方向検出手段は、スレイブである自動演奏装置の本体部から、ケーブルの第１の信号線及び第２の信号線を介して入力される２つの電気信号に基づいて、スレイブ側の摺動速さの計測及び摺動方向の検出を行うことができる。
【００４２】
そして、マスタである自動演奏装置のトリガ発生手段は、スレイブ側の摺動速さが、第１の予め定められた閾値を超えた場合であって、かつ、スレイブ側の摺動方向が変化した場合に、スレイブである自動演奏装置に基づくトリガを発生できる。さらに、マスタである自動演奏装置の音量制御手段は、スレイブ側の摺動速さに応じて、楽曲の音量を制御できる。
【００４３】
以上のように、スレイブである自動演奏装置に対する摺動操作に基づくトリガの発生処理及び音量制御が、マスタである自動演奏装置の本体部で実行される。このため、スレイブである自動演奏装置には、速さ計測手段、方向検出手段、トリガ発生手段、及び音量制御手段を設けることが不要になる。その結果、スレイブである自動演奏装置の消費電力の抑制及びコスト削減を図ることができる。
【００４４】
上記自動演奏装置において、前記本体部は、前記本体部に電源電圧を供給し、かつ、電源電圧を供給する電源線をさらに含む前記ケーブルを介して、前記他の自動演奏装置の本体部に電源電圧を供給する電源電圧供給手段、をさらに含む。
【００４５】
この構成によれば、マスタである自動演奏装置から、スレイブである自動演奏装置に、電源電圧を供給するので、スレイブ側に電源を設ける必要がなく、スレイブ側のコスト削減を図ることができる。
【００４６】
本発明の第２の形態によると、自動演奏装置は、外部からの操作に基づくトリガに応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置であって、本体部と、前記本体部と接触した状態で摺り動かされる摺動操作部材と、を備え、前記本体部は、前記摺動操作部材の摺動速さを計測する速さ計測手段と、前記摺動操作部材の摺動方向を検出する方向検出手段と、前記摺動操作部材の摺動速さが、第１の予め定められた閾値を超えた場合であって、かつ、前記摺動操作部材の摺動方向が変化した場合に、自動演奏に対するトリガを発生するトリガ発生手段と、前記摺動操作部材の摺動速さが、第２の予め定められた閾値を下回った場合に、最新のトリガによる発音の終了処理を行い、あるいは、新たなトリガが発生した場合に、前回のトリガによる発音の終了処理を行う発音終了手段と、を含む。
【００４７】
本発明の第３の形態によると、自動演奏装置は、外部からの操作に基づくトリガに応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置であって、本体部と、前記本体部と接触した状態で摺り動かされる摺動操作部材と、を備え、前記本体部は、前記摺動操作部材の摺動操作に応じて、自動演奏に対するトリガを発生するトリガ発生手段と、自動演奏の状態及び操作ガイドを表す画像信号を生成して、前記本体部と別個に設けられるテレビジョンモニタに供給する画像生成手段と、を含む。
【００４８】
本発明の第４の形態によると、自動演奏装置は、外部からの操作に基づくトリガに応じて、自動演奏のための楽曲データに従った自動演奏を実行する自動演奏装置であって、本体部と、前記本体部と接触した状態で摺り動かされる摺動操作部材と、を備え、前記摺動操作部材の操作に応じて、自動演奏に対するトリガを発生するトリガ発生手段と、新たなトリガに応じた発音のための発音チャンネルを、前回のトリガに応じた発音のための発音チャンネルと異ならせる発音チャンネル制御手段と、を含む。
【図面の簡単な説明】
【００４９】
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
【図１】図１は、本発明の実施の形態１における自動演奏システムの全体構成を示す図である。
【図２】図２（ａ）は、図１の自動演奏装置本体の平面図である。図２（ｂ）図１の自動演奏装置本体の側面図である。
【図３】図３は、図１の自動演奏装置本体の底面図である。
【図４】図４は、操作者が図１の摺動操作部材を動かし得る範囲の説明図である。
【図５】図５は、図２（ａ）の被摺動鞍部のＡ−Ａ線による断面図である。
【図６】図６（ａ）は、図１の摺動操作部材の側面図であり、図６（ｂ）は、その底面図である。
【図７】図７は、図２（ａ）の一対のガイド及び被摺動鞍部の拡大図である。
【図８】図８は、図７の被摺動鞍部のＢ−Ｂ線による断面図である。
【図９】図９（ａ）は、摺動操作部材の他の例の側面図である。図９（ｂ）は、摺動操作部材の他の例の底面図である。
【図１０】図１０は、図９（ａ）の摺動操作部材を使用する際に用いる反射型の光センサの配置図である。
【図１１】図１１は、図１０の被摺動鞍部のＣ−Ｃ線による断面図である。
【図１２】図１２は、図１のテレビジョンモニタに表示される操作スタイル選択画面の例示図である。
【図１３】図１３は、図１のテレビジョンモニタに表示される楽曲選択画面の例示図である。
【図１４】図１４は、図１のテレビジョンモニタに表示される操作ガイド画面の例示図である。
【図１５】図１５は、図１の自動演奏装置本体の電気的構成を示す図である。
【図１６】図１６は、図１５のＲＯＭに格納されるプログラム及びデータの概念図である。
【図１７】図１７は、図１５の高速プロセッサのブロック図である。
【図１８】図１８は、図１５の検知部のフォトトランジスタの配置と摺動操作部材の反射パターンとの関係を示す図である。
【図１９】図１９（ａ）は、正方向に図１の摺動操作部材を移動させたときのパルス信号の波形図である。図１９（ｂ）は、負方向に図１の摺動操作部材を移動させたときのパルス信号の波形図である。
【図２０】図２０は、２つのパルス信号の状態遷移図である。
【図２１】図２１は、図１７の入出力制御回路の一部を示すブロック図である。
【図２２】図２２は、図１の摺動操作部材の摺動速さを知るための他の方法の説明図である。
【図２３】図２３は、図１の自動演奏装置本体に内蔵される検知部の回路図である。
【図２４】図２４は、図１６のＲＯＭに格納されているＢＧＭ用の楽譜データの説明図である。
【図２５】図２５は、図１６のＲＯＭに格納されている音符マーク登録用の楽譜データの説明図である。
【図２６】図２６は、図１６のＲＯＭに格納されているトリガによる発音用の楽譜データの説明図である。
【図２７】図２７は、オブジェクト画像の説明図である。
【図２８】図２８は、本発明の実施の形態１における自動演奏システムの全体の処理の流れを示すフローチャートである。
【図２９】図２９は、図２８のステップＳ１の初期設定処理のフローチャートである。
【図３０】図３０は、図２８のステップＳ４のトリガ処理のフローチャートである。
【図３１】図３１は、図２８のステップＳ５の音量制御処理のフローチャートである。
【図３２】図３２は、図２８のステップＳ６の楽音セット処理のフローチャートである。
【図３３】図３３は、図２８のステップＳ７のオブジェクトセット処理のフローチャートである。
【図３４】図３４（ａ）は、音符マークｎと、開始コードから音符マークｎまでの時間Ｔｎｓと、を関連づけたテーブルの例示図である。図３４（ｂ）は、ずれＤｉｆと、シンクロ値の変動値と、を関連づけたテーブルの例示図である。
【図３５】図３５は、図３３のステップＳ１２５の音符色変更処理のフローチャートである。
【図３６】図３６は、図３３のステップＳ１２６の発音長指示バー制御処理のフローチャートである。
【図３７】図３７は、図２８のステップＳ１０の音声処理のフローチャートである。
【図３８】図３８は、図３７のステップＳ２００のＢＧＭ発音処理のフローチャートである。
【図３９】図３９は、図３７のステップＳ２０１の音符マーク登録処理のフローチャートである。
【図４０】図４０は、図３７のステップＳ２０２のトリガによる発音処理のフローチャートである。
【図４１】図４１は、図３７のステップＳ２０３のビブラート処理のフローチャートである。
【図４２】図４２（ａ）は、ビブラート効果の説明図である。図４２（ｂ）は、ビブラート処理を行う際の揺れ幅を格納したビブラートテーブルの例示図である。
【図４３】図４３は、図１７のサウンドプロセッサのブロック図である。
【図４４】図４４は、図４３のＤＡＣブロックのブロック図である。
【図４５】図４５は、図１７のグラフィックプロセッサのブロック図である。
【図４６】図４６は、本発明の実施の形態２における自動演奏システムの全体構成を示す図である。
【図４７】図４７（ａ）は、図４６の自動演奏装置本体の平面図である。図４７（ｂ）は、図４６の自動演奏装置本体の側面図である。
【図４８】図４８（ａ）は、図４７（ａ）に示した被摺動鞍部の拡大図である。図４８（ｂ）は、図４８（ａ）に示した光センサユニットの平面図である。
【図４９】図４９は、図４８（ａ）のＣ−Ｃ断面図である。
【図５０】図５０は、図４８（ａ）のＤ−Ｄ断面図である。
【図５１】図５１は、図４８（ａ）の光センサユニットの光ファイバの配置と、摺動操作部材の反射パターンと、の関係を示す図である。
【図５２】図５２は、図４６の自動演奏装置本体に内蔵される検知部の回路図である。
【図５３】図５３は、本発明の実施の形態２における自動演奏システムの全体処理の流れを示すフローチャートである。
【図５４】図５４は、図５３のステップＳ５００の初期設定処理の流れを示すフローチャートである。
【図５５】図５５は、図５３のステップＳ５１０のパルスカウント処理の流れを示すフローチャートである。
【図５６】図５６は、図５３のステップＳ５０３のトリガ処理の流れを示すフローチャートである。
【図５７】図５７は、図５３のステップＳ５０４の音量制御処理の流れを示すフローチャートである。
【図５８】図５８は、本発明の実施の形態３における操作ガイド画面の例示図である。
【図５９】図５９（ａ）は、実施の形態３のハードモードの説明図である。図５９（ｂ）は、実施の形態３のスタンダードモードの説明図である。図５９（ｃ）は、実施の形態３のイージーモードの説明図である。
【図６０】図６０は、実施の形態３の自動演奏装置によるトリガ発生領域判定処理の流れを示すフローチャートである。
【図６１】図６１は、本発明の実施の形態４における操作ガイド画面の例示図である。
【図６２】図６２は、本発明の実施の形態４における操作ガイド画面の他の例示図である。
【図６３】図６３は、本発明の実施の形態４における自動演奏システムの全体構成を示す図である。
【図６４】図６４は、図６３の自動演奏装置本体（マスタ）と自動演奏装置本体（スレイブ）とを接続するケーブルの内部構造を示す模式図である。
【図６５】図６５は、図６３の自動演奏装置本体（マスタ）及び自動演奏装置本体（スレイブ）の各々に内蔵される電源関連回路の回路図である。
【図６６】図６６は、図６３の自動演奏装置本体（スレイブ）から自動演奏装置本体（マスタ）へのパルス信号Ａ，Ｂおよびビブラートスイッチのオン／オフ信号の伝達経路の説明図である。
【図６７】図６７（ａ）は、図１の摺動操作部材のさらに他の例の側面図である。図６７（ｂ）は、図６７（ａ）の摺動操作部材の底面図である。図６７（ｃ）は、図６７（ａ）のＥ−Ｅ断面図である。
【発明を実施するための形態】
【００５０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、各図面において、同一の部分については、同一の参照符号を付している。
【００５１】
（実施の形態１）
図１は、本発明の実施の形態１における自動演奏システムの全体構成を示す図である。図２（ａ）は、図１の自動演奏装置本体１の平面図である。図２（ｂ）は、図１の自動演奏装置本体１の側面図である。図３は、図１の自動演奏装置本体１の底面図である。図１に示すように、この自動演奏システムは、自動演奏装置本体１、摺動操作部材４０、及び、テレビジョンモニタ８０、を含む。ここで、自動演奏装置本体１及び摺動操作部材４０は、自動演奏装置を構成する。
【００５２】
本実施の形態では、自動演奏装置本体１の形状の１例として、バイオリンを模した形状を挙げている。従って、この例では、摺動操作部材４０は、言わば弓に相当する。
【００５３】
図２（ａ）に示すように、自動演奏装置本体１の胴部１０の表面には、ガイド３１，３２、被摺動鞍部３３、選択キー１２ａ，１２ｂ、キャンセルキー１２ｃ、決定キー１２ｄ、及び、表示部１５、が設けられる。また、図２（ｂ）に示すように、胴部１０の側面には、ボリュームダイヤル１６、ヘッドホン端子１７、ＡＶ端子１８、電源端子１９、及び、コネクタ２２、が設けられる。さらに、図３に示すように、胴部１０の底面には、ハードウエアをリセットするリセットスイッチ２５、電源スイッチ２４、スピーカ部１１、電池ボックス２６、及び、カートリッジ挿入口２７、が設けられる。このカートリッジ挿入口２７の底部には、カートリッジソケット２３が設けられる。
【００５４】
カートリッジソケット２３には、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）を内蔵した図１のメモリカートリッジ２９が装着される。また、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ａｎｄ  ｐｒｏｇｒａｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）を内蔵したメモリカートリッジ２９を装着して使用することもできる。なお、メモリカートリッジ２９に内蔵されるメモリは、これらに限定されるものではない。
【００５５】
図１に戻って、自動演奏装置本体１のネック部２０の表面には、発音する楽音にビブラートを付加するためのビブラートスイッチ１２ｅが設けられる。また、テレビジョンモニタ８０には、その前面にスクリーン８２が設けられ、スクリーン８２の下部にＡＶ端子８１が設けられる。
【００５６】
そして、自動演奏装置本体１とテレビジョンモニタ８０とは、ＡＶケーブル６０により接続される。具体的には、自動演奏装置本体１のＡＶ端子１８とテレビジョンモニタ８０のＡＶ端子８１とが、ＡＶケーブル６０により接続される。また、自動演奏装置本体１には、ＡＣアダプタ５０により、電源端子１９を介して、直流電源電圧が与えられる。ただし、ＡＣアダプタ５０に代えて、電池（図示せず）により、直流電源電圧を与えることもできる。また、自動演奏装置本体１に、ヘッドホン７０を接続して使用することもできる。この場合、ヘッドホン７０は、ヘッドホン端子１７に接続される。
【００５７】
再び図２（ａ）（ｂ）を参照して、ガイド３１とガイド３２とは、被摺動鞍部３３を挟むように設けられる。ガイド３１，３２は、三角柱状に形成され、平面視において、対向するそれぞれの頂部は丸みを帯びている。被摺動鞍部３３は、断面視において、中央付近が高く、両側が低くなっている（山状）。
【００５８】
操作者は、そのような被摺動鞍部３３に摺動操作部材４０を接触させた状態で摺り動かし、自動演奏装置による自動演奏を制御する。つまり、操作者は、摺動操作部材４０を操作してトリガを発生させる。すると、トリガが発生する度に、楽曲の一音一音が発音される。トリガは、摺動操作部材４０の自動演奏装置本体１に対する相対的な速さ（摺動速さ）が、予め定められた閾値より大きくなり、かつ、摺動操作部材４０の摺動方向が変化した場合に発生する。また、摺動操作部材４０の摺動速さに応じて、楽音の音量が制御される。
【００５９】
このようなトリガを発生させるための道具である摺動操作部材４０の動きの自由度について説明する。図４は、操作者が図１の演奏操作部材４０を動かし得る範囲の説明図である。図４は、図２（ａ）に対応しており、ガイド３１，３２を平面視したものである。ここで、ＸＹＺの３次元座標を考える。なお、Ｚ軸は、紙面に垂直な方向とする。
【００６０】
操作者は、摺動操作部材４０を被摺動鞍部３３に接触させた状態で、ＸＹ平面に平行に摺り動かすことができる。また、操作者は、Ｘ軸に対して最大で角度θ１だけ、摺動操作部材４０をＺ軸の周りに回転させることができる。この角度θ１は、ガイド３１，３２の頂角θ２により規定される。なお、操作者は、ＸＹ平面に平行に摺動操作部材４０を摺り動かしながら、摺動操作部材４０をＺ軸の周りに回転させることもできるし、その逆も可能である。
【００６１】
図５は、図２（ａ）に示す被摺動鞍部３３のＡ−Ａ断面図（内部構造を省略）である。操作者は、摺動操作部材４０を被摺動鞍部３３の頂部に接触させた状態で、ＺＸ平面（図４と同じ３次元座標）に平行に摺動させることができる。また、操作者は、被摺動鞍部３３の頂部を支点として、摺動操作部材４０をＹ軸の周りに回転させることができる。ただし、回転角度は、被摺動鞍部３３の頂角の大きさにより制限される。なお、操作者は、ＺＸ平面に平行に摺動操作部材４０を摺動させながら、被摺動鞍部３３の頂部を支点として回転させることもできるし、その逆も可能である。
【００６２】
図６（ａ）は、図１の摺動操作部材４０の側面図、図６（ｂ）は、その底面図である。図６（ｂ）に示すように、摺動操作部材４０の底面４１には、反射パターン４３が形成される。この反射パターン４３は、交互に形成される光反射部４５と光吸収部４４とからなる。光反射部４５は受けた光を反射し、光吸収部４４は、受けた光を吸収する。ただし、光反射部４５は受けた光の全てを反射するものではなく、光吸収部４４は、受けた光の全てを吸収するものではない。操作者は、この摺動操作部材４０の底面４１を、被摺動鞍部３３に接触した状態で摺り動かす。
【００６３】
図７は、図２（ａ）に示したガイド３１，３２及び被摺動鞍部３３の拡大図である。図７に示すように、被摺動鞍部３３の内部には、フォトトランジスタ３４，３５及び発光ダイオード３６が配置される。フォトトランジスタ３４とフォトトランジスタ３５とは、Ｘ軸方向に並んで配置される。また、発光ダイオード３６は、フォトトランジスタ３４とフォトトランジスタ３５とを結ぶ直線を二分するように、Ｙ軸方向に下ろされた垂線上に設けられる。この発光ダイオード３６は、赤外光を発生する。そして、フォトトランジスタ３４，３５が、発光ダイオード３６が発生する赤外光だけを検知できるように、被摺動鞍部３３は、赤外光だけを通過させる赤外フィルタとしての機能を有している。なお、フォトトランジスタ３４，３５及び発光ダイオード３６は、反射型の光センサを構成する。
【００６４】
また、ガイド３１，３２の頂部には、丸みを持たせている。これは、摺動操作部材４０が接触しても、滑らかに摺動操作部材４０を動かすことができるようにするため、及び、摺動操作部材４０の接触を原因とした、摺動操作部材４０及びガイド３１，３２の劣化を防止するため、である。
【００６５】
図８は、図７の被摺動鞍部３３のＢ−Ｂ断面図である。図８に示すように、被摺動鞍部３３は、断面視において、山状となっており、さらに、その頂部は扁平になっている。頂部を扁平にしたのは、フォトトランジスタ３４，３５及び発光ダイオード３６の頭頂部から、被摺動鞍部３３の頂部までの距離を、この３つの素子でほぼ同じにするためである。こうすることで、フォトトランジスタ３４とフォトトランジスタ３５とで、受光する赤外光の強度を近づけることができる。
【００６６】
図９（ａ）は、図１の摺動操作部材４０の他の例の側面図、図９（ｂ）は、その底面図である。図９（ａ）に示すように、この摺動操作部材４０の側面４２には、反射パターン４３が形成される。操作者は、この摺動操作部材４０の底面４１を、被摺動鞍部３３に接触した状態で摺り動かす。この場合は、フォトトランジスタ３４，３５及び発光ダイオード３６は、被摺動鞍部３３に内蔵されるのではなく、ガイド３１又はガイド３２のいずれか一方に内蔵される。
【００６７】
図１０は、図９（ａ）（ｂ）に示した摺動操作部材４０を使用する場合に用いる反射型の光センサの配置を示す図である。図１０に示すように、ガイド３１の内部に、フォトトランジスタ３４，３５及び発光ダイオード３６が設けられる。フォトトランジスタ３４とフォトトランジスタ３５とは、Ｘ軸方向に並んで配置される。また、発光ダイオード３６は、フォトトランジスタ３４，３５の陰になり図には現れていないが、フォトトランジスタ３４とフォトトランジスタ３５とを結ぶ直線を二分するように、Ｚ軸方向に下ろされた垂線上に設けられる。そして、フォトトランジスタ３４，３５が、発光ダイオード３６が発生する赤外光だけを検知できるように、ガイド３１は、赤外光だけを通過させる赤外フィルタとしての機能を有している。なお、フォトトランジスタ３４，３５及び発光ダイオード３６をガイド３２に設けることもでき、この場合は、反射パターン４３は、摺動操作部材４０の他方の側面に形成される。また、ガイド３１，３２の頂部を扁平にした理由は、図８の被摺動鞍部３３の頂部を扁平にした理由と同じである。
【００６８】
図１１は、図１０の被摺動鞍部３３のＣ−Ｃ断面図である。図１１に示すように、被摺動鞍部３３は、中央付近が高く、両側が低くなっている（山状）。その頂部は丸みを帯びている。これは、図７のガイド３１，３２の頂部に丸みを持たせた理由と同じである。
【００６９】
次に、図１の自動演奏システムによる自動演奏について説明する。操作者は、自動演奏装置本体１とテレビジョンモニタ８０とを、ＡＶケーブル６０により接続する。そして、図３の電源スイッチ２４をオンにする。この電源スイッチ２４は、スライド式のスイッチであり、中央がオフ、一方端がテレビジョンモニタ８０のスピーカ（図示せず）から楽音が出力されるモード（テレビジョンモード）のオン、他方端が胴部１０のスピーカ部１１から楽音が出力されるモード（スピーカモード）のオン、である。なお、ヘッドホン７０及びスピーカ部１１から出力される楽音の音量は、ボリュームダイヤル１６により調節する。さて、電源スイッチ２４がオンされて、テレビジョンモードになると、スクリーン８２に、操作スタイル選択画面が表示される。
【００７０】
図１２は、図１のスクリーン８２に表示される操作スタイル選択画面の例示図である。図１２に示すように、スクリーン８２には、４つの操作スタイルが表示される。操作者は、選択キー１２ａ，１２ｂにより、いずれかの操作スタイルを選択し、決定キー１２ｄを押下する。
【００７１】
ここで、図１２に示した操作スタイルについて簡単に説明する。「ソロ」は、ＢＧＭ（ｂａｃｋｇｒｏｕｎｄ  ｍｕｓｉｃ）及び操作ガイドなしで、操作者が自動演奏装置による自動演奏を制御できるモードである。「ＢＧＭ付き」は、ＢＧＭありで、かつ、操作ガイドなしに、操作者が自動演奏装置による自動演奏を制御できるモードである。「ＢＧＭ、ガイド付き」は、ＢＧＭ及び操作ガイドありで、操作者が自動演奏装置による自動演奏を制御できるモードである。「再生」は、操作者が自動演奏を制御することなく、自動演奏装置本体１が楽曲を再生するモードである。
【００７２】
操作者が操作スタイルを選択すると、次に、楽曲選択画面が、スクリーン８２に表示される。図１３は、図１のスクリーン８２に表示される楽曲選択画面の例示図である。図１３に示すように、この例では、曲Ａ〜曲Ｅの中から希望の曲を選択できる。操作者は、選択キー１２ａ，１２ｂにより曲を選択し、決定キー１２ｄを押下する。なお、表示部１５には、選択した曲の番号が表示される。
【００７３】
操作者が曲を選択し確定すると、演奏を開始できる。「ソロ」、「ＢＧＭ付き」、及び、「ＢＧＭ、ガイド付き」では、操作者が摺動操作部材４０を操作することで、選択した曲の自動演奏を制御できる。
【００７４】
操作者が、「ＢＧＭ、ガイド付き」を選択した場合を例に挙げて、操作者が自動演奏装置による自動演奏を制御するモードについて説明する。図１４は、図１のスクリーン８２に表示される操作ガイド画面の例示図である。図１４に示すように、操作者が、「ＢＧＭ、ガイド付き」を選択した場合は、スクリーン８２には、操作ガイド画面が表示される。具体的には次の通りである。
【００７５】
この操作ガイド画面の上枠の近傍には、操作者が選択した曲名が表示される。この例では、曲名として、曲Ａが表示されている。曲名の下段には、インジケータ１０３が表示される。このインジケータ１０３は、ＢＧＭの進行状況を表す。すなわち、インジケータ１０３を構成する帯状の長方形の長さが、曲Ａ全体の時間的な長さを表す。そして、ＢＧＭの進行に従って、インジケータ１０３の色を特定の色に変化させていくことで、現在発音されているＢＧＭの時間的な位置を表す。
【００７６】
このため、ＢＧＭの発音が進むに従って、インジケータ１０３において、特定の色に変化した部分の面積が増加し、曲Ａの最後には、インジケータ１０３の全てが特定の色に変化する。なお、図１４では、特定の色を斜線で表している。
【００７７】
さらに、インジケータ１０３に重ねて、操作者の現在の操作位置を表す縦棒１０４が表示される。従って、操作者は、適切な操作位置に対して、どの程度ずれて操作しているかを把握できる。つまり、インジケータ１０３において、特定の色に変化した部分の先端（右端）が、現在の適切な操作位置であるため、この先端（右端）の位置と、操作者の現在の操作位置を表す縦棒１０４の位置と、を比較すれば、現在自分がどの程度ずれて操作しているかを把握できる。ここで言う操作位置とは、楽曲全体の時間を表す時間軸上の位置のことである。
【００７８】
また、インジケータ１０３の下段には、操作ガイドとして、音符マークｎ−０、…、ｎ−６、…、が表示される。ここで、音符マークｎ−０、…、ｎ−６、…、を包括的に表現する場合は、音符マークｎと表記する。
【００７９】
この音符マークｎは、スクリーン８２の右端に出現し、ＢＧＭのテンポに従って、左方向に移動し、スクリーンの左端に到達して消滅する。この音符マークｎが、操作指示枠１０１に入った時あるいは操作指示マーク１０２の真上に来たときに、操作者が摺動操作部材４０を操作してトリガを発生させると、自動演奏装置は、ＢＧＭの進行に合った楽音を発生させる。
【００８０】
また、この音符マークｎの間隔は、選択した曲Ａの楽譜での音符の時間軸上の間隔を表している。従って、操作者は、この間隔を見ることで、摺動操作部材４０の操作のタイミングを直感的に把握できる。ここで、摺動操作部材４０の操作のタイミングとは、トリガを発生させるタイミングのことである。
【００８１】
さらに、音符マークｎに付随した発音長指示バー１００は、発音する長さを表している。従って、操作者は、この発音長指示バー１００を見ることで、その発音を持続させる期間を直感的に把握できる。なお、音符マークｎ−１に付随する発音長指示バー１００は、次の音符マークｎ−２まで延びていない。これは、この発音長指示バー１００の終端（右端）に休符があることを示している。
【００８２】
さらに、操作者が摺動操作部材４０を操作して、自動演奏装置が楽音を発生させると、発生させた楽音に対応する音符マークｎ及びその音符マークｎに付随する発音長指示バー１００の色が変化する。これにより、操作者は、自動演奏装置がトリガに応じて現在どの音符マークｎに対応した楽音を発生しているかを直感的に知ることができる。
【００８３】
さらに、スクリーン８２には、シンクロ値９９が表示される。このシンクロ値９９は、操作者の操作が本来のタイミングからどのくらいずれているかを数値で示す。
【００８４】
次に、自動演奏装置本体１の電気的な構成について説明する。図１５は、図１の自動演奏装置本体１の電気的な構成を示す図である。図１５に示すように、自動演奏装置本体１は、検知部３０、キースイッチ群１２０、ＡＶ端子１８、高速プロセッサ２００、ＲＯＭ３００、及び、バス４００、を含む。キースイッチ群１２０は、決定キー１２ｄ、キャンセルキー１２ｃ、選択キー１２ａ，１２ｂ、及び、ビブラートスイッチ１２ｅ、を含む。
【００８５】
図１６は、図１５のＲＯＭ３００に格納されるプログラム及びデータの概念図である。図１６に示すように、ＲＯＭ３００には、制御プログラム３０１、画像データ３０２、及び、楽曲データ３０５が格納される。画像データ３０２は、オブジェクト画像データ３０３及び背景画像データ３０４を含む。楽曲データ３０５は、楽譜データ３０６及び音源データ３０７を含む。
【００８６】
図１５に戻って、高速プロセッサ２００には、バス４００が接続される。さらに、バス４００には、ＲＯＭ３００が接続される。従って、高速プロセッサ２００は、バス４００を介して、ＲＯＭ３００にアクセスすることができるので、ＲＯＭ３００に格納された制御プログラム３０１をリードして実行でき、また、ＲＯＭ３００に格納された画像データ３０２及び楽曲データ３０５をリードして処理することができる。
【００８７】
ここで、ＲＯＭ３００に格納された制御プログラム３０１、画像データ３０２及び楽曲データ３０５を、メモリカートリッジ２９のＲＯＭ９１に格納して、このメモリカートリッジ２９を、ソケット２３に装着することで、これらのプログラム及びデータを利用するようにすることもできる。メモリカートリッジ２９にＥＥＰＲＯＭが内蔵されていても同様である。このように、書き換えが可能なメモリを用いると、ユーザが、メモリに楽譜データを自由に書き込んで、書き込んだ楽譜データを基に、自動演奏を行うこともできる。
【００８８】
つまり、高速プロセッサ２００は、バス４００を介して、装着されたメモリカートリッジ２９に内蔵されるＲＯＭ９１にアクセスできるので、ＲＯＭ９１に格納された制御プログラム３０１をリードして実行でき、また、ＲＯＭ９１に格納された画像データ３０２及び楽曲データ３０５をリードして処理することができる。
【００８９】
さらに、高速プロセッサ２００は、検知部３０のフォトトランジスタ３４，３５（図７参照）からのパルス信号を受けて、摺動操作部材４０の摺動方向及び摺動速さを求める。さらに、高速プロセッサ２００は、キースイッチ群１２０の各キー１２ａ〜１２ｅからのオン／オフ信号を受けて、各キー１２ａ〜１２ｅにより指示された処理を実行する。
【００９０】
図１７は、図１５の高速プロセッサ２００のブロック図である。図１７に示すように、この高速プロセッサ２００は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２０１、グラフィックプロセッサ２０２、サウンドプロセッサ２０３、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ２０４、第１バス調停回路２０５、第２バス調停回路２０６、内部メモリ２０７、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ  ｔｏ  ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）２０８、入出力制御回路２０９、タイマ回路２１０、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）リフレッシュ制御回路２１１、外部メモリインタフェース回路２１２、クロックドライバ２１３、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路２１４、低電圧検出回路２１５、第１バス２１８、及び、第２バス２１９、を含む。
【００９１】
ＣＰＵ２０１は、メモリ（内部メモリ２０７、ＲＯＭ３００、又は、ＲＯＭ９１）に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ２０１は、第１バス２１８及び第２バス２１９のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００９２】
グラフィックプロセッサ２０２は、第１バス２１８及び第２バス２１９のバスマスタであり、内部メモリ２０７、ＲＯＭ３００、又は、ＲＯＭ９１に格納されたデータを基に、画像信号ＶＤ（本実施の形態ではコンポジット信号）を生成して、ＡＶ端子１８へ出力する。グラフィックプロセッサ２０２は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、グラフィックプロセッサ２０２は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００９３】
サウンドプロセッサ２０３は、第１バス２１８及び第２バス２１９のバスマスタであり、内部メモリ２０７、ＲＯＭ３００、又は、ＲＯＭ９１に格納されたデータを基に、楽音信号ＡＲ，ＡＬを生成して、ＡＶ端子１８へ出力する。サウンドプロセッサ２０３は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、サウンドプロセッサ２０３は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００９４】
ＤＭＡコントローラ２０４は、ＲＯＭ３００又はＲＯＭ９１から、内部メモリ２０７へのデータ転送を司る。また、ＤＭＡコントローラ２０４は、データ転送の完了を通知するために、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。ＤＭＡコントローラ２０４は、第１バス２１８及び第２バス２１９のバスマスタである。ＤＭＡコントローラ２０４は、第１バス２１８を通じてＣＰＵ２０１により制御される。
【００９５】
内部メモリ２０７は、マスクＲＯＭ、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、及び、ＤＲＡＭのうち、必要なものを備える。バッテリによるＳＲＡＭのデータ保持が必要とされる場合、バッテリ２１７が必要となる。ＤＲＡＭが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【００９６】
第１バス調停回路２０５は、第１バス２１８の各バスマスタからの第１バス使用要求信号を受け付け、調停を行い、各バスマスタへの第１バス使用許可信号を発行する。各バスマスタは、第１バス使用許可信号を受領することによって第１バス２１８に対するアクセスが許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図１７では、第１バス調停信号２２２として示されている。
【００９７】
第２バス調停回路２０６は、第２バス２１９の各バスマスタからの第２バス使用要求信号を受け付け、調停を行い、各バスマスタへの第２バス使用許可信号を発行する。各バスマスタは、第２バス使用許可信号を受領することによって第２バス２１９に対するアクセスが許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図１７では、第２バス調停信号２２３として示されている。
【００９８】
入出力制御回路２０９は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第１バス２１８を介して、ＣＰＵ２０１からリード／ライトされる。なお、入出力信号は、プログラマブルな入出力ポートを介して入出力される。また、入出力制御回路２０９は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００９９】
上述した検知部３０からのパルス信号Ａ，Ｂ，ａ、及び、キースイッチ群１２０の各キー１２ａ〜１２ｅからのオン／オフ信号は、それぞれ、例えば入出力ポートＩＯ０〜ＩＯ７を介して、入出力制御回路２０９に入力される。
【０１００】
タイマ回路２１０は、設定された時間間隔に基づき、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。時間間隔等の設定は、第１バス２１８を介してＣＰＵ２０１によって行われる。
【０１０１】
ＡＤＣ２０８は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス２１８を介してＣＰＵ２０１によってリードされる。また、ＡＤＣ２０８は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【０１０２】
ＰＬＬ回路２１４は、水晶振動子２１６より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【０１０３】
クロックドライバ２１３は、ＰＬＬ回路２１４より受け取った高周波クロック信号を、各ブロックへクロック信号２２５を供給するのに十分な信号強度へ増幅する。
【０１０４】
低電圧検出回路２１５は、電源電圧Ｖｃｃを監視し、電源電圧Ｖｃｃが一定電圧以下のときに、ＰＬＬ回路２１４のリセット信号２２６、その他のシステム全体のリセット信号２２７を発行する。また、内部メモリ２０７がＳＲＡＭで構成されており、かつ、ＳＲＡＭのバッテリ２１７によるデータ保持が要求される場合、電源電圧Ｖｃｃが一定電圧以下のときに、バッテリバックアップ制御信号２２４を発行する機能を有する。
【０１０５】
外部メモリインタフェース回路２１２は、第２バス２１９を外部バス４００に接続するための機能、及び、第２バス２１９のサイクル終了信号２２８を発行することにより、第２バスのバスサイクル長を制御する機能、を有する。
【０１０６】
ＤＲＡＭリフレッシュ制御回路２１１は、一定期間毎に第１バス２１８の使用権を無条件に獲得し、ＤＲＡＭのリフレッシュ動作を行う。なお、ＤＲＡＭリフレッシュ制御回路２１１は、内部メモリ２０７がＤＲＡＭを含む場合に設けられる。
【０１０７】
次に、摺動操作部材４０の摺動速さ及び摺動方向を求める方法を詳細に説明する。図１８は、図１５の検知部３０のフォトトランジスタ３４，３５の配置と、摺動操作部材４０の反射パターン４３と、の関係を示す図である。図１８に示すように、摺動操作部材４０の反射パターン４３において、光反射部４５の幅及び光吸収部４４の幅の合計距離をＬとする。この場合、フォトトランジスタ３４とフォトトランジスタ３５とを、Ｌ／４だけ離して配置する。
【０１０８】
フォトトランジスタ３４，３５は、発光ダイオード３６により発光され、反射パターン４３で反射された赤外光を受光する。反射パターン４３は、光反射部４５及び光吸収部４４を交互に配置して形成されるため、摺動操作部材４０が操作されると、フォトトランジスタ３４，３５には、間欠的に赤外光が入射することになる。従って、摺動操作部材４０が操作されると、フォトトランジスタ３４，３５は、摺動操作部材４０の摺動速さに応じた周波数のパルス信号を出力する。つまり、摺動操作部材４０の摺動速さが大きいほど、フォトトランジスタ３４，３５が出力するパルス信号の周波数は高くなる。一方、摺動速さが小さいほど、フォトトランジスタ３４，３５が出力するパルス信号の周波数は低くなる。
【０１０９】
フォトトランジスタ３４とフォトトランジスタ３５とは、Ｌ／４だけ離して配置されているため、フォトトランジスタ３４が出力するパルス信号とフォトトランジスタ３５が出力するパルス信号との位相差は、摺動操作部材４０の摺動方向によって、（９０度）あるいは（−９０度）になる。この点を詳細に説明する。
【０１１０】
図１９（ａ）は、図５のＸ軸の正方向に摺動操作部材４０を移動させたときの、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂを示す図、図１９（ｂ）は、Ｘ軸の負方向に摺動操作部材４０を移動させたときの、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂを示す図である。なお、図１９（ａ）（ｂ）においては、説明の便宜のため、摺動操作部材４０が一定の速さで操作された場合のパルス信号を示している。
【０１１１】
図１９（ａ）（ｂ）に示すように、フォトトランジスタ３４が出力するパルス信号Ａとフォトトランジスタ３５が出力するパルス信号Ｂとの位相差は、それぞれ（９０度）及び（−９０度）になっている。そこで、摺動操作部材４０がＸ軸の正方向に操作された場合と負方向に操作された場合とでは、パルス信号Ａ，Ｂの状態遷移の方向が異なる。この点を詳しく説明する。
【０１１２】
図２０は、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの状態遷移を示す図である。摺動操作部材４０がＸ軸の正方向に操作される場合は（図１９（ａ）に対応）、図２０に示すように、パルス信号Ａ，Ｂの状態は、時計回りに遷移する。一方、摺動操作部材４０がＸ軸の負方向に操作される場合は（図１９（ｂ）に対応）、図２０に示すように、パルス信号Ａ，Ｂの状態は、半時計回りに遷移する。
【０１１３】
このような状態遷移を検知することで、摺動操作部材４０の摺動方向を求めることができる。つまり、パルス信号Ａ，Ｂの状態が、時計回りに遷移する場合は、摺動操作部材４０が正方向に動いていることを意味し、パルス信号Ａ，Ｂの状態が、半時計回りに遷移する場合は、摺動操作部材４０が負方向に動いていることを意味する。この状態遷移の検出には、図１７の入出力制御回路２０９に含まれるカウンタ２９０が利用される。
【０１１４】
図２１は、図１７の入出力制御回路２０９の一部を示すブロック図である。図２１に示すように、入出力制御回路２０９は、カウンタ２９０及びエッジ検出回路２９３を含む。カウンタ２９０は、遷移検出回路２９１及び速度レジスタ２９２を含む。
【０１１５】
遷移検出回路２９１は、検知部３０のフォトトランジスタ３４，３５から入力されるパルス信号Ａ，Ｂの状態遷移を検知し、遷移回数をカウントする。そして、遷移検出回路２９１は、カウント値を速度レジスタ２９２に格納する。
【０１１６】
より詳細には、遷移検出回路２９１は、速度レジスタ２９２の値を取得し、状態遷移の方向に応じて、その値をインクリメントあるいはデクリメントし、その結果を速度レジスタ２９２に格納する。ここで、遷移検出回路２９１は、図２０に示す時計回りの状態遷移を検知した場合は（図１９（ａ）に対応）、インクリメントを実行する。一方、遷移検出回路２９１は、半時計回りの状態遷移を検知した場合は（図１９（ｂ）に対応）、デクリメントを実行する。
【０１１７】
図１９（ａ）の例では、パルス信号Ａ，Ｂの状態遷移の方向は時計回りであるため、遷移検知回路２９１は、状態遷移を検知する度に、１、２、…、とアップカウントを行い、速度レジスタ２９２にカウント値を格納する。図１９（ｂ）の例では、パルス信号Ａ，Ｂの状態遷移の方向は半時計回りであるため、遷移検知回路２９１は、状態遷移を検知する度に、−１、−２、…、とダウンカウントを行い、速度レジスタ２９２にカウント値を格納する。
【０１１８】
従って、速度レジスタ２９２に格納されたカウント値の符号により、状態遷移の方向が分かり、それにより、摺動操作部材４０の摺動方向を知ることができる。
【０１１９】
さらに、所定時間（例えば、１フレーム）当たりの速度レジスタ２９２のカウント値は、摺動操作部材４０の摺動速度ｖ０を表す。この場合、速度レジスタ２９２のカウント値ｖ０の移動平均（単に、「平均」と呼ぶこともある。）を、摺動速速度ｖ１とする。このようにして、摺動操作部材４０の摺動速さ｜ｖ１｜（＝Ｖ１）を知ることができるが、次のようにして、摺動操作部材４０の摺動速さを知ることもできる。
【０１２０】
図２２は、摺動操作部材４０の摺動速さを知るための他の方法の説明図である。図２２に示すように、入出力制御回路２０９のエッジ検出回路２９３は、フォトトランジスタ３４が出力するパルス信号ａの立ち下がりエッジを検知して、割込み要求信号を発生する。ＣＰＵ２０１は、割込み要求信号が与えられると、タイマ回路２１０からタイマ値を読み込む。そして、ＣＰＵ２０１は、今回のタイマ値と前回のタイマ値との差を求めて、パルス信号ａの一周期の時間（パルス周期）を取得する。このように、ＣＰＵ２０１は、割込み要求信号に応答して、タイマ値を読み込み、今回と前回のタイマ値の差を算出して、パルス周期ｔ０、ｔ１、ｔ２、ｔ３、…を取得する。そして、ＣＰＵ２０１は、パルス周期の移動平均（Ｎ周期分：Ｎは２以上の整数）を求める。その移動平均の逆数が、摺動操作部材４０の摺動速さＶ２である。例えば、Ｎ＝４とし、今回、前回、前々回、３回前のパルス周期がそれぞれ、ｔ３、ｔ２、ｔ１、ｔ０であるとすると、Ｖ２＝４／（ｔ０＋ｔ１＋ｔ２＋ｔ３）、である。ここで、Ｎを、サンプル数と呼ぶこともある。
【０１２１】
自動演奏装置本体１に内蔵される図１５の検知部３０について説明する。図２３は、自動演奏装置本体１に内蔵される検知部３０の回路図である。図２３に示すように、この検知部３０は、発光ダイオード３６、フォトトランジスタ３４，３５、トランジスタ３７，３８、及び、抵抗素子５１〜５７、を含む。
【０１２２】
抵抗素子５７の一方端は、電源Ｖｃｃに接続され、他方端は、発光ダイオード３６のアノードに接続される。発光ダイオード３６のカソードは接地される。フォトトランジスタ３４，３５のコレクタは、電源Ｖｃｃに接続される。
【０１２３】
トランジスタ３８のベース、抵抗素子５５の一方端、及び、フォトトランジスタ３４のエミッタは、抵抗素子５２の一方端に接続される。抵抗素子５２の他方端は、接地される。トランジスタ３８のコレクタ、及び、抵抗素子５５の他方端は、抵抗素子５６の一方端に接続される。抵抗素子５６の他方端は電源Ｖｃｃに接続される。トランジスタ３８のエミッタは接地される。
【０１２４】
トランジスタ３７のベース、抵抗素子５３の一方端、及び、フォトトランジスタ３５のエミッタは、抵抗素子５１の一方端に接続される。抵抗素子５１の他方端は、接地される。トランジスタ３７のコレクタ、及び、抵抗素子５３の他方端は、抵抗素子５４の一方端に接続される。抵抗素子５４の他方端は電源Ｖｃｃに接続される。トランジスタ３７のエミッタは接地される。
【０１２５】
フォトトランジスタ３４が赤外光を受光すると、トランジスタ３８がオンして、トランジスタ３８のコレクタ端子がローレベルになる。一方、フォトトランジスタ３４が赤外光を受光していないときは、トランジスタ３８はオフであり、プルアップ抵抗５６によって、トランジスタ３８のコレクタ端子のハイレベルが維持される。従って、フォトトランジスタ３８が間欠的な赤外光を受光すると、検知部３０から、パルス信号（電気信号）Ａ，ａが出力される。同様に、フォトトランジスタ３５が、間欠的な赤外光を受光すると、検知部３０から、パルス信号（電気信号）Ｂが出力される。
【０１２６】
ここで、パルス信号ａは、パルス信号Ａを分岐したものであり、両者は同一の信号である。パルス信号Ａ，Ｂから求めた、摺動操作部材４０の摺動方向及び摺動速さＶ１は、トリガ処理に用いられる。パルス信号ａから求めた、摺動操作部材４０の摺動速さＶ２は、音量制御に用いられる。
【０１２７】
ここで、摺動速さＶ１ではなく、摺動速さＶ２を音量制御のために利用した理由を説明する。摺動速さＶ２は、パルス周期を測定して求めたものであるため、摺動速さＶ１に比べて、摺動操作部材４０の動きをより詳細に音量制御に反映できるからである。
【０１２８】
図１６に戻って、楽曲データ３０５の詳細を説明する。ＲＯＭ３００に格納されている音源データ３０７は、波形データ及びエンベロープデータを含む。楽譜データ３０６は、ＢＧＭ用の楽譜データ、音符マーク登録用の楽譜データ、及び、トリガによる発音用の楽譜データを含む。
【０１２９】
図２４は、図１６のＲＯＭ３００に格納されているＢＧＭ用の楽譜データの説明図である。図２４に示すように、ＢＧＭ用の楽譜データは、コマンド、ノートナンバ／待機時間情報、楽器指定情報、ベロシティ情報、及び、ゲートタイム情報、が時系列に配置されたデータである。ノートオンは、音を出すコマンド、待機は、待機時間を設定するコマンド、である。待機時間は、現在のコマンドを読み出してから次のコマンドを読み出すまでの時間（ある音符から次の音符までの時間）である。ノートナンバは、ピッチ（音の高さ）を指定する情報である。待機時間情報は、待機時間を指定する情報である。楽器指定情報は、どの楽器の音色を使うかを指定する情報である。ベロシティは、音の強弱の情報、つまり、音量の情報、である。ゲートタイムは、音が発音される長さである。
【０１３０】
図２５は、図１６のＲＯＭ３００に格納されている音符マーク登録用の楽譜データの説明図である。図２５に示すように、音符マーク登録用の楽譜データは、コマンド、ノートナンバ／待機時間情報、及び、楽器指定情報、が時系列に配置されたデータである。楽器指定情報は、音楽を奏でる楽器（音色）を示す番号ではなく、言わば、音符マークｎを出現させる楽器を示す番号である。このような楽器指定情報により、この楽譜データが、音楽を奏でる楽譜データではなく、音符マークｎを出現させる楽譜データであることが示される。従って、ノートオンは、音を出すコマンドではなく、音符マークｎを出現させるコマンドである。具体的には、対応するノートナンバ「６９」により、音符マークｎを出現させることが指示される。
【０１３１】
また、ノートオフは、音を止めるコマンドではなく、発音長指示バー１００の表示の停止を指示するコマンドである。具体的には、対応するノートナンバ「５５」により、発音長指示バー１００の表示の停止が指示される。また、開始コードは、音符マーク登録用の楽譜データの先頭に配置するコードである。そして、対応するノートナンバ「１０８」は、音符マーク登録用の楽譜データの先頭を示す情報である。こうすることで、ＢＧＭ用の楽譜データと音符マーク登録用の楽譜データとの先頭を揃える。また、終了コードは、音符マーク登録用の楽譜データの末尾に配置するコードである。そして、ノートナンバ「８４」は、音楽終了を示す情報である。
【０１３２】
図２６は、図１６のＲＯＭ３００に格納されているトリガによる発音用の楽譜データの説明図である。図２６に示すように、トリガによる発音用の楽譜データは、ノートナンバ及び楽器指定情報が時系列に配置されたデータである。ノートナンバは、ピッチ（音の高さ）を指定する情報である。楽器指定情報は、どの楽器の音色を使うかを指定する情報である。本実施の形態では、一例として、バイオリンの音色を指定している。なお、発音開始、発音長および音量は、操作部材４０の操作によるので、この楽譜データには、待機コマンド及び待機時間情報、並びに、ベロシティ情報及びゲートタイム情報は含まれない。
【０１３３】
ここで、発音処理で使用するピッチ制御情報について説明しておく。ピッチ制御情報は、波形データ及びエンベロープデータを読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ２０３は、波形データのためのピッチ制御情報を一定期間毎に読み出して累算する。また、サウンドプロセッサ２０３は、エンベロープデータのためのピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ２０３は、この累算結果を加工して、波形データ及びエンベロープデータのアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、周波数が低くなる。このようにして、サウンドプロセッサ２０３は、波形データおよびエンベロープデータのピッチ変換を行う。なお、波形データのピッチ制御情報を波形ピッチ制御情報と呼び、エンベロープデータのピッチ制御情報をエンベロープピッチ制御情報と呼ぶ。
【０１３４】
次に、画像データ３０２の詳細を説明する。スクリーン８２には、背景画像及び音符マークｎ等のオブジェクト画像が表示される。背景画像は、例えば、横２５６画素×縦２５６画素の画素集合であり、このうちスクリーン８２には、横２５６画素×縦２２４画素が映し出される。オブジェクト画像は、単数あるいは複数のスプライトにより構成される。このスプライトは、矩形の画素集合である。例えば、スプライトは、横８画素×縦８画素や横１６画素×縦１６画素からなる。なお、スプライトは、スクリーン８２の任意の位置に配置することができる。
【０１３５】
図２７は、オブジェクト画像を構成するスプライトの説明図である。図２７に示すように、例えば、あるオブジェクト画像が、４個のスプライトｓｐ０〜ｓｐ３から構成されるとする。オブジェクト画像の表示位置の指定は、左上のスプライトｓｐ０の中心の水平座標ｘおよび垂直座標ｙを指定することにより行う。スプライトｓｐ０〜ｓｐ３のサイズが分かるので、各スプライトｓｐ０〜ｓｐ３の表示位置は容易に計算できる。
【０１３６】
ＲＯＭ３００に格納されるオブジェクト画像データ３０３には、各オブジェクトを構成する各スプライトのサイズおよび画素パターン指定情報、並びに、各オブジェクトの、サイズ、デプス値、カラーパレット情報、水平座標ｘ、および垂直座標ｙが含まれる。なお、オブジェクトを構成する各スプライトにおいて、デプス値およびカラーパレット情報は共通であり、そのオブジェクトのデプス値およびカラーパレット情報により指定される。
【０１３７】
ここで、デプス値は、画素の奥行きを表す情報であり、同じ位置に、複数の画素が存在することとなる場合、最も大きなデプス値を持つ画素だけが表示されることになる。また、画素パターン指定情報は、スプライトを構成する各画素の色を指定する情報である。カラーパレット情報は、カラーパレットを指定する情報である。カラーパレットは、複数の色情報からなる。１つの色情報は、色相（Ｈｕｅ）、彩度（Ｓａｔｕｒａｔｉｏｎ）、および明度（Ｂｒｉｇｈｔｎｅｓｓ）の情報からなる。例えば、あるスプライトに対するカラーパレット情報が指定するカラーパレットが、１６色からなるとすると、そのスプライトを構成する各画素の色は、画素パターン指定情報により、１６色の中から指定される。
【０１３８】
次に、図１の自動演奏装置による処理の流れを説明する。図２８は、自動演奏装置の全体処理の流れの一例を示すフローチャートである。図２８に示すように、ステップＳ１にて、ＣＰＵ２０１は、システムの初期設定を実行する。ステップＳ２にて、ＣＰＵ２０１は、自動演奏の状態をチェックする。ステップＳ３にて、ＣＰＵ２０１は、自動演奏が終了したかどうかを判断する。ＣＰＵ２０１は、自動演奏が終了した場合（後述の音楽終了フラグがオン）は処理を終了し、自動演奏が終了していない場合は、ステップＳ４に進む。
【０１３９】
ステップＳ４にて、ＣＰＵ２０１は、摺動操作部材４０の摺動方向及び摺動速さＶ０を計測して、それらが、トリガ発生条件を満足している場合に、トリガを発生させる（発音フラグオン）。ステップＳ５にて、ＣＰＵ２０１は、トリガに応じて発音する楽音の音量を制御すべく、摺動操作部材４０の摺動速さＶ２に応じて、エンベロープ係数を算出する。
【０１４０】
ステップＳ６にて、ＣＰＵ２０１は、トリガによる発音用の楽譜データポインタに従って、波形データのアタック部及びループ部の先頭アドレスを内部メモリ２０７に格納するとともに、算出されたエンベロープ係数を加味したエンベロープデータを、内部メモリ２０７に格納する。なお、波形データのアタック部及びループ部やエンベロープデータは、トリガ発音のための楽音関連情報である。ステップＳ７にて、ＣＰＵ２０１は、音符マークｎ等のオブジェクトの表示に必要なオブジェクト関連情報を内部メモリ２０７に格納する。
【０１４１】
ステップＳ８では、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。テレビジョンモニタ８０の表示画面の更新は、垂直ブランキング期間に行われる。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。つまり、ステップＳ８でビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ８に戻る。一方、ステップＳ８でビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ９に進む。
【０１４２】
ステップＳ９にて、ＣＰＵ２０１は、オブジェクト関連情報をグラフィックプロセッサ２０２に与えるとともに、グラフィックプロセッサ２０２は、内部メモリ２０７から背景関連情報を取得する。グラフィックプロセッサ２０２は、オブジェクト及び背景を表す画像信号ＶＤを生成して（本実施の形態では、コンポジット信号が生成される。）、テレビジョンモニタ８０に与える。
【０１４３】
ステップＳ１０にて、ＣＰＵ２０１は、ＢＧＭ用の楽譜データに従って、ＢＧＭ発音のための楽音関連情報を内部メモリ２０７に格納する。サウンドプロセッサ２０３は、内部メモリ２０７から、トリガ発音（ステップＳ６参照）およびＢＧＭ発音のための楽音関連情報を取得して、これらの情報を基に楽音信号ＡＬ，ＡＲを生成し、テレビジョンモニタ８０に与える。また、ステップＳ１０では、ＣＰＵ２０１は、音符マーク登録用の楽譜データに従って、音符マークｎを登録する。
【０１４４】
図２９は、図２８のステップＳ１の初期設定処理の流れの一例を示すフローチャートである。図２９に示すように、ステップＳ３０にて、ＣＰＵ２０１は、音符マーク登録用の楽譜データポインタを初期化する。ステップＳ３１にて、ＣＰＵ２０１は、音符マーク登録用の実行待機カウンタを「０」にセットする。ステップＳ３２にて、ＣＰＵ２０１は、ＢＧＭ用の楽譜データポインタを初期化する。ステップＳ３３にて、ＣＰＵ２０１は、ＢＧＭ用の実行待機カウンタを「ｔ」にセットする。ステップＳ３４にて、ＣＰＵ２０１は、トリガによる発音用の楽譜データポインタを初期化する。
【０１４５】
ステップＳ３５にて、ＣＰＵ２０１は、各種カウンタを初期化する。ステップＳ３６にて、ＣＰＵ２０１は、各種フラグを初期化する。ステップＳ３７にて、ＣＰＵ２０１は、背景の表示に必要な背景関連情報及びオブジェクト関連情報をそれぞれ内部メモリ２０７の背景用データ領域およびオブジェクト用データ領域に格納する。
【０１４６】
具体的には、次の通りである。背景画像が、例えば、３２×３２のブロックからなるとする。そして、上記のように、背景画像が、横２５６画素×縦２５６画素からを構成されるとすると、１つのブロックは、横８画素×縦８画素からなる。ＣＰＵ２０１は、このブロックごとに、デプス値及びカラーパレット情報を内部メモリ２０７に格納するとともに、ブロックごとに、画素パターン指定情報の格納位置情報を内部メモリ２０７に格納する。
【０１４７】
また、ＣＰＵ２０１は、表示対象の全オブジェクトのオブジェクト関連情報（オブジェクトの、サイズ、デプス値、カラーパレット情報、画素パターン指定情報の格納位置情報、水平座標および垂直座標）を内部メモリ２０７に格納する。
【０１４８】
ここで、ＢＧＭ用の実行待機カウンタを「ｔ」にセットし（ステップＳ３３）、音符マークｎの登録用の実行待機カウンタを「０」にセットした（ステップＳ３１）理由は次の通りである。
【０１４９】
図１４に示されるように、音符マークｎが右端に出現してから、操作指示枠１０１に入るまでに一定時間を要することから、この時間誤差を解消するために、一定時間だけ早く音符マークｎを出現させる必要があるからである。つまり、音符マーク登録用では、ＢＧＭ用に比べて、一定時間（カウント値ｔ）だけ早く楽譜データを読み出すようにしてある。なお、音符マークの登録用の実行待機カウンタ、及び、ＢＧＭ用の実行待機カウンタは、カウントダウンを行うものである。
【０１５０】
図３０は、図２８のステップＳ４のトリガ処理の流れの一例を示すフローチャートである。図３０に示すように、ステップＳ５０にて、ＣＰＵ２０１は、速度レジスタ２９２を参照して、カウント値つまり摺動速度ｖ０を取得し、速度レジスタ２９２をリセットする。ステップＳ５１にて、ＣＰＵ２０１は、摺動速度ｖ０の符号が正であれば、ステップＳ５３に進み、負であれば、ステップＳ５２に進む。ステップＳ５３では、ＣＰＵ２０１は、変数Ｖ０（摺動速さ）に、摺動速度ｖ０の値を代入する。一方、ステップＳ５２では、ＣＰＵ２０１は、負の値である摺動速度ｖ０の絶対値｜ｖ０｜を求め、これを変数Ｖ０（摺動速さ）に代入する。
【０１５１】
ステップＳ５４にて、ＣＰＵ２０１は、摺動操作部材４０の摺動速さＶ０が、予め定められた最大値ＭＡＸを超えているかどうかを判断する。摺動速さＶ０が、予め定められた最大値ＭＡＸを超えていれば、ステップＳ５５に進み、摺動速さＶ０に最大値ＭＡＸを代入して、ステップＳ５６に進む。一方、最大値ＭＡＸ以下であれば、ＣＰＵ２０１は、そのままステップＳ５６に進む。
【０１５２】
ステップＳ５６にて、ＣＰＵ２０１は、摺動速さＶ０が予め定められた閾値ＴｈＶを超えているかどうか判断する。摺動速さＶ０が予め定められた閾値ＴｈＶを超えていれば、ステップＳ５７に進み、閾値ＴｈＶ以下であれば、ステップＳ６３に進む。
【０１５３】
ステップＳ５７にて、ＣＰＵ２０１は、摺動速度ｖ０及び方向フラグを参照して、摺動操作部材４０の摺動方向が変化したかどうかを判断する。この方向フラグは、摺動操作部材４０の摺動方向を表すフラグである。例えば、パルス信号Ａ，Ｂが図２０の時計回りに遷移した場合に「０１」を保持し（図１９（ａ）に対応）、反時計回りに遷移した場合に「１０」を保持し（図１９（ｂ）に対応）、リセット値を「００」とする。一方、摺動操作部材４０の現在の摺動方向は、ステップＳ５０で取得した摺動速度ｖ０の符号により知ることができる。従って、摺動速度ｖ０の符号が正であり、かつ、方向フラグが「１０」である場合や、摺動速度ｖ０の符号が負であり、かつ、方向フラグが「０１」である場合は、摺動方向が変化したことになる。なお、自動演奏開始直後では、方向フラグが「００」に初期化された状態なので、摺動速度ｖ０が「０」でないときは（つまり、正あるいは負）、摺動方向の変化が検知される。
【０１５４】
そして、ステップＳ５８では、ＣＰＵ２０１は、方向フラグを更新する。ステップＳ５９にて、ＣＰＵ２０１は、発音フラグをオンにする。つまり、トリガ発生の条件（摺動速さＶ０が閾値ＴｈＶを超えたこと、かつ、摺動方向が変化したこと）を満たしているので、ＣＰＵ２０１は、トリガを発生する（発音フラグオン）。
【０１５５】
ステップＳ６０にて、ＣＰＵ２０１は、発音中フラグをチェックする。発音中フラグは、例えば、発音中でない場合は「００」がセットされ、チャンネルＣＨ０，ＣＨ１が発音中であれば「０１」がセットされ、チャンネルＣＨ２，ＣＨ３が発音中であれば「１０」がセットされる。このうち、「００」がオフを意味し、「０１」や「１０」はオンを意味する。ステップＳ６０では、発音中フラグがオフであればステップＳ６２に進み、オンであればステップＳ６１に進む。ステップＳ６１では、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにする。なぜなら、発音中に新たなトリガが発生したからである。
【０１５６】
ここで、ハードウエアリリースとは、サウンドプロセッサ２０３が消音のためのエンベロープデータを生成して、消音（音の減衰処理）を行うことをいう。なお、ハードウエアリリースの代わりに、ソフトウエアリリースを行うことができる。ソフトウエアリリースとは、ＣＰＵ２０１が、消音のためのエンベロープデータを用意して、これを、サウンドプロセッサ２０３に与えることで、サウンドプロセサ２０３が消音処理（音の減衰処理）を行うことである。
【０１５７】
ステップＳ６２では、ＣＰＵ２０１は、トリガカウンタＣｔｇをインクリメントし、メインルーチンにリターンする。
【０１５８】
一方、ステップＳ６３では、ＣＰＵ２０１は、摺動操作部材４０の摺動速さＶ０が「０」かどうかを判断する。摺動速さＶ０が「０」ならば、ステップＳ６４へ進み、「０」でないならば、ステップＳ６８へ進む。ステップＳ６４にて、ＣＰＵ２０１は、リリースカウンタＣｒｌをインクリメントする。ステップＳ６５にて、ＣＰＵ２０１は、リリースカウンタＣｒｌが一定値ｋになったかどうかを判断する。リリースカウンタＣｒｌが一定値ｋになった場合は、ステップＳ６６に進み、一定値ｋになっていない場合は、メインルーチンにリターンする。ステップＳ６６にて、ＣＰＵ２０１は、リリースカウンタＣｒｌを「０」にリセットする。ステップＳ６７にて、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにする。一方、ステップＳ６８では、ＣＰＵ２０１は、リリースカウンタＣｒｌを「０」にリセットして、メインルーチンにリターンする。
【０１５９】
ここで、ステップＳ６３〜Ｓ６８の処理は、摺動速さＶ０が、連続してｋ回「０」であった場合に、ハードウエアリリースを実行する処理である。例えば、ｋ＝４、である。このような処理は、操作者の意図に反して、摺動操作部材４０が停止したと認識されるのを防止する処理である。ゆっくりと摺動操作部材４０を操作する際、人間の操作なので、ある時に摺動速さＶ０が「０」になる場合もある。しかし、これをもって直ちに摺動操作部材４０の停止と認識したのでは、操作者の意図に反してしまうことになる。このため、複数回連続して摺動速さＶ０が「０」になった場合に、摺動操作部材４０が停止したと認識する。
【０１６０】
図３１は、図２８のステップＳ５の音量制御処理の流れの一例を示すフローチャートである。図３１の例では、ＣＰＵ２０１による処理のサンプル数が「４」であるとする。ステップＳ８０にて、ＣＰＵ２０１は、検知部３０のフォトトランジスタ３４が出力した最新の周期ｔ３と、一定値Ｋと、を比較する。そして、ステップＳ８１では、最新の周期ｔ３が、一定値Ｋを超えている場合は、ステップＳ８４に進み、一定値Ｋ以下の場合は、ステップＳ８２に進む。
【０１６１】
ステップＳ８２では、ＣＰＵ２０１は、４周期分のパルス周期ｔ０〜ｔ３の平均値の逆数を求め、その逆数を摺動速さＶ２とする。ステップＳ８３にて、ＣＰＵ２０１は、摺動速さＶ２に応じたエンベロープ係数を算出する。つまり、ＣＰＵ２０１は、摺動速さＶ２が大きければエンベロープ係数を大きくし、摺動速さＶ２が小さければエンベロープ係数を小さくする。例えば、エンベロープ係数を、Ｖ２／定数、とする。このようにして、摺動速さＶ２の大きさに応じたエンベロープ係数を算出して、摺動速さＶ２が大きければ、音量が大きくなり、摺動速さＶ２が小さければ、音量が小さくなる。しかも、摺動速さＶ２の大きさに応じて、連続的に音量が変化する。
【０１６２】
さて、一方、ステップＳ８４にて、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにする。ここで、ステップＳ８１，Ｓ８４の処理は、最新のパルス周期ｔ３が一定値Ｋより大きかった場合、つまり、最新のパルス周期ｔ３のみに基づく摺動速さ（１／ｔ３）が一定値（１／Ｋ）より小さかった場合に、ハードウエアリリースを実行する処理である。ハードウエアリリースの代わりに、ソフトウエアリリースを行うことができる。
【０１６３】
ここで、ステップＳ８０，Ｓ８１，Ｓ８４の処理は、操作者の意図に沿うように、摺動操作部材４０の停止を認識させる処理である。つまり、摺動操作部材４０を段々と遅く動かしていき、発音を停止させたい場合に、このような操作者の意図に沿って、摺動操作部材４０の停止を認識する処理である。
【０１６４】
図３２は、図２８のステップＳ６の楽音セット処理の流れの一例を示すフローチャートである。図３２に示すように、ステップＳ１００にて、ＣＰＵ２０１は、発音フラグのオン／オフ（トリガ発生の有無）を判断して、発音フラグがオフであれば、ステップＳ１０７に進み、発音フラグがオン（トリガ発生）であれば、ステップＳ１０１に進む。ステップＳ１０１にて、ＣＰＵ２０１は、トリガ発音用の楽譜データから、楽譜データポインタが指す音符情報（ノートナンバ及び楽器指定情報）を読み込む。ステップＳ１０２にて、ＣＰＵ２０１は、読み込んだノートナンバに応じた波形ピッチ制御情報を内部メモリ２０７の楽音用データ領域に格納する。この場合、ノートナンバ（ピッチ情報）と波形ピッチ制御情報とを関連付けたテーブルが用意されており、このテーブルを利用する。
【０１６５】
ステップＳ１０３にて、ＣＰＵ２０１は、読み込んだ音符情報に応じた波形データのアタック部の先頭アドレスを内部メモリ２０７の楽音用データ領域に格納する。ステップＳ１０４にて、ＣＰＵ２０１は、読み込んだ音符情報に応じた波形データのループ部の先頭アドレスを内部メモリ２０７の楽音用データ領域に格納する。ステップＳ１０５にて、ＣＰＵ２０１は、トリガ発音用の楽譜データポインタをインクリメントする。
【０１６６】
ステップＳ１０６にて、ＣＰＵ２０１は、発音フラグをチェックして、オンであればステップＳ１０９に進み、オフであればステップＳ１０７に進む。
【０１６７】
ステップＳ１０７にて、ＣＰＵ２０１は、発音中フラグがオンかどうかを判断して、オフであれば、メインルーチンにリターンし、オンであれば、ステップＳ１０８に進む。ステップＳ１０８にて、ＣＰＵ２０１は、ハードウエアリリースフラグの状態をチェックし、オンであれば、メインルーチンにリターンする。一方、ハードウエアリリースフラグがオフであれば、ステップＳ１０９に進む。
【０１６８】
ステップＳ１０９にて、ＣＰＵ２０１は、ＲＯＭ３００に格納された圧縮されたエンベロープデータを読み出して、内部メモリ２０７に展開する。さらに、ＣＰＵ２０１は、エンベロープピッチ制御情報を内部メモリ２０７の楽音用データ領域に格納する。なお、ステップＳ１０９では、ステップＳ１０１で読み込んだ音符情報に応じた波形データに対応したエンベロープデータが読み出される。
【０１６９】
ステップＳ１１０にて、ＣＰＵ２０１は、展開したエンベロープデータに、図３１のステップＳ８３で求めたエンベロープ係数を乗算する。ステップＳ１１１にて、ＣＰＵ２０１は、ステップＳ１１０の乗算結果を、新たなエンベロープデータとして、内部メモリ２０７の楽音用データ領域に格納する。このように、摺動速さＶ２に応じたエンベロープ係数を用いて、エンベロープデータを加工することにより、音量を制御する。
【０１７０】
図３３は、図２８のステップＳ７のオブジェクトセット処理の流れの一例を示すフローチャートである。図３３に示すように、ステップＳ１２４にて、ＣＰＵ２０１は、スタートから現在までの時間を表すカウンタＴｓｐをインクリメントする。ステップＳ１２５にて、ＣＰＵ２０１は、トリガの発生に応じて、該当する音符マークｎの色を変更すべく、当該音符マークｎに対するカラーパレット情報を変更する。ステップＳ１２６にて、ＣＰＵ２０１は、発音長指示バー１００の出現を制御する。
【０１７１】
ステップＳ１２７にて、ＣＰＵ２０１は、現在の操作位置を表す縦棒１０４を制御する。具体的には次の通りである。縦棒１０４は、本実施の形態では、例えば、１６画素×１６画素のスプライト１つにより構成されるとする。また、最新のトリガによる発音に対応した音符マークｎを出現させたノートナンバから開始コード（図２５参照）までの時間Ｔｎｓ、開始コードから終了コードまでの時間Ｔｓｅ、および、インジケータ１０３の全長を表す画素数Ｌｉｎ、を用いて、ｘｖｂ＝（Ｔｎｓ／Ｔｓｅ）×Ｌｉｎを算出する。そして、縦棒１０４のｘ座標を（ｘ１＋ｘｖｂ）、ｙ座標をｙ１（定数）とする。ｘ１はインジケータ１０３の左端のｘ座標である。デフォルトとして、ｘ＝ｘ１、ｙ＝ｙ１が設定される。以上のようにして、トリガが発生するたびに、縦棒１０４のｘ座標が更新され、操作者の現在の操作位置が示される。
【０１７２】
ステップＳ１２８では、ＣＰＵ２０１は、インジケータ１０３を制御する。具体的には、次の通りである。インジケータ１０３は、複数のベルトオブジェクトから構成され、本実施の形態では、例えば、このベルトオブジェクトは、１６画素×１６画素のスプライト１つにより構成されるとする。そして、このベルトオブジェクトの種類は、１７種類である。第１は透明のスプライト、第２は長さが１画素のベルトを表すスプライト、第３は長さが２画素のベルトを表すスプライト、…、第１７は長さが１６画素のベルトを表すスプライトである。このように、１画素単位で、ベルトオブジェクトが用意される。インジケータ１０３の水平方向の長さは、例えば、９６画素、つまり、ベルトオブジェクト６個分である。
【０１７３】
ＣＰＵ２０１は、スタートから現在までの時間Ｔｓｐ、楽曲全体の時間Ｔｓｅ、および、インジケータ１０３の全長を表す画素数Ｌｉｎ、を用いて、ｘｉｎ＝（Ｔｓｐ／Ｔｓｅ）／Ｌｉｎを算出する。さらに、ＣＰＵ２０１は、ｘｉｎ／１６の商Ａおよび余りＢを求める。ＣＰＵ２０１は、この商Ａおよび余りＢにより、表示するベルトオブジェクトを６つ選択する。そして、ＣＰＵ２０１は、選択した全ベルトオブジェクトのｘ座標およびｙ座標を設定する。例えば、商Ａ＝２、余りＢ＝４、であれば、第１７ベルトオブジェクト２個、第５ベルトオブジェクト１個、第１ベルトオブジェクト３個、が選択され、それぞれのｘ座標およびｙ座標が設定される。
【０１７４】
ステップＳ１２９では、ＣＰＵ２０１は、シンクロ値９９を制御する。具体的には次の通りである。０〜９までの１０個の数字オブジェクトが用意される。各数字オブジェクトは、１６画素×１６画素のスプライト１つからなる。ＣＰＵ２０１は、最新のトリガによる発音に対応する音符マークｎを出現させたノートナンバから開始コード（図２５参照）までの時間Ｔｎｓ、スタートから現在までの時間Ｔｓｐ、を用いて、ずれＤｉｆ＝｜Ｔｓｐ−Ｔｎｓ｜を算出する。
【０１７５】
そして、ＣＰＵ２０１は、このずれＤｉｆに応じた変動値をテーブル（後述の図３４（ｂ））から取得して、これを、現在のシンクロ値９９に加算する。ＣＰＵ２０１は、この加算結果に応じた数字オブジェクトを選択して、ｘ座標およびｙ座標を設定する。例えば、加算結果が、「８９」である場合は、「０」を表す数字オブジェクトを１個、「８」を表す数字オブジェクトを１個、「９」を表す数字オブジェクトを１個選択して、それぞれのｘ座標およびｙ座標を設定する。この場合、「０」を表す数字オブジェクトの座標は、スクリーン８２の外部に設定される。
【０１７６】
図３４（ａ）は、音符マークｎと、開始コードから音符マークｎまでの時間Ｔｎｓと、を関連付けたテーブルの例示図、図３４（ｂ）は、ずれＤｉｆと、シンクロ値９９の変動値と、を関連付けたテーブルの例示図、である。ＣＰＵ２０１は、最新のトリガによる発音に対応する音符マークｎに関連付けられた時間Ｔｎｓを、図３４（ａ）のテーブルから取得して、上記ずれＤｉｆを計算する。そして、ＣＰＵ２０１は、ずれＤｉｆに応じた変動値を、図３４（ｂ）のテーブルから取得して、現在のシンクロ値９９への上記加算処理を行う。
【０１７７】
さて、ステップＳ１３０では、ＣＰＵ２０１は、座標および個数の双方が変動するオブジェクトの数を、カウンタｃＮ１にセットする。本実施の形態では、座標および個数の双方が変動するオブジェクトは、音符マークｎおよび発音長指示バー１００を構成するバーオブジェクトである。例えば、音符マークｎの数を「４０」、発音長指示バー１００を構成するバーオブジェクトの数を「４０」とする。そうすると、カウンタｃＮ１には、「８０」がセットされる。
【０１７８】
ステップＳ１３１にて、ＣＰＵ２０１は、Ｖｘ＝Ｖｘ＋Ａｘ、Ｖｙ＝Ｖｙ＋Ａｙ、ｘ＝ｘ＋Ｖｘ、ｙ＝ｙ＋Ｖｙ、とする。ここで、Ｖｘはオブジェクトの水平方向の速度、Ａｘはオブジェクトの水平方向の加速度、Ｖｙはオブジェクトの垂直方向の速度、Ａｙはオブジェクトの垂直方向の加速度、ｘはオブジェクトの水平方向の位置座標、ｙはオブジェクトの垂直方向の位置座標、である。
【０１７９】
ここで、本実施の形態では、例えば、音符マークｎは、１６画素×１６画素のスプライト１つにより構成されるとする。また、発音長指示バー１００は、単数あるいは複数のバーオブジェクトから構成され、本実施の形態では、例えば、このバーオブジェクトは、１６画素×１６画素のスプライト１つにより構成されるとする。そして、このバーオブジェクトの種類は、９種類である。第１は透明のスプライト、第２は長さが２画素のバーを表すスプライト、第３は長さが４画素を表すスプライト、…、第９は長さが１６画素のバーを表すスプライトである。このように、２画素単位で、バーオブジェクトが用意される。これは、後述のように、本実施の形態では、音符マークｎおよび発音長指示バー１００の速度を２画素／フレームとしているからである。
【０１８０】
オブジェクトが音符マークｎである場合は、ステップＳ１３１では、後述する音符マーク登録処理で設定された初期速度Ｖｘ０（Ｖｘの初期値）および初期座標ｘ０（ｘの初期値），ｙ０（ｙの初期値）を基に、音符マークｎの座標（ｘ，ｙ）が計算される。なお、音符マークｎでは、Ｖｙ＝０、Ａｘ＝Ａｙ＝０、とする。Ｖｘ０は、楽曲のテンポに応じて決定される。本実施の形態では、例えば、Ｖｘ０＝２画素／フレームとする。また、音符マークｎについては、デフォルトとして、ｘおよびｙには、スクリーン８２外の値が設定されており、Ｖｘ＝Ｖｙ＝０、Ａｘ＝Ａｙ＝０、である。
【０１８１】
オブジェクトが発音長指示バー１００を構成するバーオブジェクトである場合は、ステップＳ１３１では、ステップＳ１２６で設定された初期速度Ｖｘ０（Ｖｘの初期値）および初期座標ｘ０（ｘの初期値），ｙ０（ｙの初期値）を基に、バーオブジェクトの座標（ｘ，ｙ）が計算される。なお、発音長指示バー１００では、Ｖｙ＝０、Ａｘ＝Ａｙ＝０、とする。本実施の形態では、例えば、Ｖｘ０＝２画素／フレームとする（音符マークｎと同じ。）。また、初期座標ｘ０，ｙ０は、音符マークｎの初期座標ｘ０，ｙ０と同じ値である。また、音符マークｎと同様に、デフォルトとして、ｘおよびｙには、スクリーン８２外の値が設定されており、Ｖｘ＝Ｖｙ＝０、Ａｘ＝Ａｙ＝０、である。
【０１８２】
ステップＳ１３２にてＣＰＵ２０１は、カウンタｃＮ１をデクリメントする。ステップＳ１３３にて、ＣＰＵ２０１は、カウンタｃＮ１が「０」より小さいかどうかを判断する。つまり、ＣＰＵ２０１は、座標および個数の双方が変動するオブジェクト全てについて、ステップＳ１３１の座標計算を実行したかどうかを判断する。カウンタｃＮ１が「０」以上の場合は、全オブジェクトの座標計算が終了していないので、ステップＳ１３１に進み、「０」より小さい場合は、全オブジェクトの座標計算が終了しているので、ステップＳ１３４に進む。
【０１８３】
ステップＳ１３４にて、ＣＰＵ２０１は、カウンタｃＮ２に、表示対象の全オブジェクト数をセットする。ステップＳ１３５にて、ＣＰＵ２０１は、オブジェクトがアニメーション処理の対象かどうかを判断する。オブジェクトがアニメーション処理の対象であれば、ステップＳ１３６に進み、対象でなければ、ステップＳ１３７に進む。ステップＳ１３６では、オブジェクトのアニメーション処理が実行される。具体的には、次のフレームで表示するオブジェクトの画素パターン指定情報の格納位置情報を、内部メモリ２０７に格納する。
【０１８４】
例えば、インジケータ１０３を構成する６個のベルトオブジェクトは、アニメーション対象であり、次のフレームで表示する６個のベルトオブジェクトのそれぞれの画素パターン指定情報の格納位置情報を、内部メモリ２０７に格納する。また、例えば、シンクロ値９９を表す３個の数字オブジェクトは、アニメーション対象であり、次のフレームで表示する３個の数字オブジェクトのそれぞれの画素パターン指定情報の格納位置情報を、内部メモリ２０７に格納する。
【０１８５】
ステップＳ１３７にて、ＣＰＵ２０１は、カウンタｃＮ２をデクリメントする。ステップＳ１３８にて、ＣＰＵ２０１は、カウンタｃＮ２が「０」より小さいかどうかを判断する。つまり、ＣＰＵ２０１は、全オブジェクトについて、ステップＳ１３５の処理を実行したかどうかを判断する。カウンタｃＮ２が「０」より小さい場合は、ステップＳ１３９に進み、「０」以上の場合は、ステップＳ１３５に進む。
【０１８６】
ここで、ステップＳ１２５〜Ｓ１２９、ステップＳ１３１、ステップＳ１３６の結果は、内部メモリ２０７のオブジェクト用データ領域に格納される。
【０１８７】
ステップＳ１３９にて、ＣＰＵ２０１は、カウンタｃＮ３に、表示対象の全オブジェクト数をセットする。ステップＳ１４０にて、ＣＰＵ２０１は、オブジェクトが変更されたかどうかを判断する。オブジェクトが変更された場合は、ステップＳ１４１に進み、変更されていない場合は、ステップＳ１４２に進む。なお、デプス値、カラーパレット情報、画素パターン指定情報の格納位置情報、水平座標、および、垂直座標のうち、いずれか１つでも変更されていれば、オブジェクトが変更されたとする。また、図２９のステップＳ３７において、各オブジェクトのオブジェクト関連情報がセットされたことは、各オブジェクトの変更に該当する。
【０１８８】
ステップＳ１４１にて、ＣＰＵ２０１は、変更後のオブジェクトのスプライトパラメータ（デプス値、カラーパレット情報、画素パターン指定情報の格納位置情報、水平座標、垂直座標）を書き換える。この場合、変更されたスプライトパラメータのみを書き換える。
【０１８９】
例えば、オブジェクトの座標が変更されていれば、ＣＰＵ２０１は、そのオブジェクトの水平座標及び垂直座標を基に、そのオブジェクトを構成する各スプライトの水平座標及び垂直座標を算出して、座標情報を書き換える。なお、オブジェクトが１つのスプライトから構成される場合は、そのオブジェクトの水平座標及び垂直座標が、スプライトの水平座標及び垂直座標となる。
【０１９０】
また、例えば、オブジェクトのカラーパレット情報が変更されていれば、ＣＰＵ２０１は、そのオブジェクトを構成する各スプライトのカラーパレット情報を変更する。なお、オブジェクトが１つのスプライトから構成される場合は、そのオブジェクトのカラーパレット情報が、スプライトのカラーパレット情報となる。
【０１９１】
また、例えば、オブジェクトの画素パターン指定情報の格納位置情報が変更されていれば、そのオブジェクトの画素パターン指定情報の格納位置情報を基に、そのオブジェクトを構成する各スプライトの画素パターン指定情報の格納位置情報を算出して、格納位置情報を書き換える。この場合、スプライトのサイズが分かっているので、オブジェクトの画素パターン指定情報の格納位置情報から容易に、各スプライトの画素パターン指定情報の格納位置情報を算出できる。なお、オブジェクトが１つのスプライトから構成される場合は、そのオブジェクトの画素パターン指定情報の格納位置情報が、スプライトの画素パターン指定情報の格納位置情報となる。
【０１９２】
ステップＳ１４２にて、ＣＰＵ２０１は、カウンタｃＮ３をデクリメントする。ステップＳ１４３にて、ＣＰＵ２０１は、カウンタｃＮ３が「０」より小さいかどうかを判断する。つまり、ＣＰＵ２０１は、全オブジェクトについて、ステップＳ１４０の処理を実行したかどうかを判断する。カウンタｃＮ３が「０」以上の場合は、ステップＳ１４０に進み、「０」より小さい場合は、メインルーチンにリターンする。
【０１９３】
ここで、スプライトパラメータは、内部メモリ２０７のスプライト用データ領域に格納される。図２８に戻って、ステップＳ９では、ＣＰＵ２０１は、スプライト用データ領域に格納されたスプライトパラメータをグラフィックプロセッサ２０２に与える。また、ステップＳ９では、グラフィックプロセッサ２０２は、内部メモリ２０７の背景用データ領域に格納された背景関連情報（図２９のステップＳ３７参照）を読み込む。そして、グラフィックプロセッサ２０２は、これらの情報を基に画像信号ＶＤを生成する。
【０１９４】
図３５は、図３３のステップＳ１２５の音符色変更処理の流れの一例を示すフローチャートである。図３５に示すように、ステップＳ１６０にて、ＣＰＵ２０１は、テレビジョンモニタ８０に表示中の音符マークｎの番号Ｎｍと、トリガカウンタＣｔｇと、を比較する。表示中の音符マークｎの番号Ｎｍが、トリガカウンタのカウント値Ｃｔｇ以下の場合は、ステップＳ１６２に進み、そうでない場合は、ステップＳ１６３に進む。
【０１９５】
ステップＳ１６２にて、ＣＰＵ２０１は、当該番号Ｎｍの音符マークｎのカラーパレット情報及びその音符マークｎに付随する発音長指示バー１００のカラーパレット情報を変更する。ステップＳ１６３にて、ＣＰＵ２０１は、表示中の全ての音符マークｎについて、ステップＳ１６０〜Ｓ１６２の処理を終了したかどうかを判断し、終了していない場合はステップＳ１６０に進み、終了した場合は、図３３のステップＳ１２６に進む。以上のようにして、トリガにより発生させた楽音に対応する音符マークｎ及びその音符マークｎに付随する発音長指示バー１００の色を変化させる。
【０１９６】
図３６は、図３３のステップＳ１２６の発音長指示バー制御処理の流れの１例を示すフローチャートである。図３６に示すように、ステップＳ１８０にて、ＣＰＵ２０１は、発音長指示バー１００のストップフラグがオンか否かを判断する。オンであれば、ステップＳ１８６に進み、オフであれば、ステップＳ１８１に進む。なお、このストップフラグは、後述するが、音符マーク登録用の楽譜データから、ノートオフが読み出されたときにオンになる。
【０１９７】
ステップＳ１８１にて、ＣＰＵ２０１は、発音長指示バー１００の出現フラグがオンか否かを判断する。オンであれば、ステップＳ１８２に進み、オフであれば、図３３のステップＳ１２７に進む。なお、この出現フラグは、後述するが、音符マーク登録用の楽譜データから、ノートオンが読み出されたときにオンになる。ステップＳ１８２にて、ＣＰＵ２０１は、カウンタＣｂａをデクリメントする。なお、カウンタＣｂａは、後述するが、音符マーク登録用の楽譜データから、ノートオンが読み出されたときに「８」にセットされる。「８」とした理由は後で詳しく説明する。
【０１９８】
ステップＳ１８３にて、ＣＰＵ２０１は、カウンタＣｂａが、「０」かどうかを判断する。カウンタＣｂａが「０」の場合は、ステップＳ１８４に進み、それ以外の場合は、図３３のステップＳ１２７に進む。
【０１９９】
ステップＳ１８４にて、ＣＰＵ２０１は、カウンタＣｂａに「８」をセットする。「８」とした理由は、上記と同様であり、後で詳しく説明する。ステップＳ１８５にて、ＣＰＵ２０１は、表示されていないバーオブジェクト（発音長指示バー１００を構成）であって、カウンタＣｂａの値（この場合は、Ｃｂａ＝８）に応じたバーオブジェクトに対して、初期座標（ｘ０，ｙ０）および初期速度Ｖｘ０を設定して、図３３のステップＳ１２７に進む。
【０２００】
一方、ステップＳ１８６にて、ＣＰＵ２０１は、表示されていないバーオブジェクト（発音長指示バー１００を構成）であって、カウンタＣｂａの値に応じたバーオブジェクトに対して、初期座標（ｘ０，ｙ０）および初期速度Ｖｘ０を設定する。ステップＳ１８７にて、ＣＰＵ２０１は、ストップフラグおよび出現フラグをオフにして、図３３のステップＳ１２７に進む。
【０２０１】
なお、カウンタＣｂａの値に応じたバーオブジェクトは、長さが（Ｃｂａ×２）画素のバーを表すスプライトからなるバーオブジェクトである。
【０２０２】
ここで、上記例では、音符マークｎが、１６画素×１６画素のスプライト１個から構成され、その速度が、２画素／フレームの例を挙げている。従って、音符マークｎが登録されてから（出現フラグオン）、８フレーム経過後に、１６画素×１６画素の音符マークｎの全体がスクリーン８２に表示される。なお、音符マークｎの登録時においては、音符マークｎを構成する１６画素×１６画素のスプライトの左辺が、スクリーン８２の右辺に接するように、音符マークｎを配置する。
【０２０３】
音符マークｎの全体がスクリーン８２に表示されたとき、バーオブジェクトをスクリーン８２の右辺に隣接して待機させる必要がある。つまり、バーオブジェクトを構成する１６画素×１６画素のスプライトの左辺が、スクリーン８２の右辺に接するように、バーオブジェクトを配置する。以上のことから、ステップＳ１８１で、出現フラグがオンであっても直ちに、ステップＳ１８５に進むのではなく、出現フラグがオンになってから、８フレーム経過後に、ステップＳ１８５に進む。
【０２０４】
上記ステップＳ１８５では、長さが１６画素のバーを表すスプライトからなるバーオブジェクトに対して、初期座標および初期速度が設定される。なぜなら、ストップフラグがオンになるまでは、長さが１６画素のバーを表すバーオブジェクトを次々に表示することで、適切に発音長指示バー１００を表示できるからである。一方、上記ステップＳ１８６では、長さが（Ｃｂａ×２）画素のバーを表すバーオブジェクトに対して、初期座標および初期速度が設定される。
【０２０５】
例えば、ストップフラグがオンになったときのカウンタＣｂａの値が「４」のときは、長さが８画素のバーを表すバーオブジェクトに対して、初期座標および初期速度が設定される。このようなステップＳ１８６の処理により、図１４の音符マークｎ−１に付属する発音長指示バー１００のような、終端（右端）に休符がある発音長指示バー１００を表示することができる。
【０２０６】
図３７は、図２８のステップＳ１０の音声処理の流れの１例を示すフローチャートである。図３７に示すように、ステップＳ２００にて、ＣＰＵ２０１は、ＢＧＭの発音処理を実行する。ステップＳ２０１にて、ＣＰＵ２０１は、音符マークｎの登録処理を実行する。ステップＳ２０２にて、ＣＰＵ２０１は、トリガに基づく発音処理を実行する。ステップＳ２０３にて、ＣＰＵ２０１は、ビブラートスイッチ１２ｅが押下されたときに、ビブラート処理を実行する。
【０２０７】
図３８は、図３７のステップＳ２００のＢＧＭ発音処理の流れの一例を示すフローチャートである。図３８に示すように、ステップＳ２２０にて、ＣＰＵ２０１は、ＢＧＭ用の実行待機カウンタをチェックする。ＢＧＭ用の実行待機カウンタの値が「０」ならば、ステップＳ２２２へ進み、「０」でないならば、ステップＳ２３０へ進んで、実行待機カウンタをデクリメントし、図３７のステップＳ２０１に進む。
【０２０８】
ステップＳ２２２にて、ＣＰＵ２０１は、ＢＧＭ用の楽譜データポインタの指すコマンドを読み出して解釈する。コマンドがノートオンであれば、ステップＳ２２４に進み、それ以外であれば、つまり、待機であれば、ステップＳ２３１に進む。
【０２０９】
ステップＳ２２４にて、ＣＰＵ２０１は、楽譜データポインタが指すノートナンバ及び楽器指定情報に応じて、波形ピッチ制御情報、波形データの先頭アドレス情報、エンベロープピッチ制御情報およびエンベロープデータの先頭アドレス情報を内部メモリ２０７の楽音データ領域に格納するとともに、ベロシティ情報に応じたチャンネルボリューム情報およびゲートタイム情報を、楽音データ領域に格納する。そして、ＣＰＵ２０１は、サウンドプロセッサ２０３に対して、内部メモリ２０７へのアクセス指示を出す。すると、サウンドプロセッサ２０３は、必要なタイミングで、内部メモリ２０７の楽音データ領域に格納された上記情報を読み込んで、音声信号ＡＬ，ＡＲを生成する。
【０２１０】
ステップＳ２２５にて、ＣＰＵ２０１は、ＢＧＭ用の楽譜データポインタをインクリメントする。ステップＳ２２６にて、ＣＰＵ２０１は、音符のゲートタイムの残り時間をチェックする。ステップＳ２２７にて、ＣＰＵ２０１は、ゲートタイムが終了した場合は、ステップＳ２２８に進んで、サウンドプロセッサ２０３に対し、その音符の発音終了指示を与え、ステップＳ２２９に進む。一方、ステップＳ２２７では、ゲートタイムが終了していない場合は、ステップＳ２２９に進む。ステップＳ２２９にて、ＣＰＵ２０１は、発音中の全音符について、ステップＳ２２６の処理を終了したかどうかを判断し、終了していなければステップＳ２２６に進み、終了していれば、図３７のステップＳ２０１に進む。
【０２１１】
さて、ステップＳ２３１では、ＣＰＵ２０１は、ＢＧＭ用の実行待機カウンタに待機時間をセットする。そして、ステップＳ２３２にて、ＣＰＵ２０１は、ＢＧＭ用の楽譜データポインタをインクリメントして、図３７のステップＳ２０１に進む。
【０２１２】
図３９は、図３７のステップＳ２０１の音符マーク登録処理の流れの一例を示すフローチャートである。図３９に示すように、ステップＳ２５０にて、ＣＰＵ２０１は、音符マーク登録用の実行待機カウンタをチェックする。音符マーク登録用の実行待機カウンタの値が「０」ならば、ステップＳ２５２へ進み、「０」でないならば、ステップＳ２６０へ進んで、実行待機カウンタをデクリメントし、図３７のステップＳ２０２へ進む。
【０２１３】
ステップＳ２５２にて、ＣＰＵ２０１は、音符マーク登録用の楽譜データポインタの指すコマンドを読み出して解釈する。ステップＳ２５３では、コマンドがノートオンであれば、ステップＳ２５４に進み、それ以外であれば、ステップＳ２６１に進む。
【０２１４】
ステップＳ２５４にて、ＣＰＵ２０１は、新規に音符マークｎを登録する。具体的には、新規音符マークｎの初期速度Ｖｘ０および初期座標ｘ０，ｙ０を設定する。ステップＳ２５５にて、ＣＰＵ２０１は、音符表示カウンタＣｎｔをインクリメントする。ステップＳ２５６にて、ＣＰＵ２０１は、新規音符マークの番号として、音符表示カウンタＣｎｔの値を設定する。
【０２１５】
ステップＳ２５７にて、ＣＰＵ２０１は、発音長指示バー１００の出現フラグをオンにする。ステップＳ２５８にて、ＣＰＵ２０１は、カウンタＣｂａ（図３６参照）に「８」を代入する。これは、上述のように、音符マークｎが登録されてから８フレーム経過後に、１６画素×１６画素の音符マークｎの全体がスクリーン８２に表示されるからである。
【０２１６】
さて、一方、ステップＳ２６１では、ＣＰＵ２０１は、音符マーク登録用の楽譜データポインタの指すコマンドがノートオフであれば、ステップＳ２６２に進んで、発音長指示バー１００のストップフラグをオンにして、ステップＳ２５９に進む。音符マーク登録用の楽譜データポインタの指すコマンドがノートオフなければステップＳ２６３に進む。ステップＳ２６３では、ＣＰＵ２０１は、音符マーク登録用の楽譜データポインタが開始コードを指していれば、ステップＳ２５９に進み、そうでなければ、ステップＳ２６４に進む。
【０２１７】
ステップＳ２６４では、ＣＰＵ２０１は、音符マーク登録用の楽譜データポインタが指すコマンドが待機であれば、ステップＳ２６５に進んで、実行待機カウンタに待機時間をセットして、ステップＳ２５９に進む。一方、楽譜データポインタが指すコマンドが待機でなければ、つまり、終了コードであれば、ステップＳ２６６に進んで、音楽終了フラグをオンにして、図３７のステップＳ２０２に進む。
【０２１８】
さて、ステップＳ２５９では、ＣＰＵ２０１は、音符マーク登録用の楽譜データポインタをインクリメントして、図３７のステップＳ２０２に進む。
【０２１９】
図４０は、図３７のステップＳ２０２のトリガによる発音処理の流れの一例を示すフローチャートである。図４０に示すようにステップＳ２８０にて、ＣＰＵ２０１は、発音中フラグをチェックしてオフであればステップＳ２８５に進み、オンであればステップＳ２８１に進む。ステップＳ２８１では、ＣＰＵ２０１は、ハードウエアリリースフラグをチェックして、オフであればステップＳ２８４に進み、オンであればステップＳ２８２に進む。
【０２２０】
ステップＳ２８２にて、ＣＰＵ２０１は、サウンドプロセッサ２０３に対し、トリガにより現在発音中のチャンネルの発音終了指示を出す。現在発音中のチャンネルは、発音中フラグにセットされた値により認識できる。ステップＳ２８３にて、ＣＰＵ２０１は、ハードウエアリリースフラグ及び発音中フラグをオフにして、ステップＳ２８５へ進む。
【０２２１】
一方、ステップＳ２８４では、ＣＰＵ２０１は、サウンドプロセッサ２０３に対し、内部メモリ２０７（現在発音中のチャンネルに対応した楽音データ領域）へのアクセス指示を出す。するとサウンドプロセッサ２０３は、必要なタイミングで、内部メモリ２０７へアクセスして、図２８のステップＳ６で格納された楽音関連情報（波形データの先頭アドレス情報、波形ピッチ制御情報、エンベロープデータ、エンベロープピッチ制御情報）を読み込んで、これを基に楽音信号ＡＬ，ＡＲを生成する。
【０２２２】
ステップＳ２８５では、ＣＰＵ２０１は、発音フラグをチェックして、オフであれば図３７のステップＳ２０３に進み、オンであればステップＳ２８６に進む。ステップＳ２８６では、ＣＰＵ２０１は、発音中フラグを参照して、現在設定されているチャンネルをチェックし、現在のチャンネルがチャンネルＣＨ０，ＣＨ１であればステップＳ２８７に進み、チャンネルＣＨ２，ＣＨ３であれば、ステップＳ２８８に進む。
【０２２３】
ステップＳ２８７では、ＣＰＵ２０１は、発音のためのチャンネルをチャンネルＣＨ０，ＣＨ１からチャンネルＣＨ２，ＣＨ３へ変更する。一方、ステップＳ２８８では、ＣＰＵ２０１は、発音のためのチャンネルをチャンネルＣＨ２，ＣＨ３からチャンネルＣＨ０，ＣＨ１へ変更する。
【０２２４】
ステップＳ２８９では、ＣＰＵ２０１は、サウンドプロセッサ２０３に対し、内部メモリ２０７（新たに設定されたチャンネルに対応した楽音データ領域）へのアクセス指示を出す。するとサウンドプロセッサ２０３は、必要なタイミングで、内部メモリ２０７へアクセスして、図２８のステップＳ６で格納された楽音関連情報を読み込んで、これを基に楽音信号ＡＬ，ＡＲを生成する。
【０２２５】
ステップＳ２９０にて、ＣＰＵ２０１は、ステップＳ２８７あるいはステップＳ２８８で設定されたチャンネルに応じて、発音中フラグをセットする。ステップＳ２９１にて、ＣＰＵ２０１は、発音フラグをオフにする。
【０２２６】
以上のように、トリガ発生のたびに（発音フラグがオンになるたびに）、発音のチャンネルを切り替えるのは、次の音符の発音のために、現在の音符の発音が終了されることを防止するためである。例えば、トリガ発音のためのチャンネルを全音符について共通にすると、ある音符の発音を実行中に、次のトリガが発生した場合は、その音符の発音を終了して、そのトリガに応じた音符の発音を開始しなければならず、音が途切れたようになって、聞き苦しい場合もある。なお、１回のトリガ発音のためのチャンネルとして、２つのチャンネルＣＨ０，ＣＨ１あるいはＣＨ２，ＣＨ３を使用しているのは、音量を増大させるためである。
【０２２７】
図４１は、図３７のステップＳ２０３のビブラート処理の流れの１例を示すフローチャートである。図４１に示すように、ステップＳ３００にて、ＣＰＵ２０１は、ビブラートスイッチ１２ｅがオンかどうかを判断し、オンであればステップＳ３０１に進み、オフであれば、メインルーチンにリターンする。
【０２２８】
ステップＳ３０１では、ＣＰＵ２０１は、後述のビブラートテーブルから、ビブラートポインタが指す揺れ幅を取得する。ステップＳ３０２にて、ＣＰＵ２０１は、トリガにより現在発音中のチャンネルに対応する楽音データ領域に格納された波形ピッチ制御情報に揺れ幅を加算する。ステップＳ３０３にて、ＣＰＵ２０１は、ビブラートポインタを進めて、メインルーチンにリターンする。
【０２２９】
図４２（ａ）は、ビブラート効果の説明図であり、図４２（ｂ）は、ビブラート処理を行う際の揺れ幅を格納したビブラートテーブルの例示図である。図４２（ａ）に示すように、本実施の形態では、サインカーブを描くように、揺れ幅を設定している。また、上記ステップＳ３０１では、図４２（ｂ）のビブラートテーブルを参照して、揺れ幅を取得する。
【０２３０】
ここで、サウンドプロセッサ２０３の詳細を説明する。図４３は、図１７のサウンドプロセッサ２０３のブロック図である。図４３に示すように、サウンドプロセッサ２０３は、制御回路２７０、ＤＡＣブロック２７１、及び、ローカルメモリ２７２、を含む。
【０２３１】
図４４は、図４３のＤＡＣブロック２７１のブロック図である。図４４に示すように、ＤＡＣブロック２７１は、メインボリュームＤＡＣ（ＭＶＤＡＣ）２７５、Ｍ（Ｍは自然数）個のチャンネルブロック２８３， ２８３´，…、及び、ミキシング回路２８１，２８２を含む。この場合、チャンネルブロック２８３，２８３´，…、の各々が、Ｎ個（Ｎは２以上の整数）のチャンネルを処理できるとすると、全体でＭ × Ｎ個のチャンネルの処理が可能である。例えば、Ｍ＝４、Ｎ＝４として、１６チャンネルが処理できる。チャンネルブロック２８３，
２８３´，…、はそれぞれ、チャンネルボリュームＤＡＣ（ＣＶＤＡＣ）、エンベロープ（Ｌ）ＤＡＣ（ＥＶＬＤＡＣ）２７７、エンベロープ（Ｒ）ＤＡＣ（ＥＶＲＤＡＣ）２７９、波形ＤＡＣ（ＷＶＤＡＣ）２７８、及び、波形ＤＡＣ（ＷＶＤＡＣ）２８０を含む。ここで、チャンネルブロック２８３， ２８３´，…、を包括して表現するときは、チャンネルブロック２８３０と表記する。
【０２３２】
図４４に示すように、ＭＶＤＡＣ２７５、ＣＶＤＡＣ２７６、ＥＶＬＤＡＣ２７７、及び、ＷＶＤＡＣ２７８は、カスケード接続される。同様に、ＭＶＤＡＣ２７５、ＣＶＤＡＣ２７６、ＥＶＲＤＡＣ２７９、及び、ＷＶＤＡＣ２８０は、カスケード接続される。以上のように、複数のＤＡＣ（Ｄ／Ａコンバータ：ｄｉｇｉｔａｌ  ｔｏ  ａｎａｌｏｇ  ｃｏｎｖｅｒｔｅｒ）をカスケード接続することで、アナログ乗算回路を構成する。
【０２３３】
ＭＶＤＡＣ２７５には、制御回路２０３から、音声信号全体のボリュームを制御するためのメインボリュームデータＭＶが入力される。ＭＶＤＡＣ２７５は、入力されたメインボリュームデータＭＶをアナログ信号に変換し、その変換信号をＣＶＤＡＣ２７６へ出力する。
【０２３４】
チャンネルブロック２８３， ２８３´，…、のＣＶＤＡＣ２７６には、制御回路２７０から、チャンネルボリュームデータＣＶ，ＣＶ´，…、が入力される。なお、チャンネルボリュームデータＣＶ，ＣＶ´，…、の各々は、Ｎ組（Ｎは２以上の整数）のチャンネルのチャンネルボリュームデータが時分割多重されたものである。このチャンネルボリュームデータは、対応するチャンネルのボリュームを制御するデータである。ここで、チャンネルボリュームデータＣＶ，ＣＶ´，…、を包括的に表現するときは、チャンネルボリュームデータＣＶ０と表記する。なお、チャンネルボリュームデータＣＶ０は、デジタル信号である。
【０２３５】
ＣＶＤＡＣ２７６０は、入力されたチャンネルボリュームデータＣＶ０と、ＭＶＤＡＣ２７５から入力された変換信号（アナログ信号）と、を乗算し、乗算信号（アナログ信号）を、ＥＶＬＤＡＣ２７７及びＥＶＲＤＡＣ２７９に出力する。
【０２３６】
ここで、チャンネルボリュームデータは、制御回路２７０が、内部メモリ２０７から読み出して、ローカルメモリ２７２に格納したものであり、ベロシティ情報に基づいている。
【０２３７】
チャンネルブロック２８３， ２８３´，…、のＥＶＬＤＡＣ２７７には、制御回路２７０から、エンベロープデータＥＶＬ， ＥＶＬ´，…、が入力される。なお、エンベロープデータＥＶＬ， ＥＶＬ´，…、の各々は、Ｎ組のチャンネルのエンベロープデータが時分割多重されたものである。このエンベロープデータは、対応するチャンネルの左チャンネルのエンベロープを制御するデータである。ここで、エンベロープデータＥＶＬ， ＥＶＬ´，…、を包括的に表現するときは、エンベロープデータＥＶＬ０と表記する。なお、エンベロープデータＥＶＬ０は、デジタル信号である。
【０２３８】
ＥＶＬＤＡＣ２７７は、入力されたエンベロープデータＥＶＬ０と、ＣＶＤＡＣ２７６から入力された乗算信号（アナログ信号）と、を乗算し、乗算信号（アナログ信号）を、ＷＶＤＡＣ２７８に出力する。
【０２３９】
ここで、エンベロープデータは、制御回路２７０が、内部メモリ２０７あるいはＲＯＭ３００から読み出して、ローカルメモリ２７２に格納したものである。従って、制御回路２７０は、エンベロープピッチ制御情報に基づくアドレスポインタをインクリメントしながら、エンベロープデータをローカルメモリ２７２から順次読み出し、多重化して、ＤＡＣブロック２７１へ与える。
【０２４０】
チャンネルブロック２８３， ２８３´，…、のＷＶＤＡＣ２７８には、制御回路２７０から、波形データＷＶ，ＷＶ´，…、が入力される。なお、波形データＷＶ，ＷＶ´，…、の各々は、Ｎ組のチャンネルの波形データが時分割多重されたものである。ここで、波形データＷＶ，ＷＶ´，…、を包括的に表現するときは、波形データＷＶ０と表記する。なお、波形データＷＶ０は、デジタル信号である。
【０２４１】
ＷＶＤＡＣ２７８は、入力された波形データＷＶＬ０と、ＥＶＬＤＡＣ２７７から入力された乗算信号（アナログ信号）と、を乗算し、乗算信号（アナログ信号）を、ミキシング回路２８１に出力する。この乗算信号が、アナログ音声信号となる。
【０２４２】
ここで、波形データは、制御回路２７０が、ＲＯＭ３００から読み出したデータである。つまり、制御回路２７０は、ローカルメモリ２７２に書き込んだ、波形データの先頭アドレス情報に従って、ＲＯＭ３００から波形データを読み出し、ローカルメモリ２７２に一旦格納する。そして、制御回路２７０は、波形ピッチ制御情報に基づくアドレスポインタをインクリメントしながら、波形データをローカルメモリ２７２から読み出し、多重化してＷＶＤＡＣ２７８へ与える。
【０２４３】
ミキシング回路２８１は、チャンネルブロック２８３，２８３´，…、のそれぞれが出力するアナログ音声信号をミキシングして、左チャンネルの音声信号ＡＬを出力する。左チャンネルの音声信号ＡＬを生成する場合と同様にして、ＥＶＲＤＡＣ２７９、ＷＶＤＡＣ２８０、及び、ミキシング回路２８２により、右チャンネルの音声信号ＡＲが生成される。
【０２４４】
次に、グラフィックプロセッサ２０２の詳細を説明する。図４５は、図１７のグラフィックプロセッサ２０２のブロック図である。図４５に示すように、グラフィックプロセサ２０２は、制御回路４５０、スプライトメモリ４５１、画素バッファ４５２、及び、カラーパレット４５３、を含む。ＣＰＵ２０１は、表示すべきスプライトの、水平座標、垂直座標、デプス値、サイズ、カラーパレット情報、及び、画素パターン指定情報の格納位置情報を、垂直ブランキング期間に、グラフィックプロセッサ２０２のスプライトメモリ４５１に書き込む。
【０２４５】
そして、制御回路４５０は、スプライトメモリ４５１に格納された情報に従って、画素バッファ４５２に、スプライトの画素パターン指定情報及びデプス値を書き込んでいく。なお、画素パターン指定情報は、スプライトメモリ４５１に格納された、画素パターン指定情報の格納位置情報に基づいて、制御回路４５０が、ＲＯＭ３００から読み出す。
【０２４６】
また、制御回路４５０は、内部メモリ２０７にアクセスして、背景を構成する各ブロックの画素パターン指定情報の格納位置情報に基づいて、ＲＯＭ３００から、各ブロックの画素パターン指定情報を読み出すとともに、各ブロックのカラーパレット情報およびデプス値を読み込む。そして、画素バッファ４５２に、背景の画素パターン指定情報及びデプス値を書き込んでいく。
【０２４７】
なお、制御回路４５０は、同じ位置に画素が重なる場合は、デプス値の大きいスプライト又は背景の画素パターン指定情報及びデプス値を画素バッファ４５２に書き込む。
【０２４８】
ここで、画素バッファ４５２は、スクリーン８２に表示される画像（横２５６画素×縦２２４画素）の横一列を構成する２５６画素よりも少ない数の画素バッファ単位で構成される。この画素バッファ単位は、１画素分のデプス値及び画素パターン指定情報を保持する。なお、１画素分のデプス値及び画素パターン指定情報を総括して、画素情報と呼ぶ。
【０２４９】
より詳細には、制御回路４５０は、各画素の画素情報を画素バッファ４５２に順次的に格納する。この画素バッファ４５２は、バッファ先頭アドレスにラップアラウンドするインデキシング方式をとり、最も古いデータが最新のデータで上書きされるＦＩＦＯリングバッファとなっている。つまり、制御回路４５０は、走査位置が移動したときに、末尾の画素情報格納位置が先頭の画素情報格納位置に来るように、画素バッファ単位を巡回させて切り換える。
【０２５０】
制御回路４５０は、画素バッファ４５２から画素情報を読み出して（走査して）、読み出した画素情報の画素パターン指定情報に従って、カラーパレット情報により指定されたカラーパレット４５３から色情報を取得して、コンポジット信号を生成し、画像信号ＶＤとして出力する。
【０２５１】
さて、以上のように、本実施の形態によれば、操作者が摺動操作部材４０の摺動方向を変えたり、摺動速さを変えたり、という直感的な操作により、自動演奏のトリガを発生させたり、音量を制御したり、できる。
【０２５２】
このように、自動演奏装置（コンピュータ）が自動演奏する楽曲に対して、直感的な操作方法により、テンポを調整したり、強弱を加えたりでき、特別な音楽的知識や技量を有しない操作者でも、個性的な自動演奏を楽しむことができる。
【０２５３】
また、摺動操作部材４０の摺動速さが、予め定められた閾値１／Ｋを下回った場合に（図３１のステップＳ８１参照）、最新のトリガによる発音の終了処理が行われるだけでなく、新たなトリガが発生した場合に、前回のトリガによる発音の停止処理が行われる（図３０のステップＳ６１参照）。
【０２５４】
従って、摺動操作部材４０の摺動速さが、予め定められた閾値ＴｈＶを超えたことのみをトリガの発生条件とし、予め定められた閾値１／Ｋを下回ったことのみを、発音の終了条件とする場合と比べて、次の利点がある。
【０２５５】
操作者が、大きい摺動速さで、しかも、素早く摺動方向を変化させた場合、摺動速さが予め定められた閾値１／Ｋを下回ったことが検知されず、そのため、発音終了処理が実行されず、しかも、変化直後に検知した摺動速さが予め定められた閾値１／Ｋを超えていることもあり得る。この場合、１つのトリガによる発音が持続してしまうという不都合が生じる。大きい摺動速さで、しかも、素早く摺動方向を変化させる操作は、度々行われ、上記不都合は大きな問題である。
【０２５６】
新たなトリガの発生を（前回のトリガの後に、摺動速さが予め定められた閾値ＴｈＶを超えた場合であって、かつ、摺動方向が変化した場合）、前回のトリガによる発音の終了条件とすることで、以上のような問題を回避できる。
【０２５７】
ここで、操作者にとって、摺動操作部材４０の摺動方向を変化させる行為は必ず行う行為であり、しかも、摺動方向の変化は容易に認知できるため、摺動方向を変化させることは直感的な操作と言える。このため、摺動方向の変化をトリガの条件に加えることは、操作者の操作に制約を課すことにはならない。
【０２５８】
また、摺動操作部材４０の摺動方向が変化したことのみをトリガの発生条件とする場合、例えば、僅かな手のぶれ等でもトリガが発生してしまう、等の不都合が発生し得るが、摺動方向の変化に加えて、摺動速さが予め定められた閾値ＴｈＶを超えたことをトリガ発生の条件としているため、このような問題を回避できる。
【０２５９】
ここで、発音の終了処理とは、発音を直ちに中止するという意味ではなく、音の減衰処理（本実施の形態では、ハードウエアリリース）を行うという意味である。従って、発音の停止処理が開始されてから、音が出なくなるまで、一定時間（リリースタイム）要することになる。
【０２６０】
また、本実施の形態において、フォトトランジスタ３４，３５は、摺動操作部材４０の摺動方向を検出するための、摺動操作部材４０の摺動方向により位相差が異なるパルス信号Ａおよびパルス信号Ｂを発生する。さらに、フォトトランジスタ３４は、摺動操作部材４０の摺動速さの計測のための、摺動操作部材４０の摺動速さに応じた周波数のパルス信号ａを発生する。
【０２６１】
このため、パルス信号ａの周波数あるいは周波数に依存するもの（例えば、ｍ分の１周期の時間など）を計測するだけで、容易に摺動速さを計測することができる（図２２参照）。なお、周波数の逆数である周期は周波数の概念に含まれる。また、パルス信号Ａおよびパルス信号Ｂの位相差あるいは位相差に依存するもの（例えば、パルス信号Ａ，Ｂの状態遷移の方向）を計測するだけで、容易に摺動方向を検出できる（図２０参照）。
【０２６２】
また、この場合、トリガ発生の２つの条件（摺動方向および摺動速さ）の判定において、信号を共用することになるので（パルスＡとパルスａとは同じ信号）、簡易な構成で、トリガ処理を実現できる。
【０２６３】
また、本実施の形態では、自動演奏の状態を表す画像１０３，１０４、及び、操作ガイドを表す画像ｎ，１００，１０１，１０２、をテレビジョンモニタ８０に表示する（図１４参照）。この場合、これらの画像は、オブジェクトの移動及び色の変化を用いて表示される。
【０２６４】
従って、操作者にとって、直感的に自動演奏の状態や操作ガイドを認識でき、自動演奏装置による自動演奏を容易に制御できる。
【０２６５】
また、テレビジョンモニタ８０に、本体１を接続するだけで容易に、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、を表示することができる。
【０２６６】
さらに、本体１に、これらの画像を表示するための画像表示部を設けることが不要となって、本体１に画像表示部を有する場合より安価な自動演奏装置を提供できる。
【０２６７】
さらに、これらの画像を表示するテレビジョンモニタ８０を、本体１と別個に設けることで、本体１に画像表示部を設ける場合と比較して、重量が軽くなるため、操作者は、本体１を抱持して摺動操作することが容易になる。
【０２６８】
さらに、これらの画像を表示するテレビジョンモニタ８０を、本体１と別個に設けることで、操作者が本体１を抱持して摺動操作をする場合に、本体１に画像表示部を設ける場合と比較して、操作者は、これらの画像が見易くなる。本体１を操作者が抱持して摺動操作を行う場合、画像表示部を本体１に設けると、その画像の視認が困難になる。
【０２６９】
また、本実施の形態では、自動演奏される楽曲データ及び描画を行うための画像データを格納したメディア、上記例では、メモリカートリッジ２９、を装着するカートリッジソケット２３が本体１に設けられる。
【０２７０】
このため、メモリカートリッジ２９を交換するだけで、様々な楽曲の自動演奏が可能となる。なお、メディアには、制御プログラムをさらに格納することができる。
【０２７１】
また、本実施の形態では、ガイド３１，３２により、隘路部（狭くなった部分）、及び、隘路部に連続した末広部（隘路部から外側へいくに従って次第に広がっている部分）、を構成して、摺動操作をガイドする（図４参照）。
【０２７２】
この構成によれば、操作者が容易に摺動操作部材４０を被摺動鞍部３３に接触して摺り動かすことができるようにするというガイド本来の機能を果たしながらも、摺動操作部材４０の動きの自由度を大きくでき、操作者にとって、様々な態様の摺動操作が可能となる。また、２つのガイド３１，３２により、摺動操作部材４０の摺動位置が規制されるため、操作者は特別に意識することなく、摺動操作部材４０を、発光ダイオード３６及びフォトトランジスタ３４，３５上を通過させることができる。
【０２７３】
また、本実施の形態では、被摺動鞍部３３は、断面視において、中央部が最頂部となり、両端部に向かって傾斜する形状となっている（図５参照）。このため、摺動操作部材４０の動きの自由度を大きくでき、操作者にとって、様々な態様の摺動操作が可能となる。
【０２７４】
また、本実施の形態では、摺動操作部材４０の摺動方向が変化し、かつ、摺動操作部材４０の摺動速さが予め定められた閾値ＴｈＶを超えたときに、自動演奏のトリガが発生する。このため、例えば、次のような特殊な制御を実行することができる。
【０２７５】
ある１音符に基づく楽音を発音する中で、徐々に摺動速さを速くして音量を上げ、次に、徐々に摺動速さを遅くして一旦音量を下げ、さらに次に、徐々に摺動速さを早くして再び音量を上げ、さらに次に、徐々に摺動速さを遅くして音量を下げる、という制御を行うことができる。
【０２７６】
なお、演奏操作部材４０の操作速度が閾値より大きくなったことのみを、発音のトリガとすると、徐々に摺動速さを遅くした後、再び摺動速さを速くするときに、トリガが発生して、次の音符に基づく楽音が発音されてしまうという不都合が生じる。
【０２７７】
また、本実施の形態では、新たなトリガに応じた発音のための発音チャンネルを、前回のトリガに応じた発音のための発音チャンネルと異ならせる（図４０のステップＳ２８６〜Ｓ２８８参照）。従って、前回のトリガによる発音が、新たなトリガによる発音開始によって直ちに停止されることがないため、滑らかな自動演奏を実行できる。
【０２７８】
（実施の形態２）
実施の形態１では、カウンタ２９０によりパルス信号Ａ，Ｂの遷移を検出し、また、エッジ検出回路２９３によりパルス信号ａの立ち下がりエッジを検出している（図２１参照）。そして、これらの検出結果を基に、摺動操作部材４０の摺動方向および摺動速さを求めた。これに対して、実施の形態２では、ＣＰＵ２０１が、パルス信号Ａ，Ｂが入力される入出力ポート（例えば、ＩＯ０，ＩＯ１）の値を、リードして、これらの値を基に、摺動操作部材４０の摺動方向及び摺動速さを求める。
【０２７９】
また、実施の形態１では、被摺動鞍部３３は、断面視において、山状であった。これに対して、実施の形態２では、被摺動鞍部５３３は、断面視において、円弧状である。
【０２８０】
以下、実施の形態１と異なる点を中心に説明し、同様の部分については、適宜説明を省略する。図４６は、本発明の実施の形態２における自動演奏システムの全体構成を示す図である。図４７（ａ）は、図４６の自動演奏装置本体５００の平面図である。図４７（ｂ）は、図４６の自動演奏装置本体５００の側面図である。なお、図４６の自動演奏装置本体５００の底面は、図１の自動演奏装置本体１の底面と同様であり説明を省略する（図３参照）。
【０２８１】
図４６に示すように、この自動演奏装置は、自動演奏装置本体５００、及び、摺動操作部材４０、を含む。本実施の形態では、自動演奏装置本体５００の形状の１例として、バイオリンを模した形状を挙げている。自動演奏装置本体５００の胴部１０の表面には、自動演奏装置本体１の被摺動鞍部３３とは異なる被摺動鞍部５３３が設けられる。
【０２８２】
図４７（ａ）（ｂ）を用いて、被摺動鞍部５３３について説明する。後で詳述するが、被摺動鞍部５３３は、断面視において、円弧状に形成されている。この被摺動鞍部５３３の両端の頂部には、それぞれガイド５３１及びガイド５３２が突出して形成される。対向するガイド５３１，５３２の側縁は、摺動操作部材４０が接する部分であって、平面視において、曲面となっている。これは、主に、摺動操作部材４０が接触しても、滑らかに摺動操作部材４０を動かすことができるようにするため、及び、摺動操作部材４０の接触を原因としたガイド５３１，５３２の劣化を防止するため、である。操作者は、被摺動鞍部５３３のガイド５３１とガイド５３２との間の曲面に摺動操作部材４０を接触させた状態で摺り動かし、自動演奏装置による自動演奏を制御する。
【０２８３】
図４８（ａ）は、図４７（ａ）に示した被摺動鞍部５３３の拡大図、図４８（ｂ）は、図４８（ａ）に示した光センサユニット９０の平面図、である。図４８（ａ）に示すように、被摺動鞍部５３３の内部であって、摺動操作部材４０が通過する位置には、光センサユニット９０が配置される。この光センサユニット９０は、発光ダイオード３６、光ファイバ８９，９２、及び、フォトトランジスタ３４，３５（図４８には現れていない。）、を含む。光ファイバ８９及び光ファイバ９２は、摺動操作部材４０の摺動方向に並んで配置されている。
【０２８４】
また、発光ダイオード３６は、光ファイバ８９，９２と対向する位置に設けられる。なお、図４８（ｂ）に示すように、光センサユニット９０の上面には、つまり、被摺動鞍部５３３の内面に接触する部分には、周縁に沿って、密着部材９３が取り付けられている。この密着部材９３は、光センサユニット９０と被摺動鞍部５３３との密着性をよくして、光センサユニット９０の位置ずれを防止するとともに、塵埃が侵入して光ファイバ８９，９２に付着するのを防止している。
【０２８５】
図４９は、図４８（ａ）のＣ−Ｃ断面図である。図５０は、図４８（ａ）のＤ−Ｄ断面図である。図４９に示すように、被摺動鞍部５３３は、断面視において、円弧状になっている。つまり、被摺動鞍部５３３は、中央部が最頂部となり、両端部に向かって湾曲しながら傾斜する形状をしている。
【０２８６】
光センサユニット９０は、被摺動鞍部５３３の内面に密着するように取り付けられる。光ファイバ８９，９２の一方端は、光センサユニット９０の上面（被摺動鞍部５３３と対向する側）から露出している。光ファイバ８９と光ファイバ９２とは、摺動方向に、所定間隔をおいて配置され、その所定間隔は、フォトトランジスタ３４からのパルス信号Ａとフォトトランジスタ３５からのパルス信号Ｂとの間に、一定の位相差が生じる間隔である。この点は、後で詳述する。
【０２８７】
一方、光ファイバ８９，９２の他方端は、それぞれ、フォトトランジスタ３４，３５の頂部付近に固定される。このようにして、発光ダイオード３６が発光し、摺動操作部材４０により反射された光は、光ファイバ８９，９２により、フォトトランジスタ３４，３５まで導かれる。光センサユニット９０及びフォトトランジスタ３４，３５は、基板９４に取り付けられる。さらに、フォトトランジスタ３４，３５は、それぞれ、光センサユニット９０の下部に形成された２つの穴に挿入されている。これにより、フォトトランジスタ３４，３５には、光ファイバ８９，９２からの光のみが入射し、それ以外の光の入射を防止できる。
【０２８８】
また、図５０に示すように、フォトダイオード３６は、光センサユニット９０の上部に形成された傾斜面に取り付けられる。これにより、矢印＃に示すように、発光ダイオード３６が発光し、摺動操作部材４０が反射した光の光ファイバ８９，９２への入射光量を多くすることができる。なお、発光ダイオード３６は、赤外光を発生する。そして、フォトトランジスタ３４，３５が、発光ダイオード３６が発生する赤外光だけを極力検知できるように、被摺動鞍部５３３は、赤外光だけを通過させる赤外フィルタとしての機能を有している。
【０２８９】
図４６の自動演奏装置による自動演奏について簡単に説明する。操作者は、自動演奏装置本体５００とテレビジョンモニタ８０とを、ＡＶケーブル６０により接続する。そして、電源スイッチ２４（図３参照）をオン（テレビモード）にする。すると、テレビジョンモニタ８０のスクリーン８２に、操作スタイル選択画面（図１２参照）が表示されるので、操作者は、選択キー１２ａ，１２ｂにより操作スタイルを選択し、決定キー１２ｄを押下する。すると、楽曲選択画面（図１３参照）が表示されるので、操作者は、選択キー１２ａ，１２ｂにより曲を選択し、決定キー１２ｄを押下する。
【０２９０】
操作者が曲を選択し確定すると、スクリーン８２には、操作ガイド画面（図１４参照）が表示される。操作者は、操作ガイド画面を見ることで、適切にトリガを発生させることができる。実施の形態１と同様に、トリガが発生する度に、楽曲の一音一音が発音される。トリガは、摺動操作部材４０の自動演奏装置本体５００に対する相対的な速さ（摺動速さ）が、予め定められた閾値より大きくなり、かつ、摺動操作部材４０の摺動方向が変化した場合に発生する。また、摺動操作部材４０の摺動速さに応じて、楽音の音量が制御される。これらの点も実施の形態１と同様である。
【０２９１】
摺動操作部材４０の摺動速さ、及び、摺動操作部材４０の摺動方向、を求める方法を説明する。図５１は、図４８（ａ）の光センサユニット９０の光ファイバ８９，９２の配置と、摺動操作部材４０の反射パターン４３と、の関係を示す図である。図５１に示すように、摺動操作部材４０の反射パターン４３において、光反射部４５の幅及び光吸収部４４の幅の合計距離をＬとする。この場合、光ファイバ８９の露出端と光ファイバ９２の露出端とを、Ｌ／４だけ離して配置する。ここで、露出端とは、光ファイバ８９，９２の先端であって、被摺動鞍部５３３の内面側に露出している先端である。
【０２９２】
フォトトランジスタ３４，３５は、発光ダイオード３６により発光され、反射パターン４３で反射された赤外光を、光ファイバ８９，９２を介して受光する。反射パターン４３は、光反射部４５及び光吸収部４４を交互に配置して形成されるため、摺動操作部材４０が操作されると、フォトトランジスタ３４，３５には、間欠的に赤外光が入射することになる。従って、摺動操作部材４０が操作されると、フォトトランジスタ３４，３５は、摺動操作部材４０の摺動速さに応じた周波数のパルス信号Ａ，Ｂを出力する。
【０２９３】
つまり、摺動操作部材４０の摺動速さが大きいほど、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの周波数は高くなり、一方、摺動操作部材４０の摺動速さが小さいほど、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの周波数は低くなる。この点は実施の形態１と同様である。
【０２９４】
フォトトランジスタ３４に赤外光を導く光ファイバ８９とフォトトランジスタ３５に赤外光を導く光ファイバ９２とは、Ｌ／４だけ離して配置されているため、フォトトランジスタ３４が出力するパルス信号Ａとフォトトランジスタ３５が出力するパルス信号Ｂとの位相差は、摺動操作部材４０の摺動方向によって、（９０度）あるいは（−９０度）になる。この理由は、実施の形態１の場合と同じである（図１９（ａ）（ｂ）および図２０参照）。
【０２９５】
従って、実施の形態１と同様に、パルス信号Ａ，Ｂの状態遷移を検知することで、摺動操作部材４０の摺動方向を求めることができる。ただし、この状態遷移の検出は、実施の形態１ではハードウエア（カウンタ２９０）により行ったが、実施の形態２では、ソフトウエアにより行う。この点は、後述する。
【０２９６】
ここで、実施の形態２では、説明の便宜上、図２０の時計回りの遷移を「（＋）方向遷移」と呼び、反時計回りの遷移を「（−）方向遷移」と呼ぶ。
【０２９７】
自動演奏装置本体５００に内蔵される検知部５１０について説明する。自動演奏装置本体５００の電気的構成は、図１５と同様であるが、図１５の検知部３０に代えて、次のような検知部５１０を設けている。
【０２９８】
図５２は、自動演奏装置本体５００に内蔵される検知部５１０の回路図である。図５２に示すように、この検知部５１０は、発光ダイオード３６、抵抗素子５７、及び、検知回路６５２，６５５、を含む。検知回路６５２は、フォトトランジスタ３４、電解コンデンサ５５５、抵抗素子５５２、アンプ６５４、及び、波形整形回路６５３、を含む。検知回路６５５は、フォトトランジスタ３５、電解コンデンサ５５５、抵抗素子５５２、アンプ６５４、及び、波形整形回路６５３、を含む。
【０２９９】
アンプ６５４は、抵抗素子５５１，５５６、コンデンサ５３８、及び、インバータ５５３を含む。波形整形回路６５３は、抵抗素子５３７，５５４およびインバータ６５０，６５１を含む。
【０３００】
抵抗素子５７と発光ダイオード３６とは、電源Ｖｃｃ２と接地ＧＮＤとの間に直列に接続される。フォトトランジスタ３４と抵抗素子５５２とは、電源Ｖｃｃ２と接地ＧＮＤとの間に直列に接続される。フォトトランジスタ３４及び抵抗素子５５２の接続点と、インバータ５５３の入力端と、の間には、抵抗素子５５６及び電解コンデンサ５５５が直列に接続される。インバータ５５３の入力端と出力端との間には、コンデンサ５３８及び抵抗素子５５１が並列に接続される。
【０３０１】
抵抗素子５５４の一方端は、インバータ５５３の出力端に接続され、他方端は、インバータ６５１の入力端に接続される。インバータ６５１の出力端は、インバータ６５０の入力端に接続され、インバータ６５１の入力端とインバータ６５０の出力端との間には、抵抗素子５３７が接続される。検知回路６５５も検知回路６５２と同様の接続関係となっており、説明を省略する。
【０３０２】
アンプ６５４は、負帰還増幅回路であり、フォトトランジスタ３４からの電気信号を増幅する。また、このアンプ６５４は、ローパスフィルタとしても機能し、高周波成分を除去する。波形整形回路６５３は、入力波形をシャープな方形波に整形する。つまり、波形整形回路６５３は、抵抗素子５３７と抵抗素子５５４との比で決まる不感帯をつくって、一定の電圧範囲で出力が反転しないようにしながら、シャープなパルス信号Ａを生成する。なお、検知回路６５５のアンプ６５４及び波形整形回路６５３も、検知回路６５２のものと同様の動作をするので説明を省略する。
【０３０３】
以上のような検地回路６５２，６５５から出力されるパルス信号Ａ，Ｂは、高速プロセッサ２００の入出力ポート（本実施の形態では、例えば、ＩＯ０，ＩＯ１）へ入力される。
【０３０４】
次に、図４６の自動演奏装置の全体の処理の流れをフローチャートを用いて説明する。図５３は、図４６の自動演奏装置の全体処理の流れの一例を示すフローチャートである。図５３に示すように、ステップＳ５００にて、ＣＰＵ２０１は、システムの初期設定を実行する。ステップＳ５０１にて、ＣＰＵ２０１は、自動演奏の状態をチェックする。ステップＳ５０２にて、ＣＰＵ２０１は、自動演奏が終了したかどうかを判断する。ＣＰＵ２０１は、自動演奏が終了した場合（音楽終了フラグがオン）は処理を終了し、自動演奏が終了していない場合は、ステップＳ５０３に進む。
【０３０５】
ステップＳ５０３にて、ＣＰＵ２０１は、摺動操作部材４０の摺動方向及び摺動速さを計測して、それらが、トリガ発生条件を満足している場合に、トリガを発生させる（発音フラグオン）。ステップＳ５０４にて、ＣＰＵ２０１は、トリガに応じて発音する楽音の音量を制御すべく、摺動操作部材４０の摺動速さに応じて、エンベロープ係数を算出する。
【０３０６】
ステップＳ５０５にて、ＣＰＵ２０１は、トリガによる発音のための楽音関連情報を内部メモリ２０７に格納する。この処理は、図２８のステップＳ６の処理と同様であり、説明を省略する。ステップＳ５０６にて、ＣＰＵ２０１は、オブジェクト関連情報を内部メモリ２０７に格納する。この処理は、図２８のステップＳ７の処理と同様であり、説明を省略する。
【０３０７】
ステップＳ５０７では、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。ビデオ同期の割込み待ちであれば、同じステップＳ５０７に戻る。一方、ビデオ同期の割込み待ちでなければ、ステップＳ５０８に進む。この処理は、図２８のステップＳ８の処理と同様である。
【０３０８】
ステップＳ５０８にて、ＣＰＵ２０１は、オブジェクト関連情報をグラフィックプロセッサ２０２に与えるとともに、グラフィックプロセッサ２０２は、内部メモリ２０７から背景関連情報を取得する。グラフィックプロセッサ２０２は、オブジェクト及び背景を表す画像信号ＶＤを生成して、テレビジョンモニタ８０に与える。この処理は、図２８のステップＳ９の処理と同様である。
【０３０９】
ステップＳ５０９にて、ＣＰＵ２０１は、ＢＧＭ用の楽譜データに従って、ＢＧＭ発音のための楽音関連情報を内部メモリ２０７に格納する。サウンドプロセッサ２０３は、内部メモリ２０７から、トリガ発音（ステップＳ５０５参照）およびＢＧＭ発音のための楽音関連情報を取得して、これらの情報を基に楽音信号ＡＬ，ＡＲを生成し、テレビジョンモニタ８０に与える。また、ステップＳ５０９では、ＣＰＵ２０１は、音符マーク登録用の楽譜データに従って、音符マークｎを登録する。さらに、ステップＳ５０９では、ビブラートスイッチ１２ｅが押されたときに、ビブラート処理を実行する。これらの処理は、図２８のステップＳ１０の処理と同様であり、説明を省略する。
【０３１０】
ステップＳ５１０のパルスカウント処理は、タイマ回路２１０による割り込みが発生したときに、ＣＰＵ２０１により実行される。このパルスカウント処理は、フォトトランジスタ３４，３５（図５２参照）が出力するパルス信号Ａ，Ｂの状態遷移をカウントする処理である。
【０３１１】
図５４は、図５３のステップＳ５００の初期設定処理の流れの１例を示すフローチャートである。図５４のステップＳ５３０〜Ｓ５３７の処理は、それぞれ、図２９のステップＳ３０〜Ｓ３７の処理と同様であり説明を省略する。ステップＳ５３８では、ＣＰＵ２０１は、タイマ回路２１０をステップＳ５１０のパルスカウントのための割込み源としてセットする。この場合、フォトトランジスタ３４からのパルス信号Ａあるいはフォトトランジスタ３５からのパルス信号Ｂの最も短いハイレベル期間あるいはローレベル期間より短い間隔で、割り込みが発生するように、タイマ回路２１０がセットされる。
【０３１２】
例えば、１０ｋＨｚで割り込みを発生させる。また、例えば、表示画像の更新（フレーム更新）は、１／６０秒ごとに行う。
【０３１３】
図５５は、図５３のステップＳ５１０のパルスカウント処理の流れの一例を示すフローチャートである。この例では、高速プロセッサ２００の入出力ポートＩＯ０及びＩＯ１にそれぞれ、パルス信号Ａおよびパルス信号Ｂが入力されるとする。図５５に示すように、ステップＳ５５０にて、ＣＰＵ２０１は、入出力制御回路２０９を介して、入出力ポートＩＯ０及びＩＯ１の値を読み込む。
【０３１４】
ステップＳ５５１にて、ＣＰＵ２０１は、入出力ポートＩＯ０の値がハイレベルであり、かつ、入出力ポートＩＯ１の値がローレベルであるときは、入出力ポートＩＯ０，ＩＯ１の状態情報を「０」として、ステップＳ５５４に進み、それ以外のときは、ステップＳ５５２に進む。ステップＳ５５２にて、ＣＰＵ２０１は、入出力ポートＩＯ０の値がハイレベルであり、かつ、入出力ポートＩＯ１の値がハイレベルであるときは、入出力ポートＩＯ０，ＩＯ１の状態情報を「１」として、ステップＳ５５４に進み、それ以外のときは、ステップＳ５５３に進む。
【０３１５】
ステップＳ５５３にて、ＣＰＵ２０１は、入出力ポートＩＯ０の値がローレベルであり、かつ、入出力ポートＩＯ１の値がハイレベルであるときは、入出力ポートＩＯ０，ＩＯ１の状態情報を「２」として、ステップＳ５５４に進み、それ以外のときは、入出力ポートＩＯ０の値がローレベルであり、かつ、入出力ポートＩＯ１の値がローレベルであるので、入出力ポートＩＯ０，ＩＯ１の状態情報を「３」として、ステップＳ５５４に進む。
【０３１６】
ステップＳ５５４にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の今回の状態情報を内部メモリ２０７に格納する。ステップＳ５５５にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の今回の状態情報と前回の状態情報と比較する。ステップＳ５５６にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の状態情報に変化があった場合は、ステップＳ５５７に進む。
【０３１７】
ステップＳ５５７にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の状態情報の変化の方向を判断する（図２０参照）。ＣＰＵ２０１は、状態情報の変化の方向が、（＋）方向遷移であれば、速度カウンタＣｖを１つインクリメントする。一方、ＣＰＵ２０１は、状態情報の変化が、（−）方向遷移であれば、ステップＳ５５９に進み、速度カウンタＣｖを１つデクリメントする。以上ようにして、フォトトランジスタ３４，３５からのパルス信号Ａ，Ｂの状態遷移をカウントする。なお、速度カウンタＣｖは、ソフトウエアカウンタである。
【０３１８】
図５６は、図５３のステップＳ５０３のトリガ処理の流れの一例を示すフローチャートである。図５６に示すように、ステップＳ５７０にて、ＣＰＵ２０１は、速度カウンタＣｖを参照して、そのカウント値を取得する。取得したカウント値は、１フレーム当たりのカウント値であり、摺動操作部材４０の現在の摺動速度を表す。ステップＳ５７１にて、ＣＰＵ２０１は、速度カウンタＣｖをリセットする。
【０３１９】
ステップＳ５７２にて、ＣＰＵ２０１は、摺動操作部材４０の摺動速度（速度カウンタＣｖのカウント値）の移動平均を算出する。例えば、摺動操作部材４０の現在の摺動速度および過去９フレーム分の摺動速度を用いて、１０フレーム分の移動平均を算出する。摺動操作部材４０の摺動速度の移動平均を摺動速度Ｖａと表記する。
【０３２０】
ステップＳ５７３にて、ＣＰＵ２０１は、摺動速度Ｖａの絶対値｜Ｖａ｜、つまり、摺動速さ｜Ｖａ｜を算出する。ステップＳ５７４にて、ＣＰＵ２０１は、摺動操作部材４０の摺動速さ｜Ｖａ｜が、予め定められた最大値ＭＡＸを超えているか否かを判断する。摺動操作部材４０の摺動速さ｜Ｖａ｜が、予め定められた最大値ＭＡＸを超えていなければ、ステップＳ５８０に進み、超えていれば、ステップＳ５７５に進む。
【０３２１】
ステップＳ５７５にて、ＣＰＵ２０１は、摺動速度Ｖａの符号を判断し、正であれば、ステップＳ５７７にて、摺動速度Ｖａに、最大値ＭＡＸを代入する。一方、ＣＰＵ２０１は、摺動速度Ｖａの符号が、負であれば、ステップＳ５７６にて、摺動速度Ｖａに、（−１）×ＭＡＸを代入する。ステップＳ５７８では、ＣＰＵ２０１は、摺動速さ｜Ｖａ｜に、最大値ＭＡＸを代入して、ステップＳ５７９に進む。
【０３２２】
ステップＳ５７９にて、ＣＰＵ２０１は、摺動操作部材４０の摺動速さ｜Ｖａ｜が予め定められた閾値ＴｈＶ１を超えているかどうか判断する。摺動速さ｜Ｖａ｜が予め定められた閾値ＴｈＶ１を超えていれば、ステップＳ５８０に進み、閾値ＴｈＶ１以下であれば、ステップＳ５８４に進む。
【０３２３】
ステップＳ５８０にて、ＣＰＵ２０１は、摺動操作部材４０の前回と今回の摺動速度Ｖａの符号を比較する。そして、ＣＰＵ２０１は、摺動速度Ｖａの符号が変化していない場合は、摺動方向に変化がないとして、メインルーチンにリターンし、摺動速度Ｖａの符号が変化している場合は、摺動方向が変化したとして、ステップＳ５８２に進む。そして、ステップＳ５８２では、ＣＰＵ２０１は、発音フラグをオンにする。発音フラグのオンは、トリガ発生を意味する。
【０３２４】
ステップＳ５８３にて、ＣＰＵ２０１は、発音中フラグをチェックする。発音中フラグは、例えば、発音中でない場合は「００」がセットされ、チャンネルＣＨ０，ＣＨ１が発音中であれば「０１」がセットされ、チャンネルＣＨ２，ＣＨ３が発音中であれば「１０」がセットされる。このうち、「００」がオフを意味し、「０１」や「１０」はオンを意味する。ステップＳ５８３では、発音中フラグがオフであればステップＳ５８５に進み、オンであればステップＳ５８４に進む。ステップＳ５８４では、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにする。なぜなら、発音中に新たなトリガが発生したからである。
【０３２５】
ステップＳ５８５にて、ＣＰＵ２０１は、トリガカウンタＣｔｇを１つインクリメントして、メインルーチンにリターンする。
【０３２６】
以上のように、トリガは、摺動操作部材４０の自動演奏装置本体５００に対する相対的な速さ（つまり、摺動速さ｜Ｖａ｜）が、予め定められた閾値ＴｈＶ１より大きくなり（ステップＳ５７９参照）、かつ、摺動操作部材４０の摺動方向が変化した場合（ステップＳ５８１参照）に発生する。
【０３２７】
さて、ステップＳ５８６にて、ＣＰＵ２０１は、摺動操作部材４０の摺動速さ｜Ｖａ｜が「０」か否かを判断する。摺動操作部材４０の摺動速さ｜Ｖａ｜が「０」でないならば、ステップＳ５９１へ進み、リリースカウンタＣｒｌをリセットして、メインルーチンにリターンし、摺動速さ｜Ｖａ｜が「０」ならば、ステップＳ５８７へ進む。
【０３２８】
ステップＳ５８７にて、ＣＰＵ２０１は、リリースカウンタＣｒｌを１つインクリメントする。ステップＳ５８８にて、ＣＰＵ２０１は、リリースカウンタＣｒｌが一定値ｋになったかどうかを判断する。リリースカウンタＣｒｌが一定値ｋになっていない場合は、メインルーチンにリターンし、一定値ｋになった場合は、ステップＳ５８９に進む。ステップＳ５８９にて、ＣＰＵ２０１は、リリースカウンタＣｒｌをリセットする。ステップＳ５９０にて、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにして、メインルーチンにリターンする。
【０３２９】
ステップＳ５８６〜Ｓ５９０の処理は、摺動速さ｜Ｖａ｜が、ｋ（例えば、ｋ＝７）回連続して「０」であった場合に、ハードウエアリリースを実行する処理である。なお、ハードウエアリリースの代わりに、ソフトウエアリリースを行うことができる。
【０３３０】
図５７は、図５３のステップＳ５０４の音量制御処理の流れの１例を示すフローチャートである。図５７に示すように、ステップＳ６１０にて、ＣＰＵ２０１は、摺動操作部材４０の摺動速さ｜Ｖａ｜が、予め定められた閾値ＴｈＶ２より大きいかどうかを判断し、閾値ＴｈＶ２より大きい場合はステップＳ６１１に進み、閾値ＴｈＶ２以下の場合は、ステップＳ６１２に進む。
【０３３１】
ステップＳ６１１では、ＣＰＵ２０１は、摺動操作部材４０の摺動速さ｜Ｖａ｜に応じたエンベロープ係数を算出して、メインルーチンにリターンする。例えば、速度カウンタＣｖを８ビットカウンタとしたとき、エンベロープ係数を、８×｜Ｖａ｜×（１／２５５）とし、これが「１」を超えたら、「１」にクリッピングする。一方、ステップＳ６１２では、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにして、メインルーチンにリターンする。
【０３３２】
ここで、ステップＳ６１０，Ｓ６１２の処理は、摺動速さ｜Ｖａ｜が、ｋ回連続して「０」でない場合でも、摺動速さ｜Ｖａ｜が閾値ＴｈＶ２以下であれば、ハードウエアリリースを実行するための処理である。別の言い方をすれば、ステップＳ６１０，Ｓ６１２の処理は、操作者の意図に沿うように、摺動操作部材４０の停止を認識させる処理である。つまり、摺動操作部材４０を段々と遅く動かしていき、発音を停止させたい場合に、このような操作者の意図に沿って、摺動操作部材４０の停止を認識する処理である。
【０３３３】
また、例えば、ＴｈＶ２≦ＴｈＶ１、である。このように、ＴｈＶ１を大きくしたのは、操作者が意図しない操作（例えば、手のぶれなどによる操作部材４０の微動など）によりトリガが発生するのを防止するためである。一方、ＴｈＶ２を小さくしたのは、操作者が意図してゆっくりと操作部材４０を操作しているときに、操作停止と認識されるのを防止するためである。ただし、試行錯誤により、経験的に、ＴｈＶ１＝ＴｈＶ２、とすることもできる。
【０３３４】
さて、以上のように、本実施の形態によれば、操作者が摺動操作部材４０の摺動方向を変えたり、摺動速さを変えたり、という直感的な操作により、自動演奏のトリガを発生させたり、音量を制御したり、できる。
【０３３５】
このように、自動演奏装置（コンピュータ）が自動演奏する楽曲に対して、直感的な操作方法により、テンポを調整したり、強弱を加えたりでき、特別な音楽的知識や技量を有しない操作者でも、個性的な自動演奏を楽しむことができる。
【０３３６】
また、摺動操作部材４０の摺動速さが、予め定められた閾値ＴｈＶ２を下回った場合に（図５７のステップＳ６１０参照）、最新のトリガによる発音の終了処理が行われるだけでなく、新たなトリガが発生した場合に、前回のトリガによる発音の停止処理が行われる（図５６のステップＳ５８４参照）。
【０３３７】
従って、摺動操作部材４０の摺動速さが、予め定められた閾値ＴｈＶ１を超えたことのみをトリガの発生条件とし、予め定められた閾値ＴｈＶ２を下回ったことのみを、発音の終了条件とする場合と比べて、次の利点がある。
【０３３８】
操作者が、大きい摺動速さで、しかも、素早く摺動方向を変化させた場合、摺動速さが予め定められた閾値ＴｈＶ２を下回ったことが検知されず、そのため、発音終了処理が実行されず、しかも、変化直後に検知した摺動速さが予め定められた閾値ＴｈＶ２を超えていることもあり得る。この場合、１つのトリガによる発音が持続してしまうという不都合が生じる。大きい摺動速さで、しかも、素早く摺動方向を変化させる操作は、度々行われ、上記不都合は大きな問題である。
【０３３９】
新たなトリガの発生を（前回のトリガの後に、摺動速さが予め定められた閾値ＴｈＶ１を超えた場合であって、かつ、摺動方向が変化した場合）、前回のトリガによる発音の終了条件とすることで、以上のような問題を回避できる。
【０３４０】
また、摺動操作部材４０の摺動方向が変化したことのみをトリガの発生条件とする場合、例えば、僅かな手のぶれ等でもトリガが発生してしまう、等の不都合が発生し得るが、摺動方向の変化に加えて、摺動速さが予め定められた閾値ＴｈＶ１を超えたことをトリガ発生の条件としているため、このような問題を回避できる。
【０３４１】
ここで、発音の終了処理とは、発音を直ちに中止するという意味ではなく、音の減衰処理（本実施の形態では、ハードウエアリリース）を行うという意味である。従って、発音の停止処理が開始されてから、音が出なくなるまで、一定時間（リリースタイム）要することになる。
【０３４２】
また、本実施の形態では、発光ダイオード３６及びフォトトランジスタ３４，３５により反射型の光センサを構成して、摺動操作部材４０の摺動速さ及び摺動方向を簡易に求めている。この場合、摺動操作部材４０の反射パターン４３で反射した赤外光は、光ファイバ８９，９２により、フォトトランジスタ３４，３５に導かれる。従って、光ファイバ８９の一方端（被摺動鞍部５３３の内面側に露出している先端）と光ファイバ９２の一方端（被摺動鞍部５３３の内面側に露出している先端）との間隔を調整することにより、フォトトランジスタ３４が出力する受光信号と、フォトトランジスタ３５が出力する受光信号と、の位相差の調整を、容易、かつ、高精度に行うことができる。
【０３４３】
また、本実施の形態によれば、２つのガイド５３１，５３２により、摺動操作部材４０の摺動位置が規制されるため、操作者は特別に意識することなく、摺動操作部材４０を、発光ダイオード３６及び光ファイバ８９，９２上を通過させることができる。また、被摺動鞍部５３３は、断面視において、円弧状となっているので、摺動操作部材４０の動きの自由度を大きくでき、様々な態様の摺動操作が可能となる。
【０３４４】
また、本実施の形態では、実施の形態１と同様に、自動演奏の状態を表す画像１０３，１０４、及び、操作ガイドを表す画像ｎ，１００，１０１，１０２、をテレビジョンモニタ８０に表示し（図１４参照）また、メモリカートリッジ２９を装着するカートリッジソケット２３が本体５００に設けられる。また、本実施の形態では、実施の形態１と同様のトリガ発生条件を設定し、また、新たなトリガに応じた発音のための発音チャンネルを、前回のトリガに応じた発音のための発音チャンネルと異ならせる（図４０のステップＳ２８６〜Ｓ２８８参照）。従って、これらのことを起因として、本実施の形態では、実施の形態１と同様の効果を奏する。
【０３４５】
（実施の形態３）
実施の形態３では、スクリーン８２に表示される操作ガイド画面が、図１４と異なっている。図５８は、実施の形態３における操作ガイド画面の例示図である。この操作ガイド画面には、図１４の操作ガイド画面の表示に加えて、ベスト操作領域Ａ１、セカンド操作領域Ａ２、サード操作領域Ａ３、ライフ表示部７００、及び、点数表示部７０１が表示される。ただし、図５８の操作ガイド画面では、図１４の操作指示枠１０１、操作指示マーク１０２及びシンクロ値９９の表示はない。なお、ベスト操作領域Ａ１、セカンド操作領域Ａ２およびサード操作領域Ａ３を包括して表現するときは、操作領域Ａと表記する。
【０３４６】
操作者が、音符マークｎがベスト操作領域Ａ１に入った時にトリガを発生させると、例えば、５０点を取得する。操作者が、音符マークｎがセカンド操作領域Ａ２に入った時にトリガを発生させると、例えば、３０点を取得する。操作者が、音符マークｎがサード操作領域Ａ３に入った時にトリガを発生させると、例えば、１０点を取得する。
【０３４７】
また、例えば、ベスト操作領域Ａ１内で、５〜９回連続してトリガを発生させた時点で６０点、１０〜２９回連続してトリガを発生させた時点で７０点、３０〜４９回連続してトリガを発生させた時点で８０点、５０〜９９回連続してトリガを発生させた時点で９０点、１００回以上連続してトリガを発生させた時点で１００点、が与えられる。
【０３４８】
自動演奏のスタート時において、操作者には、例えば、８つのライフが与えられる。そして、ベスト操作エリアＡ１、セカンド操作エリアＡ２およびサード操作エリアＡ３以外の領域で、トリガを発生させたときは、１つライフが消滅する。全てのライフが消滅したら、自動演奏は終了する。また、例えば、ベスト操作エリアＡ１内で、１０回、３０回、５０回、あるいは、１００回、連続してトリガを発生させた時点でライフが１つ回復する。ただし、ライフが８を超えることはない。
【０３４９】
操作者が取得した上記の点数は、リアルタイムで点数表示部７０１に表示される。また、操作者のライフは、ライフ表示部７００に表示される。１つのライフが消滅すると、ライフ表示部７００の特定色の領域が、１／８減少する。さらに、ライフが１つ回復すると、特定色の領域が１／８増加する。特定色の領域が、消滅したら、８つ全てのライフが消滅したことを示し、自動演奏が終了する。
【０３５０】
なお、音符マークｎが、ベスト操作領域Ａ１に入った時に、操作者がトリガを発生させると、自動演奏装置は、ＢＧＭの進行に合った楽音を発生させる。この点、ベスト操作領域Ａ１は、図１４の操作指示枠１０１と同様である。
【０３５１】
また、例えば、音符マークｎが、ベスト操作領域Ａ１に入った時にトリガを発生させた場合、セカンド操作領域Ａ２に入った時にトリガを発生させた場合、および、サード操作領域Ａ３に入った時にトリガを発生させた場合に、それぞれ、ベストである旨の表示、セカンドである旨の表示、および、サードである旨の表示を行うこともできる。さらに、例えば、ベスト操作領域Ａ１で連続してトリガを発生させた回数を表示することもできる。
【０３５２】
ここで、本実施の形態では、３つの異なるモード（ハードモード、スタンダードモード、イージーモード）を設けている。図５９（ａ）は、ハードモードの説明図、図５９（ｂ）は、スタンダードモードの説明図、図５９（ｃ）は、イージーモードの説明図、である。図５９（ａ）〜図５９（ｃ）に示すように、ハードモード、スタンダードモードおよびイージーモードの順で、操作領域Ａの水平方向の幅が狭くなっている。従って、難易度は、高い順に、ハードモード、スタンダードモードおよびイージーモードとなる。
【０３５３】
本実施の形態の自動演奏装置としては、図１の自動演奏装置および図４６の自動演奏装置のいずれでも使用できる。図１の自動演奏装置を使用するときは、例えば、図２８のステップＳ６とステップＳ７との間で、下記のトリガ発生領域判定処理を実行する。一方、図４６の自動演奏装置を使用するときは、例えば、図５３のステップＳ５０５とステップＳ５０６との間で、下記のトリガ発生領域判定処理を実行する。
【０３５４】
図６０は、本実施の形態の自動演奏装置によるトリガ発生領域判定処理の流れの１例を示すフローチャートである。図６０に示すように、ステップＳ７９９にて、ＣＰＵ２０１は、トリガカウンタＣｔｇが更新されたか（インクリメントされたか）どうかを判断し、更新されていれば、ステップＳ８００に進み、更新されていなければ、メインルーチンにリターンする。
【０３５５】
ステップＳ８００にて、ＣＰＵ２０１は、トリガカウンタＣｔｇの値と同じ番号の音符マークｎの座標を取得する。音符マークｎの座標は、音符マークｎを構成するスプライトの中心座標である。ステップＳ８０１にて、ＣＰＵ２０１は、トリガカウンタＣｔｇの値と同じ番号の音符マークｎの座標が、ベスト操作領域Ａ１に存在するかどうかを判断して、存在する場合は、ステップＳ８０２に進み、存在しない場合は、ステップＳ８０６に進む。
【０３５６】
ステップＳ８０２では、ＣＰＵ２０１は、点数Ｐに５０点を加算する。ステップＳ８０３にて、ＣＰＵ２０１は、ベストカウンタＣｂｓをインクリメントする。ステップＳ８０４にて、ＣＰＵ２０１は、ベストカウンタＣｂｓの値に応じて、点数Ｐに値を加算する。よって、上述のように、ベスト操作領域Ａ１で、連続してトリガを発生させると、その連続回数に応じた点数が加算される。ステップＳ８０５にて、ＣＰＵ２０１は、ベストカウンタＣｂｓの値に応じて、ライフＬを１つ回復させて、メインルーチンにリターンする。よって、上述のように、ベスト操作領域Ａ１で、連続してトリガを発生させると、その連続回数に応じて、ライフＬが１つ回復する。
【０３５７】
一方、ステップＳ８０６では、ＣＰＵ２０１は、トリガカウンタＣｔｇの値と同じ番号の音符マークｎの座標が、セカンド操作領域Ａ２に存在するかどうかを判断して、存在する場合は、ステップＳ８０７に進み、点数Ｐに３０点を加算し、ステップＳ８１２に進み、一方、存在しない場合は、ステップＳ８０８に進む。
【０３５８】
ステップＳ８０８では、ＣＰＵ２０１は、トリガカウンタＣｔｇの値と同じ番号の音符マークｎの座標が、サード操作領域Ａ３に存在するかどうかを判断して、存在する場合は、ステップＳ８０９に進み、点数Ｐに１０点を加算し、ステップＳ８１２に進み、一方、存在しない場合は、ステップＳ８１０に進む。
【０３５９】
ステップＳ８１０にて、ＣＰＵ２０１は、ライフＬを１つ減少させる。なぜなら、この場合は、ベスト操作領域Ａ１、セカンド操作領域Ａ２およびサード操作領域Ａ３のいずれにも属しない範囲で、トリガが発生したからである。ステップＳ８１１では、ＣＰＵ２０１は、ライフＬが「０」かどうかを判断して、「０」でなければ、ステップＳ８１２に進み、一方、「０」であれば、ステップＳ８１３に進んで、音楽終了フラグをオンにして、メインルーチンにリターンする。
【０３６０】
ステップＳ８１２では、ＣＰＵ２０１は、ベストカウンタＣｂｓをリセットする。なぜなら、ベストカウンタＣｂｓは、ベスト操作領域Ａ１で連続してトリガを発生させた回数を表すからである。
【０３６１】
さて、本実施の形態では、図３３のステップＳ１２９のシンクロ値制御処理の代わりに、点数表示制御処理を実行する。この処理では、ＣＰＵ２０１は、点数Ｐに応じて、５つのベルトオブジェクトを選択して、それぞれの座標を設定する。
【０３６２】
具体的には次の通りである。０〜９までの１０個の数字オブジェクトが用意される。各数字オブジェクトは、１６画素×１６画素のスプライト１つからなる。ＣＰＵ２０１は、点数Ｐを表す数字オブジェクトを選択して、ｘ座標およびｙ座標を設定する。例えば、点数Ｐが、「２７００」である場合は、「０」を表す数字オブジェクトを３個、「２」を表す数字オブジェクトを１個、「７」を表す数字オブジェクトを１個選択して、それぞれのｘ座標およびｙ座標を設定する。
【０３６３】
また、本実施の形態では、例えば、点数表示制御処理の後に、ライフ表示制御処理を実行する。この処理では、ＣＰＵ２０１は、ライフＬの数に応じて、２つのベルトオブジェクトを選択して、それぞれの座標を設定する。
【０３６４】
具体的には、次の通りである。ライフ表示部７００は、例えば、２つのベルトオブジェクトから構成され、このベルトオブジェクトは、１６画素×１６画素のスプライト１つにより構成されるとする。そして、このベルトオブジェクトの種類は、５種類である。第１は透明のスプライト、第２は長さが４画素のベルトを表すスプライト、第３は長さが８画素のベルトを表すスプライト、…、第５は長さが１６画素のベルトを表すスプライトである。ライフ表示部７００の水平方向の長さは、例えば、３２画素、つまり、ベルトオブジェクト２個分である。
【０３６５】
ＣＰＵ２０１は、ライフＬの数に応じて、表示するベルトオブジェクトを２つ選択する。そして、ＣＰＵ２０１は、選択した全ベルトオブジェクトのｘ座標およびｙ座標を設定する。例えば、ライフＬの数が「５」、であれば、第５ベルトオブジェクト１個および第２ベルトオブジェクト１個が選択され、それぞれのｘ座標およびｙ座標が設定される。
【０３６６】
さて、以上のように、本実施の形態では、スクリーン８２に、ベスト操作領域Ａ１、セカンド操作領域Ａ２及びサード操作領域Ａ３を表示して、トリガが発生した領域に応じて、点数やライフの加算及び減算が行われる。このように、自動演奏にゲーム性が付加されるため、操作者に対して、別の楽しみ方を与えることができる（図５８参照）。
【０３６７】
（実施の形態４）
実施の形態４では、２台の自動演奏装置本体を接続して、二人の操作者が同時に同一楽曲の自動演奏に参加できるようにしている。この場合、図１の自動演奏装置本体１および摺動操作部材４０を二組用意して、本体１同士を接続して使用することもできるし、図４６の自動演奏装置本体５００および摺動操作部材４０を二組用意して、本体５００同士を接続して使用することもできる。まず、本実施の形態における操作ガイド画面について説明する。
【０３６８】
図６１は、本実施の形態における操作ガイド画面の例示図である。図６１に示すように、この操作ガイド画面には、一方の自動演奏装置を操作する操作者のためのガイド部８００Ａと、他方の自動演奏装置を操作する操作者のためのガイド部８００Ｂと、が表示される。ガイド部８００Ａおよび８００Ｂのそれぞれは、音符マークｎ、発音長指示バー１００、操作指示枠１０１、操作指示マーク１０２、及び、シンクロ値９９、を含む。これらの機能は、図１４と同じである。
【０３６９】
また、図１４と同じインジケータ１０３が表示され、この上縁に沿って、上記一方の自動演奏装置を操作する操作者のための操作位置明示オブジェクト８０１Ａが表示され、この下縁に沿って、上記他方の自動演奏装置を操作する操作者のための操作位置明示オブジェクト８０１Ｂが表示される。操作位置明示オブジェクト８０１Ａ，８０１Ｂの機能は、図１４の縦棒１０４と同じであり、それぞれの操作者の現在の操作位置を表している。
【０３７０】
従って、二人の操作者は、適切な操作位置に対して、どの程度ずれて操作しているかを把握できる。なお、操作位置とは、楽曲全体の時間を表す時間軸上の位置のことである。
【０３７１】
図６１から分かるように、ガイド部８００Ａの内容とガイド部８００Ｂの内容（音符マークｎの出現）は異なっており、二人の操作者は、それぞれ異なるパートを担当する。このように、二人の操作者に、異なるパートを割り当てている。従って、トリガにより発生される楽音も異なってくる。
【０３７２】
図６２は、本実施の形態における操作ガイド画面の他の例示図である。図６２に示すように、この操作ガイド画面には、一方の自動演奏装置を操作する操作者のためのガイド部８１０Ａと、他方の自動演奏装置を操作する操作者のためのガイド部８１０Ｂと、が表示される。ガイド部８１０Ａおよび８１０Ｂのそれぞれは、音符マークｎ、発音長指示バー１００、ベスト操作領域Ａ１、セカンド操作領域Ａ２、サード操作領域Ａ３、点数表示部７０１、及び、ライフ表示部７００、を含む。これらの機能は、図５８と同じである。また、この操作ガイド画面は、図６１と同じインジケータ１０３および操作位置明示オブジェクト８０１Ａ，８０１Ｂが表示される。
【０３７３】
図６２から分かるように、ガイド部８１０Ａの内容とガイド部８１０Ｂの内容（音符マークｎの出現）は同じであり、二人の操作者に、同じパートを割り当てている。従って、トリガにより発生される楽音も同じである。
【０３７４】
図６３は、本実施の形態による自動演奏システムの全体構成を示す図である。図６３に示すように、この自動演奏システムは、自動演奏装置本体５００ｍ（以下、「本体５００ｍ」と呼ぶ。）、摺動操作部材４０ｍ、自動演奏装置本体５００ｓ（以下、「本体５００Ｓ」と呼ぶ。）、摺動操作部材４０ｓ、および、テレビジョンモニタ８０を含む。本体５００ｍおよび５００ｓの構成は、図４６の自動演奏装置本体５００の構成と同じであり、また、摺動操作部材４０ｍ，４０ｓの構成も、図４６の摺動操作部材４０の構成と同じである。従って、本体５００ｍ，５００ｓを包括して表現するときは、本体５００と表記し、摺動操作部材４０ｍ，４０ｓを包括して表現するときは、摺動操作部材４０と表記する。
【０３７５】
図６３に示すように、マスタである本体５００ｍが、ＡＶケーブル６０により、テレビジョンモニタ８０に接続される。この場合、ＡＶケーブル６０は、本体５００ｍのＡＶ端子１８（図４７（ｂ）参照）およびテレビジョンモニタ８０のＡＶ端子８１（図４６参照）に接続される。
【０３７６】
また、本体５００ｍと本体５００ｓとを、ケーブル４１１により接続する。この場合、ケーブル４１１は、本体５００ｍ，５００ｓのコネクタ２２に接続される。
【０３７７】
図６４は、図６３のケーブル４１１の内部構造を示す模式図である。図６４に示すように、ケーブル４１１は、マスタである本体５００ｍのコネクタ２２に接続されるコネクタ８５０ｍおよびスレイブである本体５００ｓのコネクタ２２に接続されるコネクタ８５０ｓを含む。コネクタ８５０ｍは、端子Ｔｍ１〜Ｔｍ９を含み、コネクタ８５０ｓは、端子Ｔｓ１〜Ｔｓ９を含む。
【０３７８】
端子Ｔｍ１と端子Ｔｓ１とは、ラインＬ１により接続される。ラインＬ１は、マスタの本体５００ｍからスレイブの本体５００ｓへ電源電圧Ｖｃｃ２を供給する。後述するが、この電源電圧Ｖｃｃ２は、本体５００ｓの検知部３０およびビブラートスイッチ１２ｅに供給され、本体５００ｓの高速プロセッサ２００およびその周辺回路には供給されない。端子Ｔｍ９と端子Ｔｓ９とは、ラインＬ９により接続される。ラインＬ９は、マスタの本体５００ｍからスレイブの本体５００ｓへ接地電圧ＧＮＤを供給する。
【０３７９】
端子Ｔｍ２と端子Ｔｓ６とは、ラインＬ２により接続される。端子Ｔｍ４と端子Ｔｓ８とは、ラインＬ４により接続される。端子Ｔｍ６と端子Ｔｓ２とは、ラインＬ６により接続される。端子Ｔｍ８と端子Ｔｓ４とは、ラインＬ８により接続される。ラインＬ６およびラインＬ８は、それぞれ、スレイブの本体５００ｓからマスタの本体５００ｍへ、本体５００ｓの検知部３０が出力するパルス信号ＡおよびＢを供給する。
【０３８０】
端子Ｔｍ３と端子Ｔｓ７とは、ラインＬ３により接続される。端子Ｔｍ７と端子Ｔｓ３とは、ラインＬ７により接続される。ラインＬ７は、スレイブの本体５００ｓからマスタの本体５００ｍへ、本体５００ｓのビブラートスイッチ１２ｅのオン／オフ信号を供給する。
【０３８１】
端子Ｔｍ５は、接地電圧ＧＮＤを供給するラインＬ９に接続され、端子Ｔｓ５は、電源電圧Ｖｃｃ２を供給するラインＬ１に接続される。端子Ｔｍ５が接続される本体５００ｍは、電源回路が活性状態となって、マスタとなり、端子Ｔｓ５が接続される本体５００ｓは、電源回路が非活性状態となって、スレイブとなる。この点を、電源関連回路の回路図を用いて詳しく説明する。
【０３８２】
図６５は、本体５００ｍおよび本体５００ｓの各々に内蔵される電源関連回路の回路図である。図６５に示すように、電源関連回路は、電源電圧Ｖｃｃ１を生成する電源回路９００、電源スイッチ２４、高速プロセッサ２００の異常動作を検出して電源回路９００を非活性状態にする暴走監視回路９３０、及び、スレイブの本体５００ｓの電源回路９００を停止させる電源停止回路９４０、を含む。
【０３８３】
電源回路９００は、電解コンデンサ９０１、コンデンサ９０２，９１２、抵抗素子９０３，９０４，９０６，９０９，９１０，９１３、ＮＰＮトランジスタ９０５，９０７、ＰＮＰトランジスタ９０８、ツェナダイオード９１１、及び、ショットキダイオード９１４を含む。電源スイッチ２４は、８つの端子９２１〜９２８を含む。
【０３８４】
暴走監視回路９３０は、ＮＰＮトランジスタ９３１、ＰＮＰトランジスタ９３２、抵抗素子９３３，９３５，９３９、電解コンデンサ９３４，９３８、および、ダイオード９３６，９３７を含む。電源停止回路９４０は、抵抗素子９４１およびＮＰＮトランジスタ９４２を含む。
【０３８５】
電源回路９００のＰＮＰトランジスタ９０８のコレクタは、ＮＰＮトランジスタ９０５のコレクタ、抵抗素子９１３の一方端、抵抗素子９０３の一方端、コンデンサ９０２の一方端、及び、電解コンデンサ９０１のプラス端子、に接続される。コンデンサ９０２の他方端および電解コンデンサ９０１のマイナス端子は、接地される。ＮＰＮトランジスタ９０５のベースには、抵抗素子９０３の他方端および抵抗素子９０４の一方端が接続される。抵抗素子９０４の他方端は接地される。ショットキダイオード９１４のアノードは、抵抗素子９１３の他方端に接続され、カソードは、コネクタ８５０ｍの端子Ｔｍ１あるいはコネクタ８５０ｓの端子Ｔｓ１に接続される。
【０３８６】
ＰＮＰトランジスタ９０８のベースには、ＮＰＮトランジスタ９０７のコレクタおよび抵抗素子９０９の一方端が接続される。ＮＰＮトランジスタ９０５，９０７のエミッタは、抵抗素子９０６の一方端に接続される。抵抗素子９０６の他方端は、接地される。
【０３８７】
ＮＰＮトランジスタ９０７のベースには、抵抗素子９１０の一方端、ツェナダイオード９１１のカソード、ＮＰＮトランジスタ９３１のコレクタ、および、ＰＮＰトランジスタ９３２のベースが接続される。ツェナダイオード９１１のアノードは接地される。
【０３８８】
ＰＮＰトランジスタ９０８のエミッタには、抵抗素子９０９の他方端、抵抗素子９１０の他方端、コンデンサ９１２の一方端、および、電源スイッチ２４の端子９２２，９２４が接続される。
【０３８９】
電源スイッチ２４の端子９２１，９２５，９２６は、ハイインピーダンス状態にされる。端子９２３には、電池あるいはＡＣアダプタ５０から電源電圧ＶｃｃＳ（例えば、６Ｖ）が与えられる。端子９２８には、電源回路９００から電源電圧Ｖｃｃ１（例えば、３．３Ｖ）が与えられる。端子９２７は、テレビモード信号／ＴＶを出力するラインに接続される。
【０３９０】
暴走監視回路９３０のＮＰＮトランジスタ９３１のベースは、ＰＮＰトランジスタ９３２のコレクタに接続され、エミッタは接地される。ＰＮＰトランジスタ９３２のエミッタは、抵抗素子９３３の一方端に接続される。ダイオード９３６のアノードには、抵抗素子９３５の一方端、抵抗素子９３３の他方端、および、電解コンデンサ９３４のプラス端子が接続される。抵抗素子９３５の他方端は電源Ｖｃｃ１に接続され、電解コンデンサ９３４のマイナス端子は接地される。
【０３９１】
ダイオード９３６のカソードには、ダイオード９３７のアノードおよび電解コンデンサ９３８のプラス端子が接続される。ダイオード９３７のカソードは電源Ｖｃｃ１に接続される。電解コンデンサ９３８のマイナス端子は、ＮＰＮトランジスタ９４２のコレクタおよび抵抗素子９３９の一方端に接続される。抵抗素子９３９の他方端は、高速プロセッサ２００の入出力ポート（例えばＩＯ９）に接続される。
【０３９２】
電源停止回路９４０のＮＰＮトランジスタ９４２のエミッタは接地され、ベースは抵抗素子９４１の一方端に接続される。抵抗素子９４１の他方端は、コネクタ８５０ｍの端子Ｔｍ５あるいはコネクタ８５０ｓの端子Ｔｓ５に接続される。
【０３９３】
電源回路９００の動作を説明する。電源回路９００は、ノードＮ２の電位（ツェナダイオード９１１が発生する基準電圧Ｖｒｅｆ）と、ノードＮ１の電位（出力ノードＮ０の電位（つまり、電源電圧Ｖｃｃ１）を、抵抗素子９０３と抵抗素子９０４とで分圧した電圧）と、を比較して、ノードＮ１の電圧が基準電圧Ｖｒｅｆより大きい場合は、ＰＮＰトランジスタ９０８により、出力ノードＮ０に供給する電流を小さくし、一方、ノードＮ１の電圧が基準電圧Ｖｒｅｆより小さい場合は、ＰＮＰトランジスタ９０８により、出力ノードＮ０に供給する電流を大きくする。このようにして、出力ノードＮ０の電位（電源電圧Ｖｃｃ１）を一定値に保つ。
【０３９４】
例えば、基準電圧Ｖｒｅｆを２Ｖとし、抵抗素子９０３の抵抗値：抵抗素子９０４の抵抗値＝１．３：２として、電源電圧Ｖｃｃ１を３．３Ｖに保つ。電源電圧Ｖｃｃ１は、高速プロセッサ２００およびその周辺回路に供給される。
【０３９５】
電源スイッチ２４について説明する。電源スイッチ２４がオフの状態では、端子９２１と端子９２２とが接続されるとともに、端子９２５と端子９２６とが接続される。従って、ノードＮ５は、ハイインピーダンス状態となって、電源電圧Ｖｃｃ０の出力が停止するとともに、電源回路９００が非活性状態になり、電源電圧Ｖｃｃ１の出力も停止する。
【０３９６】
テレビモードでは、端子９２２と端子９２３とが接続されるとともに、端子９２６と端子９２７とが接続される。従って、ノードＮ５には、電源電圧ＶｃｃＳが供給され、電源回路９００は活性状態となり、電源電圧Ｖｃｃ１を出力する。一方、ノードＮ６は、ハイインピーダンス状態となる。この状態は、テレビモード信号／ＴＶが、活性化された状態である（ローレベル）。
【０３９７】
スピーカモードでは、端子９２３と端子９２４とが接続され、端子９２７と端子９２８とが接続される。従って、ノードＮ５には、電源電圧ＶｃｃＳが供給され、電源回路９００は活性状態となり、電源電圧Ｖｃｃ１を出力する。一方、ノードＮ６には、電源電圧Ｖｃｃ１が供給される。この状態は、テレビモード信号／ＴＶが、非活性化された状態である（ハイレベル）。
【０３９８】
高速プロセッサ２００は、以上のようなテレビモード信号／ＴＶに基づいて、どのようなモードが選択されたかを判断して、モードに応じた処理を実行する。また、テレビモードのときは、テレビモード信号／ＴＶに基づいて、スピーカ部１１のスイッチがオフになって、スピーカ部１１からは音声が出力されない。一方、スピーカモードのときは、テレビモード信号／ＴＶに基づいて、スピーカ部１１のスイッチがオンになって、スピーカ部１１から音声が出力される。
【０３９９】
暴走監視回路９３０について説明する。暴走監視回路９３０の入力ノードＮ３には、高速プロセッサ２００の入出力ポートＩＯ９から、一定周波数のパルス信号が与えられる。そして、このパルス信号が来なくなったらプログラムが暴走していると判断して、電源を遮断する。この点を詳しく説明する。
【０４００】
電解コンデンサ９３４は、抵抗素子９３５により、常時充電されている。入出力ポートＩＯ９からのパルス信号のローレベルで、電解コンデンサ９３８にダイオード９３６を介して電解コンデンサ９３４の電荷が流れ込んで、電解コンデンサ９３８が充電される。一方、パルス信号のハイレベルで、電解コンデンサ９３８の電荷は、ダイオード９３７を介して、出力ノードＮ０へ流れ込む。このようにして、入力ノードＮ３にパルス信号が供給されている間は、電解コンデンサ９３４の充放電が繰り返され、ノードＮ４の電位は上昇しない。
【０４０１】
プログラムが暴走して、入力ノードＮ３にパルス信号が来なくなると、電解コンデンサ９３４の放電ができなくなり、ノードＮ４の電位が上昇する。なぜなら、入力ノードＮ３がローレベルの場合、電解コンデンサ９３８の電荷を出力ノードＮ０に捨てることができず、電解コンデンサ９３８は、電解コンデンサ９３４の電荷を充電できなくなるからである。
【０４０２】
ノードＮ４の電位が上昇して、ＰＮＰトランジスタ９３２のエミッタの電位が、ノードＮ２の電位より、一定値（トランジスタ９３２の入力特性で決まる。）以上大きくなると、ＰＮＰトランジスタ９３２がオンし、応じて、ＮＰＮトランジスタ９３１がオンする。すると、ノードＮ２の電位が下降し、ＰＮＰトランジスタ９３２がさらに強くオンし、応じて、ＮＰＮトランジスタ９３１もさらに強くオンする。このような動作により、ツェナダイオード９１１のアノードとカソードとをショートする。これにより、基準電圧Ｖｒｅｆが０Ｖとなるので、電源回路９００の出力電圧（つまり電源電圧Ｖｃｃ１）の発生が停止する。
【０４０３】
電源停止回路９４０について説明する。まず、ケーブル４１１のコネクタ８５０ｍが接続された本体５００ｍの電源停止回路９４０について説明する。この場合は、電源停止回路９４０のノードＮ７は、コネクタ８５０ｍの端子Ｔｍ５に接続される。図６４から分かるように、この端子Ｔｍ５は、接地電圧ＧＮＤが供給されるラインＬ９に接続される。従って、ノードＮ７の電位は、ローレベルとなる。この場合、ＮＰＮトランジスタ９４２はオフしており、ノードＮ３にパルス信号が与えられている限り、電源回路９００から電源電圧Ｖｃｃ１が出力される。
【０４０４】
また、この電源電圧Ｖｃｃ１は、抵抗素子９１３及びショットキダイオード９１４により、電源電圧Ｖｃｃ２として、コネクタ８５０ｍの端子Ｔｍ１、並びに、本体５００ｍの検知部３０及びビブラートスイッチ１２ｅに与えられる。
【０４０５】
次に、ケーブル４１１のコネクタ８５０ｓが接続された本体５００ｓの電源停止回路９４０動作について説明する。この場合は、電源停止回路９４０のノードＮ７は、コネクタ８５０ｓの端子Ｔｓ５に接続される。図６４から分かるように、この端子Ｔｓ５は、電源電圧Ｖｃｃ２が供給されるラインＬ１に接続される。従って、ノードＮ７の電位は、ハイレベルとなる。この場合、ＮＰＮトランジスタ９４２がオンして、ノードＮ８は、パルス信号の入力に関係なく、ローレベルになる。よって、プログラムが暴走したときと同様の状態が作り出され、電源回路９００から電源電圧Ｖｃｃ１の出力が停止する。
【０４０６】
また、コネクタ８５０ｓの端子Ｔｓ１からノードＮ８に、電源電圧Ｖｃｃ２が与えられ、本体５００ｓの検知部３０及びビブラートスイッチ１２ｅに供給される。この場合、ショットキダイオード９１４により、ノードＮ０に電流が供給されることはない。
【０４０７】
以上のようにして、コネクタ８５０ｍが接続される本体５００ｍの電源回路９００はオンして、電源電圧Ｖｃｃ１を、高速プロセッサ２００およびその周辺回路に供給するとともに、図６４のラインＬ１を介して、コネクタ８５０ｓが接続される本体５００ｓの検知部３０およびビブラートスイッチ１２ｅに電源電圧Ｖｃｃ２を供給する。
【０４０８】
一方、コネクタ８５０ｓが接続される本体５００ｓの電源回路９００はオフして、その結果、本体５００ｓの高速プロセッサ２００には、電源電圧Ｖｃｃ１が供給されず停止する。
【０４０９】
次に、スレイブからマスタへの信号伝達経路について説明する。図６６は、図６３のスレイブの本体５００ｓからマスタの本体５００ｍへのパルス信号Ａ，Ｂおよびビブラートスイッチ１２ｅのオン／オフ信号の伝達経路の説明図である。
【０４１０】
図６６に示すように、ケーブル４１１のコネクタ８５０ｍは、マスタである本体５００ｍに接続される。言い換えると、コネクタ８５０ｍが接続される本体５００ｍがマスタである。一方、コネクタ８５０ｓは、スレイブである本体５００ｓに接続される。言い換えると、コネクタ８５０ｓが接続される本体５００ｓがスレイブである。
【０４１１】
スレイブである本体５００ｓの検知部３０が出力するパルス信号Ａ，Ｂは、端子Ｔｓ２，Ｔｓ４、ラインＬ６，Ｌ８、及び、端子Ｔｍ６，Ｔｍ８を介して、マスタである本体５００ｍの高速プロセッサ２００の入出力ポートＩＯ６，ＩＯ８に入力される。
【０４１２】
一方、マスタである本体５００ｍの検知部３０が出力するパルス信号Ａ，Ｂは、本体５００ｍの高速プロセッサ２００の入出力ポートＩＯ２，ＩＯ４に入力される。
【０４１３】
また、スレイブである本体５００ｓのビブラートスイッチ１２ｅからのオン／オフ信号は、端子Ｔｓ３、ラインＬ７、及び、端子Ｔｍ７を介して、マスタである本体５００ｍの高速プロセッサ２００の入出力ポートＩＯ７に入力される。
【０４１４】
一方、マスタである本体５００ｍのビブラートスイッチ１２ｅからのオン／オフ信号は、本体５００ｍの高速プロセッサ２００の入出力ポートＩＯ３に入力される。
【０４１５】
以上のようにして、マスタである本体５００ｍの高速プロセッサ２００には、本体５００ｍ，５００ｓの検知部３０からのパルス信号Ａ，Ｂ、が入力されるとともに、本体５００ｍ，５００ｓのビブラートスイッチ１２ｅのオン／オフ信号が入力される。
【０４１６】
さて、本体５００ｍの高速プロセッサ２００は、図５３の処理を実行する。ただし、処理は、本体５００ｍおよび本体５００ｓのそれぞれに対して行われる。本体５００ｍおよび本体５００ｓのそれぞれに対して行われる処理は、次の通りである。ただし、下記に挙げていない処理でも、必要に応じて、それぞれに対して行われる。
【０４１７】
本体５００ｍの高速プロセッサ２００は、図５３のステップＳ５１０の処理を、本体５００ｍのパルス信号Ａ，Ｂおよび本体５００ｓのパルス信号Ａ，Ｂのそれぞれに対して行う。
【０４１８】
本体５００ｍの高速プロセッサ２００は、図５３のステップＳ５００において、図５４のステップＳ５３０，Ｓ５３１，Ｓ５３４を、本体５００ｍおよび本体５００ｓのそれぞれに対して行う。
【０４１９】
本体５００ｍの高速プロセッサ２００は、図５３のステップＳ５０３，Ｓ５０４，Ｓ５０５の処理を、本体５００ｍおよび本体５００ｓのそれぞれに対して行う。
【０４２０】
本体５００ｍの高速プロセッサ２００は、図５３のステップＳ５０６において、図３３のステップＳ１２５，Ｓ１２６，Ｓ１２７，Ｓ１２９の処理を、本体５００ｍおよび本体５００ｓのそれぞれに対して行う。
【０４２１】
本体５００ｍの高速プロセッサ２００は、図５３のステップＳ５０９において、図３７のステップＳ２０１，Ｓ２０２，Ｓ２０３の処理を、本体５００ｍおよび本体５００ｓのそれぞれに対して行う。
【０４２２】
以上の処理により、図６１の画面がスクリーン８２に表示される。一方、図６１の画面を表示する際は、本体５００ｍの高速プロセッサ２００は、図６０の処理を、本体５００ｍおよび本体５００ｓのそれぞれに対して行う。
【０４２３】
ここで、マスタである本体５００ｍの高速プロセッサ２００は、本体５００ｍのＲＯＭ３００あるいは本体５００ｍに装着されるＲＯＭ９１に格納された制御プログラム３０１を実行して、上記処理を行う。この場合、本体５００ｍの高速プロセッサ２００は、本体５００ｍのＲＯＭ３００あるいは本体５００ｍに装着されるＲＯＭ９１に格納された画像データ３０２および楽曲データ３０５を用いて、楽音信号ＡＲ，ＡＬ及び画像信号ＶＤを生成する。
【０４２４】
図６１の画面を表示する例では、図２５の音符マーク登録用の楽譜データ及び図２６のトリガ発音用の楽譜データは、本体５００ｍおよび本体５００ｓのそれぞれに対して用意される。図６２の画面を表示する例では、音符マーク登録用の楽譜データ及びトリガ発音用の楽譜データは、一方に対して用意すればよい。
【０４２５】
さて、以上のように、本実施の形態では、本体５００ｍをマスタとして、本体５００ｓと本体５００ｍとを、ケーブル４１１により接続している。そして、本体５００ｓ，５００ｍのそれぞれに対して、１つのスクリーン８２に操作ガイドを表示している。従って、操作者二人で自動演奏される楽曲に変化や表情を加味できる。
【０４２６】
また、本実施の形態では、スレイブの本体５００ｓの電源をオフにし、ケーブル４１１を介して、マスタの本体５００ｍから電源電圧Ｖｃｃ２及び接地電圧ＧＮＤを供給している。この場合、本体５００ｓの検知部３０及びビブラートスイッチ１２ｅのみに、電源電圧Ｖｃｃ２が供給される。したがって、本体５００ｓの高速プロセッサ２００及び他の周辺回路には、電源電圧Ｖｃｃ２が供給されないため、本体５００ｓの消費電力を抑制できる。
【０４２７】
また、本実施の形態では、本体５００ｍの検知部３０からの信号線に接続される端子Ｔｍ２，Ｔｍ４が、本体５００ｓの検知部３０からの信号線に接続される端子Ｔｓ２，Ｔｓ４とは異なる端子Ｔｓ６，Ｔｓ８に接続され、一方、本体５００ｓの検知部３０からの信号線に接続される端子Ｔｓ２，Ｔｓ４が、本体５００ｍの検知部３０からの信号線に接続される端子Ｔｍ２，Ｔｍ４とは異なる端子Ｔｍ６，Ｔｍ８に接続される。しかも、端子Ｔｍ２，Ｔｍ４と端子Ｔｓ２，Ｔｓ４とは、配置される位置が同じであり、また、端子Ｔｍ６，Ｔｍ８と端子Ｔｓ６，Ｔｓ８とは、配置される位置が同じである。
【０４２８】
さらに、本体５００ｍのビブラートスイッチ１２ｅからの信号線に接続される端子Ｔｍ３が、本体５００ｓのビブラートスイッチ１２ｅからの信号線に接続される端子Ｔｓ３とは異なる端子Ｔｓ７に接続され、一方、本体５００ｓのビブラートスイッチ１２ｅからの信号線に接続される端子Ｔｓ３が、本体５００ｍのビブラートスイッチ１２ｅからの信号線に接続される端子Ｔｍ３とは異なる端子Ｔｍ７に接続される。しかも、端子Ｔｍ３と端子Ｔｓ３とは、配置される位置が同じであり、また、端子Ｔｍ７と端子Ｔｓ７とは、配置される位置が同じである。
【０４２９】
さらに、電源電圧Ｖｃｃ２を供給するラインが接続される端子Ｔｍ１と端子Ｔｓ１とは、配置される位置が同じであり、また、接地電圧ＧＮＤを供給するラインが接続される端子Ｔｍ９と端子Ｔｓ９とは、配置される位置が同じである。
【０４３０】
さらに、暴走監視回路９３０に接続される端子Ｔｓ５と端子Ｔｍ５とは、配置される位置が同じである。そして、スレイブに接続される端子Ｔｓ５には電源電圧Ｖｃｃ２が供給され、マスタに接続される端子Ｔｍ５には接地電圧ＧＮＤが供給される。
【０４３１】
以上のような構成のケーブル４１１を採用することにより、コネクタ８５０ｍを、本体５００ｍに接続し、コネクタ８５０ｓを本体５００ｓに接続することもできるし、また、その逆も可能である。このように、コネクタ８５０ｍ，８５０ｓの接続先を変えるだけで、任意にマスタやスレイブを選択できる。
【０４３２】
また、本実施の形態では、暴走監視回路９３０に接続される端子Ｔｓ５と端子Ｔｍ５との極性を逆にすることで、暴走監視回路９３０の状態を定め、スレイブ側の暴走監視回路９３０が、スレイブ側の電源電圧発生回路９００をオフにする。このように、ケーブル４１１を接続するだけで、スレイブの本体５００ｓの電源をオフにできる。
【０４３３】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０４３４】
（１）実施の形態１では、摺動操作部材４０の摺動速さを知るためのパルス信号ａと、摺動操作部材４０の摺動方向の変化を知るためのパルス信号Ａと、を同一の信号とした（図２３参照）。
【０４３５】
しかし、摺動操作部材４０の摺動速さを知るためのパルス信号を、摺動操作部材４０の摺動方向の変化を知るためのパルス信号Ａおよびパルス信号Ｂと異なる信号とすることもできる。
【０４３６】
例えば、次のようにする。摺動操作部材４０の摺動方向の変化を検知するために、図２３の信号Ａ及びＢの状態遷移を検知する（図２０参照）。この点は、上記と同様である。これに加えて、フォトトランジスタをさらに設けて、このフォトトランジスタにより、摺動操作部材４０の反射パターンからの反射光を検出して、その反射光に応じたパルス信号（「パルス信号Ｃ」と呼ぶ。）を出力することもできる。そして、このパルス信号Ｃの周波数あるいは周波数に依存するものを検出することで、摺動操作部材４０の摺動速さを知る。
【０４３７】
つまり、この新たに設けたフォトトランジスタからのパルス信号Ｃは、摺動操作部材４０の摺動速さを検出するための専用の信号である。一方で、フォトトランジスタ３４，３５からのパルス信号Ａ，Ｂは、摺動操作部材４０の摺動方向の変化を検知するための専用の信号と言える。
【０４３８】
従って、パルス信号Ｃの検知の精度を、パルス信号Ａ，Ｂの検知の精度より高くしたり、また、その逆とすることも可能である。例えば、摺動操作部材４０の反射パターン４３による反射光をフォトトランジスタ３４，３５で検知し、同じ摺動操作部材４０に設けた別の反射パターンによる反射光を、新たに設けたフォトトランジスタで検知する。そして、反射パターン４３の光反射部４５（光吸収部４４）の間隔と、その別の反射パターンの光反射部（光吸収部）の間隔と、を異ならせる。反射パターンの光反射部（光吸収部）の間隔が異なれば、出力されるパルス信号の周波数も異なってくる。このように、自動演奏装置の設計の自由度が向上する。
【０４３９】
（２）実施の形態１では、ガイド３１，３２を、三角柱状に構成した（図７参照）。しかし、これに限定されるものではない。例えば、実施の形態２のガイド５３１，５３２を設けることもできる。逆に、実施の形態２において、ガイド３１，３２を設けることもできる。また、ガイドによって、摺動操作部材４０が直線状に案内されるようにしてもよい。
【０４４０】
（３）実施の形態１では、実施の形態２と同様に、図８の被摺動鞍部３３の内面から、フォトトランジスタ３４，３５の受光部まで、光ファイバ、あるいはチューブ等で光路を形成して、フォトトランジスタ３４，３５へ赤外光を導くようにすることができる。
【０４４１】
（４）実施の形態１の図１８の例では、フォトトランジスタ３４とフォトトランジスタ３５との距離をＬ／４として、パルス信号Ａとパルス信号Ｂとの位相差が、−９０度又は９０度になるようにした。しかし、この距離は、これに限定されるものではない。例えば、５Ｌ／４等、任意の値とすることができる。この点は、実施の形態２の光ファイバ８９，９２についても同様である。
【０４４２】
（５）実施の形態４では、スレイブの本体５００ｓとマスタの本体５００ｍの構成を同じものとした。ただし、本体５００ｓをスレイブ専用とする場合は、本体５００ｓには、検知部３０及びビブラートスイッチ１２ｅだけを設ければよく、高速プロセッサ２００等は必ずしも設ける必要はない。なぜなら、実施の形態４で説明したように、情報処理は全てマスタ側の高速プロセッサ２００が実行するからである。また、スレイブへの電源電圧は、マスタから供給されるので、スレイブ側に電源を設ける必要がない。以上のことから、スレイブの本体５００ｓのコスト削減及び消費電力の低減を図ることができる。
【０４４３】
（６）上記の例では、操作者の摺動操作（摺動速さ及び摺動方向）により制御される旋律を１種類とした。しかし、外部ＲＯＭ３００に、複数の旋律の楽曲データを格納して、操作者の摺動操作により、複数の旋律を制御できるようにすることもできる。
【０４４４】
この場合、操作者は、複数の旋律について、自動演奏装置による自動演奏に変化、表情を加えることができるので、操作者は、自動演奏装置による自動演奏をより一層楽しむことができる。
【０４４５】
（７）音源データ３０９としては、１種類の楽器音を表す音源データだけでなく、複数種類の楽器音を表す音源データを格納して、発音することもできる。
【０４４６】
上記例では、本体１は、バイオリンを模した形状としたため、バイオリンの音を表す音源データを格納することもできるし、また、ピアノ、ギター、ラッパ、等の様々な楽器音を表す音源データを格納できる。これにより、操作者は、自動演奏装置による自動演奏をより一層楽しむことができる。なお、格納する音源データは、楽器音に限られるものではない。
【０４４７】
（８）上記では、摺動操作部材４０に、光吸収部４４と光反射部４５とからなる反射パターン４３を設け、反射型の光センサ（フォトダイオード３６及びフォトトランジスタ３４，３５）により、反射光を検知した。しかし、このような反射型に限定されるものではなく、透過型にすることもできる。即ち、光透過部と遮光部とを交互に設けたパターンを、摺動操作部材４０に設ける。そして、透過型の光センサにより、透過光を検知する。
【０４４８】
（９）図１４、図５８、図６１及び図６２の操作ガイド画面において、さらに、楽譜に記載される記号、図形などの表示を行うこともできる。また、楽譜に記載される記号、図形などを分かり易く模式的に表したものを表示することができる。例えば、強弱を表す記号、テンポを表す記号、譜線など、様々な表示をすることができる。
【０４４９】
（１０）図６の反射パターン４３を、直接、被摺動鞍部３３，５３３に接触するようにすると、反射パターン４３にキズが付いて不都合が生じる恐れもある。これを防止するために、反射パターン４３の表面に滑らかなカバー（赤外線は透過）を装着することもできる。また、摺動操作部材４０の底面４１に、摺動操作部材４０の長さ方向に溝を形成して、この溝の中に反射パターン４３を設けることもできる。また、その双方を実行することも可能である。
【０４５０】
図６７（ａ）は、摺動操作部材４０の他の例の側面図、図６７（ｂ）は、摺動操作部材４０の他の例の底面図、図６７（ｃ）は、摺動操作部材４０の他の例のＥ−Ｅ断面図、である。図６７（ｃ）に示すように、この摺動操作部材４０の底面４１には、その長さ方向に溝部７７８が形成され、この溝部７７８の底に反射パターン４３が形成される。言い換えると、摺動操作部材４０の底面４１には、その長さ方向に直線状の２つのスペーサ７７７が平行に形成され、反射パターン４３が、２つのスペーサ７７７の間に形成される。
【０４５１】
（１１）上記例では、１つのトリガにより単音が出力されたが、１つのトリガで重音を出力することもできる。
【０４５２】
（１２）上記例では、「ＢＧＭ、ガイド付き」モードを中心に説明したが、「ソロ」モードでは、ＢＧＭや操作ガイド画面がなく、トリガによる楽音だけが出力され、「ＢＧＭ付き」モードでは、操作ガイド画面が表示されないだけで、「ＢＧＭ、ガイド付き」モードと同じである。
【０４５３】
（１３）図１７の高速プロセッサ２００として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサを用いることが好ましい。この高速プロセッサは、例えば、特開平１０−３０７７９０号公報およびこれに対応するアメリカ特許第６，０７０，２０５号に詳細に開示されている。
【０４５４】
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【図１】
2010256923.tif 000003
【図２】
2010256923.tif 000004
【図３】
2010256923.tif 000005
【図４】
2010256923.tif 000006
【図５】
2010256923.tif 000007
【図６】
2010256923.tif 000008
【図７】
2010256923.tif 000009
【図８】
2010256923.tif 000010
【図９】
2010256923.tif 000011
【図１０】
2010256923.tif 000012
【図１１】
2010256923.tif 000013
【図１２】
2010256923.tif 000014
【図１３】
2010256923.tif 000015
【図１４】
2010256923.tif 000016
【図１５】
2010256923.tif 000017
【図１６】
2010256923.tif 000018
【図１７】
2010256923.tif 000019
【図１８】
2010256923.tif 000020
【図１９】
2010256923.tif 000021
【図２０】
2010256923.tif 000022
【図２１】
2010256923.tif 000023
【図２２】
2010256923.tif 000024
【図２３】
2010256923.tif 000025
【図２４】
2010256923.tif 000026
【図２５】
2010256923.tif 000027
【図２６】
2010256923.tif 000028
【図２７】
2010256923.tif 000029
【図２８】
2010256923.tif 000030
【図２９】
2010256923.tif 000031
【図３０】
2010256923.tif 000032
【図３１】
2010256923.tif 000033
【図３２】
2010256923.tif 000034
【図３３】
2010256923.tif 000035
【図３４】
2010256923.tif 000036
【図３５】
2010256923.tif 000037
【図３６】
2010256923.tif 000038
【図３７】
2010256923.tif 000039
【図３８】
2010256923.tif 000040
【図３９】
2010256923.tif 000041
【図４０】
2010256923.tif 000042
【図４１】
2010256923.tif 000043
【図４２】
2010256923.tif 000044
【図４３】
2010256923.tif 000045
【図４４】
2010256923.tif 000046
【図４５】
2010256923.tif 000047
【図４６】
2010256923.tif 000048
【図４７】
2010256923.tif 000049
【図４８】
2010256923.tif 000050
【図４９】
2010256923.tif 000051
【図５０】
2010256923.tif 000052
【図５１】
2010256923.tif 000053
【図５２】
2010256923.tif 000054
【図５３】
2010256923.tif 000055
【図５４】
2010256923.tif 000056
【図５５】
2010256923.tif 000057
【図５６】
2010256923.tif 000058
【図５７】
2010256923.tif 000059
【図５８】
2010256923.tif 000060
【図５９】
2010256923.tif 000061
【図６０】
2010256923.tif 000062
【図６１】
2010256923.tif 000063
【図６２】
2010256923.tif 000064
【図６３】
2010256923.tif 000065
【図６４】
2010256923.tif 000066
【図６５】
2010256923.tif 000067
【図６６】
2010256923.tif 000068
【図６７】
2010256923.tif 000069