(57)【特許請求の範囲】
【請求項１】
演奏操作するための操作子と、
この操作子のタッチを検出しタッチ情報を発生するタッチ情報発生手段と、
発生されたタッチ情報に基づいて楽音の発生を制御する楽音発生制御手段と
を備えた電子楽器であって、
前記タッチ情報発生手段は、第１及び第２キーオフタッチ情報を発生するキーオフ情報発生手段を含み、
前記楽音発生制御手段は、第１キーオフタッチ情報の発生に応じてキーオフ制御情報の発生を開始し、これによってキーオフ楽音を発生させ、第２キーオフタッチ情報の発生に応じてキーオフ楽音を速やかに停止させる
ことを特徴とする電子楽器。
【請求項２】
演奏操作するための操作子と、
この操作子のタッチを検出しタッチ情報を発生するタッチ情報発生手段と、
発生されたタッチ情報に基づいて楽音の発生を制御する楽音発生制御手段と
を備えた電子楽器であって、
前記タッチ情報発生手段は、第１及び第２キーオフタッチ情報を発生するキーオフ情報発生手段を含み、
前記楽音発生制御手段は、楽音波形を記憶した楽音波形記憶手段と、これを読み出す読出し手段とを備え、第１キーオフタッチ情報に応じてキーオフ制御情報の発生を開始し、これによって、楽音波形記憶手段からの楽音波形に基づくキーオフ楽音を発生させ、第２キーオフタッチ情報の発生に応じてキーオフ楽音を速やかに停止させる
ようにしたことを特徴とする電子楽器
【請求項３】
演奏操作するための操作子と、
この操作子のタッチを検出しタッチ情報を発生するタッチ情報発生手段と、
発生されたタッチ情報に基づいて楽音の発生を制御する楽音発生制御手段と
を備えた電子楽器であって、
前記タッチ情報発生手段は、キーオン情報とキーオフタッチ情報とを発生するキー情報発生手段を備え、
前記楽音発生制御手段は、第１及び第２音源ソースを備え、キーオン情報によって第１音源ソースに基づく楽音の発生を制御し、キーオフタッチ情報によって第２音源ソースに基づく楽音の発生を制御し、キーオフタッチ情報に応じて、第２音源ソースに基づき発生される楽音の音長を制御する
ようにしたことを特徴とする電子楽器。
【請求項４】
演奏操作される鍵と、
この鍵の演奏操作に連動して鍵動作より大きく揺動駆動される質量体と、
前記鍵及び該鍵に対応する質量体を揺動自在に支持する支持部と、
前記鍵の演奏操作に応じて楽音の発音と消音とを指示する楽音指示手段と、
前記鍵の演奏操作に応じて発生される楽音発生手段と
を備えた電子楽器において、
前記楽音発生手段は、第１及び第２楽音波形メモリとそれらの読出し手段とからなり、
前記楽音指示手段は、前記鍵の演奏操作に応じて前記鍵の鍵ストローク前半途中でイベントを発生させる第１センサと、前記質量体の揺動に応じて前記鍵ストロークの後半途中でイベントを発生させる第２センサとを含んでなり、
前記第２センサのイベント検出により前記第１楽音波形メモリから該メモリに対応する読出し手段によってキーオン楽音波形を読み出すことで、キーオン楽音を発生するようにし、
前記第１センサのイベント検出により前記第２楽音波形メモリから該メモリに対応する読み出し手段によってキーオフ楽音波形を読み出すことで、キーオフ楽音を発生するようにした
ことを特徴とする電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、アコースティックピアノのように表現力豊かな発音を可能にした電子楽器に関するものであり、とりわけ、キーオフタッチに応じて自然なキーオフ音を得ることができるようにした電子楽器に関する。
【０００２】
【従来の技術】
アコースティックピアノを始めとする自然楽器では、離鍵により消音する際に、ダンパーのような消音部材を使って発音を強制的に押さえ付けるようになっており、消音時の音波形は、押鍵で生じた弦振動による原波形から歪んだものになる。このような発音抑制作用は離鍵タッチに応じて変化するので、離鍵タッチを異ならせることにより、消音時の音を微妙に変化させて演奏表現を高めることができる。
【０００３】
従来より、電子楽器においては、これに対応して、離鍵時のベロシティを検出し、検出されたベロシティのレベルに応じて楽音信号を制御して、演奏表現を高めるようにしたものがある（例えば、特公昭６３−３４４７３号公報参照。）。また、アコースティックピアノのダンパ効果を考慮し、キーオフ波形にリミッタをかけるようにして演奏表現を高めたものもある（例えば、特開平５−１３４６７１号公報参照）。
【０００４】
【発明が解決しようとする課題】
この発明の主たる目的は、アコースティックピアノのように、キー操作の態様に応じた豊かな演奏表現を可能にすると共に、キーオンタッチ及びキーオフタッチを含む鍵操作により、キーオン時の音とキーオフ時の音に変化をつけて、発生する楽音の演奏表現を向上し、特に、キーオフ操作の態様に応じて消音波形を様々に制御することができるように、キーオフに関する楽音制御の処理機能を高め、キーオフ時の演奏表現をさらに向上させた電子楽器を提供することにある。
【０００５】
【課題を解決するための手段】
この発明の主たる特徴に従うと、演奏操作するための操作子と、この操作子のタッチを検出しタッチ情報を発生するタッチ情報発生手段と、発生されたタッチ情報に基づいて楽音の発生を制御する楽音発生制御手段とを備えた電子楽器であって、タッチ情報発生手段は、第１及び第２キーオフタッチ情報を発生するキーオフ情報発生手段を含み、楽音発生制御手段は、第１キーオフタッチ情報の発生に応じてキーオフ制御情報の発生を開始し、これによってキーオフ楽音を発生させ、第２キーオフタッチ情報の発生に応じてキーオフ楽音を速やかに停止させる電子楽器が提供される。
【０００６】
この発明の別の特徴に従うと、演奏操作するための操作子と、この操作子のタッチを検出しタッチ情報を発生するタッチ情報発生手段と、発生されたタッチ情報に基づいて楽音の発生を制御する楽音発生制御手段とを備えた電子楽器であって、タッチ情報発生手段は、第１及び第２キーオフタッチ情報を発生するキーオフ情報発生手段を含み、楽音発生制御手段は、楽音波形を記憶した楽音波形記憶手段と、これを読み出す読出し手段とを備え、第１キーオフタッチ情報に応じてキーオフ制御情報の発生を開始し、これによって、楽音波形記憶手段からの楽音波形に基づくキーオフ楽音を発生させ、第２キーオフタッチ情報の発生に応じてキーオフ楽音を速やかに停止させるようにした電子楽器が提供される。
【０００７】
この発明の他の特徴に従うと、演奏操作するための操作子と、この操作子のタッチを検出しタッチ情報を発生するタッチ情報発生手段と、発生されたタッチ情報に基づいて楽音の発生を制御する楽音発生制御手段とを備えた電子楽器であって、タッチ情報発生手段は、キーオン情報とキーオフタッチ情報とを発生するキー情報発生手段を備え、楽音発生制御手段は、第１及び第２音源ソースを備え、キーオン情報によって第１音源ソースに基づく楽音の発生を制御し、キーオフタッチ情報によって第２音源ソースに基づく楽音の発音を制御し、キーオフタッチ情報に応じて、第２音源ソースに基づき発生される楽音の音長を制御するようにした電子楽器が提供される。
【０００８】
この発明の更に他の特徴に従うと、演奏操作される鍵と、この鍵の演奏操作に連動して鍵動作より大きく揺動駆動される質量体と、鍵及び該鍵に対応する質量体を揺動自在に支持する支持部と、鍵の演奏操作に応じて楽音の発音と消音とを指示する楽音指示手段と、鍵の演奏操作に応じて発生される楽音発生手段とを備えた電子楽器において、楽音発生手段は、第１及び第２楽音波形メモリとそれらの読出し手段とからなり、楽音指示手段は、鍵の演奏操作に応じて鍵の鍵ストローク前半途中でイベントを発生させる第１センサと、質量体の揺動に応じて鍵ストロークの後半途中でイベントを発生させる第２センサとを含んでなり、第２センサのイベント検出により第１楽音波形メモリから該メモリに対応する読出し手段によってキーオン楽音波形を読み出すことで、キーオン楽音を発生するようにし、第１センサのイベント検出により第２楽音波形メモリから該メモリに対応する読み出し手段によってキーオフ楽音波形を読み出すことで、キーオフ楽音を発生するようにした電子楽器が提供される。
【０００９】
〔作用〕
一般に、ピアノのキーオフ操作を微細に観察すると、弦はダンパフェルトに触れるか触れないかの状態でも弦振動を小さくしながら振動し続ける。これによって、微妙な高調波音を含むキーオフ楽音を発生しつつ、徐々にダンパフェルトが当てられて行き、最後に押え付けられてキーオフ楽音を消音する。従って、ピアノ演奏者がキーオフタッチを緩急に変化させることにより、種々の態様のキーオフ楽音が発生され、意図するキーオフ演奏効果が得られる。
【００１０】
この発明の主たる特徴によれば、演奏操作用操作子のタッチを検出して発生されたタッチ情報に基づいて楽音の発生を制御するようにした電子楽器において、操作子の演奏操作に応じて第１及び第２キーオフタッチ情報を発生させ、第１キーオフタッチ情報の発生に応じてキーオフ制御情報の発生を開始し、これによってキーオフ楽音を発生させ、第２キーオフタッチ情報の発生に応じて、キーオフ制御情報の少なくとも一部を停止すると共に、キーオフ楽音を速やかに停止させるようにしている。つまり、この発明では、キーオフ操作時における演奏操作子の状態を第１及び第２キーオフタッチ情報で把握し、先ず、第１キーオフタッチ情報に応じてキーオフ制御情報を生成し、キーオフ操作時の微妙な高調波音を含むキーオフ楽音を発生させ、その後、第２キーオフタッチ情報に応じてキーオフ制御情報を停止すると共にキーオフ楽音を速やかに停止させて、ダンパフェルトの当接から押付けに至る急速消音過程を模擬するようにキーオフ楽音を制御し、演奏者の意図する微妙なキーオフ楽音を生成することができる。
【００１１】
また、この発明の別の特徴によれば、演奏操作用操作子のタッチを検出して発生されたタッチ情報に基づいて楽音の発生を制御するようにした電子楽器において、楽音波形を記憶した楽音波形記憶手段を備え、操作子の演奏操作に応じて第１及び第２キーオフタッチ情報を発生させ、第１キーオフタッチ情報によってキーオフ情報の発生を開始し、これによって、楽音波形記憶手段からの楽音波形に基づくキーオフ楽音を発生させ、第２キーオフタッチ情報の発生に応じてキーオフ楽音を速やかに停止させるようにしている。従って、キーオフ操作時の微妙な高調波音を含むキーオフ楽音波形を楽音波形記憶手段に予め記憶させ、このキーオフ楽音波形を用いて、キーオフ時の微妙な高調波音が忠実に反映されたキーオフ楽音を発生することができる。
【００１２】
なお、楽音波形記憶手段には、グランドピアノ（ＧＰ）等の自然楽器におけるキーオフ音の全波形をサンプリングしたものが好ましい。また、キーオフ楽音波形は、ルーピング読出しができるように構成しておくと、波形メモリの容量を節減し制御を簡単にすることができる。
【００１３】
さらに、この発明の他の特徴によれば、演奏操作用操作子のタッチを検出して発生されたタッチ情報に基づいて楽音の発生を制御するようにした電子楽器において、第１及び第２音源ソースを備え、操作子の演奏操作に応じてキーオン情報及びキーオフタッチ情報を発生させ、キーオン情報によって第１音源ソースに基づく楽音の発生を制御し、キーオフタッチ情報によって第２音源ソースに基づく楽音の発生を制御し、オフタッチ情報から得られるオフタッチレベルに応じて、第２音源ソースに基づき発生される楽音の音長を制御するようにしている。つまり、この発明では、操作子のキーオン操作によるキーオン情報に応じてキーオン楽音を発生するために第１音源ソースを用い、キーオフタッチ情報に応じてキーオフ楽音を発生するために第２音源ソースを用いるので、各音源ソースには、波形メモリの外、ＦＭ音源等の数学的発生波形など、種々の形態のものを使用し、種々の音源ソースによりキーオン楽音及びキーオフ楽音を発生させ変化に富んだ演奏表現を可能にする。例えば、両音源ソースを同一種類の音源としたり、一方の音源ソースを波形メモリとし他方の音源をＦＭ音源として異ならせたり、或いは、第２音源ソースを波形メモリとしたりすることができる。また、キーオフタッチレベル情報に応じて、キーオフ楽音の音長を制御するようにしているので、キーオフ操作に応じたキーオフ演奏効果が得られる。
【００１４】
この発明の更に他の特徴によれば、質量体は、鍵の動作量に対して大きい揺動が得られる（例えば、鍵動作の全ストローク量＜力の作用点；質量体へのアクチュエータ部（実施例の質量体駆動部ＷＡ）を計測点とする＞に対する質量体の全ストローク量＜力の作用点；センサへのアクチュエータ部（実施例の第２アクチュエータ部４６）を計測点とする＞が約３倍となる）ようにし、このような質量体により鍵ストロークの後半途中（鍵位置でいうと、比較的深い作動位置）で駆動される第２センサによるイベント検出（押鍵時に発生するオンイベント有り）によってキーオン波形が読み出され、鍵ストロークの前半途中（鍵位置でいうと、比較的浅い作動位置）で駆動される第１センサによるイベント検出（離鍵時に発生するオフイベント有り）によりキーオフ波形が読み出されるようにしているので、アコースティックピアノの発音／消音機構に極めて近似した機能を有し、表現力が豊かで自然な発音／消音システムを実現することができる。
【００１５】
なお、第１及び第２センサには、何れにも、例えば、２接点で検出時間差を得るようなタッチレスポンススイッチなどを用いて、タッチレスポンス機能をもたせることができる。この場合、第２センサにタッチレスポンス機能をもたせ第１センサには１接点のものを用いたり、第１及び第２センサの両者にタッチレスポンス機能をもたせることができる。特に、両センサ共にタッチレスポンスとすると、表現力が豊かで自然な楽音生成効果を一層高めることができる。
【００１６】
【発明の実施の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、以下の実施例は単なる一例であって、この発明の精神を逸脱しない範囲で種々の変更が可能である。例えば、アコースティックピアノにおいて、ダンパフェルトは高音域において存在しない。このような音域によるダンパフェルトの使い分け処理をこの発明の説明に導入すると、システム構成の把握を難しくするだけで、発明の特徴を理解するにはあまりメリットがないので、以下に説明する実施例では、ダンパフェルトが一律にあるものとして、つまり、高音鍵もダンパフェルトに当たってから消音するような処理として扱う。しかしながら、特開平５−１３４６７１号公報のように、高音域はダンパフェルトなしの処理をしてもよい。
【００１７】
〔ハードウエア構成〕
図１には、この発明の一実施例による電子楽器のハードウエア構成のブロック図が示されている。この例では、電子楽器システムは、中央処理装置（ＣＰＵ）１、読出専用メモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３、押離鍵検出手段４、スイッチ検出手段５、表示制御手段６、音源手段７等を備え、これらの装置１〜７は、バス８を介して互いに接続されている。
【００１８】
システム全体を制御するＣＰＵ１は、これを駆動するクロック及び鍵タッチ情報を取得するために利用される割込みクロックを発生するクロック発生器９を備え、所定のプログラムに従って種々の制御を行い、主に、後述するキーオフ処理を中枢的に遂行する。ＲＯＭ２には、この電子楽器を制御するための所定の制御プログラムが記憶されており、この発明による押離鍵等に関する各種処理プログラムや、「Ｔｏｎ→Ｖｏｎ変換」テーブルＴＢＬ１、「Ｔｏｆｆ→Ｖｏｆｆ変換」テーブルＴＢＬ２等の所要の各種テーブル、各種制御データを含ませることができる。
【００１９】
ＲＡＭ３は、これらの処理に際して必要なデータやパラメータを記憶し、また、各種レジスタやフラグ、処理中の各種データ等を一時記憶するためのワーク領域として用いられる。例えば、ＲＡＭ３内には、キーバッファＫＥＹＢＵＦ，スイッチフラグバッファＴＣＢＵＦ等のバッファや、カウンタ領域、レジスタ、一時メモリ領域ＡＲなどが確保されている。キーバッファＫＥＹＢＵＦには、各発音チャンネルｎに対応してキーコードＫＣ（ｎ）、キーイベント種類ＫＶ（ｎ）、ベロシティデータＶｏｎ（ｎ），Ｖｏｆｆ（ｎ＋１６）等が一時記憶され、スイッチフラグバッファＴＣＢＵＦには、各チャンネルｎに対応してスイッチフラグＴＣ（ｎ）が一時記憶される。
【００２０】
ＲＡＭ３内において、押離鍵タッチ情報を得るための鍵スイッチによる設定時間差を計測するためのカウンタ領域は、キーオン時間Ｔｏｎ（ｎ）及びキーオフ時間Ｔｏｆｆ（ｎ＋１６）をカウントするためのソフトウエアカウンタ領域であり、一時メモリ領域ＡＲは、各発音チャンネルｎに対応する現在の楽音波形波高値（瞬時値）データＬ（ｎ）が一時的に記憶される。また、レジスタとしては、各種レジスタや、減衰レートを記憶するレートレジスタ等が設けられる。なお、チャンネル番号「ｎ」は、例えば、“０”〜“１５”の整数である。これに対応して、音源７側には、例えば、番号“０”〜“３１”の３２チャンネルがあり、キーオン用及びキーオフ用に、それぞれ、ｎチャンネル及びｎ＋１６チャンネルが割り当てられる。
【００２１】
押離鍵検出手段４は、鍵盤等の演奏操作子を備えた鍵盤演奏操作装置１０に内蔵され、電気的にバス８を介してＣＰＵ１等に接続されている。スイッチ検出手段５に接続されるパネルスイッチ装置１１は、音色設定や各種効果などの演奏条件等の設定を行うための種々の操作子を操作パネル上に備える。各種インジケータから成るディスプレイ１２は、表示制御手段６を介してバス８に接続され、パネルスイッチ装置１１の操作パネル上の各種操作子に並置されている。また、ディスプレイ１２には、各種設定画面や各種操作ボタンを表示し、ディスプレイ画面上で各種設定・表示を行うこともできる。
【００２２】
音源手段７には、演奏操作子としての鍵（キー）を操作した時に発生制御される波形を内蔵した波形ＲＯＭ７０、及び、ＣＰＵ１との送受信を行う送受信レジスタ７１を含んでおり、この波形ＲＯＭ７０は、キーオン時に発生する楽音の生成に用いられるキーオン波形を含む第１音源ソース７０１と、キーオフ時に発生する楽音の生成に用いられるキーオフ波形を含む第２音源ソース７０２とから成る。
【００２３】
鍵（１０）が操作されると、ＣＰＵ１は、ＲＯＭ２に基づいて鍵操作処理プログラム（図９〜１５参照）を実行し、波形ＲＯＭ７０から波形が読み出され、Ｄ／Ａ変換器、アンプ及びスピーカを含むサウンドシステム１３を介して、鍵操作に対応した楽音が奏出される。なお、ＤＳＰ等で構成される効果回路もこのサウンドシステム１３に含まれる。
【００２４】
〔押離鍵検出機構〕
次に、この発明の一実施例による押離鍵検出機構を説明する。図２は、この発明の一実施例に係る鍵盤装置を示し、鍵操作情報を電子楽器システムに取り込むための一手段を表わす。この図では、鍵盤装置１２は、非押鍵状態を側面から見て、ごく概略的に表わされている。
【００２５】
図２に示される鍵盤装置１２は、白鍵２１Ｗと黒鍵２１Ｂとから成る鍵２１と、鍵２１に連動して駆動される質量体４３とを多数備えている。楽器の棚板部２２上には、主鍵支持部２３Ａ及び副鍵支持部２３Ｂが固着され、両支持部２３Ａ，２３Ｂは鍵支持部２３を構成する。主鍵支持部２３Ａには支点ピンＷｆ，Ｂｆが固設され、白鍵２１Ｗは支点ピンＷｆに回動自在に支持され、黒鍵２１Ｂは支点ピンＢｆに回動自在に支持されている。鍵２１の前方部（図示左側部）には、副鍵支持部２３Ｂから突設させた鍵ガイド部ＷＧ、ＢＧが設けられ、白黒鍵２１Ｗ，２１Ｂを別々に押して離鍵する時の鍵動を鍵ガイド部ＷＧ、ＢＧによってガイドする構成になっている。また、副鍵支持部２３Ｂには白鍵用下限ストッパ部ＷＳ及び黒鍵用下限ストッパ部ＢＳが設けられる。
【００２６】
鍵支持部２３では、主鍵支持部２３Ａ及び副鍵支持部２３Ｂを固定的に一体成形した接続部ＬＤによって、ラダー状に両支持部２３Ａ，２３Ｂを結合させている。そして、この接続部ＬＤの上方において鍵２１の下方に位置するところには、支持部Ｂ１，Ｂ２を介して棚板部２２に設けられた基板ＳＢ１上に第１スイッチ（ＳＷ）４７が配設されている。鍵２１の後方では、支点部Ｍｆを有する質量体支持部４１が棚板部２２に固設され、錘りＷ１，Ｗ２を内包した樹脂製の質量体４３の支点部ｍｆが支点部Ｍｆに回動自在に支持され、これにより、質量体４３は支持部４１に保持されている。支持部４１の上部には、前方側に上限ストッパＵＳが設けられ、後方側にストッパ部４１Ｓが設けられる。
【００２７】
この質量体４３は、鍵２１の後方上面の質量体駆動部ＷＡにより力伝達部４４を介して駆動されるように配設される。力伝達部４４は、押鍵時に力を質量体に伝達すると共に、発音位置の微調節用ねじでもある。鍵２１の質量体駆動部ＷＡは、滑加工面を有する。さらに、質量体４３の下方で質量体支持部４１の上方に位置するところには、支持部４１の上面に基板ＳＢ２が載置され、この基板ＳＢ２上には質量体駆動スイッチ４８が配設されており、このスイッチ４８は、第２２スイッチ（ＳＷ）を構成する。鍵２１Ｗ（２１Ｂ）は、非押鍵時には、後部が上限ストッパ部ＵＳに当接されて静止しているが、押鍵時には、前方においてストッパ部ＷＳ、ＢＳと当接し、このとき、質量体４３は、後部下端がストッパ部４１Ｓに当接する。この際、ストッパ部４１Ｓにて質量体４３は衝突が緩和されるので機械的雑音が軽減される。
【００２８】
このような構成により、図示左側の矢印で示すように下方向に押鍵すると、鍵２１の後方及び質量体４３の前方は、図示中央の矢印ａ１で示すように上方向に回動し、質量体４３の後方は、図示右側の矢印ａ２で示すように下方向に回動する。離鍵時には、鍵２１及び質量体４３は、それぞれ、矢印とは逆方向に回動して図示の位置に復帰する。
【００２９】
この発明の一実施例においては、第１及び第２スイッチ（ＳＷ）４７，４８によって押離鍵ストロークを検出している。図２の例では、第１及び第２アクチュエータ部４５，４６が鍵２１及び質量体４３の下面に設けられ、これによって、それぞれ２つの接点を有する第１及び第２スイッチ４７，４８を駆動する。質量体４３は、鍵２１Ｗ（２１Ｂ）の動作量に対して大きい揺動が得られるように構成されており、鍵２１Ｗ（２１Ｂ）の回動角度に対して６〜７倍程度大きい角度で回動する。これによって、それぞれの力の作用点（質量体駆動部ＷＡ及び第２アクチュエータ部４６）の各移動距離の割合が１：３程度になる。そして、質量体４３で駆動される第２スイッチ（ＳＷ）４８は、鍵ストロークの後半途中（後で説明する図３に示される鍵位置でいうと、比較的深い作動位置Ｃ，Ｄ）の押鍵時にキーオン時用のキーオン波形を読み出すためのオンイベントを検出する第２センサとして機能する。その後、鍵２１で駆動される第１スイッチ（ＳＷ）４７は、鍵ストロークの前半途中（図３の鍵位置でいうと、比較的浅い作動位置Ａ，Ｂ）の離鍵時にキーオフ波形を読み出すためのオフイベントを検出する第１センサとして機能する。なお、第１センサ、第２センサ共に、接点時間差タイプの鍵速度センサとしての機能も具備しており、それは、後述する説明により、明らかとなる。
【００３０】
ここで、各アクチュエータ部４５，４６と各スイッチ（ＳＷ）４７，４８との間の配置は、押鍵ストロークにおいて、先ず、第１アクチュエータ部４５が第１ＳＷ４７に当接し、これに遅れて、第２アクチュエータ部４６が第２ＳＷ４８に当接するような関係になっている。第１及び第２ＳＷ４７，４８は、何れも、ラバーで構成された２つの接点ａ，ｂ；ｃ，ｄを備える接点時間差タイプの２メイク式タッチレスポンススイッチであり、各接点ａ，ｂ；ｃ，ｄの閉成（オン）及び開放（オフ）動作にストローク差が設定され、それぞれ、離鍵速度センサ、押鍵速度センサを構成している。また、アクチュエータ部４６と第２ＳＷ４８との間隔は、図２に示されるように、アクチュエータ部４５と第１ＳＷ４７との間隔より広くなっている。
【００３１】
これは２つの意味をもっている。１つ目は、質量体４３の移動可能距離が鍵２１の移動可能距離より大きく設定されていることであり、２つ目は、力の作用点（スイッチ駆動点）における移動可能距離（上下方向）は、鍵２１に対応するものより質量体４３のそれの方が大（質量体後端に対する移動可能距離より小）になっていることである。そのようにした理由は、前者に対しては、弾き応え感のある鍵タッチを得るため、即ち、慣性質量を上げる為、鍵盤装置全体の重量をあまり増大することなしに鍵に連動する質量体の移動距離を増す工夫をしているからであり、後者に対しては、アコースティックピアノの打弦機構のようにハンマが弦を打つ最終位置に対応させて、それに対応する位置で打弦センサ４８にて速度センシングした方がよいことによるものである。質量体後端でスイッチ４８を駆動せず、少し回動中心に近い所（４６）で駆動するようにしたのは、打弦直後のチャタリング発生確率を下げる（打鍵時のリバウンドを防止する）ようにするためである。このようにしたとしても、図２に示すように、スイッチ駆動点における移動可能距離（上下方向）は、鍵２１のそれに対し質量体４３のそれが約３倍程度に拡大されている。
【００３２】
以上によって、第１ＳＷ４７においては、例えば、押鍵ストロークで第１アクチュエータ部４５が当接する場合、先ず、第１ＳＷ４７の第１接点ａが閉成（オン）して第１ＳＷ４７のオン区間（一接点のみがオンして作動的＜動作継続中＞である区間の意味）を開始し、次に、第１ＳＷ４７の第２接点ｂが閉成して第１ＳＷ４７のオン区間を終了する。第２ＳＷ４８においても、同様であり、例えば、押鍵ストロークで第２アクチュエータ部４６が当接する場合、先ず、第２ＳＷ４８の第１接点ｃが閉成して第２ＳＷ４８のオン区間を開始し、次に、第２ＳＷ４８の第２接点ｄが閉成して第２ＳＷ４８のオン区間を終了する。また、離鍵ストロークでは、これとは逆に、第２ＳＷ４８の接点ｄ→ｃ、第１ＳＷ４７の接点ｂ→ａの順に開放（オフ）していく。
【００３３】
なお、押離鍵検出機構及び第１及び第２スイッチの構造の詳細やそれらの変形例については、本発明者等が先に提案した特願平１１−２７１４０２号をも参照されたい。
【００３４】
〔キーイベント〕
図３は、この発明の一実施例における鍵スイッチの機能を説明するための図である。鍵盤演奏操作装置１２の各鍵２１Ｗは、それぞれ、図２の状態に対応する離鍵（非押鍵）位置Ｓから最も深い最大押鍵位置Ｅまで、例えば、最大１０ｍｍだけ、上下方向に変位することができるように構成される。これに対して、鍵スイッチ即ち第１及び第２スイッチ（ＳＷ）４７，４８の第１及び第２接点ａ〜ｄは、図３に示すように、鍵２１の押鍵方向動作に応じて鍵位置Ａ〜Ｄで閉成（オン）し、鍵２１の離鍵方向動作に応じて鍵位置Ａ〜Ｄで開放（オフ）する。
【００３５】
例えば、離鍵（非押鍵）位置Ｓから最大押鍵位置Ｅに達するまで鍵２１を押鍵すると、下方向に向かう押鍵ストロークでは、先ず、鍵位置Ａで、第１ＳＷ４７の第１接点ａを閉成（オン）して第１ＳＷ４７のオン区間が開始し、次に、鍵位置Ｂに達すると、第１ＳＷ４７の第２接点ｂを閉成して第１ＳＷ４７のオン区間が終了する。さらに、鍵位置Ｃにおいては、第２ＳＷ４８の第１接点ｃを閉成して第２ＳＷ４８のオン区間が開始し、鍵位置Ｄで、第２ＳＷ４８の第２接点ｄを閉成して第２ＳＷ４８のオン区間が終了する。その後、鍵２１は最大押鍵位置Ｅに到達する。
【００３６】
逆に、鍵２１が最大押鍵位置Ｅから上方向に向かう離鍵ストロークでは、先ず、鍵位置Ｄで、第２ＳＷ４８の第２接点ｄを開放（オフ）して第２ＳＷ４８のオン区間が開始し、次に、鍵位置Ｃに達すると、第２ＳＷ４８の第１接点ｃを開放して第２ＳＷ４８のオン区間が終了する。さらに、鍵位置Ｂにおいては、第１ＳＷ４７の第２接点ｂを開放して第１ＳＷ４７のオン区間が開始し、鍵位置Ａで、第１ＳＷ４７の第１接点ａを開放して第１ＳＷ４７はオフとなり、第１ＳＷ４７のオン区間が終了する。そして、鍵２１は離鍵（非押鍵）位置Ｓに復帰し、全押離鍵ストロークが完了する。
【００３７】
この例では、４つの接点ａ〜ｄの閉成（オン）／開放（オフ）を常時チェックし、オン／オフ状態変化の時点及び方向を計測することによって、全部で８種類のオン（閉成）及びオフ（開放）イベントから成るキーイベントが生成される。すなわち、第１ＳＷ４７の第１及び第２接点ａ，ｂ及び第２ＳＷ４８の第１及び第２接点ｃ，ｄは、押鍵に伴う位置Ａ〜Ｄでの閉成（オン）によって４種類のオン（閉成）イベントを生成し、離鍵に伴う位置Ｄ〜Ａでの開放（オフ）によって４種類のオフ（開放）イベントを生成する。従って、タッチ情報の生成のため、各接点ａ〜ｄの動作時間差はイベント間隔で計測され、接点ａ，ｂ，ｃ，ｄは、押鍵及び離鍵によって、順次、オン、オン、オン、オン及びオフ、オフ、オフ、オフとなる。そして、これらのキーイベントに基づいて発音／消音制御情報が得られる。
【００３８】
例えば、押鍵ストロークにおいては、位置Ｃから位置Ｄまでの間でキーオン時間Ｔｏｎ（ｎ）を計測してキーオン時間Ｔｏｎ（ｎ）に相当するカウント値をＲＡＭ３上のカウンタ領域に格納し、図４（１）に示す「Ｔｏｎ→Ｖｏｎ変換」テーブルＴＢＬ１によってキーオンベロシティ値Ｖｏｎ（ｎ）に変換することにより、キーオンベロシティＶｏｎ（ｎ）を決定し、位置Ｄにより、音源手段７に対して発音を指示する発音開始タイミングを決定する。また、離鍵ストロークにおいては、位置Ｂから位置Ａまでの間でキーオフ時間Ｔｏｆｆ（ｎ＋１６）を計測してキーオフ時間Ｔｏｆｆ（ｎ＋１６）に相当するカウント値をＲＡＭ３上のカウンタ領域に格納し、図４（２）に示す「Ｔｏｆｆ→Ｖｏｆｆ変換」テーブルＴＢＬ２によってキーオフベロシティ値Ｖｏｆｆ（ｎ＋１６）に変換することによってキーオフベロシティＶｏｆｆ（ｎ＋１６）を決定し、位置Ａによって、消音を音源手段７に指示する消音開始タイミングを決定する。
【００３９】
なお、押鍵に応じて質量体４３がリバウンドする場合のリバウンドリミット位置ＲＬを、位置Ｃから位置Ｄまでの間の押鍵状態検出タイミング内に設定することにより、質量体４３のリバウンドによるチャタリングの発生を抑制することができる。
【００４０】
〔制御データの構成〕
図５及び図６は、ＲＡＭ３上に確保されたバッファ及びタイマ領域のフォーマットを示し、図５（１）は、各チャンネル（ＣＨ）ｎ毎の発音情報及び消音情報を記憶するためのキーバッファＫＥＹＢＵＦのフォーマットを表わし、図５（２）は、キーイベント種類データＫＶ（ｎ）の詳細を表わし、図６（３）は、各チャンネル（ＣＨ）ｎ毎のスイッチフラグＴＣ（ｎ）を記憶するためのスイッチフラグバッファＴＣＢＵＦのフォーマットを表わし、図６（４）は、各チャンネルｎ毎のキーオン時間Ｔｏｎ（ｎ）及びキーオフ時間Ｔｏｆｆ（ｎ＋１６）を計測するためのソフトウエアカウンタ領域のフォーマットを表わす。
【００４１】
キーバッファＫＥＹＢＵＦは、図５（１）に示すように、左端のチャンネルナンバ域ＮＲの発音チャンネル番号ｎ（この例では、“０”〜“１５”の計１６個）それぞれに対して、キーコードデータＫＣ（ｎ）を格納するためのキーコード格納領域ＣＲ、キーイベント種類データＫＶ（ｎ）を格納するためのキーイベント種類格納領域ＶＲ、キーオンベロシティデータＶｏｎ（ｎ）を格納するためのキーオンベロシティ格納領域ＶｎＲ、及び、キーオフベロシティデータＶｏｆｆ（ｎ＋１６）を格納するためのキーオフベロシティ領域ＶｆＲにより構成される。
【００４２】
キーイベント種類データＫＶ（ｎ）は、キーイベントを区別するためのデータであり、例えば、３ビットで表される。すなわち、３ビットの各データは、図５（２）に示すように、第３ビット（Ａ）がスイッチ種類を表わしており“０”＝第２ＳＷ４８（ＨＳＷ）、“１”＝第１ＳＷ４７（ＫＳＷ）を示し、第２ビット（Ｂ）が接点種類を表わしており“０”＝第２接点（ｂ又はｄ）（２Ｍ）、“１”＝第１接点（ａ又はｃ）（１Ｍ）を示し、第１ビット（Ｃ）がイベント種類を表わしており“０”＝オフ（開放）イベント、“１”＝オン（閉成）イベントを示している。例えば、図５（１）の例では、第０チャンネル（ＣＨ０）におけるキーイベント種類データＫＶ（０）＝“１０１”Ｂ（なお、記号「Ｂ」は、その直前の数値が２進数であることを示す。）は、第１ＳＷ４７（ＫＳＷ）の第２接点ｂ（２Ｍ）のオン（閉成）イベントを示し、第１チャンネル（ＣＨ１）のキーイベント種類データＫＶ（０）＝“０１０”Ｂは、第２ＳＷ４８（ＨＳＷ）の第１接点ｃ（１Ｍ）のオフ（開放）イベントを示している。
【００４３】
スイッチフラグＴＣ（ｎ）は、キーイベントの経緯に応じて４つの状態値“００”Ｂ，“０１”Ｂ，“１０”Ｂ，“１１”Ｂをとり、これらの状態値は、図６（３）の欄外に示すように、次のような状態を表わす：
〔１〕ＴＣ（ｎ）＝“００”Ｂ  →  キーオン時間Ｔｏｎ（ｎ）又はキーオフ時間Ｔｏｆｆ（ｎ＋１６）の何れをも計時しない状態、
〔２〕ＴＣ（ｎ）＝“０１”Ｂ→キーオン時間Ｔｏｎ（ｎ）の計時状態、
〔３〕ＴＣ（ｎ）＝“１０”Ｂ→キーオフ時間Ｔｏｆｆ（ｎ＋１６）の計時状態、
〔４〕ＴＣ（ｎ）＝“１１”Ｂ→キーオン計時終了状態。
【００４４】
〔楽音発生のための波形〕
この発明の一実施例においては、発音（キーオン）処理時に用いられる「キーオン波形」データや消音（キーオフ）処理時に用いられる「キーオフ波形」データは、ファクトリーセットのプリサンプリング音源を使用する。これらの波形データは、音源手段７に内蔵されている。
【００４５】
図７は、この発明の一実施例におけるキーオフ波形の読出し及び制御を説明するための図である。押鍵操作をすると、図３の押鍵ストロークの鍵位置Ｄにおいて第２スイッチ（ＳＷ）４８の第２接点ｄを閉成（オン）した時点ｔ１からキーオン波形が読み出され、位置Ｃ〜Ｄ間で計測したキーオンベロシティＶｏｎ（ｎ）に応じた楽音信号が生成される。後述するように、この実施例では、主に、図１１のステップＫ２０及び図１７のステップＳ８において、図７の波高値Ｌ（ｎ）にＶｏｎ（ｎ）の値を乗じたものが楽音として出力される。また、キーオン波形のチャンネル番号を「ｎ」とすると、後述する図１４及び図１５の処理フローで処理されるキーオフ波形の読出しチャンネル番号は、「ｎ＋１６」である。
【００４６】
キーオン波形については、第２ＳＷ４８の第１接点ｃのオン（時点ｔ０）の後第２接点ｄがオンする（時点ｔ１）と、タイミングｔ１において、キーオンベロシティＶｏｎ（ｎ）によってイニシャルタッチが決定され、波形アドレスカウンタが示す波高値データにキーオンベロシティＶｏｎ（ｎ）を乗じた値が順次読み出される。これは、レート（Ｒ）という概念で説明すると、レート値Ｒ＝１である。Ｖｏｎ（ｎ）がレートであるとする場合には、ベロシティのＭＩＤＩデータ換算値がレートということもできるが、ここでは、ベロシティを考慮した波高値Ｌ（ｎ）を考えているので、後述する説明に合わせるため、第１スイッＳＷ４７の第２接点ｂがオフするまではレート値Ｒ＝１の状態とする。
【００４７】
キーオン波形の読出しが進行し、離鍵が開始されると、時点ｔ２において、第１スイッＳＷ４７の第２接点ｂのオフが検出される（後述する図１０のステップＫ９を参照）。この時点ｔ２以降、キーオフ波形が読み出されるが、ｔ２〜ｔ２２間は、キーオン波形及びキーオフ波形の双方が読み出され、キーオン波形は時点ｔ２からレートＲ＝Ｒｏｎにてフェードダウンされ、キーオフ波形はレートＲ＝Ｒ０にてフェードアップされながら、同時に時分割で各波形が読み出され、音源手段７にとてミックスされる。こうすることにより、波形のつながりはもとより、波形そのものが有する特徴（フォルマント或いは高調波成分）を時間的に徐々に変化させ、やがて、キーオフ波形への依存度を１００％にすることができる。その時点がｔ２２である。
【００４８】
その後、キーオン波形は、読出しを停止してもよいが、説明を簡単にするため、レート値Ｒ＝０を乗算することで（図１４のステップＴ１６参照）読み出され続けることとする。キーオフ波形は、時点ｔ２２から、本来もつ波高値が読み出される。ただし、キーオン波形、キーオフ波形の各々の最大値をそろえるため、キーオフ波形の読出しにおいても、イニシャルタッチＶｏｎを乗算するものとする。次いで、時点ｔ３において第１ＳＷ４７の第１接点ａがオフされることにより、キーオフ波形は所定レートＲ１をもって急速に減衰していく。そして、時点ｔ４において、ほぼゼロレベルになったことを検出すると、オールオフが出される。なお、キーオフ波形は、先頭部がそのまま読み出され、後部が繰り返し（ルーピング）読み出されるものである。キーオフがきわめて速い場合には、繰返し読出しを行うことなく停止になることもある。
【００４９】
なお、「キーオン波形」データや「キーオフ波形」データを得るための音源ソースは、上述のような波形メモリである必要はなく、例えば、ＦＭ音源等の数学的手法により発生される波形などを音源ソースとすることができる。従って、一方の波形データを波形メモリから取得し、他方の波形データをＦＭ音源から取得するというように、両波形データを互いに異なる種類の音源ソースから得るように構成することもできるし、両波形データを同種の音源ソースから得るように構成することもでき、これにより、バラエティに富んだ演奏表現を実現することができる。また、忠実なキーオフ楽音の実現という点からは、「キーオフ波形」データの音源ソースは、波形メモリとするのが好ましい。しかしながら、説明を簡便にするため、以下の実施例においては、両波形データを波形メモリから取得するものとする。
【００５０】
〔メイン処理〕
図８は、この発明の一実施例による電子楽器システムにおけるメイン処理を表わすフローチャートである。この処理が開始すると、先ず、初期化ルーチンＲＴ１において、ＲＡＭ３内のキーバッファＫＥＹＢＵＦ，スイッチフラグバッファＴＣＢＵＦ、カウンタ領域等が初期化され、デフォルト音色等の設定等、各種初期化処理を実行する。次の楽音パラメータ設定処理ルーチンＲＴ２では、演奏者により指定された音色等の楽音パラメータを音源手段７の対応レジスタ等に設定する楽音パラメータ設定処理を実行する。
【００５１】
続いて、押離鍵処理ルーチンＲＴ３において、演奏者による鍵盤演奏操作装置１２の押離鍵操作に応じて発音／消音制御情報を生成し、発音／消音制御情報を音源手段７に送出して発音／消音処理の実行を指示する。そして、押離鍵処理による指示に基づいて音源処理ルーチンＲＴ４にて発音／消音処理を行うと、楽音パラメータ設定処理ルーチンＲＴ２に戻り、以後、ルーチンＲＴ２〜ＲＴ４の処理を繰り返す。
【００５２】
この発明の一実施例による電子楽器システムでは、また、このメイン処理に並行して、所定時間（例えば、１μｓｅｃ）毎に発生されるクロック発生器９からのタイマ割込みクロックに応じてタイマ割込み処理が起動される。この割込み処理は、押離鍵処理と連繋をとりながら処理が実行されるもので、主に、押離鍵イベント間の時間計測処理を受け持つが、その詳細については後述する（図１２〜１５参照）。
【００５３】
〔押離鍵処理〕
図９〜図１１は、この発明の一実施例による押離鍵処理を表わすフローチャートである。図８のメイン処理における押離鍵処理ルーチンＲＴ３においては、以下に示すような手順で押離鍵処理が実行される。まず、ステップＫ１（図９）において、何れかのキーイベントがあるか否かを判別し、キーイベントが発生したときはステップＫ２に進み、そうでなければ直ちにリターンする。ここで、リターンされるということは、過去の短時間に多くのイベントが発生し、多くの発音／消音処理の実行中であるから、これ以上新押鍵処理は不可能であることによる処理であり、今発生したイベントを無視する。
【００５４】
ステップＫ２では、発生したキーイベントのキーコードＫＣ（ｎ）を格納しているチャンネル（ＣＨ）があるか否かを判別し、当該キーコードを格納したチャンネル（ＣＨ）があればステップＫ３に進む。一方、このようなチャンネル（ＣＨ）がなければステップＫ４に進んで、ＲＡＭ３上のキーバッファＫＥＹＢＵＦにおいてキーコード領域ＣＲにキーコードデータＫＣ（ｎ）が格納されていない「空きチャンネル（ＣＨ）」があるか否かを調べる。その結果、空きチャンネル（ＣＨ）があればステップＫ３に進み、そうでなければ直ちにリターンする。
【００５５】
ステップＫ３では発音を割り当てるチャンネル（ＣＨ）を決定し、続いて、ステップＫ５にて、キーバッファＫＥＹＢＵＦにおいて、チャンネル番号領域ＮＲ内の決定したチャンネル番号ｎに対応するキーコード領域ＣＲ及びキーイベント種類領域ＶＲに、発生したキーイベントのキーコードＫＣ（ｎ）及び種類ＫＶ（ｎ）をそれぞれ書き込んだ後、ステップＫ６に進む。
【００５６】
ステップＫ６においては、キーイベントが第１スイッチ（ＳＷ）４７から発生したか否かを判別し、第１ＳＷ４７のキーイベントのときはステップＫ７に進み、そうでないときはステップＫ８に進む。
【００５７】
楽音の発生から消滅に至るプロセスの発生イベント順に処理フローの流れを図９〜図１１について、ステップＫ８以後を簡単に説明すると、ステップＫ８，Ｋ１６からリターンする処理の後、数十ミリ秒後に、次に、同一キーの第２ＳＷ４８の第２接点ｄがオンになることにより、ステップＫ１→Ｋ２→Ｋ３→Ｋ５→Ｋ６→Ｋ８→Ｋ１５→Ｋ１７→Ｋ１８→Ｋ１９→Ｋ２０→リターンの処理経路で、キーオンされた鍵の音高による楽音が発生する。やがて、第２接点ｄのオフが確認されると、ステップＫ１→…→Ｋ６→Ｋ８→リターンの処理を経た後、第２ＳＷ４８の第１接点ｃのオフされた場合でも、ステップＫ１→…→Ｋ６→Ｋ８→リターンの処理が実行され、この２つの処理は実質的に無視される。
【００５８】
その後、第１ＳＷ４７の第２接点ｂのオフ時にステップＫ１→…→Ｋ６→Ｋ９→Ｋ１１→Ｋ１４→リターンとなり、接点時間差としての数十ミリ秒後に第１接点ａのオフが確認される。その処理後は、ステップＫ１→…→Ｋ６→Ｋ９→Ｋ１０→…→Ｋ１３→リターンとなり、楽音は消減に向かう。ステップＫ１３の直後では、後述するように、消音用の楽音がしばらく発生し、その後、急速に減衰した後、図１７のステップＳ７において、すべてが終ることが明らかとなる。表１に、押離鍵検出処理の全体の流れを図式化したので参照されたい。
【表１】
0003587167.tif 000002
【００５９】
＜第１スイッチのオンイベントの場合＞
ステップＫ７に進んだ場合は、第１ＳＷ４７の第１又は第２接点ａ，ｂが閉成（オン）したのか開放（オフ）したのかを判別し、第１ＳＷ４７のオンイベント〔キーイベント種類データＫＶ（ｎ）＝“１０１”Ｂ又は“１１１”Ｂの処理でキーオン鍵音高の楽音が発生する。”〕であれば直ちにリターンし、第１ＳＷ４７のオフイベントのときにはステップＫ９（図１０）に進む。
【００６０】
＜第１スイッチのオフイベントの場合＞
ステップＫ９（図１０）においては、更に、第１ＳＷ４７のオフイベントを与えた〔開放（オフ）した〕接点が第１又は第２接点ａ，ｂの何れであるかを判断する。そして、第１接点ａが開放（オフ）した場合はステップＫ１０に進んで消音処理ルートに入り、第２接点ｂが開放（オフ）した場合にはステップＫ１１に進む。先ず、検出されたキーイベントが第１ＳＷ４７における第１接点ａのオフ（開放）イベントの場合〔キーイベント種類データＫＶ（ｎ）＝“１００”Ｂ〕は、ステップＫ１２〜Ｋ１５の処理を順次実行して行く。
【００６１】
ステップＫ１０においては、カウンタ領域でカウントされたオフ時間値Ｔｏｆｆ（ｎ＋１６）を「Ｔｏｆｆ→Ｖｏｆｆ」変換テーブル（ＴＢＬ２）によって変換したキーオフベロシティ値Ｖｏｆｆ（ｎ＋１６）が、キーバッファＫＥＹＢＵＦ内のチャンネルｎに対応するキーオフベロシティ領域ＶｆＲに格納される。次に、ステップＫ１２でカウンタ領域のオフ時間値Ｔｏｆｆ（ｎ＋１６）を“０”にリセットし、ステップＫ１３において、消音処理を行い、発音チャンネルデータｎ及びキーコードデータＫＣ（ｎ）からなるチャンネルデータ、第１ＳＷ４７の第１接点ａが開放（オフ）した時点（ｔ３）に対応するキーオフタイミングデータ、減衰レート値Ｒ＝“Ｒ１”とキーオフベロシティ値Ｖｏｆｆ（ｎ＋１６）との乗算値等を音源手段７に送出し、リターンする。
【００６２】
一方、第１ＳＷ４７における第２接点ｂのオフ（開放）イベントの場合〔キーイベント種類データＫＶ（ｎ）＝“１１０”Ｂ〕は、ステップＫ１１において、レート値ＲをＲ（ｎ）＝Ｒｏｎ、Ｒ（ｎ＋１６）＝Ｒ０にセットされる。レート値Ｒｏｎは、キーオン波形をフェードダウンさせるにつき、所定時間当りにどの程度レベルダウンさせていくかを表わすインタラプト毎の数値である。また、レート値Ｒ０は、キーオン波形をフェードアップさせるについての所定時間に対するアップ率であり、インタラプト毎に存する数値である。
【００６３】
そして、次のステップＫ１５において、スイッチフラグＴＣ（ｎ）を“１０”Ｂ（Ｔｏｆｆ計時）にセットしてキーオフ時間の計測を開始させた上、リターンする。
【００６４】
＜第２スイッチのオフイベントの場合＞
キーイベントが第２ＳＷ４８で発生した場合、図９のように、ステップＫ６からステップＫ８に進んで、第２ＳＷ４８によるキーイベントがオンイベントであるかオフイベントであるか、つまり、第２ＳＷ４８の第１又は第２接点ｃ，ｄが閉成（オン）したのか開放（オフ）したのかを判別し、第２ＳＷ４８のオンイベントであればステップＫ１５（図１１）に進み、第２ＳＷ４８のオフイベント〔キーイベント種類データＫＶ（ｎ）＝“０００”Ｂ又は“０１０”Ｂ〕のときには直ちにリターンする。
【００６５】
＜第２スイッチのオンイベントの場合＞
ステップＫ１５（図１１）では、更に、第２ＳＷ４８のオンイベントを与えた〔閉成（オン）した〕接点が第１又は第２接点ｃ，ｄの何れであるかを判断する。ここで、第２ＳＷ４８の第１接点ｃが閉成（オン）した場合〔キーイベント種類データＫＶ（ｎ）＝“００１”Ｂ〕は、ステップＫ１６に進み、キースイッチフラグＴＣ（ｎ）に“０１”Ｂ（Ｔｏｎ計時）をセットしてキーオン時間Ｔｏｎ（ｎ）の計測を開始させた上、リターンする。
【００６６】
一方、第２ＳＷ４８の第２接点ｄが閉成（オン）した場合〔キーイベント種類データＫＶ（ｎ）＝“０１１”Ｂ〕には、ステップＫ１７〜Ｋ２０の処理を順次実行して行く。
【００６７】
ステップＫ１７においては、カウンタ領域でカウントされたオン時間値Ｔｏｎ（ｎ）を「Ｔｏｎ→Ｖｏｎ」変換テーブル（ＴＢＬ１）によって変換したキーオンベロシティ値Ｖｏｎ（ｎ）が、キーバッファＫＥＹＢＵＦ内のチャンネルｎに対応するキーオンベロシティ格納領域ＶｎＲに格納される。次に、ステップＫ１８で、カウンタ領域のオン時間値Ｔｏｎ（ｎ）を“０”をリセットし、ステップＫ１９で、スイッチフラグＴＣ（ｎ）を“１１”Ｂ（計時終了）にセットする。そして、ステップＫ２０において、発音処理を行い、発音チャンネルデータｎ、キーコードデータＫＣ（ｎ）、キーオンタイミングデータ、キーオンベロシティデータＶｏｎ（ｎ）等を音源手段７に送出した上、リターンする。
【００６８】
〔タイマ割込み処理〕
図１２〜図１５は、この発明の一実施例によるタイマ割り込み処理の手順を示すフローチャートである。このタイマ割込み処理では、主に、スイッチフラグＴＣ（ｎ）の状態値に応じてキーオン時間Ｔｏｎ（ｎ）又はキーオフ時間Ｔｏｆｆ（ｎ＋１６）の計時を行う。図示の処理フローにおいて、キーオン時間Ｔｏｎ（ｎ）の計時処理は、ステップＴ１→Ｔ２→Ｔ３→Ｔ４→Ｔ６→Ｔ２の処理経路中のステップＴ４でなされる。キーオフ時間については、キーオン時間Ｔｏｎ（ｎ）のチャンネルｎに対応する別のチャンネルｎ＋１６のキーオフ時間Ｔｏｆｆ（ｎ＋１６）として処理され、キーオフ時間Ｔｏｆｆ（ｎ＋１６）の計時処理は、ステップＴ１→Ｔ２→Ｔ３→Ｔ５→Ｔ２０→…→Ｔ２５→…の処理経路中のステップＴ２５でなされる。その他の仕事としては、サスティン中の波高値送出処理（Ｔ７，Ｔ１７，Ｔ１８）や波形過渡期のレート変更設定処理（Ｔ１３又はＴ１４〜Ｔ１６）などがある。タイマ割込み処理の流れの詳細を表２にまとめたので、これを参照されたい。なお、表２の第４欄中の「多数回」とは、チャンネル数分×多数回という意味である。
【表２】
0003587167.tif 000003
【００６９】
ステップＴ１（図１２）においては、スイッチフラグバッファＴＣＢＵＦの全てのチャンネル（ＣＨ）のスイッチフラグＴＣ（０）〜ＴＣ（１５）が“００”Ｂ（不計時状態）であるか否かを判別し、全チャンネル（ＣＨ）のスイッチフラグＴＣ（０）〜ＴＣ（１５）が“００”Ｂのときは直ちにリターンし、そうでないときはステップＴ２に進む。ステップＴ２では、スイッチフラグバッファＴＣＢＵＦ内において“００”Ｂでないスイッチフラグを識別し、チャンネル（ＣＨ）番号ｎを決定する。この場合、最初の番号値ｎは、“１”とする〔或いは、“００”Ｂでないスイッチフラグのある該当チャンネル（ＣＨ）のうち最も小さいチャンネル（ＣＨ）番号とする〕。すなわち、チャンネル番号の最小値から最大値までをスキャンし、すべての“００”Ｂでないチャンネルを抽出する。その手法は様々であるが、タイマｎを順次“＋１”するステップを含む。
【００７０】
続いて、ステップＴ３において、決定されたチャンネルｎのスイッチフラグＴＣ（ｎ）が“０１”Ｂであるか否かを判別し、スイッチフラグＴＣ（ｎ）が“０１”Ｂ（Ｔｏｎ計時）のときは、ステップＴ４に進み、カウンタ領域のキーオン時間カウント値Ｔｏｎ（ｎ）を“１”だけインクリメントする。一方、スイッチフラグＴＣ（ｎ）が“０１”ＢでないときはステップＴ５（図１３）に進む。
【００７１】
ステップＴ４に続くステップＴ６では、現チャンネル番号ｎが最大チャンネル番号値（この例では、“１５”）であるか否かを判別し、チャンネル番号ｎが最大チャンネル番号値であるときは直ちにリターンし、そうでないときは、ステップＴ２に進んで前回のチャンネル番号値ｎを含まない他のチャンネル番号を抽出した上、ステップＴ３に戻る。すなわち、図１２の小ループ（Ｔ２→Ｔ３→…→Ｔ６→Ｔ２）によって、ほとんど同時に押鍵された（同時押し）場合における複数押鍵のイニシャルタッチの計時が行われる。これらのタッチが決定されるのは、第１ＳＷ４７の第２接点ｂを通り越したときに、図１０のステップＫ１４によりモード（スイッチフラグ）がＴＣ（ｎ）＝“１０”Ｂに変更されるタイミングである。
【００７２】
スイッチフラグＴＣ（ｎ）が“０１”Ｂから“１１”Ｂになると、ステップＴ１→Ｔ２→Ｔ３→Ｔ５と進み、図１３のステップＴ５において、スイッチフラグＴＣ（ｎ）が“１１”Ｂであるか否かを判別する。ただし、ある鍵のイニシャルタッチの計測中に、ほとんど同時に、他の鍵の離鍵タッチの計測中になることもあるので、その場合は、ステップＴ３にて、或るチャンネルはステップＴ４の処理へ、或るチャンネルはステップＴ５の処理へと進むことになる。ここで、或るＣＨとは、例えば、チャンネル番号ｎの最大値を“１６”とした場合、前述した小ループ（Ｔ２→Ｔ３→…→Ｔ６→Ｔ２）の１６回の処理中におけるチャンネル番号ｎ＝３及びｎ＝４の処理の際において、別の処理がなされるという意味である。
【００７３】
この小ループでの処理中、ステップＴ５にて、スイッチフラグＴＣ（ｎ）＝“１１”Ｂと判別（ＹＥＳと判定）されるとステップＴ７に進み、そうでないときは（ＮＯ）ステップＴ８に進む。ステップＴ７では、アドレスカウンタレジスタＡｏｎ（ｎ）が指示する音源波高値Ｌ（ｎ）を音源手段７へ送出する。そして、次のステップＴ９においてアドレスＡｏｎ（ｎ）を“＋１”インクリメントする。次いで、ステップＴ１０にて、このアドレスＡｏｎ（ｎ）が最終値か否かが判断され、最終値でない（ＮＯ）ならステップＴ６に進み、最終値でないときは（ＹＥＳ）、ステップＴ１１に進んで当該チャンネル（ｎ）の全データをクリアする。
【００７４】
つまり、図１３の各ステップでは、主に、イニシャルタッチ取得以後の音源読出しに係る処理が行われる。ただし、スタッカート奏法等のように、はずむような奏法（押鍵した後、すぐに離鍵する奏法）では、上述した一連の処理状態の持続が非常に短い場合がある。波形読出しの停止は、後述する図１７のステップＳ７にて行なわれる。
【００７５】
次に、押鍵後、離鍵される場合のタイマ処理を、図１４及び図１５により説明する。キーオン波形が音源手段へ送出されている状態（図１３）において、離鍵動作が進行すると、スイッチフラグＴＣ（ｎ）＝“１１”Ｂが、図１１のステップＫ１９にてセットされるので、これ以後第１ＳＷの第１接点ａのオフイベントが発生されるまでの間は、この状態が持続される。このとき、タイマ処理では、ステップＴ１→Ｔ２→Ｔ３→Ｔ５（図１３）からステップＴ８（図１４）への処理フローが実行される。ステップＴ８において、後述するステップＴ１９（図１５）でカウントされるタイマカウンタの値が、所定値（例えば、５ｍｓ相当）以上かどうかが判定される。このジャッジは、「Ｒ（ｎ＋１６）≧１」というものであってもよい。ただし、次のステップＴ１３のレート値Ｒ０は、５ｍの後に値“１”になるようなものとする。
【００７６】
離鍵動作によって、第１ＳＷの第２接点ｂのオフイベントが発生した直後の処理チャンネルの番号値ｎが、例えば、“３”であるとすると、このチャンネル番号値ｎ＝“３”に“＋１６”加算したチャンネル番号“１９”の処理チャンネルが、ここで初めて確保される。その理由は、図７から明らかなように、キーオン波形からきオフ波形に移り変わるとき、クリックが出ないようにクロスフェードされるようにするために、同一音高の鍵について２つのチャンネルを確保し、同時読出しを進行させる必要があるからである。
【００７７】
このチャンネルについて、キーオフ時間Ｔｏｆｆ（ｎ＋１６）が過渡期即ちクロスフェード中かどうかは、ステップＴ８にて判定される。ここで、オフ波形読出しを開始して所定のフェードアップ期間（５ｍｓ）が経過してレート値Ｒ（ｎ）が“１”に極めて近くなった（ＹＥＳ）と判断されると、ステップＴ１２に進んで、レート値Ｒ（ｎ＋１６）を“１”に固定する。
【００７８】
一方、ステップＴ８でクロスフェード中（ＮＯ）と判断されたときは、ステップＴ１３で、クロスフェード中のレートＲ（ｎ＋１６）をＲ（ｎ＋１６）＋Ｒ０として、毎回、所定のレート値Ｒ０を加算していく。このレート値Ｒ０は、オフ波形のフェードアップを決める定数であって、割り込み時間により異なるが、この実施例では、割込みクロックを１μｓとしたので、Ｒ０＝１×１０−３〜１×１０−４という固定値が適当である。
【００７９】
次のステップＴ１４〜Ｔ１６は、オン波形のレートを規定する処理を行う。ステップＴ１４では、レートＲ（ｎ）に、前回のレート値Ｒ（ｎ）から所定値Ｒｏｎを引いたものを与える。与えられたレート値Ｒ（ｎ）が次のステップＴ１５でゼロ以下となったと判定されたときは、ステップＴ１６にて、このレート値Ｒ（ｎ）をゼロに保持するようにしている。
【００８０】
次に、ステップＴ１７において、オン波形のクロスフェードダウン中の波形の波高値をキーオン波形メモリアドレスＡｏｎ（ｎ）がさす波高値Ｌ（ｎ）として、前回の波高値Ｌ（ｎ）にそのレートＲ（ｎ）＝Ｒｏｎ（Ｋ１１にて決定）をかけ算したものを取り込む。次いで、ステップＴ１８にて、そのチャンネルのペアチャンネルであるｎ＋１６について、キーオフ波形メモリアドレスＡｏｎ（ｎ＋１６）がさす波高値Ｌ（ｎ＋１６）を、前回波高値×Ｒ（ｎ＋１６）とする。例えば、オフ波形読出の初期近傍では、ステップＴ２にてそのレート値を、例えば、０．０００２等として、波高値Ｌ（ｎ＋１６）を出力する。最初のうちはその波高値はほとんど０であるが、ちょうど５ｍｓ後にはそのレートは１となるから、１ｍｓ後には実際の波高値の０．２倍、一方、ステップＴ１７の同一時点のレート値のレートは０．８倍くらいになるように、レート値Ｒｏｎを前述のようにあらかじめ決めておく。
【００８１】
続くステップＴ１９（図１５）では、番号ｎ＋１６のチャンネルの経過時間がわかればよいので、キーオフ時間Ｔｏｆｆ（ｎ＋１６）を“＋１”する。次に、ステップＴ２０では、現在制御すべきＣＨのエンペロープジェネレータ（ＥＧ）レベルが消音レベル以上、即ち最大値に対して、４０ｄＢダウン程度の値以上であって、かつ、アドレスＡｏｆ（ｎ＋１６）がそのエンド値Ａｆｅ（ｎ＋１６）であるかどうかが判断される。このステップＴ２０でＹＥＳと判断されるとステップＴ２１に進み、アドレスが進んでおらずＮＯと判断されるとステップＴ２２に進む。
【００８２】
ステップＴ２２では、現在制御すべきＣＨのＥＧレベルが消音レベル以下になったかが判断され、波形が減衰しきっていない場合（ＮＯ）には、ステップＴ２５に進んで、アドレスＡｏｎ（ｎ），Ａｏｆ（ｎ＋１６）のアドレスカウンタをそれぞれ“＋１”してリターンされる。
【００８３】
クロスフェードが終了時期になると、前述したように、ステップＴ１２においてレート値Ｒ（ｎ＋１６）を“１”に固定する。また、ステップＴ１７，Ｔ１８の処理を経ながらキーオン波形とキーオフ波形が入れ替わっていく。そして、図７に示すように、エンドアドレスＡｆｅ（ｎ＋１６）までアドレスカウンタが進むと、ステップＴ２０からステップＴ２１に進み、ステップＴ２１にて、Ａｏｆ（ｎ＋１６）はループ初期値Ａｆｓ（ｎ＋１６）に設定される。その後、キーオフ波形の減衰が進むと、ステップＴ２２にてＹＥＳと判断され、ステップＴ２３において当該チャンネルの波形読出しの停止が行われ、続くステップＴ２４にてモードＴＣ（ｎ＋１６）を“００”Ｂとしてリターンされる。
【００８４】
〔音源処理＝発音／消音処理〕
この発明の一実施例において、音源に備えられる楽音波形はキーオン波形とキーオフ波形とから成り、キーオン波形は、説明を簡単にするため、グランドピアノ（ＧＰ）の鍵を押し続けた場合の全波形をプリサンプリングしたものとして取り扱う。一般製品化する場合は、図７におけるキーオフ波形の説明と同様に、一部繰返し部分（ルーピング）を設けてもよい。また、キーオフ波形は、ピアノにおいて半離鍵時のフェルトが弦に当接しながら減衰する音をプリサンプリングした波形である。キーオフ波形長は、例えば、１０ｍｓ〜２００ｍｓ程度の特定の波形長を有するものであり、それより長いキーオフ音を出力したい場合は、すでに説明したように、ルーピングを用いてもよい。
【００８５】
図１６及び図１７は、この発明の一実施例による音源処理（発音／消音処理）を表わすフローチャートを示す。図８のメイン処理における音源処理ルーチンＲＴ４においては、以下に示すような手順で音源処理（発音／消音処理）が実行される。なお、音源手段７は、主として、ハードウェアにより構成したり、ソフトウェアによって構成したりすることができる。
【００８６】
この音源処理フローでは、大きく、次の３つの処理を行う：
（１）ステップＳ１→Ｓ２→Ｓ３→Ｓ５→Ｓ６→Ｓ８→Ｓ４→リターンの経路で、音源手段７に対する発音処理を行う。
（２）ステップＳ１→Ｓ２→Ｓ３→Ｓ６→Ｓ８→Ｓ４→リターンの経路で、音源手段７に対する消音処理を行う。
（３）ステップ（Ｓ１→Ｓ２→Ｓ３→Ｓ６→Ｓ４→）Ｓ７→Ｓ１０→Ｓ９→リターンの経路で、キーコドＫＣ（ｎ）が格納されている発音チャンネル（ＣＨ）のＥＧ波形レベルが消音レベル以下であるときに、当該チャンネル（ＣＨ）に対応するバッファＫＥＹＢＵＦ，ＴＣＢＵＦの全データ及びカウンタ領域のデータＴｏｎ（ｎ），Ｔｏｆｆ（ｎ＋１６）をクリアする。
【００８７】
ここでいう音源処理とは、音源手段７に内蔵されている波形メモリＲＯＭから波形を読み出すにあたり、その準備をＣＰＵ１側で進めておき、キーオン／オフベロシティデータやチャンネルデータ等を音源手段７内のバッファレジスタ（ＣＰＵとの送受信レジスタ）７１に一時記憶する。そして、イベントデータ、タイマインタラプト時発生データによってこれを制御し発音する。
【００８８】
例えば、この実施例では、キーオン波形読み出し時は、図１１のステップＫ２０にて各種データを音源に送出する構成となっているが、この直後に楽音発生となるのではなく、音源のレジスタに記憶しておき、ステップＳ１において、このレジスタを１６×２＝３２チャンネル分スキャニングし、図１６及び図１７の処理後に楽音が制御されるようにしている。３２チャンネル分としたのは、キーオン波形からキーオフ波形に移る際、各波形にはクロスフェードが行われるので、どうしても１鍵につき２チャンネル分必要となるからである。
【００８９】
まず、この処理フローの第１ステップＳ１においては、全てのチャンネル（ＣＨ）の中で、キーコードＫＣありのチャンネル（ＣＨ）があるか否かを判別し、キーコードＫＣありのチャンネル（ＣＨ）があるときはステップＳ２に進み、そうでないときは直ちにリターンする。ステップＳ２では、キーデータに関する受信信号があるか否かを判別し、キーデータに関する受信信号があるときはステップＳ３に進み、そうでないときは直ちにステップＳ４（図１７）に進む。
【００９０】
ステップＳ３においては、受信したキーデータが発音（オンイベント）に関するものか否かかを判別し、発音に関するときは、ステップＳ５でＣＰＵ１からの発音開始の指示に基づいて、音源手段７の対応するチャンネルをオンとして発音処理を開始させた後、ステップＳ６（図１７）に進む。図１１に示す処理等によりキーオン以外のデータが送られているのでオンだけを送られる。この場合のチャンネルデータの数は、キーオフ波形を考慮して図１１で説明したチャンネル数の２倍の“３２”である。
【００９１】
一方、発音に関するものではないときは、なにもしないでステップＳ６に進む。ステップＳ６においては、キーコードＫＣありのチャンネル（ＣＨ）について、そのレベルデータが所定の消音レベル未満か否かを判断し、消音レベル未満のときは、ステップＳ７で当該チャンネル（ＣＨ）のデータをクリアした後、ステップＳ４に進み、そうでないときは、ステップＳ８に進む。ステップＳ８では、キーコードＫＣありのチャンネル（ＣＨ）の現在波高値データＬｎ（ｎ）をＬｎ（ｎ）×Ｖｏｎ（ｎ）とし、ステップＳ４に進む。
【００９２】
ステップＳ４では、全チャンネル分処理されたか否かを判別し、全チャンネルが処理されたときはリターンし、そうでないときはステップＳ９でチャンネル番号ｎを“１”だけインクリメントした後、ステップＳ１に戻って、同様の処理を繰り返す。ここで、チャンネル番号ｎは、“０”から“３１”まで処理が繰り返される。
【００９３】
〔ダンプ処理〕
ピアノを始めとする自然楽器は、消音の際、ダンパフェルトのような消音部材を使用して発音を強制的に抑え付ける（ダンピング）。この場合に発生される音の波形は、元の波形から歪み消音特有の高調波が含まれる。この発明の一実施例によれば、キーオフ区間終了後に強制ダンピング効果を施し、このような現象を効果的に模擬するダンプ処理を行うことができる。図１８は、この発明の一実施例による振幅制限（波形クリップ）方式のダンピングを説明するための図であり、図１９は、この発明の一実施例によるダンプ処理を表わすフローチャートである。このダンプ処理フローは、例えば、図１７のステップＳ７，Ｓ４間の記号Ｘ，Ｙで示され箇所において実施することができ、第１スイッチ（ＳＷ）４７の第１接点の開放（オフ）する時点ｔ３以降における急速消音過程に適用してもよい。
【００９４】
この処理フローの最初のステップＤ１では、鍵の状態フラグがＴＣ（ｎ）＝“１０”Ｂ（但し、ｎは“０”〜“３１”）である消音処理中のチャンネル（ＣＨ）において、現在のキーオフ波形メモリアドレスＡｏｆ（ｎ）が指す現在波高値データＬ（ｎ）の絶対値Ｅ１（ｎ）を、所定エンベロープ関数Ｅ２（ｎ）にキーオフベロシティＶｏｆｆ（ｎ）を乗算した値“Ｅ２（ｎ）×Ｖｏｆｆ（ｎ）”と比較し、次のステップＤ２において、この比較結果の符号（「＋１」又は「−１」）を符号データＨＵＧ（ｎ）としてステップＤ３に進む。
【００９５】
ステップＤ３では、エンベロープ関数Ｅ２（ｎ）が絶対値Ｅ１（ｎ）より小さいか否かを判断し、絶対値Ｅ１（ｎ）より小さいときは、ステップＤ４に進んで、キーオフ波形メモリアドレスＡｏｆ（ｎ）の現在波高値データＬ（ｎ）をそのまま現在波高値データＬ（ｎ）として採用する。一方、エンベロープ関数Ｅ２（ｎ）が関数Ｅ１（ｎ）以上であれば、ステップＤ５に進んで、符号データＨＵＧ（ｎ）を乗じたエンベロープ関数Ｅ２（ｎ）を現在波高値データＬ（ｎ）として採用する。
【００９６】
このダンプ処理では、楽音を振幅方向に制限する振幅制限値として、所定エンベロープ関数Ｅ２（ｎ）とキーオフベロシティＶｏｆｆを乗算した値“Ｅ２（ｎ）×Ｖｏｆｆ（ｎ）”を用いており、この振幅制限値は、図１８に示すように、時間経過に従って徐々に減少する特性を有するので、自然楽器におけるダンパフェルトの当接から押付けに至る急速消音過程のダンピング特性を良好に模擬することができる。
【００９７】
楽音振幅を制限して急速にダンピングするには、このような単純な振幅リミッタだけでなく、図２０に示すようなコンプレッサ方式を用いることができる。コンプレッサ方式では、図示のように、入力信号レベルが高い程出力信号レベルを下げる非線形関数ＮＬの入出力特性を備えるコンプレッサＣＰが用いられる。この発明の一実施例においては、この非線形関数ＮＬは、破線ＮＬａ，ＮＬｂで示されるように、時間経過に従って徐々に平らなに変化させる。従って、楽音振幅は、これに応じて徐々に小さい値に制限されていき、同様に、急速消音過程を良好に模擬することができる。
【００９８】
〔実施態様の要点〕
以上、この発明の一実施例を説明してきたが、ここで、キーオン及びキーオフ操作時の動作、特に、キーオフ操作時の動作について要点を述べる。前述した図７には、この発明の一実施例による電子楽器システムにおける楽音出力の時間特性が示されている。
【００９９】
＜キーオン操作→発音処理＞
キーオン操作時には、図３に示す押鍵ストロークにおいて、第２スイッチ（ＳＷ）４８の第２接点ｄが閉成（オン）した時点ｔ１（図７）から、スイッチフラグＴＣ（ｎ）が“１１”Ｂとなり（図１１：Ｋ１９）、タイマ割込み処理（図１２〜図１５）のステップＴ１→Ｔ２→Ｔ３→Ｔ５→Ｔ７→Ｔ９→Ｔ１０→Ｔ６→Ｔ２→Ｔ３→Ｔ５→…→Ｔ６のルートでキーオン波形（発音用音源）を読み出して発音していく。
【０１００】
＜キーオフ操作→消音処理＞
続いて、キーオフ操作の時には、図３に示す離鍵ストロークにおいて、第１スイッチ（ＳＷ）４７の第２接点ｂをオフ側に通過した時点ｔ２（図７）、つまり、接点ｂを開放（オフ）した時点ｔ２から、スイッチフラグＴＣ（ｎ）が“１０”Ｂとなり（図１０：Ｋ１４）、タイマ割込み処理（図１２〜図１５）のステップＴ１→Ｔ２→Ｔ３→Ｔ５→Ｔ８→Ｔ１３（→Ｔ１２）→…→Ｔ１７→Ｔ１８→Ｔ１９→Ｔ２０から、ステップＴ２２→Ｔ２５又はステップＴ２１を介して、ステップＴ６→Ｔ２→Ｔ３→…→Ｔ６のルートでキーオン及びキーオフ波形（を読み出していく。また、これに基づく発音は、図１６及び図１７の処理により行われる。
【０１０１】
キーオフ波形読出しのトリガは、押離鍵処理フローの接点（ａ，ｂ）判定ステップＫ９（図１０）において、図３に示す離鍵ストロークでの第１スイッチ（ＳＷ）４７の第２接点ｂの開放（オフ）によりキーオフ操作と判定され、ステップＫ１１，Ｋ１４に分岐することによる。
【０１０２】
つまり、第２ＳＷの第２接点ｂのオフ（開放）イベント発生によって、ステップＫ１１，Ｋ１４にて、レート値設定及びフラグ設定を行い、そのフラグ判定がステップＴ５で行われると、ステップＴ８以下の処理に分岐される。この分岐処理（Ｔ８，Ｔ１２〜Ｔ２５）により、図７の期間ｔ２〜ｔ２２に示すように、キーオン波形及びキーオフ波形が同時に読み出される。そして、これにより、音源７のレジスタに所定データが取り込まれた後、次のサイクルにて、音源手段７からキーオン波形及びキーオフ波形が時分割で読み出されて合成され、キーオン波形からキーオフ波形へとスムーズに繋がった楽音が発生される。
【０１０３】
キーオフ波形読出しの指示は、タイマ割込み処理のステップＴ１８において、キーオフ波形メモリのアドレスＡｏｆ（ｎ＋１６）を指定するアドレスカウンタによってなされる。ステップＴ２０でエンドアドレスＡｆｅ（ｎ＋１６）ステップＴ２１において、ループ初期値（リターンアドレス）Ａｆｓ（ｎ＋１６）に戻る。
【０１０４】
（１）非常に速い離鍵操作のとき
キーオフ波形メモリに記録されるサンプリング波形長にもよるが、記録されているキーオフ波形が長い場合、離鍵操作が非常に速いと、波形の終端Ａｆｅ（ｎ）に達する前に、図７に示す時点ｔ３ａで、第１スイッチ（ＳＷ）のキーオフ区間を通過する〔第１ＳＷ４７の第１接点ａの開放（オフ）によりキーオフ区間を終了する〕ので、そこで、キーオフベロシティＶｏｆｆ（ｎ＋１６）＝Ｖｏｆｆａが決まり、押離鍵処理フローの接点（ａ，ｂ）判定ステップＫ９（図１０）において第１接点ａのオフ（開放）イベントと判定され、ステップＴ５からステップＴ８以下に分岐する（図１３、図１４参照）。ここで、キーオフベロシティ値Ｖｏｆｆａが大きいので、この時点ｔ３ａを境にして、キーオフ波形は、減衰レートＲ＝“Ｒ１×Ｖｏｆｆａ”で急速に減衰する。
【０１０５】
（２）比較的弱い離鍵操作をしたとき
普通の離鍵操作つまり比較的弱い離鍵操作をしたときは、キーオフ波形メモリのエンドアドレスＡｆｅ（ｎ）から繰返しアドレス（リターンアドレス）Ａｆｓ（ｎ）に戻るルーピングが行われ、この繰返しは、ルーピング指定を判定機能を有するステップＴ２０からステップＴ２１の処理ルートを介して、何回か行われる。つまり、第１ＳＷ４７の第２接点ｂの開放（オフ）から第１接点ａのオフ（開放）に至るキーオフ区間を通過するのに或る程度の時間を要するので、このようなルーピングが行われる。
【０１０６】
例えば、図７に示す時点ｔ３で、第１ＳＷ４７の第１接点ａのオフ（開放）イベントを通過すると、ステップＫ９，Ｋ１０，Ｋ１２，Ｋ１３にてキーオフレートを算出し、ステップＳ８にてキーオフ波形が読み出され、時点ｔ４で消音レベル以下になるとステップＴ２０からステップＴ２２を介してステップＴ２３に分岐して、キーオフ波形の読出しが停止される。この場合、キーオフベロシティＶｏｆｆ（ｎ＋１６）＝Ｖｏｆｆｂは小さいので（Ｖｏｆｆｂ＜Ｖｏｆｆａ）、図７に示す時点ｔ３ｂ以降の減衰レートＲは、Ｒ＝“Ｒ１×Ｖｏｆｆｂ”であり、波形は比較的緩慢に減衰する。つまり、離鍵態様によって、音源態様（キーオフ読出しの波形）が異なるように制御される。
【０１０７】
すなわち、この発明の一実施例によれば、離鍵ストロークにおける微妙な中間点（位置Ｂ〜Ａ間）をゆっくり通過（停止）させることにより、弦止めフェルトが弦にわずかに触れている音（キーオフ波形は、これをサンプリングしている）を持続発音させることができ、任意のタイミングにて、第１ＳＷ４７の第１接点ａのオフ（開放）イベント（位置Ａ）を通過させれば、速やかに停止にすることができるようになっている。
【０１０８】
消音時の別処理として、第１スイッチ（ＳＷ）の第１接点ａの開放（オフ）によるキーオフイベント終了（即ち、第２キーオフタッチ情報）の発生に応じて、キーオフ波形の供給を停止すると共に、キーオフ波形に基づくキーオフ楽音の発生を速やかに停止させるように消音処理を行う。すなわち、ルーピングをするか否かを示すフラグとして、ルーピング指示フラグＬｐ（ｎ）なるものを設定し、押離鍵処理のステップＫ６→Ｋ８→Ｋ９の経路により、キーオフイベント終了（第２キーオフタッチ情報）の発生を検出すると、ステップＫ９，Ｋ１０（図１０）間に、このルーピング指示フラグＬｐ（ｎ）をリセットし、ステップＫ１３で減衰レートＲを“Ｒ１”から値“Ｒ２”〔０＜１／Ｒ２＜１／Ｒ１＜１〕に切り換えてキーオフベロシティを“Ｒ２×Ｖｏｆｆにすることができる。これにより、キーオフイベント終了（第２キーオフタッチ情報）とほぼ同時に「消音」させることができる。つまり、「消音」という演奏者の意思が、システムによりよく伝えられるように構成することができる。
【０１０９】
従来からのキーオフの楽音制御の１つとして、キーオフベロシティ（キーオフタッチ）によってゲートタイム（楽音をどこまで持続させてやめるか）を決定するやり方がある。この場合、ゆっくり離鍵した時、指を鍵から離した後まで（キーオフ）楽音が持続することがある。従って、そうならないように、あまり長いゲートタイムの設定をしないように（できないように）電子楽器を構成している。この発明の実施例では、アコースティックピアノのように、離鍵とほぼ同時楽音を消音することができる。特に、キーオフ時のゲートタイムを長く設定しても、ゆっくり離鍵すれば、それなりのゲートタイムに、速く離鍵すれば、“即、消音”というように演奏者の意思に忠実な消音処理を行うことができる。
【０１１０】
なお、図１において、バス８には外部記憶装置を接続することができる。このような外部記憶装置としては、ＨＤＤの外に、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）、フロッピィディスク（ＦＤ）、光磁気（ＭＯ）ディスク、ディジタル多目的ディスク（ＤＶＤ）等の可搬形高密度記憶媒体をもつ記憶メディアが備えられる。外部記憶装置は、各種制御プログラムや各種データを記憶することができる。従って、演奏データの処理に必要なプログラムや各種データは、ＲＯＭ２を利用するだけでなく、外部記憶装置からＲＡＭ３内に読み込むことができる。
【０１１１】
なお、バス１０にＭＩＤＩインターフェイス（Ｉ／Ｆ）等の通信インターフェイスを接続し、他のＭＩＤＩ機器や情報サーバ等と相互に通信し、制御プログラムや各種データを外部記憶装置９にストアすることもできる。なお、この発明による電子楽器システムは、音源装置やサウンドシステムを１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。
【０１１２】
また、この発明による電子楽器システムの形態は、鍵盤楽器に限らず、管楽器タイプの電子楽器にも応用することができる。これに応用すると、音高変化の微妙な音色変化を出すことができる。ただし、ストロークのあるスイッチ（押し始めから押し終りまでに距離があるもの）で構成された特殊音源キー（例えば、このキーによって、掻き鳴らすような楽器音を出すもの）には、有効かも知れない。つまり、「ストロークのあるキーによって掻き鳴らすような楽器音を出すスイッチ」に適用することができる。
【０１１３】
以上説明したように、この発明の実施例においては、図２に示されるような鍵盤装置を用い、質量体４３で駆動される第２スイッチ（ＳＷ）４８〔＝第２センサ〕により押鍵情報を検出して押鍵状態でキーオン時の楽音波形を読み出し、鍵２１Ｗ（２１Ｂ）で駆動される第１スイッチ（ＳＷ）４７〔＝第１センサ〕により離鍵情報を検出して離鍵状態からキーオフ波形を読み出すようにしている。これにより、アコースティックピアノに極めて近似し、表現力が豊かで自然な発音／消音システムを実現することが可能となる。このことをアコースティックピアノと対比しながら具体的に説明すると、以下のとおりになる。
【０１１４】
一般に、アコースティックピアノでは、鍵→ハンマアクション機構→ハンマ→弦への打弦の順に力の伝達がなされる。このとき、弦止め機構としてダンパ機構が鍵動作に連動して作動する。押鍵を開始すると、ダンパフェルトが弦から離れ、離鍵終了直前にてダンパフェルトが弦に当接する。
【０１１５】
このようなピアノの発音／消音機構において、弦へのハンマ打接時の「力」のみが演奏表現力に反映し、その途中の鍵アクションの振舞いは演奏表現力にあまり関係しない。しかしながら、離鍵の態様又は離鍵直後の再発音によっては、微妙な表現が可能となり、ジャック頭部がハンマローラを突き上げ得るところ〔鍵位置に対応させると、僅かに離鍵した位置（図３の鍵位置Ｂ）〕まで戻れば、再発音可能なように構成されている。離鍵動作開始時において弦振動が大きければ大きいほど、ダンパフェルトは、離鍵の早い段階からその弦振動を少しだけ抑えるように働き、完全離鍵時にはその弦振動を完全に抑えて、楽音は消音する。すなわち、離鍵のテクニックによって、音色を微妙に変化させることも可能となっている。
【０１１６】
一方、この発明の実施例に立ち戻ると、移動可能距離を大きく設定した慣性体としての質量体４３の慣性力情報が、質量体４３によって駆動される２メイクスイッチ４８の接点時間差に基づいた鍵速度として得られるようになっている。つまり、指から鍵２１への押鍵力が鍵そのものの移動速度に対応しつつ、それが、質量体移動の最終過程における質量体速度として検出される。このことは、ピアノの打弦時のハンマから弦への力の加え方に近似している。
【０１１７】
また、離鍵情報としては、慣性体に比べて移動距離（スイッチ部の押離間距離）が短い鍵の離鍵動を検出するスイッチ４７から得られるようになっているので、単位時間内のスイッチ変形速度が質量体で駆動するより緩やかになり、離鍵時の離鍵情報による制御が指の微妙な動きに忠実に反映できるので、楽音制御がよりリアルに再現可能となる。すなわち、上述したダンパフェルトが半分弦に当接している楽音に、鍵のどの位置から切り換えるかという制御等をしようとした場合にも、アコースティックピアノに対し違和感なく表現することができる。換言すれば、鍵２１Ｗ（２１Ｂ）のみにより又は質量体４３のみにより駆動されるスイッチを用いて上述の表現を行おうとしても、違和感がある。
【０１１８】
また、実施例では、再発音するときだけは、大きい離鍵動作をせずに可能とする一方、完全消音するときには、大きい離鍵動作によることとした点も、アコースティックピアノの原理にかなっている。
【０１１９】
要するに、キーオフ波形を発生し始めるタイミングは、アコースティックピアノにならって、鍵による位置制御で決定するのがよいのである。つまり、ピアノプレイヤーは、鍵の完全離鍵位置を基準にして比較的浅いところの定位置になると、ダンパ効果が効き始めることを体得している。一方、発音又は再発音は、指が鍵に及ぼす力又はこれに相当するファクターを楽音の制御又は発生に反映させた方がよく、事実、アコースティックピアノはそうなっている。すなわち、鍵の初速が大きいつまり鍵への力が大きければよく、その後は、鍵に力を入れなくてもハンマや質量体にその力が加わって、ハンマが弦を駆動し質量体が第２センサを駆動する。
【０１２０】
この発明の実施例においては、鍵２１の質量体駆動部ＷＡ及び力伝達部４４が押鍵の途中で離接したとしても、鍵の初速が大きければ、第２センサ４８がオンされる。アコースティックピアノにしても同様である。実施例では、第２センサ４８がタッチレスポンススイッチになっていて、その力強さがタッチレスポンスに対応している。この実施例の再発音のメカニズムは、図３の第２センサ４８の接点ｃより浅いところまで鍵２１又は質量体４３が変位すれば、再発音可能となる。従って、アコースティックピアノの再発音とは少しメカニズムを異にするものの、前回発音中による再発音を可能にしている点で、アコースティックピアノの再発音機能をも実現可能にしているということができる。
【０１２１】
【発明の効果】
この発明のうち、請求項１及び２に記載の構成によれば、楽音のキーオフ制御を２段階に制御するようにしたので、演奏者のキーオフ操作に忠実に反応すると共に、操作子から指を離すと、ほぼ同時にキーオフ用楽音を停止させることができる。
【０１２２】
さらに、請求項３に記載の発明によれば、キーオフ用音源ソース（第２音源ソース）をキーオン用音源ソース（第１音源ソース）とは別に設け、これをキーオフ・タッチに応じて発生させるようにし、かつ、第２音源ソースの持続する音調を制御するようにしたので、キーオフしょうとする演奏楽音の音調を任意の意思に応じて制御できるようになり、特に長いキーオフ用楽音でも演奏者の演奏意思と同期して持続発生後消滅させることができる。
【０１２３】
また、請求項４に記載の発明によれば、鍵動作より大きい揺動が得られる質量体により鍵ストロークの後半で駆動される第２センサのオンイベント有りから、キーオン波形が読み出され、鍵ストロークの前半で駆動される第１センサのオフイベント有りから、キーオフ波形が読み出されるようにしているので、アコースティックピアノの発音／消音機構の機能に極めて近似し、表現力が豊かで自然な発音／消音システムを実現することができる。
【図面の簡単な説明】
【図１】図１は、この発明の一実施例による電子楽器のハードウエア構成を示すブロック図である。
【図２】図２は、この発明の一実施例による鍵盤演奏操作装置及び押離鍵検出機構の構成例を示す断面概略図である。
【図３】図３は、この発明の一実施例における鍵スイッチの機能を説明するための図である。
【図４】図４は、この発明の一実施例における時間−ベロシティ変換テーブル例を示し、図４（１）は「Ｔｏｎ→Ｖｏｎ変換」テーブルの一例であり、図４（２）は「Ｔｏｆｆ→Ｖｏｆｆ変換」テーブルの一例である。
【図５】図５は、この発明の一実施例におけるバッファ及びタイマ領域のフォーマット例１を示し、図５（１）はキーバッファのフォーマットを表わし、図５（２）はキーイベント種類データの詳細を表わす。
【図６】図６は、この発明の一実施例におけるバッファ及びタイマ領域のフォーマット例２を示し、図６（３）はスイッチフラグバッファのフォーマットを表わし、図６（４）はソフトウエアカウンタ領域のフォーマットを表わす。
【図７】図７は、この発明の一実施例におけるキーオフ波形の読出し及び制御を説明するための図である。
【図８】図８は、この発明の一実施例におけるメイン処理を表わすフローチャートである。
【図９】図９は、この発明の一実施例による押離鍵処理を表わすフローチャートの第１部（１／３）である。
【図１０】図１０は、この発明の一実施例による押離鍵処理を表わすフローチャートの第２部（２／３）である。
【図１１】図１１は、この発明の一実施例による押離鍵処理を表わすフローチャートの第３部（３／３）である。
【図１２】図１２は、この発明の一実施例によるタイマ割込み処理を表わすフローチャートの第１部（１／４）である。
【図１３】図１３は、この発明の一実施例によるタイマ割込み処理を表わすフローチャートの第２部（２／４）である。
【図１４】図１４は、この発明の一実施例によるタイマ割込み処理を表わすフローチャートの第３部（３／４）である。
【図１５】図１５は、この発明の一実施例によるタイマ割込み処理を表わすフローチャートの第４部（４／４）である。
【図１６】図１６は、この発明の一実施例による音源処理（発音／消音処理）を表わすフローチャートの一部（１／２）である。
【図１７】図１７は、この発明の一実施例による音源処理（発音／消音処理）を表わすフローチャートの他部（２／２）である。
【図１８】図１８は、この発明の一実施例による振幅制限を用いてダンプする方法を表わす図である。
【図１９】図１９は、この発明の一実施例によるダンプ処理を表わすフローチャートである。
【図２０】図２０は、この発明の一実施例によるコンプレッサを用いてダンプする方法を表わす図である。
【符号の説明】
２１  白鍵２１Ｗ及び黒鍵２１Ｂから成る鍵〔操作子〕、
４１  質量体支持部〔支持部〕、
４３  質量体、
４７  第１スイッチ（ＳＷ）〔タッチ情報発生手段、楽音指示手段、第１センサ〕、
４８  第２スイッチ（ＳＷ）〔タッチ情報発生手段、楽音指示手段、第２センサ〕、
７０  波形ＲＯＭ〔楽音波形記憶手段〕、
７０１  第１音源ソース〔第１楽音波形メモリ〕、
７０２  第２音源ソース〔第２楽音波形メモリ〕、
Ａｆｓ  キーオフ波形メモリリターンアドレス、
Ａｆｅ  キーオフ波形メモリエンドアドレス、
ｔ１  発音開始時点、
ｔ２  消音（キーオフ音）開始時点、
ｔ２２  クロスフェード終了時点。
ｔ３  急速消音開始時点、
ｔ４  消音終了（オールオフ）時点。
【図１】
0003587167.tif 000004
【図２】
0003587167.tif 000005
【図３】
0003587167.tif 000006
【図４】
0003587167.tif 000007
【図５】
0003587167.tif 000008
【図６】
0003587167.tif 000009
【図７】
0003587167.tif 000010
【図８】
0003587167.tif 000011
【図９】
0003587167.tif 000012
【図１０】
0003587167.tif 000013
【図１１】
0003587167.tif 000014
【図１２】
0003587167.tif 000015
【図１３】
0003587167.tif 000016
【図１４】
0003587167.tif 000017
【図１５】
0003587167.tif 000018
【図１６】
0003587167.tif 000019
【図１７】
0003587167.tif 000020
【図１８】
0003587167.tif 000021
【図１９】
0003587167.tif 000022
【図２０】
0003587167.tif 000023