(57)【要約】【課題】イニシャルタッチ時の押鍵速度とこのときの押鍵圧力の微妙な鍵タッチ状態を楽音に反映させるようにする。【解決手段】鍵盤下方に押鍵圧力を検出する感圧センサと、押鍵速度を検出する第１と第２の鍵盤スイッチを設けて、第１の鍵盤スイッチがオンしてから、第２の鍵盤スイッチがオンする前に感圧センサが押鍵圧力を検出する構成にしたので、押鍵途中の押鍵圧力を検出可能となり、イニシャルタッチ時の押鍵速度と押鍵圧力とに応じたタッチデータに基づいてディジタル波形を生成するようにしたので、押鍵タッチの状態に応じて表現力豊かな楽音に反映することを可能とした。【選択図】      図１
2004157345.tif 000002
【特許請求の範囲】
【請求項１】
鍵盤の各鍵毎に、鍵の押鍵操作に基づいて押鍵速度を検出する押鍵速度検出手段と、この押鍵速度検出手段にて押鍵速度が検出される前から連続して該押鍵操作に対応する押鍵圧力を検出する押鍵圧力検出手段と、を備え、
前記押鍵速度検出手段にて検出された押鍵速度及び押鍵圧力検出手段にて検出された押鍵圧力とに基づいて、発音開始時の楽音の特性を制御するタッチデータを生成するタッチデータ生成手段と、
を具備することを特徴とするタッチデータ生成装置。
【請求項２】
前記押鍵速度検出手段は、前記鍵盤の各鍵毎に設けられた第１及び第２のスイッチを具備してなり、押鍵操作が開始されると、まず前記第１のスイッチがオンし、その後の押鍵操作に伴って前記押鍵圧力検出手段が押鍵圧力の検出を開始した後に前記第２のスイッチがオンするように構成され、当該第１及び第２のスイッチのオン時間差を押鍵速度として検出することを特徴とする請求項１記載のタッチデータ生成装置。
【請求項３】
前記タッチデータ生成手段は、楽音の音量及び音色を制御するタッチデータを生成することを特徴とする請求項１記載のタッチデータ生成装置。
【請求項４】
前記タッチデータ生成手段は更に、楽音の発音開始後に前記押鍵圧力検出手段にて検出された押鍵圧力に基づいて、楽音発音開始後の楽音の特性を制御するタッチデータを生成することを特徴とする請求項１記載のタッチデータ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、押鍵状態に応じて発音する楽音の特性を制御するタッチデータ生成装置に関する。
【０００２】
【従来の技術】
従来、電子鍵盤楽器は、押鍵状態に応じて発音する楽音の特性が変化する自然鍵盤楽器の楽音を模倣するために、その押鍵状態を検出する構成を設け、その検出結果を生成される楽音の特性に反映させる技術が採用されている。
【０００３】
この押鍵状態を検出する構成は、鍵盤下方に複数個のスイッチを設け、押鍵操作に伴って、これらスイッチのオンタイミング時間差により押鍵速度を検出し、この押鍵速度に応じて楽音特性を制御するようになっている（特許文献１参照）。
【０００４】
【特許文献１】
実用新案登録第２５５９９５４号（第１頁−第５頁、第４図、第５図）
【０００５】
【発明が解決しようとする課題】
従来の電子鍵盤楽器の構成では、押鍵速度のみが発音開始時の楽音の特性に反映されるに過ぎない。しかしながら、自然鍵盤楽器の発音開始時の楽音特性は、押鍵速度のみ反映されるものではない。例えば押鍵速度は同じでも、軽い力で押鍵した場合と重い力で押鍵した場合とでは同じ音高、同じ音色を指定したとしても、発生する楽音の特性は微妙に異なる。
【０００６】
このように、自然鍵盤楽器から発生される楽音は、種々の要因が複雑に絡み合ってその特性が決定されるものであり、単に押鍵速度という一つの要因だけを反映させても、その楽音を模倣するには不十分であった。
【０００７】
【課題を解決するための手段】
本発明は、上記従来の課題を解決するために成されたもので、その目的は、より自然鍵盤楽器の楽音に近い楽音を電子鍵盤楽器で発生させることを可能とするタッチデータ生成装置を提供することにある。
請求項１のタッチデータ生成装置の構成によれば、上記目的を達成するために、
押鍵速度検出手段は、鍵盤に設けられた鍵に対して押鍵操作されるとこの押鍵速度を検出する。押鍵圧力検出手段は、この押鍵速度検出手段が押鍵速度を検出される前から連続して該押鍵操作に対応する押鍵圧力を検出する。
タッチデータ生成手段は、前記押鍵速度検出手段にて検出された押鍵速度及び押鍵圧力検出手段にて検出された押鍵圧力とに基づいて、発音開始時の楽音の特性を制御するタッチデータを生成することを特徴とする。
【０００８】
請求項２の構成にあるように、例えば、前記押鍵速度検出手段は、前記鍵盤の各鍵毎に設けられた第１及び第２のスイッチを具備して、押鍵操作が開始されると、まず前記第１のスイッチがオンし、その後の押鍵操作に伴って前記押鍵圧力検出手段が押鍵圧力の検出を開始した後に前記第２のスイッチがオンするように配置を構成して、当該第１及び第２のスイッチのオン時間差を押鍵速度として検出することが望ましい。
【０００９】
請求項３の構成にあるように、例えば、前記タッチデータ生成手段は、楽音の音量及び音色を制御するタッチデータを生成することが望ましい。
【００１０】
請求項４の構成にあるように、例えば、前記タッチデータ生成手段は更に、楽音の発音開始後に前記押鍵圧力検出手段にて検出された押鍵圧力に基づいて、楽音発音開始後の楽音の特性を制御するタッチデータを生成することが望ましい。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する、
図１は、本発明の一実施の形態に係るタッチデータ生成装置の構成例を示したブロック図である。
【００１２】
ＣＰＵ１０１は、ＲＯＭ１０４に記憶されているプログラムと操作子群の設定状態に基づき各種制御信号を生成して楽音発生装置１０６に対して発音制御の指示を実行するものである。
【００１３】
操作子群１０２は、各種複数のスイッチ（以下ＳＷと称す）から成り、例えば、電源オンオフを指定する「電源ＳＷ」、押鍵タッチの反映度合いに応じて楽音特性の異なる選択テーブルを指定するタッチセンス切り換えＳＷ「ＳＥＬ」などから構成されている。
タッチセンス切り換えＳＷ「ＳＥＬ」の出力は押鍵タッチの反映度合いの少ない「ライト」、反映度合いが中程度の「ミディアム」、反映度合いが大きい「ヘビー」のいずれか一つを指定して出力するスイッチである。
【００１４】
鍵盤部１０３は、複数の鍵から成り各鍵下方には押鍵／離鍵を検出する２つのスイッチと押鍵圧力を検出する感圧センサとが設けられ、この検出出力はバスライン１０７を介してＣＰＵ１０１に供給される。
【００１５】
ＲＯＭ１０４は、ＣＰＵ１０１が各種機能の処理を実行するためのプログラム等、を記憶する記憶装置である。
【００１６】
ＲＡＭ１０５は、タッチセンス切り換えＳＷ（ＳＥＬ）の選択状態、鍵ＳＷのオンオフ状態、感圧センサの出力値、各種パラメータ、フラグ、などを一時的にストアするワークメモリである。
【００１７】
楽音発生装置１０６は、ＣＰＵ１０１からの指示に基づき、ディジタル楽音波形信号を生成する音源部と、このディジタル波形信号をアナログ信号に変換してスピーカーより放音する発音部とを有する。
【００１８】
図２は鍵盤の白鍵２鍵前後方向の断面図である。
白鍵２は、その下面側が開放された中空状に形成され、その後部の下部が鍵盤シャーシ１の後端部上に設けられた鍵支持部７に軸８により上下方向に回動自在に取り付けられている。
【００１９】
また、鍵支持部７の前側近傍における白鍵２と鍵盤シャーシ１との間には、白鍵２を上方に付勢するコイルバネ９が配置されている。この状態では、白鍵２の前側部に設けられたＬ字状のストッパ片１０が鍵盤シャーシ１のバカ孔１ａを通して鍵盤シャーシの下面に設けられたフェルトなどの上限ストッパ１１に当接し、これにより白鍵２が所定の上限位置（初期位置）に位置規制されている。
【００２０】
また、上限ストッパ１１の近傍に位置する鍵盤シャーシ１上には、鍵の横ぶれを防ぐ鍵ガイド部１２が設けられている。
尚、黒鍵３は、白鍵３よりも全体の長さが短く、且つ、高さが高く形成されており、これ以外は白鍵と同じ構成で、鍵盤シャーシ１上に設けられている。
【００２１】
また、ゴムＳＷ５は、各鍵２に夫々対応して弾性変形可能な２組の膨出ゴム部５ａが鍵前後方向に配列されている。
この２組の膨出ゴム部５ａは、鍵盤シャーシ１の中間部の下面に設けられた回路基板１３上に配置され、この状態で各膨出ゴム部５ａが鍵盤シャーシ１開口部１ｂを通して上方に突出している。
【００２２】
このゴムＳＷ５は、各膨出ゴム部５ａ内にそれぞれ可動接点が設けられ、これら可動接点に対応する回路基板１３上に夫々固定接点が設けられてスイッチを形成し、この２組の膨出ゴム部５ａは、鍵手前側を鍵ＳＷ１、鍵後方側を鍵ＳＷ２、から構成されている。
【００２３】
各鍵２の下面に形成された押圧部４ａと４ｂは、夫々鍵ＳＷ１、鍵ＳＷ２に対向して垂直方向に延設されている。
この、押圧部４ａの延設長は、４ｂの延設長より長く形成されている。
押鍵操作によって鍵先端側が降下していくと、これに伴って押圧部４ａと４ｂも同様に降下していく。
【００２４】
押鍵操作が進行していくと、押圧部４ａ、４ｂの順で時間差をもって２組の膨出ゴム５ａをそれぞれ押圧していく。
この押圧によって、各膨出ゴム部５ａは弾性変形して押圧部４ａ、４ｂの順に各可動接点が各固定接点に接触し、押鍵速度に応じた時間差の信号が出力されるように構成されている。
【００２５】
感圧センサ６は、押鍵された鍵２の各押圧部４によりゴムＳＷ５が押圧される際に、押圧部４ａが膨出ゴム部５ａの鍵ＳＷ１をオンした後、更に鍵２が押し込まれた時の押圧力を検出するものであり、この感圧センサ６の押圧力検出開始後に膨出ゴム部５ａの鍵ＳＷ２がオンするように構成されている。
【００２６】
このように押鍵操作に伴って、先ず、鍵ＳＷ１オン、次に感圧センサ６の押圧力検出開始、これに続いて鍵ＳＷ２オン、という具合に順次、押鍵速度と押鍵時の押圧力に応じた信号が検出され、回路基板１３に形成されているバスライン１０７を介して回路部（図示せず）に出力されように構成されている。
一方、離鍵時は先ず鍵ＳＷ２がオフしてから、次に感圧センサ６の出力電圧がオフになり、その後で鍵ＳＷ１がオフするように構成されている。
【００２７】
次に、感圧センサ６の取り付け構造について説明する。
鍵２の各下端部にセンサ押圧部１４が感圧センサ６に向けて突出して形成されている。
センサ押圧部１４は、鍵２が押し込まれて感圧センサ６を押圧すると、この感圧センサ６に対するセンサ押圧部１４の押圧面積が押圧力に応じて変化し、その押圧面積の変化に応じて感圧センサ６の電気抵抗値が変化する。
【００２８】
図３は鍵ＳＷ１、鍵ＳＷ２の押鍵／離鍵時のオンオフタイミングと感圧センサ６の出力特性を押鍵の経過時間（ｔ）に対応して表示したものである。
感圧センサ６は、図３（３）に示すように非押圧状態のときは基準電圧「Ｖ０」であるが、押鍵に伴ってこの押圧力に応じたレベルの出力電圧「Ｖ」を発生するものである。
【００２９】
押鍵が開始されて下方に押し込まれていくと、先ず、図３（１）に示すように鍵ＳＷ１がオンしてその出力レベルは「ＯＦＦレベル」から「ＯＮレベル」となる。
このあと更に鍵が下方に押し込まれていくと、感圧センサ６が鍵下端のセンサ押圧部１４で押圧され始め、その押圧力に応じたレベルの出力電圧を発生する。（図３（３））
【００３０】
そして、この押鍵操作がさらに続くと、今度は鍵ＳＷ２が押圧されてオン状態となり、その出力レベルは「ＯＦＦレベル」から「ＯＮレベル」になる。（図３（２））
この鍵ＳＷ１がオンしてから鍵ＳＷ２がオンされるまでの時間差はＴ１となる。
この押鍵速度が速いときは時間差Ｔ１は小さくなり、これよりゆっくり押鍵するとＴ１は大となる。
この鍵ＳＷ２がオンしたときに感圧センサ６の出力レベルは「Ｖ１」となる。
この時間差Ｔ１と感圧センサの出力レベルＶ１の値がイニシャルタッチデータとして用いられ、楽音の発生開始時の特性が制御される。
【００３１】
その後、更に、鍵が押し込まれてセンサ押圧部１４が感圧センサ６に当接状態のまま、鍵を上下方向に遥動させると、この感圧センサ６の出力レベルはその押圧力の変化に応じて変化する。
この感圧センサ６の出力を一定周期毎に検出したものをアフタータッチデータとして用いることにより、楽音発生開始後の楽音特性を制御する。
【００３２】
この押鍵状態を解除して離鍵操作すると、鍵はゴムＳＷ５ａの弾性反発力とコイルバネ９の弾性収縮力の作用によって、鍵支持部７の軸８を中心に鍵先端部が上方に回動していく。これに伴って、感圧センサ６に対する押圧力が減少していくとともに、その出力レベルも低下していく。
【００３３】
この押鍵された鍵が上方に復帰する過程にあって、まず、鍵ＳＷ２がオフになって、その出力レベルが「ＯＮレベル」から「ＯＦＦレベル」になると、当該発音中の楽音は消音開始が指示されリリース（減衰）状態となって消音していく。そして、感圧センサ６に対する押圧力は基準電圧Ｖ０まで低下する。更に、離鍵が進行すると鍵ＳＷ１の出力レベルは「ＯＮレベル」から「ＯＦＦレベル」となって、その後、鍵は完全に復帰状態に戻る。
【００３４】
図４はＣＰＵ１０１の機能をブロック化した図である。
まず押鍵操作されると、鍵ＳＷ１がオン、次に鍵ＳＷ２がオンになり、時間差検出部（４−０３）によってＳＷ１、ＳＷ２のオン時間差「Ｔ１」が検出される。
この「Ｔ１」は、ＴＡＢＬＥＡ１（４−０６）及びＴＡＢＬＥＦ１（４−０７）に供給される。
【００３５】
ＴＡＢＬＥＡ１（４−０６）は、図５の（１）に示すように、入力される時間信号を音量パラメータに変換する変換テーブルであり、タッチセンス切り換えＳＷ「ＳＥＬ」の出力によってその変換特性を「ライト」、「ミディアム」、「ヘビー」のいずれかに変更できる。これによって供給されるオン時間差「Ｔ１」は、イニシャルタッチ時における音量を制御する音量用パラメータ「ＰＡＲＡＭＥＴＥＲ１」に変換される。
【００３６】
ＴＡＢＬＥＦ１（４−０７）は、図５の（２）に示すように、入力される時間信号を音色パラメータに変換する変換テーブルであり、やはりタッチセンス切り換えＳＷ「ＳＥＬ」の出力によってその変換特性を「ライト」、「ミディアム」、「ヘビー」のいずれかに変更できる。これによって供給されるオン時間差「Ｔ１」は、イニシャルタッチ時における音色を制御する音色用パラメータ「ＰＡＲＡＭＥＴＥＲ２」に変換される。
【００３７】
一方、感圧センサ（４−０１）の出力は、鍵スイッチＳＷ２のオンに応答してレジスタＳＥＮＳＥ（４−０４）に記憶される。この記憶された感圧センサ６（４−０１）は、ＴＡＢＬＥＡ２（４−０８）及びＴＡＢＬＥＦ２（４−０９）に供給される。
【００３８】
ＴＡＢＬＥＡ２（４−０８）は、図５の（３）に示すように、入力される押鍵圧力を音量パラメータに変換する変換テーブルであり、やはりタッチセンス切り換えＳＷ「ＳＥＬ」の出力によってその変換特性を「ライト」、「ミディアム」、「ヘビー」のいずれかに変更できる。これによって供給される感圧センサ（４−０１）の出力は、イニシャルタッチ時における音量を制御する音量用パラメータ「ＰＡＲＡＭＥＴＥＲ３」に変換される。
【００３９】
ＴＡＢＬＥＦ２（４−０９）は、図５の（４）に示すように、入力される押鍵圧力を音色パラメータに変換する変換テーブルであり、やはりタッチセンス切り換えＳＷ「ＳＥＬ」の出力によってその変換特性を「ライト」、「ミディアム」、「ヘビー」のいずれかに変更できる。これによって供給される感圧センサ（４−０１）の出力は、イニシャルタッチ時における音量を制御する音色用パラメータ「ＰＡＲＡＭＥＴＥＲ４」に変換される。
【００４０】
この音量パラメータ「ＰＡＲＡＭＥＴＥＲ１」と「ＰＡＲＡＭＥＴＥＲ３」は乗算器（４−１２）よって乗算され、その乗算結果は音量用タッチデータ「ＡＶＥＬＯＣＩＴＹ１」として、ノートオンコマンド作成部（４−１４）に供給される。また、音色パラメータ「ＰＡＲＡＭＥＴＥＲ２」と「ＰＡＲＡＭＥＴＥＲ４」は乗算器（４−１３）よって乗算され、その乗算結果は音色用タッチデータ「ＦＶＥＬＯＣＩＴＹ１」として、ノートオンコマンド作成部（４−１４）に供給される。
このようにして生成されたタッチデータは、図６に示すように、押鍵速度を表すオン時間差「Ｔ１」と、押鍵開始時の押鍵圧力の両方が反映されたものとなる。
【００４１】
ノートオンコマンド作成部（４−１４）は、この音量用タッチデータ「ＡＶＥＬＯＣＩＴＹ１」、音色用タッチデータ「ＦＶＥＬＯＣＩＴＹ１」及び押鍵された鍵の鍵ナンバーに対応するＮＯＴＥ、さらに後述するチャンネルナンバーＣＨ及びノートオンコマンドであることを識別するデータである「ノートオン識別」に基づいて、図８（１）に示すような発音開始を指示するノートオンコマンドを作成して出力する。
【００４２】
また、ノートオフコマンド作成部（４−１５）は、鍵ＳＷ２のオフに応答して消音を指示するノートオフコマンドを作成して出力するものであり、そのデータ構成は図８（２）に示される。これから明白なとおり、ノートオフコマンドはその形態はノートオンコマンドと同じであるが、コマンドの種類を識別するデータが「ノートオフ」を識別するものであること、さらに「ＡＶＥＬＯＣＩＴＹ１」及び「ＦＶＥＬＯＣＩＴＹ１」の値が「０」になっていることが異なる。
【００４３】
一方、感圧センサ６（４−０１）の出力は、ゲート（４−０２）にも供給される。このゲート（４−０２）には、鍵ＳＷ２の出力及び一定周期のクロックφが入力しており、この鍵ＳＷ２がオンの状態でかつクロックφが立ち上がったときに、供給されている感圧センサ６（４−０１）の出力が通過するように構成されている。つまり、鍵ＳＷ２がオンになってから、一定周期毎に感圧センサ６（４−０１）の出力を取り出せるようになっている。
【００４４】
ゲート（４−０２）からの出力はレジスタＡＦＴＥＲＳＥＮＳＥ（４−０５）に一次記憶される。この記憶された感圧センサ６（４−０１）の出力は、ＴＡＢＬＥＡ３（４−１０）及びＴＡＢＬＥＦ３（４−１１）に供給される。ＴＡＢＬＥＡ３（４−１０）は前述のＴＡＢＬＥＡ２と同様の構成であり、入力された感圧センサ６（４−０１）の出力を、音量用タッチデータ「ＡＶＥＬＯＣＩＴＹ２」として出力するものであり、また、ＴＡＢＬＥＦ３（４−１１）は前述のＴＡＢＬＥＦ２と同様の構成であり、入力された感圧センサ６（４−０１）の出力を、音色用タッチデータ「ＦＶＥＬＯＣＩＴＹ２」として出力するものである。
【００４５】
コントロールコマンド作成部（４−１６）は、この音量用タッチデータ「ＡＶＥＬＯＣＩＴＹ２」及び音色用タッチデータ「ＦＶＥＬＯＣＩＴＹ２」に基づいて、図８（３）に示すようにコントロールコマンドを作成して出力するものである。図に示すように、コントロールコマンドは、ノートオンコマンドと比べて、ＮＯＴＥのデータがなく、かつコマンド識別用のデータがコントロールコマンドを識別する「コントロール識別」であることが相違する。
【００４６】
図７は、楽音発生装置１０６内に設けられたデジタル楽音波形信号を生成する音源部の機能をブロック化した図である。
入力バッファ（７−０１）は、ＣＰＵ１０１より供給される「ノートオンコマンド」、「ノートオフコマンド」及び「コントロールコマンド」を一次記憶するものである。
【００４７】
分離部（７−０２）は、この入力バッファ（７−０１）に記憶された各種コマンドを構成するデータ毎に分離するものである。ここにおいて各コマンドは、「ノートオン識別」、「ノートオフ識別」あるいは「コントロール識別」からなり、コマンドの種類を識別する識別データと、ノートナンバーを示す「ＮＯＴＥ」と、「ＡＶＥＬＯＣＩＴＹ１」あるいは「ＡＶＥＬＯＣＩＴＹ２」からなる音量用タッチデータと、「ＦＶＥＬＯＣＩＴＹ１」あるいは「ＦＶＥＬＯＣＩＴＹ２」からなる音色用タッチデータとに分離される。
【００４８】
これら分離されたデータのうち、識別データは判別部（７−０３）に供給され、コマンドの種別が判別される。ここにおいて、コマンドの種別が「ノートオン」と判別されると、判別部（７−０３）は、エンベロープ作成部（７−０４）にアタック信号を出力する。エンベロープ作成部（７−０４）は、このアタック信号が供給されると、エンベロープ波形の作成を開始する。またこれと同時に判別部（７−０３）は、ゲート（７−０５）にコントロール信号を供給する。ゲート（７−０５）は、このコントロール信号が供給されると、分離部（７−０２）により分離された「ＮＯＴＥ」をＤＣＯ（７−０６）に供給する。
【００４９】
また、コマンドの種別が「ノートオフ」と判別されると、判別部（７−０３）は、エンベロープ作成部（７−０４）に消音を指示するリリース信号が供給される。これによってエンベロープ作成部（７−０４）は、生成されているエンベロープ波形をリリースする。
一方コマンドの種別が「コントロール」と判別されると、判別部（７−０３）においては、何も発生しない。
【００５０】
一方、ＤＣＯ（７−０６）は、「ＮＯＴＥ」が供給されると、この「ＮＯＴＥ」に対応した周波数の楽音波形を生成する。この生成された楽音波形は、ＤＣＦ（７−０７）に供給され、ここにおいてフィルタ処理される。さらにこのＤＣＦ（７−０７）によりフィルタ処理された楽音波形は、ＤＣＡ（７−０８）により音量を制御されて最終的な楽音波形信号Ｗとして出力される。
【００５１】
このＤＣＯ（７−０６）、ＤＣＦ（７−０７）及びＤＣＡ（７−０８）にはエンベロープ作成部（７−０４）からのエンベロープ波形が供給される。ＤＣＯ（７−０６）は供給されたエンベロープ波形に基づいてその発生すべき楽音波形の周波数を制御する。
【００５２】
ＤＣＦ（７−０７）にはエンベロープ波形のほかに、分離部（７−０２）により分離された「ＦＶＥＬＯＣＩＴＹ１」あるいは「ＦＶＥＬＯＣＩＴＹ２」からなる音色用タッチデータが供給されている。ＤＣＦ（７−０７）は、これら供給される信号に基づいて入力される楽音波形の音色を可変させる。
【００５３】
ＤＣＡ（７−０８）にも供給されたエンベロープ波形の他に、分離部（７−０２）により分離された「ＡＶＥＬＯＣＩＴＹ１」あるいは「ＡＶＥＬＯＣＩＴＹ２」からなる音量用タッチデータが供給されている。ＤＣＦ（７−０７）は、これら供給される信号に基づいて入力される楽音波形の音量を可変させる。
【００５４】
図９はＲＡＭ１０５内のワークエリアにストアされるＣＰＵ１０１の処理用各種データの構成を示す。
以下、図４で示される機能をＣＰＵ１０１で実現するための具体的処理動作について説明する。
【００５５】
図９に示すように、各チャンネルＣＨの示すエリアには、鍵ＳＷ１がオンしたときに「１」とするフラグ「ＦＯＮ」、鍵ＳＷ２がオンしたときに「１」とするフラグ「ＯＮ」、鍵ＳＷ１と鍵ＳＷ２のオン時間差の値を示す「Ｔ１」、押鍵された鍵のノートナンバーを示す「ＮＯＴＥ」、押鍵操作に伴い感圧センサ６が発生する出力電圧値「ＳＥＮＳＥ」、イニシャルタッチの音量パラメータ「ＡＶＥＬＯＣＩＴＹ１」、イニシャルタッチの音色パラメータ「ＦＶＥＬＯＣＩＴＹ１」、アフタータッチの音量パラメータ「ＡＶＥＬＯＣＩＴＹ２」、アフタータッチの音色パラメータ「ＦＶＥＬＯＣＩＴＹ２」、アフタータッチ時におけるオンオフを示すフラグ「ＡＦ」、アフタータッチ時に所定時間間隔で感圧センサ６の出力Ｖを検出するタイマカウント値「Ｔ」がストアされる。
【００５６】
図１０は音源処理用各種データがストアされるＲＡＭ１０５内のワークエリアの構成を示す。
【００５７】
各ＣＨの示すエリアには、押鍵に伴い発音開始を指示するオントリガーフラグ「ＯＮＴ」、離鍵に伴い消音を指示するオフトリガーフラグ「ＯＦＴ」、発音開始指示から消音指示までの間の発音オン状態を示す「ＯＮ」、消音指示後リリース状態を示すフラグ「ＲＦ」、押鍵された鍵のノートナンバーを示す「ＮＯＴＥ」、イニシャルタッチの音量パラメータ「ＡＶＥＬＯＣＩＴＹ１」、イニシャルタッチの音色パラメータ「ＦＶＥＬＯＣＩＴＹ１」、アフタータッチの音量パラメータ「ＡＶＥＬＯＣＩＴＹ２」、アフタータッチの音色パラメータ「ＦＶＥＬＯＣＩＴＹ２」、エンベロープの各ポイントのレベル値を示す「エンベロープ」、及び、楽音波形を示す「Ｗ」が夫々ストアされる。
【００５８】
図４においては、一つの鍵を対象とする機能動作について詳述したが、以下は複数の鍵が同時に操作される場合の処理動作を含めて説明する。
この各押鍵操作に対応する処理動作は時分割で行われることになり、夫々の押鍵操作に対応して制御される各種データも押鍵数分必要になる。
このため、ＲＡＭ１０５内を複数の領域に分割し、各領域に夫々の押鍵操作に対応するデータがストアされることになる。この各領域をチャンネルと定義し、このチャンネルを指定するためのアドレスポインタの値をＣＨと定義する。
ＣＰＵ１０１は、電源スイッチ（図示せず）がオンされると、ＲＡＭ１０５内にストアされている内容を全て初期化する（Ｓ１１０１）。
【００５９】
次に、鍵ナンバーを示すｎの値を「０」にする（Ｓ１１０２）。
この後、ＣＰＵ１０１は、鍵ナンバーｎに対応する鍵ＳＷ１（ｎ）がオン／オフしたか否かを判定する（Ｓ１１０３）。
また、Ｓ１１０３の判定において、鍵ＳＷ１（ｎ）に変化がない場合は、そのまま図１２のＳ１２０１の処理に移行する。
一方、鍵ＳＷ１（ｎ）が「オン」と判定されると、各チャンネルを示すアドレスポインタＣＨの値を「０」にセットする（Ｓ１１０４）。
【００６０】
次に、ファーストオンフラグＦＯＮ（ＣＨ）が「０」であるか否かを判定する（Ｓ１１０５）。
【００６１】
この判定でＦＯＮ（ＣＨ）がすでに「１」の場合は、ＦＯＮ（ＣＨ）が「０」のチャンネルを検索するため、チャンネル用アドレスポインタＣＨをインクリメントして（Ｓ１１１４）ＣＨが最大数になるまで探す（Ｓ１１１５）。
この検索の結果、ＦＯＮが「０」のチャンネルが見つからなければ、図１２のＳ１２０１の処理に移行する。
【００６２】
Ｓ１１０５の判定でＦＯＮ（ＣＨ）が「０」のチャンネルが見つかれば、このチャンネルのオン時間差のＴ１（ＣＨ）に「０」をセットして（Ｓ１１０６）、この押鍵された鍵ナンバーｎをＮＯＴＥ（ＣＨ）にストアしてから、（Ｓ１１０７）ファーストオンフラグＦＯＮ（ＣＨ）を「１」にセットして（Ｓ１１０８）、図１２のＳ１２０１の処理に移行する。
【００６３】
Ｓ１１０３の判定に戻って、鍵ＳＷ１が「オン」から「オフ」になった場合は、チャンネルアドレスポインタＣＨを「０」にセット（Ｓ１１０９）して、ＮＯＴＥ（ＣＨ）が鍵ナンバーｎと等しいか否か比較し（Ｓ１１１０）、等しくなければチャンネルアドレスポインタＣＨをインクリメントして（Ｓ１１１１）ＣＨが最大（Ｓ１１１２）になるまで鍵ナンバーｎに該当するＮＯＴＥ（ＣＨ）の検索を繰り返す。
【００６４】
全てのチャンネルを検索して、鍵ナンバーのＮＯＴＥと鍵ナンバーｎが等しくなければ、図１２のＳ１２０１の処理に移行するが、鍵ナンバーがストアされているＮＯＴＥが鍵ナンバーｎと等しいチャンネルが見つかったら、このチャンネル内のファーストオンフラグＦＯＮ（ＣＨ）を「０」にセットして（Ｓ１１１３）、図１２のＳ１２０１の処理に移行する。
【００６５】
次に、ＣＰＵ１０１は、図１２のＳ１２０１の処理において、鍵ＳＷ２（ｎ）の「オン」「オフ」状態を調べる。
【００６６】
この判定で鍵ＳＷ２（ｎ）が「オン」であれば、チャンネルアドレスポインタＣＨを「０」にセットして（Ｓ１２０２）、このチャンネルの鍵ナンバーがストアされているＮＯＴＥ（ＣＨ）が鍵ナンバーｎと等しいか否かを比較する（Ｓ１２０３）。
【００６７】
このＮＯＴＥ（ＣＨ）が鍵ナンバーｎと等しくなければ、チャンネルアドレスポインタＣＨをインクリメントして（Ｓ１２１９）ＣＨが最大になるまで検索する（Ｓ１２２０）。
鍵ナンバーｎと等しいＮＯＴＥ（ＣＨ）が見つからなければ、図１３のＳ１３０１の処理に移行する。
【００６８】
このＮＯＴＥ（ＣＨ）が鍵ナンバーｎと等しければ、鍵ＳＷ２のオンフラグＯＮ（ＣＨ）を「１」にセットするとともに、アフタータッチのタイマＴ（ＣＨ）を「０」にセットする（Ｓ１２０４）。
そして、ＳＥＮＳＥ（ｎ）に鍵ナンバーｎに対応する鍵に設けた感圧センサ６の出力値（ｎ）をストアする（Ｓ１２０５）。
【００６９】
次に、オン時間差Ｔ１（ＣＨ）の値をタッチ変換テーブルＴＡＢＬＥＡ１（Ｓ）によって音量パラメータをＰＡＲＡＭＥＴＥＲ１に変換する（Ｓ１２０６）。
続いて、オン時間差Ｔ１（ＣＨ）の値をタッチ変換テーブルＴＡＢＬＥＦ１（Ｓ）によって音色パラメータＰＡＲＡＭＥＴＥＲ２に変換する（Ｓ１２０７）。
【００７０】
次に、感圧センサ６の出力値ＳＥＮＳＥ（ｎ）をタッチ変換テーブルＴＡＢＬＥＡ２（Ｓ）によって音量パラメータＰＡＲＡＭＥＴＥＲ３に変換する（Ｓ１２０８）。
そして、感圧センサ６の出力値ＳＥＮＳＥ（ｎ）をタッチ変換テーブルＴＡＢＬＥＦ２（Ｓ）によって音色パラメータＰＡＲＡＭＥＴＥＲ４に変換する（Ｓ１２０９）。
【００７１】
次に、ＣＰＵ１０１は、ＰＡＲＡＭＥＴＥＲ１とＰＡＲＡＭＥＴＥＲ３の双方を乗算して音量用イニシャルタッチデータのＡＶＥＬＯＣＩＴＹ１（ＣＨ）を生成する（Ｓ１２２１）。
そして、ＰＡＲＡＭＥＴＥＲ２とＰＡＲＡＭＥＴＥＲ４の双方を乗算して音色用イニシャルタッチデータのＦＶＥＬＯＣＩＴＹ１（ＣＨ）を生成する（Ｓ１２２２）。
【００７２】
そして、チャンネルアドレスポインタＣＨの値と、ノートナンバーを示すＮＯＴＥ（ＣＨ）と、音量用イニシャルタッチデータＡＶＥＬＯＣＩＴＹ１（ＣＨ）と、音色用イニシャルタッチデータＦＶＥＬＯＣＩＴＹ１（ＣＨ）と、に基づいてノートオンコマンドを作成してから（Ｓ１２２３）、このノートオンコマンドを音源部に送出する（Ｓ１２２４）。この後、図１３のＳ１３０１の処理に進む。
【００７３】
再びＳ１２０１の判定に戻って、ＣＰＵ１０１は、鍵ＳＷ２（ｎ）に変化がなかった場合は、図１３のＳ１３０１の処理に進むが、鍵ＳＷ２（ｎ）が「オン」から「オフ」になった場合は、チャンネルアドレスポインタＣＨを「０」にセットして（Ｓ１２１０）、そのチャンネルのノートナンバーを示すＮＯＴＥ（ＣＨ）が鍵ナンバーｎと等しいか否かを比較する（Ｓ１２１１）。
【００７４】
ノートナンバーＮＯＴＥ（ＣＨ）と鍵ナンバーｎが等しくなければ、チャンネルアドレスポインタＣＨをインクリメントして（Ｓ１２１２）、チャンネルになるまで検索を繰り返す（Ｓ１２１３）。
全てのチャンネルを調べてノートナンバーＮＯＴＥが鍵ナンバーｎと等しいものがなければ、図１３のＳ１３０１の処理に移行する。
【００７５】
一方、ノートナンバーＮＯＴＥと鍵ナンバーｎが等しいチャンネルが見つかると、このチャンネルを示すアドレスポインタＣＨにより指定されるフラグＯＮ（ＣＨ）を「０」にセットする（Ｓ１２１４）。
次に、ＣＨで示されるチャンネルの音量用イニシャルタッチデータＡＶＥＬＯＣＩＴＹ１（ＣＨ）を「０」にセットする（Ｓ１２１５）とともに、音色用イニシャルタッチデータＦＶＥＬＯＣＩＴＹ１（ＣＨ）を「０」にセットする（Ｓ１２１６）。
【００７６】
次に、ＣＰＵ１０１は、チャンネルアドレスポインタＣＨの値、ＮＯＴＥ（ＣＨ）、ＡＶＥＬＯＣＩＴＹ１（＝０）、ＦＶＥＬＯＣＩＴＹ１（＝０）、とに基づいて、ノートオフコマンドを作成（Ｓ１２１７）して、音源にこのノートオフコマンドを送出し、（Ｓ１２１８）図１３のＳ１３０１に処理に移行する。
【００７７】
図１３のＳ１３０１に処理において、ＣＰＵ１０１は、鍵ナンバーｎをインクリメントして、鍵ナンバーｎが鍵数の最大数を超えたか否かを判定する（Ｓ１３０２）。
この判定の結果、鍵ナンバーｎが最大数以下であったなら、図１１のＳ１１０３の処理に戻って、鍵ＳＷ１（ｎ）のオンオフ状態の有無を再度調べる。
一方、鍵ナンバーｎが最大数を超えた場合は、再度チャンネルアドレスポインタＣＨを「０」にセット（Ｓ１３０３）して、アフタータッチのオンフラグＡＦ（ＣＨ）が「１」であるか否かつまりアフタータッチ状態であるかを判定する（Ｓ１３０４）。
【００７８】
この判定で、フラグＡＦ（ＣＨ）が「０」であれば、チャンネルアドレスポインタＣＨをインクリメントして（Ｓ１３１１）、ＣＨが最大数になるまでＳ１３０４の処理に戻って、アフタータッチ状態にあるチャンネルの検索を繰り返す（Ｓ１３１２）。
この検索で、アフタータッチ状態にあるチャンネルが見つからなければ、図１４のＳ１４０１の処理に移行する。
【００７９】
Ｓ１３０４の判定で、フラグＡＦが「１」であれば、押鍵された鍵のノートナンバーＮＯＴＥ（ＣＨ）に対応する鍵に設けられた感圧センサ６の出力値をＣＨで示されるチャンネル内のＳＥＮＳＥ（ＣＨ）に転送する（Ｓ１３０５）。
次に、この感圧センサ６の出力値ＳＥＮＳＥ（ＣＨ）をタッチ変換テーブルＴＡＢＬＥＡ３（Ｓ）により音量用アフタータッチデータＡＶＥＬＯＣＩＴＹ２（ＣＨ）に変換する（Ｓ１３０６）。
【００８０】
また、感圧センサ６の出力値ＳＥＮＳＥ（ＣＨ）は、タッチ変換テーブルＴＡＢＬＥＦ３（Ｓ）により音色用アフタータッチデータＦＶＥＬＯＣＩＴＹ２（ＣＨ）に変換する（Ｓ１３０７）。
次に、ＣＰＵ１０１は、Ｓ１３０８に処理を進めて、チャンネルアドレスポインタＣＨの値、ＡＶＥＬＯＣＩＴＹ２（ＣＨ）、ＦＶＥＬＯＣＩＴＹ２（ＣＨ）、に基づきコントロールコマンドを作成する。
【００８１】
そして、この作成されたコントロールコマンドを音源部に送出して（Ｓ１３０９）、アフタータッチのフラグＡＦ（ＣＨ）を「０」にセット（Ｓ１３１０）してから、チャンネルアドレスポインタＣＨをインクリメントして（Ｓ１３１１）アフタータッチ状態にある次のチャンネルの検索を実行する。
【００８２】
ＣＰＵ１０１は、図１４のＳ１４０１に処理を進めると、タッチ変換テーブルの選択ＳＷ「ＳＥＬ」の出力があるか否かを判定する。
この判定で「ＳＥＬ」の出力がなければ、図１１のＳ１１０２の処理に戻る。
【００８３】
一方、ＣＰＵ１０１は、「ＳＥＬ」の出力があれば、この「ＳＥＬ」が「ヘビー」を選択するものであるか否かを判定し（Ｓ１４０２）、「ＳＥＬ」の出力が「ヘビー」であれば、Ｓを「１」にセットしてから（Ｓ１４０３）、次にＳ１４０４の処理に進むが、そうでなければ、「ＳＥＬ」の出力が「ミディアム」を選択するものであるか否かを判定する（Ｓ１４０４）。
【００８４】
Ｓ１４０４の判定において、タッチ変換テーブルの選択ＳＷ「ＳＥＬ」の出力が「ミディアム」を選択するものであれば、Ｓを「２」にセットしてから（Ｓ１４０５）Ｓ１４０５の処理に進むが、そうでなければタッチ変換テーブルの選択ＳＷ「ＳＥＬ」の出力が「ライト」を選択するものであるか否かを判定する（Ｓ１４０６）。
【００８５】
Ｓ１４０６の判定において、タッチ変換テーブルの選択ＳＷ「ＳＥＬ」の出力が「ライト」を選択するものであれば、Ｓを「３」にセットしてから図１１のＳ１１０２の処理に戻る（Ｓ１４０７）。
一方、「ＳＥＬ」の出力が「ライト」を選択するものでなければ、図１１のＳ１１０２の処理に戻って、鍵ナンバーｎを「０」にセットする。
【００８６】
ＣＰＵ１０１は、定期的な時間間隔で図１５に示すインタラプト処理フローを実行する。
先ず、チャンネルアドレスポインタＣＨを「０」にセットする（Ｓ１５０１）。
そして、鍵ＳＷ１オンに対応するフラグＦＯＮ（ＣＨ）が「１」であり、且つ、このＣＨで示されるチャンネルにおける鍵ＳＷ２のオンフラグＯＮ（ＣＨ）が「０」の状態であるか否かを判定する（Ｓ１５０２）。
【００８７】
この判定において、ＦＯＮ（ＣＨ）が「１」で、且つ、ＯＮ（ＣＨ）が「０」の状態であれば、イニシャルタッチの押鍵速度を測定するため、ＣＨで示されるチャンネルのオン時間差Ｔ１（ＣＨ）の時間をインクリメントしてから（Ｓ１５０３）、Ｓ１５０４に処理を進める。
【００８８】
一方、Ｓ１５０２の判定において、ＦＯＮ（ＣＨ）が「１」であって、ＯＮ（ＣＨ）が「０」という状態でなければ、次に、Ｓ１５０４の処理に進んで、フラグＯＮ（ＣＨ）が「１」で、且つ、アフタータッチのオンフラグＡＦ（ＣＨ）が「０」であるか否かを判定する。
【００８９】
このＳ１５０４の判定でオンフラグＯＮ（ＣＨ）が「１」で、且つ、アフタータッチ状態にあるかを示すオンフラグがＡＦ（ＣＨ）が「０」であば、アフタータッチのタイマＴ（ＣＨ）の時間をインクリメントして（Ｓ１５０５）、Ｔ（ＣＨ）が「所定値」の時間に達したか否かを判定する（Ｓ１５０６）。
一方、ＯＮ（ＣＨ）が「１」で、且つ、ＡＦ（ＣＨ）が「０」の状態でない場合は、Ｓ１５０９の処理に進んでチャンネルアドレスポインタＣＨをインクリメントする。
【００９０】
Ｓ１５０６の判定において、タイマＴ（ＣＨ）が「所定値」に達すれば、フラグＡＦ（ＣＨ）に「１」をセット（Ｓ１５０７）してから、タイマＴ（ＣＨ）を「０」に戻してから（Ｓ１５０８）、Ｓ１５０９の処理に進んでチャンネルアドレスポインタＣＨをインクリメントする。
一方、ＣＰＵ１０１は、Ｓ１５０６の判定においてタイマＴ（ＣＨ）が「所定値」に達していなければ、Ｓ１５０９の処理に進んでチャンネルアドレスポインタＣＨをインクリメントする。
【００９１】
次に、Ｓ１５１０の処理に進んで、ＣＨが「最大数」に到達したか否かを判定して、「最大数」に到達したら本ルーティンを終了するが、「最大数」に到達していなければＳ１５０２の処理に戻る。
【００９２】
図１６は楽音発生装置１０６内に設けられた音源部における基本処理のフローチャートを示す。
音源部は、Ｓ１６０１において電源スイッチ（図示せず）がオンされると、ＲＡＭ１０５内のタイマー、カウンタ、フラグ等をリセットする。
そして、Ｓ１６０２の処理に進んで、ＣＰＵ１０１からコマンドが入力されたか否かを判定する。
【００９３】
この判定において、コマンドが入力されていれば、このコマンドが「ノートオンコマンド」なのか或いは「ノートオフコマンド」であるかを判定する（Ｓ１６０３）。
一方、コマンドが入力されていなければ、図１７のＳ１７０１の処理に移行する。
【００９４】
音源部は、Ｓ１６０３の判定において、コマンドが「ノートオンコマンド」或いは「ノートオフコマンド」であれば、当該コマンド内のチャンネルＣＨをアドレスポインタとしてコマンド内のノートナンバーを「ＮＯＴＥ」、音量用イニシャルタッチデータ「ＡＶＥＬＯＣＩＴＹ１」、音色用イニシャルタッチデータ「ＦＶＥＬＯＣＩＴＹ１」としてストアして（Ｓ１６０４）、Ｓ１６０５に移行する。
一方、入力されたコマンドが「ノートオンコマンド」或いは「ノートオフコマンド」のいずれでもない場合はＳ１６０７に処理を進める。
【００９５】
次に、Ｓ１６０５の処理に進むと、入力されたコマンドが「ノートオンコマンド」であるか否かを判定して、「ノートオンコマンド」であればオントリガーフラグＯＮＴ（ＣＨ）を「１」にセットする（Ｓ１６０６）。
一方、入力されたコマンドが「ノートオフコマンド」であれば、オフトリガーフラグＯＦＴ（ＣＨ）を「１」にセットして（Ｓ１６０９）、Ｓ１６０７の処理に移行する。
【００９６】
次に、Ｓ１６０７の処理において、入力されたコマンドが「コントロールコマンド」であるか否かを判定する。
入力されたコマンドが「コントロールコマンド」であれば、当該コマンドのチャンネルＣＨをアドレスポインタとして対応するアドレスに、音量用アフタータッチデータを「ＡＶＥＬＯＣＩＴＹ２」として、音色用アフタータッチデータを「ＦＶＥＬＯＣＩＴＹ２」としてストアして（Ｓ１６０８）、図１７のＳ１７０１の処理に移行する。
一方、入力されたコマンドが「コントロールコマンド」でなければ、図１７のＳ１７０１の処理に移行する。
【００９７】
そして、Ｓ１７０１の処理において、チャンネルアドレスポインタＣＨを「０」にセットするとともに、楽音波形の最終出力値をストアするＷを「０」にセットする。
【００９８】
次に、Ｓ１７０２の処理に進んで、ＣＨで示されるチャンネル内にストアされているオントリガーフラグＯＮＴ（ＣＨ）が「１」であるか否かを判定する。
この判定の結果、ＯＮＴ（ＣＨ）が「１」であればＯＮＴ（ＣＨ）を「０」にセット（Ｓ１７０３）してから、Ｓ１７０４の処理に進むが、ＯＮＴ（ＣＨ）が「０」であればＳ１７０９の処理に移行する。
【００９９】
Ｓ１７０４の処理に進んだ場合、オンフラグＯＮ（ＣＨ）を「１」にセットして、次に、リリースフラグＲＦ（ＣＨ）が「１」であるか否かを判定する（Ｓ１７０５）。
この判定の結果、ＲＦ（ＣＨ）が「１」であれば、Ｓ１７０６に処理に進んでＲＦ（ＣＨ）を「０」にセットしてからＳ１７０７の処理に移行するが、ＲＦ（ＣＨ）が「０」であればＳ１７０８の処理に移行する。
【０１００】
Ｓ１７０７の処理に進んだ場合、ハイリリース（急速消音）の処理を実行し、次に、チャンネルＣＨに対応するエンベロープ波形生成処理を行ない、この処理波形をエンベロープ（ＣＨ）にストアする（Ｓ１７０８）。
次に、Ｓ１７０９の処理において、ノートオフのトリガーフラグＯＦＴ（ＣＨ）が「１」であるか否かを判定する。
ＯＦＴ（ＣＨ）が「１」であれば、このＯＦＴ（ＣＨ）を「０」にセット（Ｓ１７１０）して、Ｓ１７１１の処理に移行するが、ＯＦＴ（ＣＨ）が「０」であれば、図１８のＳ１８０２の処理に移行する。
【０１０１】
Ｓ１７１１の処理に進むと、ＲＦ（ＣＨ）に「１」をセットしてから、図１８のＳ１８０１の処理に移行し、エンベロープ（ＣＨ）にストアされたエンベロープ波形のリリース処理を開始する。
そして、Ｓ１８０２の処理に進んで、リリースフラグＲＦ（ＣＨ）が「１」であるか否かを判定する。
【０１０２】
Ｓ１８０２の判定で、ＲＦ（ＣＨ）が「１」であれば、次に、エンベロープ（ＣＨ）内のエンベロープ波形のレベルが「０」であるか否かを判定する（Ｓ１８０３）。
一方、Ｓ１８０２の判定で、ＲＦ（ＣＨ）が「０」であればＳ１８０６の処理に移行する。
Ｓ１８０３の判定で、エンベロープ（ＣＨ）にストアされているエンベロープ波形のレベルが「０」であれば、リリースフラグＲＦ（ＣＨ）を「０」にセット（Ｓ１８０４）して、Ｓ１８０５の処理に移行してオンフラグＯＮ（ＣＨ）を「０」にセットするが、エンベロープ（ＣＨ）のレベルが「０」でなければ、Ｓ１８０６の処理に移行する。
【０１０３】
Ｓ１８０６において、オンフラグＯＮ（ＣＨ）が「１」であるか否かを判定する。この判定において、ＯＮ（ＣＨ）が「０」であれば、ＯＮ（ＣＨ）が「１」のチャンネルが見つかるまで、チャンネルアドレスポインタＣＨをインクリメント（Ｓ１８１１）する。
【０１０４】
ＯＮ（ＣＨ）が「１」が見つかった場合、ＣＨで示されるチャンネル内のＮＯＴＥ（ＣＨ）とエンベロープ（ＣＨ）に基づいて、当該チャンネルの楽音波形Ｗ（ＣＨ）を生成（Ｓ１８０７）し、エンベロープ（ＣＨ）とＦＶＥＬＯＣＩＴＹ（ＣＨ）に基づいた、楽音波形Ｗのフィルタ処理を実行する（Ｓ１８０８）。
【０１０５】
続いて、エンベロープ（ＣＨ）とＡＶＥＬＯＣＩＴＹ（ＣＨ）に基づいた楽音波形Ｗ（ＣＨ）のレベルの制御を行う（Ｓ１８０９）。
そして、楽音波形の最終出力値Ｗに当該チャンネルの楽音波形Ｗ（ＣＨ）を累算し（Ｓ１８１０）、チャンネルアドレスポインタＣＨをインクリメントする（Ｓ１８１１）。
【０１０６】
そして、ＣＨが最大数に達したか否かを判定する（Ｓ１８１２）。
この判定において、ＣＨが最大数に達した場合は、楽音波形の最終出力値Ｗを楽音発生装置１０６内の発音部（図示せず）に出力（Ｓ１８１３）した後、図１６のＳ１６０２の処理に戻るが、ＣＨが最大数に達していなければ、図１７のＳ１７０２の処置に移行する。
【０１０７】
本実施の形態によれば、鍵盤の各鍵の下方に押鍵圧力を検出する感圧センサ６と、押鍵速度を検出する鍵ＳＷ１とＳＷ２とを設けて、鍵ＳＷ１がオンしてから、発音開始を指示する鍵ＳＷ２がオンする前に感圧センサ６が押鍵圧力を検出する構成とした。このため、発音開始時に押鍵速度と押鍵圧力が検出可能となり、押鍵状態を反映した２つの要因により発音開始時の楽音特性が決定できるようにした。この結果、押鍵速度しか反映しない従来の電子鍵盤楽器に比べて、より自然鍵盤楽器の楽音に近い楽音を発生させることができるようになる。
【０１０８】
更に、本実施の形態によれば、この感圧センサ６により検出された押鍵圧力は、鍵ＳＷ２がオンした後は、所定時間経過毎に取り込まれて楽音発生後の楽音特性の制御に用いられる。つまり、感圧センサ６は、いわゆるアフタータッチ制御用のセンサとしても用いられることとなり、感圧センサをイニシャルタッチ用及びアフタータッチ用独立に設ける必要がなくなる。
また、鍵スイッチＳＷ２がオンしてから、直ちに感圧センサ６の押鍵圧力を取り込まずに、所定時間経過してから取り込むようにしているので、押鍵時に発生するおそれのあるリバウンドの影響を回避することが可能になり、ノイズのない表現力豊かな楽音を生成することができる。
【０１０９】
本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
例えば、上記構成の他に更に、離鍵過程における離鍵速度値、及び、鍵ＳＷ２のオフ時点の押鍵圧力値を夫々検出して、リリース時の楽音パラメータに変換するような構成を設けてもよい。
本発明は、上記実施の形態で説明した動作手順をプログラムとしてプログラム化し、コンピュータに実行させることにより実施できる。その際、コンピュータプログラムはハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリ等の各種メモリ、或いは通信ネットワーク等の各種プログラム記録媒体を通じてコンピュータに供給することができる。
【０１１０】
【発明の効果】
以上述べたように本発明によれば、発音開始時に押鍵速度及び押鍵圧力という押鍵状態を表す２つの要因を検出し、これらに基づいて発音開始時の楽音特性を制御するタッチデータを生成するようにしたため、より自然鍵盤楽器に近い、豊かな表現力を持った楽音を発生させることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るタッチデータ生成装置の構成例を示したブロック図である。
【図２】本発明のタッチデータ生成装置に係る鍵盤の構成例（断面図）を示す。
【図３】鍵ＳＷ１、鍵ＳＷ２の押鍵／離鍵時のオンオフタイミングと感圧センサ６の出力特性を押鍵の経過時間（ｔ）に対応して示す。
【図４】コマンドを生成するブロック図を示す。
【図５】タッチセンス切り換えＳＷ「ＳＥＬ」の指定と、押鍵検出値ＶＳ楽音パラメータの変換特性との相関を示す。
【図６】タッチセンス切り換えＳＷ「ＳＥＬ」の指定と、押鍵の強さに応じて音量／音色が制御される相関を示す。
【図７】エンベロープを生成するブロック図を示す。
【図８】ノートコマンド、ノートオフコマンド、及びコントロールコマンドの各データ構成を示す。
【図９】ワークＲＡＭ内のチャンネル（ＣＨ）０〜ＮにストアされるＣＰＵデータ構成を示す。
【図１０】ワークＲＡＭ内のチャンネル（ＣＨ）０〜Ｎにストアされる音源データ構成を示す。
【図１１】基本処理フローチャート（その１）を示す。
【図１２】基本処理フローチャート（その２）を示す。
【図１３】基本処理フローチャート（その３）を示す。
【図１４】基本処理フローチャート（その４）を示す。
【図１５】タイマインタラプトのフローチャートを示す。
【図１６】音源部の基本処理フローチャート（その１）を示す。
【図１７】音源部の基本処理フローチャート（その２）を示す。
【図１８】音源部の基本処理フローチャート（その３）を示す。
【符号の説明】
１０１  ＣＰＵ
１０２  操作子群
１０３  鍵盤部
１０４  ＲＯＭ
１０５  ＲＡＭ
１０６  楽音発生装置
【図１】
2004157345.tif 000003
【図２】
2004157345.tif 000004
【図３】
2004157345.tif 000005
【図４】
2004157345.tif 000006
【図５】
2004157345.tif 000007
【図６】
2004157345.tif 000008
【図７】
2004157345.tif 000009
【図８】
2004157345.tif 000010
【図９】
2004157345.tif 000011
【図１０】
2004157345.tif 000012
【図１１】
2004157345.tif 000013
【図１２】
2004157345.tif 000014
【図１３】
2004157345.tif 000015
【図１４】
2004157345.tif 000016
【図１５】
2004157345.tif 000017
【図１６】
2004157345.tif 000018
【図１７】
2004157345.tif 000019
【図１８】
2004157345.tif 000020