(57)【要約】      （修正有）【課題】電子楽器において、押鍵の鍵タッチに応じて発音タイミングを制御し、突っ込み発音と非突っ込み発音との切換発音を可能にして、表現力やアーティキュレーションを増大する。【解決手段】押鍵検出手段の鍵スイッチとして鍵でオンオフする浅スイッチ４７とハンマーでオンオフする深スイッチ４８を設け、各スイッチの１接点および第２接点からなる４つの接点により、鍵ストローク中のオン／オフを検出する。浅スイッチの２接点からタッチデータを検出し、このタッチデータが所定値以上のとき突っ込み発音する。所定値以下のとき深スイッチの２接点から検出したタッチデータに応じて非突っ込み発音／非発音を制御する。例えばピアノプレーヤーかパイプオルガンプレーヤーかに応じて、あるいはプロ／アマチュアかに応じれ突っ込み発音／非突っ込み発音かを制御する。【選択図】図２
2005222073.tif 000002
【特許請求の範囲】
【請求項１】
押離鍵操作される鍵と、
該鍵を押鍵操作した時の鍵ストローク中浅い位置において第１の鍵タッチ信号を生成する第１のタッチセンサと鍵ストローク中深い位置において第２の鍵タッチ信号を生成する第２のタッチセンサとでなる鍵タッチセンサ手段と、
該鍵タッチセンサ手段で生成される鍵タッチ信号に基づいて楽音を制御する楽音制御手段と、
演奏者情報を入力する入力手段を設け、
該入力手段で入力される演奏者情報に応じて、前記鍵ストロークの浅い方で発生される第１の鍵タッチ信号が得られた直後に発音するか、前記鍵ストロークの深い方で発生された第２の鍵タッチ信号に応じて発音／非発音を制御するかを切り換える発音制御手段と
を備えたことを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵盤に配設された例えば鍵スイッチにより押鍵操作時の鍵ストローク中に鍵タッチ信号を生成し、該タッチ信号に基づいて楽音を制御する電子楽器に関する。
【背景技術】
【０００２】
従来、電子鍵盤楽器において、例えば特公平８−１０３９９号公報に開示されているように、鍵ストロークの全行程で鍵の位置をセンシングして楽音を制御する技術がある。このような技術によれば、例えば１つの鍵スイッチの２つの接点スイッチの時間差だけからイニシャルタッチを求めて楽音を制御するものよりも、多彩な表現が可能となる。
【０００３】
また、例えば特開平７−１９９９３２号公報には、鍵ストロークの全行程でのセンシングにより、鍵ストロークの時間変化の非線形性に基づいて奏法を判別する技術が開示されている。
【０００４】
また、３つの接点スイッチによる２つの時間差のデータを用い、鍵ストロークの浅い方の（前の）時間差データで楽音の音量を制御し、深い方の（後の）時間差データで音色を制御するものもある。
【０００５】
ところで、ピアノは、鍵、アクション、ハンマー、弦という伝達機構によって発音するようになっている。このため、弱打の場合は押し終わりころに小さな音が鳴るような感じがする。また、強打の場合は、鍵への初速が大で強音になる場合と、押し弾きで強音になる場合とがある。また、ピアノを弱打する場合は、押し終わりで打弦されることが演奏者には解っているので、タイミングに関してあまり違和感がないが、強打した場合は、伝達機構特有の伝達遅れによる発音の遅れがあるので、強打をしてジャストタイミングで演奏したと思っても、打鍵動作よりは発音が少し遅れる感じがする。
【０００６】
このように、伝達機構や鍵への強弱が微妙な発音遅れを生み、特に初心者では表現力やアーティキュレーションが低下することがある。
【０００７】
また、パイプオルガンでは、押鍵のストロークの初期に若干遊びがあり、それから少し押し下げたところで弁の感触が伝わってくる。そして弁を開放する瞬間に最も抵抗が大きくなり、この時点から発音が開始する。すなわち、実質的な発音が押鍵のタイミングから遅れ気味になる。このような傾向は楽器の発音機構によるものであり、ホルン、バスーン、トロンボーンなどのような管楽器やヴィオラダガンバのうち、中型以上の弦楽器でも、同様に演奏操作に対して発音が遅れ気味になる。
【０００８】
したがって、このような楽器を演奏するプロの演奏者は、その楽器の特性を自然に会得し、合奏、合唱、アンサンブル演奏を行う場合など、発音すべきタイミングよりも突っ込み気味（あるいは前のめり）にして演奏動作を連続させるようにしている。例えば、オーケストラ演奏のように、複数楽器が同時に休符した後、複数楽器が同時発音するとき（テュッティー部分）などは演奏中の見せ場であり、発音タイミングを合わせるのが重要となる。
【０００９】
一方、このようにプロの演奏者は専門の楽器の特性を会得しているため、べつの楽器を演奏するときに支障となる場合もある。例えば、パイプオルガン奏者は突っ込み気味に演奏するため、同じ鍵盤楽器でもピアノを演奏すると発音タイミングが速くなりがちとなる。また、逆にピアノ奏者がパイプオルガンを演奏すると発音タイミングが遅れ気味となる。テュッティーの部分毎に突っ込み演奏または遅れ気味演奏が繰り返されると、演奏始めと終り近傍で、かなりのテンポの差を生じ、作曲者が意図した曲になり得ないことがある。
【特許文献１】特公平８−１０３９９号公報
【特許文献２】特開平７−１９９９３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、従来は、鍵タッチの強さに応じて発音タイミングを切換え制御することは行われていない。本発明は、上記の点に鑑みてなされたものであり、押鍵の鍵タッチに応じて発音タイミングを制御することで、早めの発音（以後、「突っ込み発音」という。）と通常の発音（以後、「非突っ込み発音」という。）との切換発音を可能にして、表現力やアーティキュレーションを増大し、発音タイミングを合わせ易くし、演奏し易い電子楽器を提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明の請求項１の電子楽器は、押離鍵操作される鍵と、該鍵を押鍵操作した時の鍵ストローク中浅い位置において第１の鍵タッチ信号を生成する第１のタッチセンサと鍵ストローク中深い位置において第２の鍵タッチ信号を生成する第２のタッチセンサとでなる鍵タッチセンサ手段と、該鍵タッチセンサ手段で生成される鍵タッチ信号に基づいて楽音を制御する楽音制御手段と、演奏者情報を入力する入力手段を設け、該入力手段で入力される演奏者情報に応じて、前記鍵ストロークの浅い方で発生される第１の鍵タッチ信号が得られた直後に発音するか、前記鍵ストロークの深い方で発生された第２の鍵タッチ信号に応じて発音／非発音を制御するかを切り換える発音制御手段とを備えたことを特徴とする。
【００１２】
上記のように構成された請求項１の電子楽器によれば、鍵ストロークの浅い方で発生される第１の鍵タッチ信号が得られると直ぐに発音するような突っ込み発音が可能であり、この突っ込み発音をするか、鍵ストロークの深い方で発生される第２の鍵タッチ信号に応じて発音／非発音を制御するかを演奏者情報に応じて設定できる。この鍵ストロークの深い方で発生された第２の鍵タッチ信号に応じて発音／非発音を制御するとき、鍵ストロークの深い方で発生される第２鍵タッチ信号が第２閾を越えているとき発音し、該鍵タッチ信号の強さが第２閾値以下のとき非発音とすることができる。これにより、発音の場合は非突っ込み発音を行うことができ、非発音となる押鍵操作のときは探り弾き等による誤発音を防止できる。
【００１３】
上記演奏者情報としては、例えば、演奏者の癖、初心者（アマチュア）か上級者（プロ）か、ピアノ奏者かパイプオルガン奏者か、せっかちかのんびりかなど、演奏者の特に押鍵操作のタイミングの違いを考慮した情報とする。そして、そのタイミングの違いに応じて突っ込み発音を行うか行わないかを設定することができる。例えば、初心者は押鍵操作のタイミングが上級者よりも遅れがちになるので突っ込み発音を行うように設定する。したがって、例えば初心者でも表現力やアーティキュレーションが増大し、演奏し易い電子楽器となる。また、ピアノ奏者は押鍵操作のタイミングがパイプオルガン奏者よりも遅めになるので、パイプオルガンの音色のとき、浅スイッチの鍵タッチ信号に応じて突っ込み発音を行うようにすると、実際の発音タイミングがパイプオルガン奏者のようになる。また、パイプオルガン奏者は押鍵操作のタイミングがピアノ奏者よりも早めになるので、深スイッチの鍵タッチ信号に応じて非突っ込み発音を行うようにすると、実際の発音タイミングがピアノ奏者のようになる。したがって、演奏し易い電子楽器となり、特に他楽器とのアンサンブル演奏や合唱を含むオーケストラ演奏がしやすくなる。
【００１４】
なお、本願明細書および図面において、「閾値以下」および「閾値を越える」の組からなる表現は、「閾値未満」および「閾値以上」の組からなる表現と同等な表現とする。
【発明の効果】
【００１５】
請求項１の電子楽器によれば、押鍵操作に応じて突っ込み発音が可能となり、この突っ込み発音をするか、鍵ストロークの深い方で発生された鍵タッチ信号に応じて発音／非発音を制御するかを演奏者情報に応じて設定できるので、演奏者の特に押鍵操作のタイミングの違いに応じて突っ込み発音を行うか行わないかを設定することができ、例えば初心者でも表現力やアーティキュレーションが増大し、演奏し易い電子楽器となる。また、ピアノ奏者はパイプオルガンの音色のとき実際の発音タイミングをパイプオルガン奏者のようにでき、また、パイプオルガン奏者は例えばピアノの音色のとき実際の発音タイミングをピアノ奏者のようにでき、演奏し易い電子楽器となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の実施形態の電子楽器のブロック図である。この例の電子楽器は、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３、押離鍵検出手段４、スイッチ検出手段５、表示制御手段６、音源手段７等を備え、これらの要素１〜７は、バス８を介して互いに接続されている。
【００１７】
システム全体を制御するＣＰＵ１は、これを駆動するクロックおよびタッチデータ（鍵タッチ信号）を取得するための割込み処理のクロックを発生するクロック発生器９を備えている。そして、ＣＰＵ１は、所定のプログラムに従って種々の制御を行い、主に、後述する発音タイミングの制御を中枢的に遂行する。ＲＯＭ２には制御プログラムが記憶されており、後述する押鍵検出手段４の鍵スイッチ（浅スイッチおよび深スイッチ）に応じた発音制御に関する各種処理プログラムや、後述する落とし込みテーブル１、落とし込みテーブル２、鍵スイッチの接点時間差をタッチデータ（ベロシティ値）に換するための変換テーブルＴＢＬ１、変換テーブルＴＢＬ２等の所要の各種テーブル、各種制御データが記憶されている。
【００１８】
ＲＡＭ３は、ＣＰＵ１の処理に際して必要なデータやパラメータを記憶し、また、各種レジスタやフラグ、処理中の各種データ等を一時記憶するためのワーク領域として用いられる。例えば、ＲＡＭ３内には、キーバッファＫＥＹＢＵＦ、フラグバッファＴＣＢＵＦ等のバッファや、カウンタ領域、レジスタ、一時メモリ領域などが確保されている。キーバッファＫＥＹＢＵＦには、各発音チャンネルｎに対応してキーコードＫＣ（ｎ）、キーイベント種類ＫＶ（ｎ）、タッチデータＶｏｎ（ｎ）、Ｖｏｆｆ（ｎ＋１６）等が一時記憶され、フラグバッファＴＣＢＵＦには、各チャンネルｎに対応して接点時間差計測モードフラグＴＣ（ｎ）が一時記憶される。
【００１９】
また、ＲＡＭ３内には、押離鍵タッチ情報を得るための鍵スイッチ（浅スイッチおよび深スイッチ）による接点時間差Ｔｏｎ（ｎ）およびＴｏｆｆ（ｎ＋１６）をカウントするためのソフトウエアカウンタ領域が設定されている。さらに、一時メモリ領域は、各種レジスタや、減衰レートを記憶するレートレジスタ等が設けられる。なお、チャンネル番号「ｎ」は、例えば、“０”〜“１５”の整数である。これに対応して、音源手段７側には、番号“０”〜“３１”の３２チャンネルがあり、例えばピアノの音色の場合、キーオン用およびキーオフ用にそれぞれｎチャンネルおよびｎ＋１６チャンネルが割り当てられる。
【００２０】
押離鍵検出手段４は、鍵盤装置１０等を備えた演奏操作装置に内蔵され、バス８を介してＣＰＵ１等に接続されている。スイッチ検出手段５に接続されるパネルスイッチ１１は、演奏者情報としてのパーソナルデータを入力するための文字キー、パーソナルデータに対応するＰデータキー、数値を入力するテンキー、音色選択キー、各種効果などの演奏条件等の設定を行うための種々の操作キーを操作パネル上に備えている。液晶パネルや各種インジケータから成るディスプレイ１２は、表示制御手段６を介してバス８に接続され、パネルスイッチ１１の操作パネル上の各種操作子に並置されている。また、ディスプレイ１２には、各種設定画面や各種操作ボタンを表示し、ディスプレイ画面上で各種設定・表示を行うこともできる。
【００２１】
音源手段７には、楽音波形の波高値（瞬時値）データからなる波形データを記憶している波形ＲＯＭ７０、および、ＣＰＵ１との送受信を行う送受信レジスタ７１を含んでおり、この波形ＲＯＭ７０は、キーオン時に発生する楽音の生成に用いられるキーオン波形を含む第１音源ソースと、例えばピアノの音色に対応してキーオフ時に発生する楽音の生成に用いられるキーオフ波形を含む第２音源ソースとから成る。
【００２２】
鍵盤１０が操作されると、ＣＰＵ１は、キーコード、タッチデータ（ベロシティ値）、キーオン／キーオフ等の各種データを音源手段７の対応するチャンネルに設定することで発音／消音処理を行う。なお、音源手段７は時分割多重処理により各チャンネルの処理を行い、ＣＰＵ１から設定された各種データに基づいて波形ＲＯＭ７０から波形を読み出し、タッチデータ等に基づいて所定の演算を行なってデジタル楽音信号を発生する。そして、サウンドシステム１３はデジタル楽音信号のＤ／Ａ変換や増幅等を行って、鍵操作に対応した楽音を発生する。なお、ＤＳＰ等で構成される効果回路もこのサウンドシステム１３に含まれる。
【００２３】
［鍵盤装置］次に、実施形態における鍵盤装置と鍵タッチセンサ手段のセンサ部を構成する鍵スイッチについて、説明する。図２は、実施形態に係る鍵盤装置１０を示し、鍵操作情報を電子楽器システムに取り込むための一手段を表わす。この図では、鍵盤装置１０は、非押鍵状態を側面から見て、ごく概略的に表わされている。
【００２４】
鍵盤装置１０は、白鍵２１Ｗと黒鍵２１Ｂとから成る鍵２１と、鍵２１に連動して駆動される質量体（ハンマー）４３とを多数備えている。楽器の棚板部２２上には、主鍵支持部２３Ａおよび副鍵支持部２３Ｂが固着され、両支持部２３Ａ，２３Ｂは鍵支持部２３を構成する。主鍵支持部２３Ａには支点ピンＷｆ，Ｂｆが固設され、白鍵２１Ｗは支点ピンＷｆに回動自在に支持され、黒鍵２１Ｂは支点ピンＢｆに回動自在に支持されている。鍵２１の前方部（図示左側部）には、副鍵支持部２３Ｂから突設させた鍵ガイド部ＷＧ、ＢＧが設けられ、白黒鍵２１Ｗ，２１Ｂを別々に押して離鍵する時の鍵動を鍵ガイド部ＷＧ、ＢＧによってガイドする構成になっている。また、副鍵支持部２３Ｂには白鍵用下限ストッパ部ＷＳおよび黒鍵用下限ストッパ部ＢＳが設けられる。
【００２５】
鍵支持部２３では、主鍵支持部２３Ａおよび副鍵支持部２３Ｂを固定的に一体成形した接続部ＬＤによって、押鍵方向から見てラダー状に両支持部２３Ａ，２３Ｂを結合させている。そして、この接続部ＬＤの上方において鍵２１の下方に位置するところには、支持部Ｂ１，Ｂ２を介して棚板部２２に設けられた基板ＳＢ１上に鍵にて駆動される浅スイッチ４７が配設されている。鍵２１の後方では、支点部Ｍｆを有する質量体支持部４１が棚板部２２に固設され、錘りＷ１，Ｗ２を内包した樹脂製の質量体４３の支点部ｍｆが支点部Ｍｆに回動自在に支持され、これにより、質量体４３は支持部４１に保持されている。支持部４１の上部には、前方側に上限ストッパＵＳが設けられ、後方側にストッパ部４１Ｓが設けられる。
【００２６】
この質量体４３は、前部に錘Ｗ１、後部に錘Ｗ２を分散して有し、鍵２１の後方上面の質量体駆動部ＷＡにより力伝達部４４を介して駆動されるように配設される。力伝達部４４は、押鍵時に力を質量体４３に伝達すると共に、発音位置の微調節用ねじでもある。鍵２１の質量体駆動部ＷＡは、滑加工面を有する。さらに、質量体４３の下方で質量体支持部４１の上方に位置するところには、支持部４１の上面に基板ＳＢ２が載置され、この基板ＳＢ２上には質量体４３により駆動される深スイッチ４８が配設されている。鍵２１Ｗ（２１Ｂ）は、非押鍵時には、後部が上限ストッパ部ＵＳに当接されて静止しているが、押鍵時には、前方においてストッパ部ＷＳ、ＢＳと当接し、このとき、質量体４３は、後部下端がストッパ部４１Ｓに当接する。この際、ストッパ部４１Ｓにて質量体４３は衝突が緩和されるので機械的雑音が軽減される。
【００２７】
このような構成により、図示左側の矢印で示すように下方向に押鍵すると、鍵２１の後方および質量体４３の前方は、図示中央の矢印ａ１で示すように上方向に回動し、質量体４３の後方は、図示右側の矢印ａ２で示すように下方向に回動する。離鍵時には、鍵２１および質量体４３は、それぞれ、矢印とは逆方向に回動して図示の位置に復帰する。
【００２８】
［鍵スイッチ］この実施形態においては、浅スイッチ４７および深スイッチ４８によって押離鍵ストロークを検出している。図２の例では、第１および第２アクチュエータ部４５，４６が鍵２１および質量体４３の下面に設けられ、第１アクチュエータ４５により浅スイッチ４７が駆動し、第２アクチュエータ部４６により深スイッチ４８が駆動する。
【００２９】
ここで、各アクチュエータ部４５，４６と各スイッチ４７，４８との間の配置は、押鍵ストロークにおいて、先ず、第１アクチュエータ部４５が浅スイッチ４７に当接し、これに遅れて、第２アクチュエータ部４６が深スイッチ４８に当接するような関係になっている。浅スイッチ４７および深スイッチ４８は、何れも、ラバーで構成された２つの接点ａ，ｂ；ｃ，ｄを備える接点時間差タイプの２メイク式タッチレスポンススイッチであり、各接点ａ，ｂ；ｃ，ｄは基板ＳＢ１，ＳＢ２上における図示しない固定接点に対して閉成（オン）動作および開放（オフ）動作を行い、各閉成動作および開放動作の間にはストローク差が設定されている。
【００３０】
すなわち、浅スイッチ４７においては、例えば、押鍵ストロークで第１アクチュエータ部４５が当接する場合、先ず、浅スイッチ４７の第１接点ａが閉成（オン）し、次に、浅スイッチ４７の第２接点ｂが閉成する。深スイッチ４８においても、例えば、押鍵ストロークで第２アクチュエータ部４６が当接する場合、先ず、深スイッチ４８の第１接点ｃが閉成し、次に、深スイッチ４８の第２接点ｄが閉成する。また、離鍵ストロークでは、これとは逆に、深スイッチ４８の接点ｄ→ｃ、浅スイッチ４７の接点ｂ→ａの順に開放（オフ）していく。
【００３１】
図３は実施形態における鍵スイッチの機能を説明するための図である。鍵盤装置１０の各鍵２１は、それぞれ、図２の状態に対応する離鍵（非押鍵）位置Ｓから最も深い最大押鍵位置Ｅまで、例えば、押指位置（例えば鍵先端）にて最大１０ｍｍだけ、上下方向に変位することができるように構成される。これに対して、鍵スイッチ即ち浅スイッチ４７および深スイッチ４８の第１および第２接点ａ〜ｄは、図３に示すように、鍵２１の押鍵方向動作に応じて鍵位置Ａ〜Ｄで閉成（オン）し、鍵２１の離鍵方向動作に応じて鍵位置Ｄ〜Ａで開放（オフ）する。
【００３２】
例えば、離鍵（非押鍵）位置Ｓから最大押鍵位置Ｅに達するまで鍵２１を押鍵すると、下方向に向かう押鍵ストロークでは、先ず、鍵位置Ａで、浅スイッチ（ＳＷ）４７の第１接点ａを閉成（オン）して浅スイッチ（ＳＷ）４７のオン区間が開始し、次に、鍵位置Ｂに達すると、浅スイッチ（ＳＷ）４７の第２接点ｂを閉成して浅スイッチ（ＳＷ）４７のオン区間が終了する。さらに、鍵位置Ｃにおいては、深スイッチ（ＳＷ）４８の第１接点ｃを閉成して深スイッチ（ＳＷ）４８のオン区間が開始し、鍵位置Ｄで、深スイッチ（ＳＷ）４８の第２接点ｄを閉成して深スイッチ（ＳＷ）４８のオン区間が終了する。その後、鍵２１は最大押鍵位置Ｅに到達する。なお、以下の説明において「スイッチ」を適宜「ＳＷ」と表記する。
【００３３】
逆に、鍵２１が最大押鍵位置Ｅから上方向に向かう離鍵ストロークでは、先ず、鍵位置Ｄで、深ＳＷ４８の第２接点ｄを開放（オフ）して深ＳＷ４８のオン区間が開始し、次に、鍵位置Ｃに達すると、深ＳＷ４８の第１接点ｃを開放して深ＳＷ４８のオン区間が終了する。さらに、鍵位置Ｂにおいては、浅ＳＷ４７の第２接点ｂを開放して浅ＳＷ４７のオン区間が開始し、鍵位置Ａで、浅ＳＷ４７の第１接点ａを開放して浅ＳＷ４７はオフとなり、浅ＳＷ４７のオン区間が終了する。そして、鍵２１は離鍵（非押鍵）位置Ｓに復帰し、全押離鍵ストロークが完了する。
【００３４】
この例では、４つの接点ａ〜ｄの閉成（オン）／開放（オフ）を常時チェックし、オン／オフ状態変化の時点および方向を計測することによって、全部で８種類のオン（閉成）およびオフ（開放）イベントから成るキーイベントが生成される。すなわち、浅ＳＷ４７の第１および第２接点ａ，ｂおよび深ＳＷ４８の第１および第２接点ｃ，ｄは、押鍵に伴う位置Ａ〜Ｄでの閉成（オン）によって４種類のオン（閉成）イベントを生成し、離鍵に伴う位置Ｄ〜Ａでの開放（オフ）によって４種類のオフ（開放）イベントを生成する。そして、タッチデータを生成するために、各接点ａ〜ｄのうち所定の接点間のイベントの時間差（時間間隔）を計測する。
【００３５】
なお、押鍵時に質量体４３がその後端下部をストッパ４１Ｓで受けることによって質量体４３がリバウンドする場合のリバウンドリミット位置ＲＬを、位置Ｃと位置Ｄとの間に設定することにより、質量体４３のリバウンドによるチャタリングの発生を抑制することができる。
【００３６】
〔制御データの構成〕図１８および図１９は、ＲＡＭ３上に確保されたフラグバッファおよびカウンタ領域のフォーマットを示しており、図１８(A) は、各チャンネル（ＣＨ）ｎ毎の発音情報および消音情報を記憶するためのキーバッファＫＥＹＢＵＦのフォーマットを表わし、図１８(B) は、キーイベント種類データＫＶ（ｎ）の詳細を表わす。図１９(A) は、各チャンネル（ＣＨ）ｎ毎の時間差計測モードフラグＴＣ（ｎ）を記憶するためのフラグバッファＴＣＢＵＦのフォーマットを表わし、図１９(B) は、各チャンネルｎ毎のオン時間差Ｔｏｎ（ｎ）およびオフ時間差Ｔｏｆｆ（ｎ＋１６）を計測するためのカウンタ領域のフォーマットを表わす。
【００３７】
キーバッファＫＥＹＢＵＦは、図１８(A) に示すように、左端のチャンネルナンバ域ＮＲの発音チャンネル番号ｎ（この例では、“０”〜“１５”の計１６個）それぞれに対して、キーコードデータＫＣ（ｎ）を格納するためのキーコード格納領域ＣＲ、キーイベント種類データＫＶ（ｎ）を格納するためのキーイベント種類格納領域ＶＲ、キーオンタッチデータＶｏｎ（ｎ）を格納するためのキーオンタッチ格納領域ＶｎＲ、および、キーオフタッチデータＶｏｆｆ（ｎ＋１６）を格納するためのキーオフタッチ格納領域ＶｆＲにより構成される。
【００３８】
キーイベント種類データＫＶ（ｎ）は、キーイベントを区別するためのデータであり、例えば、３ビットで表される。すなわち、３ビットの各データは、図１８(B) に示すように、第３ビットがスイッチ種類を表わしており“０”＝深スイッチ４８、“１”＝浅スイッチ４７を示している。また、第２ビットが接点種類を表わしており“０”＝第２接点（ｂ又はｄ）（２Ｍ）、“１”＝第１接点（ａ又はｃ）（１Ｍ）を示している。さらに、第１ビットがイベント種類を表わしており“０”＝オフ（開放）、“１”＝オン（閉成）を示している。
【００３９】
例えば、図１８(A) の例では、第０チャンネル（チャンネル番号＝０）におけるキーイベント種類データＫＶ（０）＝“１０１”Ｂ（なお、記号「Ｂ」は、その直前の数値が２進数であることを示す。）は、浅スイッチ４７の第２接点ｂ（２Ｍ）のオン（閉成）イベントを示し、第１チャンネル（チャンネル番号＝１）のキーイベント種類データＫＶ（１）＝“０１０”Ｂは、深スイッチ４８の第１接点ｃ（１Ｍ）のオフ（開放）イベントを示している。
【００４０】
図１９に示す時間差計測モードフラグＴＣ（ｎ）は、キーイベントの経緯に応じて４つの状態値“００”Ｂ，“０１”Ｂ，“１０”Ｂ，“１１”Ｂをとり、これらの状態値は、図１９(A) の欄外に示すように、次のような状態を表わす。
〔１〕ＴＣ（ｎ）＝“００”Ｂ→割込みによりオン時間差Ｔｏｎ（ｎ）又はオフ時間差Ｔｏｆｆ（ｎ＋１６）の何れをも計測しない状態、
〔２〕ＴＣ（ｎ）＝“０１”Ｂ→割込みによりオン時間差Ｔｏｎ（ｎ）を計測する状態、
〔３〕ＴＣ（ｎ）＝“１０”Ｂ→割込みによりオフ時間差Ｔｏｆｆ（ｎ＋１６）を計測する状態
〔４〕ＴＣ（ｎ）＝“１１”Ｂ→オン時間差Ｔｏｎ（ｎ）、オフ時間差Ｔｏｆｆ（ｎ＋１６）の計測終了状態
また、図１９(B) に示すように、カウンタ領域は各チャンネル番号に対応してオン時間差Ｔｏｎ（ｎ）とオフ時間差Ｔｏｆｆ（ｎ＋１６）のカウンタレジスタを構成している。
【００４１】
図４は、実施形態における楽音発生の一例を説明する図であり、（ａ）は突っ込み発音の場合、（ｂ）は非突っ込み発音の場合を示している。押鍵操作の鍵ストロークの過程で、浅スイッチ４７の第１接点ａが閉成（オン）した時点ｔ１から第２接点ｂが閉成した時点ｔ２までのオン時間差Ｔｏｎ（ｎ）により、図２０(A) に示す「Ｔｏｎ→Ｖｏｎ変換」テーブルＴＢＬ１からキーオンタッチデータＶ１ｏｎ（ｎ）を取得する。
【００４２】
第１実施例の場合は、キーオンタッチデータＶ１ｏｎ（ｎ）が所定値Ａ１を越えているときは（ａ）の突っ込み発音となり、第２〜第４実施例では設定値であるＤＰ値＝“０”のとき突っ込み発音となる。そして、この突っ込み発音では、第２接点ｂが閉成した時点ｔ２の直後から、音源手段７においてキーオン波形が読み出され、キーオンタッチデータＶｏｎ（ｎ）＝Ｖ１ｏｎ（ｎ）に応じた楽音が発生される。
【００４３】
一方、第１実施例でキーオンタッチデータＶ１ｏｎが所定値Ａ１以下の場合および第２〜第４実施例でＤＰ値＝“０”でない場合は、時点ｔ２ではキーオン波形は読み出されず、発音の制御がその後の深スイッチ４８の状態に委ねられる。すなわち、深スイッチ４８の第１接点ｃが閉成（オン）した時点ｔ３から第２接点ｄが閉成した時点ｔ４までのオン時間差Ｔｏｎ（ｎ）により、図２０(B) に示す「Ｔｏｎ→Ｖｏｎ変換」テーブルＴＢＬ２からキーオンタッチデータＶ２ｏｎ（ｎ）が取得される。このキーオンタッチデータＶ２ｏｎ（ｎ）が所定値Ａ２を越えている場合は（ｂ）の非突っ込み発音となり、第２接点ｄが閉成した時点ｔ４の直後から、音源手段７においてキーオン波形が読み出され、キーオンタッチデータＶｏｎ（ｎ）＝Ｖ２ｏｎ（ｎ）に応じた楽音が発生される。
【００４４】
また、キーオンタッチデータＶ２ｏｎ（ｎ）が所定値Ａ２以下の場合はキーオン波形は読み出されず、発音されない。なお、第４実施例においては、ＤＰ値＝“１”の場合は深スイッチ４８の第１接点ｃが閉成した時点ｔ３の直後から中位の（medium）非突っ込み発音（破線で図示）となる。
【００４５】
そして、突っ込み発音、非突っ込み発音のいずれの場合も、浅スイッチ４７の第２接点ｂが開成（オフ）した時点ｔ５からキーオン波形はレートＲｏｎで減衰を開始する。ここで、この図４の例はピアノの音色のようにキーオフ音を付加する例であり、キーオン波形の減衰を開始するとともに、キーオフ波形が読み出されてレートＲ０で増加させる。これにより、キーオン波形とキーオフ波形のクロスフェード処理が行われる。そして、浅スイッチ４７の第２接点ｂが開成した時点ｔ５から第１接点ａが開成した時点ｔ６までのオフ時間差Ｔｏｆｆ（ｎ＋１６）によりキーオフタッチデータＶｏｆｆ（ｎ＋１６）が取得され、第１接点ａが開成した時点ｔ６からキーオフ波形がレートＲ１で減衰を開始して消音される。このレートＲ１はキーオフタッチデータＶｏｆｆ（ｎ＋１６）に応じて制御される。
【００４６】
上記のようにキーオフ波形を用いるのは、例えばピアノでは、ペダルを踏まない状態で離鍵すると、ダンパーが弦に徐々に当てられて弦の振動が強制的に減衰されることによる高調波を含んだ楽音をリアルに再現するためである。また、キーオン波形からキーオフ波形への移行を違和感なくスムーズに再生するため、波形のクロスフェード処理を行いつつ、キーオフ波形に移行し、キーオフ波形では、音量の減衰と音色変化とをともないながら再生される。また、ピアノでなく弦楽器の非突っ込み系楽器であるヴィオラダガンバやダブルベース等の音色に対する波形記憶／読出しについては、ピチカート奏法のみオフ波形をオフ時（ｔ５）から読み出すシステムにしてもよい。
【００４７】
なお、キーオフ波形を用いない音色の場合には、浅スイッチ４７の第１接点ａが開成した時点ｔ６からキーオン波形を減衰してもよいし、第２接点ｂが開成した時点ｔ５からキーオン波形を減衰してもよい。以下の実施例では、図４に示すように、キーオン波形の後、キーオフ波形を読み出すようにしているが、キーオフ波形を用いない音色の場合には、第１接点ａが開成した時点ｔ６からキーオン波形を減衰するものとする。
【００４８】
さらに、ｔ２〜ｔ３またはｔ２〜ｔ４もしくはｔ３〜ｔ４の時間差（タイムインターバル）、すなわち、突っ込み発音／非突っ込み発音に起因するタイムラグは、演奏者の鍵タッチの態様（例えば「押し初めゆっくりでその後速く押鍵」、「初めから速くその後も速く押鍵」、「初めから最押下までゆっくりと押鍵」等）によって、コントロール可能だというこうとである。したがって、楽曲終了直前のピアニッシモで表現される楽音など、押鍵動作の深い部分で注意深く表現することが可能となっている。この表現はアコースティックピアノに近似している。
【００４９】
次に、フローチャートに基づいて実施形態の動作について説明する。〔メイン処理〕図８は、実施形態の電子楽器におけるメイン処理のフローチャートであり、各実施例に共通である。この処理を開始すると、先ず、初期化ルーチンＲＴ１において、ＲＡＭ３内のキーバッファＫＥＹＢＵＦ，フラグバッファＴＣＢＵＦ、カウンタ領域等が初期化され、デフォルト音色等の設定等、各種初期化処理を実行する。次の楽音制御パラメータ入力処理ルーチンＲＴ２では、後述の各実施例に対応して、それぞれ、「突っ込み発音／非突っ込み発音」を制御するための所定値Ａ１（第１実施例）、所定値Ａ２（第１〜４実施例）、パーソナルデータ（第２実施例、第３実施例）あるいはＤＰ値（第４実施例）の入力、音色（楽器種類等）の選択など、演奏者による各種の入力処理により指定されたパラメータをＲＡＭ３の対応レジスタ等に設定する処理を実行する。
【００５０】
続いて、押離鍵処理ルーチンＲＴ３において、演奏者による鍵盤装置１０の押離鍵操作に応じて発音／消音制御情報を生成し、発音／消音制御情報を音源手段７に送出して発音／消音処理の実行を指示する。そして、楽音パラメータ設定処理ルーチンＲＴ２に戻り、以後、ルーチンＲＴ２、ＲＴ３の処理を繰り返す。
【００５１】
この実施形態では、このメイン処理に並行して、所定時間（例えば、１μｓｅｃ）毎に発生されるクロック発生器９からのタイマ割込みクロックに応じてタイマ割込み処理が起動される。この割込み処理は、押離鍵処理と連繋をとりながら処理が実行されるもので、鍵ストローク中のオン時間差およびオフ時間差の計測処理を行うが、その詳細については後述する。
【００５２】
〔楽音制御パラメータ入力処理〕図９は、楽音制御パラメータ入力処理（図８のＲＴ２）の詳細を表すフローチャートである。まず、ステップＰ１において、パーソナルデータ入力またはパーソナルデータキーの何れかのオンイベントの有無を判定し、何れもオンイベントが無ければステップＰ７に進み、何れかのオンイベントが有ればステップＰ２で、キーバッファＫＥＹＢＵＦＵの全チャンネル中にキーコード有りのチャンネルが有るか否かを判定する。一つのチャンネルでもキーコードが有れば、現在発音中であるので入力を禁止としてステップＰ７に進み、全チャンネルにキーコードが無ければ、現在発音中でないのでステップＰ３以降で入力処理を行う。
【００５３】
ステップＰ３では、ディスプレイ１２に「Ｐデータキー入力可能」を表示するか、または、ディスプレイ１２中の入力部分においてその入力可能部分先端でカーソルをブリンクしてこのブリンクにより入力可能状態を表示する。次に、ステップＰ４で入力処理を行う。この入力処理は、テンキーあるいは文字キーまたはプッシュキーにて数字または文字を入力する処理、入力文字をディスプレイ１２に表示する処理、カーソル位置をシフトする処理などを行う。そして、ステップＰ５で、リターンキー（入力確定を指定するキー）のオンイベントの有無を判定し、リターンキーのオンイベントがあるまで、Ｐ３，Ｐ４により入力処理を行う。リターンキーのオンイベントがあればステップＰ６に進む。ステップＰ６では、Ｐ３のブリンクを停止し、入力可能表示を消す。
【００５４】
ステップＰ７の処理は各実施例に応じて異なる。第１実施例では、テンキーから入力された数値を所定値Ａ１あるいは所定値Ａ２として設定する。第２実施例、第３実施例では、入力された文字列を識別し、識別した文字列ＭＯＪＩにより、各実施例に対応する図６の落とし込みテーブルＴＢＬ１（ｘ）または図７の落とし込みテーブルＴＢＬ２（ｘ）を参照し、この文字列で各実施例に対応するＤＰ値を所定値（“０”／“１”）に設定する。また、所定値Ａ２を設定する。さらに、第４実施例では、テンキーから入力された数値（“０”／“１”／“２”）をＤＰ値に設定し、また、所定値Ａ２を設定する。すなわち、このステップＰ７で各実施例に対応する所定値Ａ１、Ａ２またはＤＰ値が決まり、ステップＰ８の処理に進む。ステップＰ８では、ディスプレイ１２をパーソナリティデータ表示モードから音色表示モードに変更して音色の入力処理を行ったり、その他入力処理を行い、メインルーチンに復帰する。
【００５５】
図１０〜図１２は、実施形態における押離鍵処理（図８のＲＴ３）の詳細を表わすフローチャートである。なお、最初に第１実施例について主に説明するが、図１０は第１〜第４実施例に共通、図１１は第１〜第４実施例に殆ど共通、また、図１２は第１〜第３実施例に殆ど共通であり、異なる部分はその都度断ってその詳細については後述する。
【００５６】
（第１実施例）第１実施例は、突っ込み発音するか非突っ込み発音するかを決定する鍵タッチ信号の閾値である第１の所定値Ａ１と、第２の所定値Ａ２を演奏者が入力設定するものであるが、後述のように音色に対応して設定するようにしてもよい。まず、図１０のステップＫ１において、何れかの鍵のキーイベントの有無を判別し、キーイベントが有ればステップＫ２に進み、キーイベントがなければ直ちにメインルーチンに復帰する。
【００５７】
ステップＫ２では、キーバッファＫＥＹＢＵＦにおいて、発生したキーイベントのキーコードＫＣ（ｎ）を格納しているチャンネル（ＣＨ）があるか否かを判別し、当該キーコードを格納したチャンネル（ＣＨ）があればステップＫ４に進む。一方、このようなチャンネル（ＣＨ）がなければステップＫ３に進んで、ＲＡＭ３上のキーバッファＫＥＹＢＵＦにおいてキーコード領域ＣＲにキーコードデータＫＣ（ｎ）が格納されていない「空きチャンネル（ＣＨ）」があるか否かを調べる。その結果、空きチャンネル（ＣＨ）があればステップＫ４に進み、そうでなければ直ちにメインルーチンに復帰する。ここで、メインルーチンに復帰するということは、過去の短時間に多くのイベントが発生し、多くの発音／消音処理の実行中であるから、これ以上新押鍵処理は不可能であることによる処理であり、今発生したイベントを無視する。
【００５８】
ステップＫ４では発音を割り当てるチャンネル（ＣＨ）を決定し、続いて、ステップＫ５にて、キーバッファＫＥＹＢＵＦにおいて、チャンネル番号領域ＮＲ内の決定したチャンネル番号ｎに対応するキーコード領域ＣＲおよびキーイベント種類領域ＶＲに、発生したキーイベントのキーコードＫＣ（ｎ）およびキーイベント種類ＫＶ（ｎ）をそれぞれ書き込んだ後、ステップＫ６に進む。
【００５９】
ステップＫ６では、キーイベントが浅スイッチ４７から発生したか否かを判別し、浅スイッチ４７のキーイベントのときはステップＫ７に進み、そうでないときは、深スイッチ４８のキーイベントであるのでステップＫ８に進む。ステップＫ７，Ｋ８では、それぞれイベントがオン／オフの何れのイベントであるかを判定し、これにより、イベントのあったスイッチの種類とイベントの種類に応じて制御のフローが変化する。
【００６０】
ここで、楽音の発生から消滅に至るプロセスでは、通常、図３に示した押鍵ストローク→離鍵ストロークとなり、これに応じた順序でイベントが発生する。そこで、この押鍵ストローク→離鍵ストロークのプロセスで発生するイベントの順序（接点ａオン→接点ｂオン→接点ｃオン→接点ｄオン→接点ｄオフ→接点ｃオフ→接点ｂオフ→接点ａオフ）に従って、動作を説明する。
【００６１】
≪接点ａオン≫まず、浅スイッチ４７の第１接点ａのオンイベントが発生するので、図１０のステップＫ７から図１１のステップＡ１に進む。なお、図１１のステップＡ６は第１実施例の処理であり、図１１のステップＡ６以外の処理は第１〜第４実施例に共通である。ステップＡ１では、オンイベントが第１接点ａであるか第２接点ｂであるかを判定し、第１接点ａのオンイベントであるのでステップＡ２に進み、時間差計測モードフラグＴＣ（ｎ）に“０１”Ｂをセットし、元のルーチンに復帰する。これにより、同時に進行しているタイマ割込み処理により、カウンタ領域の対応するチャンネルｎでオン時間差Ｔｏｎ（ｎ）のカウント（計測）が開始される。
【００６２】
≪接点ｂオン≫次に、浅スイッチ４７の第２接点ｂのオンイベントが発生するので、図１０のステップＫ７から図１１のステップＡ１を経てステップＡ３に進む。ステップＡ３では、浅スイッチ４７のオン時間差Ｔｏｎ（ｎ）から変換テーブルＴＢＬ１に基づいて第１タッチデータＴＢＬ１（Ｔｏｎ（ｎ））を取得し、ＫＥＹＢＵＦ（キーオンタッチデータ領域ＶｎＲ）のＶ１ｏｎ（ｎ）に取り込み、ステップＡ４に進む。なお、オン時間差Ｔｏｎ（ｎ）は第１接点ａのオンイベントから第２接点ｂのオンイベントまでの時間である。
【００６３】
ステップＡ４では、オン時間差のレジスタＴｏｎ（ｎ）をリセットし、ステップＡ５で、時間差計測モードフラグＴＣ（ｎ）に“１１”Ｂを格納して非計測モードに設定し、ステップＡ６に進む。ステップＡ６では、タッチデータＶ１ｏｎ（ｎ）が所定値Ａ１を越えているか否かを判定し、所定値Ａ１以下であればステップＡ７で発音延期フラグＷＡＩＴ（ｎ）に“１”を立てて元のルーチンに復帰する（第１実施例）。なお、このステップＳＡ６に対応する第２〜第４実施例の処理については後述する。一方、タッチデータＶ１ｏｎ（ｎ）が所定値Ａ１を越えていれば、ステップＡ８でタッチデータＶ１ｏｎ（ｎ）を音源送出用のレジスタＶｏｎ（ｎ）に格納し、ステップＡ９で発音処理を行って元のルーチンに復帰する。なお、この発音処理では、チャンネルデータ（ｎ）とキーコードＫＣ（ｎ）とキーオン（ｎ）およびＶｏｎ（ｎ）を音源手段７に送出し、これにより楽音が発生する。
【００６４】
このように、浅スイッチ４７の第２接点ｂのオンイベント時にオン時間差Ｔｏｎ（ｎ）が検出され、この時間差に応じたタッチデータＶ１ｏｎ（ｎ）が所定値Ａ１を越えているとき、すなわち強く弾かれたときは、ステップＡ９で直ぐに発音が開始され、「突っ込み発音」となる。また、タッチデータＶ１ｏｎ（ｎ）が所定値Ａ１以下のとき、すなわち弱く弾かれたときは、発音が延期され、後述のように、後に続く深スイッチ４８のタッチデータに基づく発音／非発音の判断に委ねられる。
【００６５】
≪接点ｃオン≫次に、押鍵が進んで深スイッチ４８の第１接点ｃのオンイベントが発生するので、図１０のステップＫ８から図１２のステップＢ１に進む。なお、図１２は第１〜第３実施例に共通の処理であり、第４実施例の場合は、図１０のステップＫ８から後述する図１７のステップＢ１０１に進む。図１２のステップＢ１では、オンイベントが第１接点ｃであるか第２接点ｄであるかを判定し、第１接点ｃのオンイベントであるのでステップＢ２に進み、このステップＢ２で時間差計測モードフラグＴＣ（ｎ）に“０１”Ｂをセットして、元のルーチンに復帰する。これにより、深スイッチ４８による接点の時間差の計測が開始される。
【００６６】
≪接点ｄオン≫次に、深スイッチ４８の第２接点ｄのオンイベントが発生するので、図１０のステップＫ８から図１２のステップＢ１を経てステップＢ３に進む。なお、第４実施例の場合は、図１０のステップＫ８から図１７のステップＢ１０１に進む。図１２のステップＢ３では、深スイッチ４８のオン時間差Ｔｏｎ（ｎ）から変換テーブルＴＢＬ２に基づいて第２タッチデータＴＢＬ２（Ｔｏｎ（ｎ））を取得し、ＫＥＹＢＵＦのＶ２ｏｎ（ｎ）に取り込み、ステップＢ４に進む。なお、オン時間差Ｔｏｎ（ｎ）は第１接点ｃのオンイベントから第２接点ｄのオンイベントまでの時間である。
【００６７】
ステップＢ４では、オン時間差のレジスタＴｏｎ（ｎ）をリセットし、ステップＢ５で、時間差計測モードフラグＴＣ（ｎ）に“１１”Ｂを格納して非計測モード（計時終了状態）に設定し、ステップＢ６に進む。ステップＢ６では、タッチデータＶ２ｏｎ（ｎ）が所定値Ａ２を越えているか否かを判定し、所定値Ａ２以下であれば元のルーチンに復帰する。一方、タッチデータＶ２ｏｎ（ｎ）が所定値Ａ２を越えていれば、ステップＢ７で、発音延期フラグＷＡＩＴ（ｎ）に“１”が立っているか否かを判定し、“１”が立っていなければ元のルーチンに復帰する。そして、“１”が立っていれば、ステップＢ８でタッチデータＶ２ｏｎ（ｎ）を音源送出用のタッチデータＶｏｎ（ｎ）とし、ステップＢ９で発音処理を行い、ステップＢ１０で発音延期フラグＷＡＩＴ（ｎ）をリセットして元のルーチンに復帰する。なお、発音処理では、チャンネルデータ（ｎ）とキーコードＫＣ（ｎ）とキーオン（ｎ）およびＶｏｎ（ｎ）とを音源手段７に送出し、これにより発音が行われる。
【００６８】
このように、突っ込み発音しないで浅スイッチ４７のオンイベント時から発音が延期された場合、深スイッチ４８による時間差に応じた第２のタッチデータＶ２ｏｎ（ｎ）と第２の所定値Ａ２とにより発音するか発音しないかが判断される。そして、第２のタッチデータＶ２ｏｎ（ｎ）が所定値Ａ２を越えているときは発音が開始され、「非突っ込み発音」となる。
【００６９】
また、第２タッチデータＶ２ｏｎ（ｎ）が第２の所定値Ａ２以下のときは発音されない。この第２の所定値Ａ２は、例えば通常のタッチデータに対して小さな値に設定し、この所定値Ａ２で発音を抑制することにより、探り弾き等による誤発音を防止することができる。なお、この実施形態では第２の所定値Ａ２を入力設定するようにしているが、第２の所定値Ａ２は予め設定された値でもよいし、音色毎に設定された値でもよい。
【００７０】
≪接点ｄオフ，接点ｃオフ≫次に、離鍵が開始されると、深スイッチ４８の第２接点ｄのオフイベントおよび第１接点ｃのオフイベントが順次発生するが、いずれの場合も、図１０のステップＫ８から元のルーチンに復帰し、何も処理をしない。
【００７１】
≪接点ｂオフ≫次に、浅スイッチ４７の第２接点ｂのオフイベントが発生すると、図１０のステップＫ７から図１３のステップＣ１に進む。なお、図１３はキーオフ処理に対応するフローであり、第１〜第４実施例に共通である。ステップＣ１では、オフイベントが第１接点ａであるか第２接点ｂであるかを判定し、第２接点ｂのオフイベントであるのでステップＣ２に進み、ステップＣ２で現在設定されている音色がキーオフ波形を付加する音色（例えばピアノ）であるか否かを判定する。キーオフ波形を付加する音色でなければそのままステップＣ４に進み、キーオフ波形を付加する音色であれば、ステップＣ３で、レート値Ｒｎ（ｎ）にＲｏｎをレートＲ（ｎ＋１６）にＲ０にセットして音源手段７に出力し、キーオン波形とキーオフ波形のクロスフェード処理を指示してステップＣ４に進む。
【００７２】
そして、ステップＣ４で、時間差計測モードフラグＴＣ（ｎ＋１６）を“１０”Ｂ（Ｔｏｆｆ計測）にセットしてオフ時間差Ｔｏｆｆ（ｎ＋１６）の計測を開始させ、元のルーチンに復帰する。
【００７３】
≪接点ａオフ≫次に、浅スイッチ４７の第１接点ａのオフイベントが発生すると、図１０のステップＫ７から図１３のステップＣ１を経てステップＣ５に進む。ステップＣ５では、浅スイッチ４７のオフ時間差Ｔｏｆｆ（ｎ＋１６）から変換テーブルＴＢＬ２に基づいて第３タッチデータＴＢＬ２（Ｔｏｆｆ（ｎ＋１６））を取得し、ＫＥＹＢＵＦ（キーオフタッチデータ格納領域ＶｆＲ）のＶｏｆｆ（ｎ＋１６）に取り込み、ステップＣ６に進む。なお、オフ時間差Ｔｏｆｆ（ｎ＋１６）は第２接点ｂのオフイベントから第１接点ａのオフイベントまでの時間である。
【００７４】
次に、ステップＣ６で、オフ時間差のレジスタＴｏｆｆ（ｎ＋１６）をリセットし、ステップＣ７で、消音処理を行う。このステップＣ７の消音処理では、キーオフタッチデータＶｏｆｆ（ｎ＋１６）からレートＲ１を求め、チャンネルデータ（ｎ）、キーコードＫＣ（ｎ）、キーオフ（ｎ）、およびレートＲ１を音源手段７に送出し、キーバッファＫＥＹＢＵＦおよびカウンタ領域の当該チャンネルのデータをクリアし、元のルーチンに復帰する。これにより、音源手段７において消音される。
【００７５】
〔タイマ割込み処理〕図１４は、タイマ割込み処理のフローチャートである。このタイマ割込み処理では、時間差計測モードフラグＴＣ（ｎ）の状態値に応じてオン時間差Ｔｏｎ（ｎ）又はオフ時間差Ｔｏｆｆ（ｎ＋１６）の計測を行う。まず、ステップＴ１で、フラグバッファＴＣＢＵＦの全てのチャンネル（ＣＨ）の時間差計測モードフラグＴＣ（０）〜ＴＣ（３１）が“００”Ｂまたは“１１”Ｂ（不計時状態／計時終了状態）であるか否かを判別し、全チャンネルのフラグＴＣ（０）〜ＴＣ（３１）が“００”Ｂまたは“１１”Ｂのときは元のルーチンに復帰し、そうでないときはステップＴ２に進む。
【００７６】
ステップＴ２では、フラグバッファＴＣＢＵＦ内において“００”Ｂまたは“１１”Ｂでない時間差計測モードフラグを識別し、チャンネル（ＣＨ）番号ｎを決定する。この場合、最初の番号値ｎは、“１”とする（或いは、“００”Ｂまたは“１１”Ｂでない時間差計測モードフラグのある該当チャンネル（ＣＨ）のうち最も小さいチャンネル（ＣＨ）番号とする）。すなわち、チャンネル番号の最小値から最大値までをスキャンし、すべての“００”Ｂまたは“１１”Ｂでないチャンネルを抽出する。その手法は様々であるが、チャンネル番号を更新する処理を含む。
【００７７】
次に、ステップＴ３で、決定されたチャンネルｎの時間差計測モードフラグＴＣ（ｎ）が“０１”Ｂであるか否かを判別する。ＴＣ（ｎ）が“０１”Ｂ（Ｔｏｎ計測）のときは、ステップＴ４でカウンタ領域のオン時間差Ｔｏｎ（ｎ）（現在までのカウント値）を“１”だけインクリメントし、ステップＴ６に進む。一方、ＴＣ（ｎ）が“０１”Ｂでないときは、ステップＴ５でカウンタ領域のオフ時間差Ｔｏｆｆ（ｎ）（現在までのカウント値）を“１”だけインクリメントし、ステップＴ６に進む。そして、ステップＴ６では、現チャンネル番号ｎが最大チャンネル番号値ＭＡＸ（ステップＴ２でサーチ対象とするチャンネル番号の最大値）であるか否かを判別し、チャンネル番号ｎが最大チャンネル番号値ＭＡＸであるときは元のルーチンに復帰し、そうでないときは、ステップＴ２に進んで前回のチャンネル番号値ｎを含まない他のチャンネル番号を抽出した上、ステップＴ３以降の処理をする。
【００７８】
以上の処理により、浅スイッチ４７および深スイッチ４８の各オン時間差Ｔｏｎ（ｎ）、浅スイッチ４７および深スイッチ４８の各オフ時間差Ｔｏｆｆ（ｎ）が得られる。なお、この実施形態では浅スイッチ４７の時間差データを利用するのみで、深スイッチ４８のオフ時間差のデータは処理に利用しないが、何らかの制御（例えば音色制御：オフベロシティが大ほど発音中の楽音の高調波含有率を上げる）に利用するようにしてもよい。
【００７９】
上記のように、浅スイッチ４７から得られるキーオンタッチデータが所定値Ａ１を越えるような押鍵操作により突っ込み発音を行うことができ、所定値Ａ１以下となるような押鍵操作により非突っ込み発音が可能となる。そして、深スイッチ４８から得られるキーオンタッチデータが所定値Ａ２を越えるような押鍵操作により、非突っ込み発音となる。したがって、例えば初心者でも表現力やアーティキュレーションが増大し、演奏し易い電子楽器となる。さらに、深スイッチ４８から得られるキーオンタッチデータが所定値Ａ２以下となるような押鍵操作のときは非発音となるので、探り弾き等による誤発音を防止できる。すなわち、探り弾きしたとしても、そのタッチが弱いはずなので、発音しないことが多いということである。
【００８０】
また、所定値Ａ１＞所定値Ａ２とすると、スタッカート奏法の条件を満たすことになるので、スタッカート奏法が上手くなる。なぜなら、押し弾き奏法では発音されにくいからである。また、強タッチの押鍵操作に限り突っ込み発音が可能となり、弱タッチでは、発音がわずかに遅れる（より正確には発音位置が押鍵方向に沈む）ので、ピアノの鍵をゆっくりと押した場合と同じような感覚として作用し、ピアニシモ（ＰＰ）がよりアコースティックピアノらしくなる。また、所定値Ａ１＜所定値Ａ２とすると、Ａ２を比較的小にした場合には弱タッチでも突っ込み発音が可能となり、力の弱い小指による表現力も強化され、Ａ１を比較的大とすれば、比較的タッチを大にしないと発音されないので、指の練習になる。
【００８１】
以上の実施例では、図１２のステップＢ７において発音延期フラグＷＡＩＴ（ｎ）に“１”が立っていない場合、すなわち、突っ込み発音を行なっている場合、そのまま元のルーチンに復帰するようにしているが、ステップＢ７の判定がＮＯの後の処理として、図１５(A) に示した処理を行うようにしてもよい。すなわち、ステップＢ７において発音延期フラグＷＡＩＴ（ｎ）に“１”が立っていない場合、ステップＢ７−１で、深スイッチ４８に基づいて検出されたキーオンタッチデータＶ２ｏｎ（ｎ）が浅スイッチ４７に基づいて検出されたキーオンタッチデータＶ１ｏｎ（ｎ）を越えているか否かを判定し、越えていなければ元のルーチンに復帰する。一方、Ｖ２ｏｎ（ｎ）がＶ１ｏｎ（ｎ）を越えていれば、ステップＢ７−２で、キーオンタッチデータＶ２ｏｎ（ｎ）をレジスタＶｏｎ（ｎ）に格納して音源手段７に送出し、発音中のキーオンタッチデータＶｏｎ（ｎ）を書き換える。
【００８２】
これにより、図１５(B) に示したように、Ｖ２ｏｎ（ｎ）＞Ｖ１ｏｎ（ｎ）でない場合は、破線のように音量がスタッカート的奏法に対応する楽音となるが、Ｖ２ｏｎ（ｎ）＞Ｖ１ｏｎ（ｎ）の場合は、音量が実線のように変化して押し弾きの場合に対応する楽音となる。なお、図１５(B) 中の時間ｔ２、ｔ４は図４のｔ２、ｔ４に対応している。
【００８３】
なお、以上の第１実施例では、所定値Ａ１あるいはＡ２をパネルスイッチ１１のテンキー等の操作子で入力するようにしているが、例えばスライド操作子やホイール操作子など、既存の操作子、あるいは別途設けた操作子により入力設定できるようにしてもよい。
【００８４】
また、以上の第１実施例では、突っ込み発音するか否かを決定する第１の所定値Ａ１を演奏者が入力設定するようにしているが、例えば、図５に示したテーブル等を用い、音色に対応して所定値Ａ１を設定するようにしてもよい。例えば、パイプオルガン、ヴィオラダガンバ、バスーン、ホルン、オーボエなどをシミュレートする音色では、そのエンベロープにより実質的な発音が遅れ気味になる（すなわち、アコースティックな上記楽器の発音は、所定発音タイミングから楽音が立ち上がるが、人の耳に聞こえる程度に成長するのにタイムラグが生じるという意味であり、音のかたまり（音価）の大きさ（音のエネルギーととらえるとわかりやすい）が実質的に知覚されるタイミングは、実発音開始タイミングからわずかに遅れる）ので、所定値Ａ１を“０”に設定しておくことで常に「突っ込み発音」となり、初心者が演奏しても発音タイミングの遅れを防止することができる。また、鉄琴や木琴の音色は発音が立ち上がりが速いので、所定値Ａ１を最大値（ＭＩＤＩ規格のベロシティ“１２７”）に設定して、常に「非突っ込み発音」とする。
【００８５】
（第２実施例）第２実施例は、突っ込み発音するか非突っ込み発音するかを決定するＤＰ値を、演奏者が「何プレーヤーであるか」に応じて入力設定するものである。すなわちり、図９の楽音制御パラメータ入力処理のステップＰ４〜Ｐ７において、入力された文字列ＭＯＪＩにより、例えば図６の落とし込みテーブルＴＢＬ１（ｘ）を参照し、この文字列（プレーヤー名等）でＤＰ値を所定値（“０”／“１”）に設定する。なお、第２の所定値Ａ２は演奏者が入力設定するものである。そして、図１０の押鍵処理を経て図１１のステップＡ６以外は前記第１実施例と同様の処理を行う。
【００８６】
この第２実施例では図１１のステップＡ６の代わりに図１６の処理を行う。すなわち、浅スイッチ４７の第２接点ｂの閉成により浅スイッチ４７のオン時間差からタッチデータＶ１ｏｎ（ｎ）を取得し、ステップＡ５で、時間差計測モードフラグＴＣ（ｎ）に“１１”Ｂを格納した後、ステップＡ６′に進む。ステップＡ６′では、ＤＰ値が“０”であるか否かを判定し、ＤＰ値が“０”でなければステップＡ７で発音延期フラグＷＡＩＴ（ｎ）に“１”を立てて元のルーチンに復帰する。そして、ＤＰ値が“０”であれば、ステップＡ８でタッチデータＶ１ｏｎ（ｎ）を音源送出用のレジスタＶｏｎ（ｎ）に格納し、前記ステップＡ９（図１１）で発音処理を行う。なお、深スイッチ４８のオンイベントのときは図１２の処理を行い、浅スイッチ４７のオフイベントのときは図１３の処理を行うことは、第１実施例と同様である。
【００８７】
以上の第２実施例では、ＤＰ値が“０”のとき「突っ込み発音」となり、ＤＰ値が“１”のとき「非突っ込み発音」となる。図６に示したように、パーソナルデータが「何プレーヤー」であるかに対して、ピアノ、ギター、鉄琴、木琴等のプレーヤーとして入力した場合はＤＰ値＝０となり、ヴィオラダガンバ、バスーン、オーボエ、ホルン、パイプオルガン等のプレーヤーとして入力したときはＤＰ値＝１となる。したがって、例えばパイプオルガンのように発音が遅れがちになる音色が現在選択されれいる場合、ピアノ〜木琴の「プレーヤー」は突っ込み発音により発音タイミングの遅れを防止できる。ヴィオラダガンバ〜パイプオルガンの「プレーヤー」は通常の演奏でよい。
【００８８】
また、例えばピアノの音色が現在選択されている場合、ピアノ〜木琴の「プレーヤー」は突っ込み発音により、従来のピアノの伝達機構特有の伝達遅れによる発音の遅れを感じさせないアーティキュレーションの優れたジャストタイミングの発音となり、ヴィオラダガンバ〜パイプオルガンの「プレーヤー」は非突っ込み発音により、同様にアーティキュレーションの優れたピアノの発音が得られる。
【００８９】
（第３実施例）第３実施例は、突っ込み発音するか非突っ込み発音するかを決定するＤＰ値を、演奏者が「何プレーヤーであるか」および「プロであるかアマチュア」であるかに応じて入力設定するものである。すなわち、図９の楽音制御パラメータ入力処理のステップＰ４〜Ｐ７において、入力された文字列ＭＯＪＩにより、例えば図７の落とし込みテーブルＴＢＬ２（ｘ）を参照し、この文字列（プレーヤー名、「プロ」／「アマ」等）でＤＰ値を所定値（“０”／“１”）に設定する。また、第２の所定値Ａ２は演奏者が入力設定するものである。なお、ＤＰ値および所定値Ａ２に応じた制御は第２実施例と同様である。
【００９０】
これにより、例えばピアノプレーヤーの場合、アマチュアを選択すると突っ込み発音となり、演奏動作が遅れ気味になる初心者でも、表現力やアーティキュレーションが増大してプロ並みに演奏でき、演奏し易い電子楽器となる。
【００９１】
（第４実施例）第４実施例は、突っ込み発音するか非突っ込み発音するかを決定するＤＰ値を３段階の中から演奏者が入力設定するものである。また、第２の所定値Ａ２は演奏者が入力設定するものである。すなわち、図９の楽音制御パラメータ入力処理において、ＤＰ値を例えばテンキーで“０”または“１”または“２”を選択して入力する。この第４実施例では、図１０、図１１、図１６および図１３の前記第２実施例と同様な処理を行い、ＤＰ値が“０”の場合は、図１１および図１６の処理で突っ込み発音され、ＤＰ値が“０”以外のときは、図１６のステップＡ６′およびステップＡ７を経て、発音が延期される。そして、深スイッチ４８のオンイベントの時に、図１０のステップＫ８から図１７のステップＢ１０１に進む。
【００９２】
ステップＢ１０１では、発音延期フラグＷＡＩＴ（ｎ）に“１”が立っているか否かを判定し、“１”が立っていなければ元のルーチンに復帰する。そして、“１”が立っていれば、ステップＢ１０２で、ＤＰ値が“１”であるか否かを判定し、ＤＰ値が“１”でなければステップＢ１０５に進み、ＤＰ値が“１”であれば、ステップＢ１０３に進む。ステップＢ１０３では、タッチデータＶ１ｏｎ（ｎ）を音源送出用のレジスタＶｏｎ（ｎ）に格納し、ステップＢ１０４で、前記同様な発音処理を行い、ステップＢ１１５で発音延期フラグＷＡＩＴ（ｎ）をリセットして元のルーチンに復帰する。これにより、図４に示したように深スイッチ４８の第１接点ｃが閉成した時点ｔ３の直後から中位の（medium）非突っ込み発音が行われる。
【００９３】
ステップＢ１０５では、ＤＰ値が“２”であるか否かを判定し、ＤＰ値が“２”でなければ元のルーチンに復帰し、ＤＰ値が“２”であれば、ステップＢ１０６以降の処理を行う。なお、ステップＢ１０６〜Ｂ１１０の処理は、図１２のステップＢ１〜Ｂ１０の処理と同じであり、ＤＰ値が“２”のときは、浅スイッチ４７のオンイベント時および深スイッチ４８の第１接点ｃの閉成時に発音が延期され、深スイッチ４８の第２接点ｄが閉成した直後に、第２のタッチデータＶ２ｏｎ（ｎ）が所定値Ａ２を越えているときは発音が開始され、「非突っ込み発音」となる。また、第２タッチデータＶ２ｏｎ（ｎ）が第２の所定値Ａ２以下のときは発音されない。なお、深スイッチ４８のオフイベントのときは、図１０のステップＫ８から元のルーチンに復帰し、浅スイッチ４７のオフイベントのときは図１３の処理を行うことは、他の実施例と同様である。
【００９４】
以上のように、第４実施例では、浅スイッチ４７および深スイッチ４８の４つの接点のうち最初の２つはタッチデータＶ１ｏｎ（ｎ）を取得するために利用し、タッチデータＶ１ｏｎ（ｎ）が取得された２接点めで発音開始するモード（ＤＰ値＝０）と、深スイッチ４８の第１接点ｃのオンイベントで発音開始するモード（ＤＰ値＝１）と、深スイッチ４８の第２接点ｄのオンイベントで発音開始するモード（ＤＰ値＝２）とがある。
【００９５】
この第４実施例によれば、突っ込み発音、中位の非突っ込み発音、および非突っ込み発音を選択することができ、さらに演奏し易い電子楽器となる。例えばパイプオルガンのように発音が遅れがちになる音色に対して、ピアノ〜木琴の「プレーヤー」はＤＰ値＝０にして「突っ込み発音」とし、ヴィオラダガンバ〜パイプオルガンの「プレーヤー」はＤＰ値＝１として「中位の非突っ込み発音」とし、ピアノのような音色に対して、ピアノ〜木琴の「プレーヤー」はＤＰ値＝０または１にして「突っ込み発音または中位の非突っ込み発音」とし、ヴィオラダガンバ〜パイプオルガンの「プレーヤー」はＤＰ値＝２として「非突っ込み発音」としてもよい。
【００９６】
また、鍵ストロークの全行程で鍵の位置をセンシングするような技術を用いてもよいが、この第４実施例によれば浅スイッチ４７および深スイッチ４８の２つのメカニックなスイッチだけで制御しているので、鍵ストロークの検出精度（確度）が高い。さらに、制御フローが簡単で、全行程センシングのようなソフト処理も必要なく、押鍵操作に対応して処理速度を速くすることができる。
【００９７】
以上の実施例では、４つの接点のオン／オフに応じて発音タイミングを制御するようにしているが、３つの接点の鍵スイッチを用い、押鍵ストロークの前２つの接点の時間差から取得したタッチデータに応じて、突っ込み発音をするようにしてもよい。
【００９８】
また、鍵ストローク中の接点数を増やしたり、さらに、全行程センシングを利用し、設定できるＤＰ値の数を増やし、非突っ込み発音の態様（発音タイミング）を多段に設定できるようにしてもよいし、無段階に設定できるようにしてもよい。この場合、タッチデータも、発音直前のデータや、押鍵初期、あるいは、中間、またはそれらをミックスして平均を取ったデータを利用してもよい。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施形態の電子楽器のブロック図である。
【図２】実施形態に係る鍵盤装置を示す図である。
【図３】実施形態における鍵スイッチの機能を説明するための図である。
【図４】実施形態における楽音発生の一例を説明する図である。
【図５】実施形態における所定値を音色で設定する場合のテーブルの一例を示す図である。
【図６】実施形態における落とし込みテーブルＴＢＬ１（第２実施例）を示す図である。
【図７】実施形態における落とし込みテーブルＴＢＬ２（第３実施例）を示す図である。
【図８】実施形態におけるメイン処理のフローチャートである。
【図９】実施形態における楽音制御パラメータ入力処理のフローチャートである。
【図１０】実施形態における押離鍵処理のフローチャートの一部である。
【図１１】実施形態における押離鍵処理のフローチャートの他の一部である。
【図１２】実施形態における押離鍵処理のフローチャートの他の一部である。
【図１３】実施形態における押離鍵処理のフローチャートの他の一部である。
【図１４】実施形態におけるタイマ割込み処理のフローチャートである。
【図１５】実施形態における突っ込み発音を行っている場合のタッチデータを変更する他の実施例のフローチャートおよび作用を説明する図である。
【図１６】実施形態における第２実施例に係るフローチャートである。
【図１７】実施形態における第４実施例に係るフローチャートである。
【図１８】実施形態におけるキーバッファおよびキーイベント種類データのフォーマットを示す図である。
【図１９】実施形態におけるフラグバッファＴＣＢＵＦとカウンタ領域のフォーマットを示す図である。
【図２０】実施形態における「Ｔｏｎ→Ｖｏｎ変換」テーブルＴＢＬ１および「Ｔｏｎ→Ｖｏｎ変換」テーブルＴＢＬ２を示す図である。
【符号の説明】
【０１００】
１…ＣＰＵ、７…音源手段、１０…鍵盤装置、２１Ｗ…白鍵、２１Ｂ…黒鍵、４７…浅スイッチ、４８…深スイッチ
【図１】
2005222073.tif 000003
【図２】
2005222073.tif 000004
【図３】
2005222073.tif 000005
【図４】
2005222073.tif 000006
【図５】
2005222073.tif 000007
【図６】
2005222073.tif 000008
【図７】
2005222073.tif 000009
【図８】
2005222073.tif 000010
【図９】
2005222073.tif 000011
【図１０】
2005222073.tif 000012
【図１１】
2005222073.tif 000013
【図１２】
2005222073.tif 000014
【図１３】
2005222073.tif 000015
【図１４】
2005222073.tif 000016
【図１５】
2005222073.tif 000017
【図１６】
2005222073.tif 000018
【図１７】
2005222073.tif 000019
【図１８】
2005222073.tif 000020
【図１９】
2005222073.tif 000021
【図２０】
2005222073.tif 000022