(57)【要約】【課題】電子楽器において、簡単な操作で多様な演奏表現を可能にする。【解決手段】鍵盤１２の各鍵毎に上下方向、左右方向、前後方向等の複数方向の押鍵力を検出し、上下方向の押鍵力に応じて楽音信号を発生させる。複数方向の押鍵力に応じて楽音特性を制御する場合、押鍵速度に応じて複数方向の押鍵力の重み付けを制御する。上下方向の押鍵力が最大の鍵に対応して楽音信号を発生させる場合、上下方向の押鍵力が２番目の鍵の左右方向の押鍵力等に応じて楽音特性を制御する。フットスイッチオンの状態で特定鍵と他の鍵を押した場合、他の鍵に対応して楽音信号を発生させると共に特定鍵の左右方向の押鍵力等に応じて楽音特性を制御する。【選択図】図１
2004038218.tif 000002
【特許請求の範囲】
【請求項１】
　鍵を有する鍵盤と、
　前記鍵に関して上下方向の鍵操作と上下方向を含む複数方向の鍵操作量とを検出する検出手段と、
　この検出手段で検出された上下方向の鍵操作に応じて楽音信号を発生する楽音発生手段と、
　前記検出手段で検出された複数方向の鍵操作量に応じて前記楽音信号の楽音特性を制御すると共に、該複数方向の鍵操作量の重み付けを前記鍵の上下方向の押鍵速度に応じて制御する制御手段と
を備えた電子楽器。
【請求項２】
　複数の鍵を有する鍵盤と、
　この鍵盤で複数の鍵が操作されるのに応じて操作に係る複数の鍵のうち少なくとも１つを発音鍵とし且つ他の少なくとも１つを非発音鍵として決定する決定手段と、
　この決定手段で決定された発音鍵の操作に応じて楽音信号を発生する楽音発生手段と、
　前記決定手段で決定された非発音鍵の操作に応じて前記楽音信号の楽音特性を制御する制御手段と
を備えた電子楽器。
【請求項３】
　予め定められた特定鍵を含む複数の鍵を有する鍵盤と、
　手以外で操作される操作子と、
　前記鍵盤の各鍵毎に鍵操作を検出する検出手段と、
　前記操作子の操作中に前記特定鍵の鍵操作ありか判定する判定手段と、
　前記検出手段で前記特定鍵以外の鍵操作が検出されたときは該鍵操作に応じて楽音信号を発生すると共に、前記検出手段で前記特定鍵の鍵操作が検出され且つ前記判定手段の判定結果が否定的になったときは前記特定鍵の鍵操作に応じて楽音信号を発生する楽音発生手段と、
　前記検出手段で前記特定鍵以外の鍵操作が検出され且つ前記判定手段の判定結果が肯定的になったとき前記特定鍵の鍵操作に応じて前記特定鍵以外の鍵操作に基づく楽音信号の楽音特性を制御する制御手段と
を備えた電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
　この発明は、鍵盤を有する電子楽器に関し、特に鍵の複数方向の操作に基づいて楽音発生を制御することにより簡単な操作で多様な演奏表現を行なえるようにしたものである。
【背景技術】
【０００２】
　従来、鍵盤式電子楽器に関する第１の技術としては、鍵タッチの強さ又は速さを検出し、その検出出力に応じてエンベロープ信号を形成し、このエンベロープ信号に応じて音量、音色等の楽音特性を制御するものが知られている。
【０００３】
　また、第２の技術としては、ボリュームペダル、ピッチベントホイール等のリアルタイム操作子を用いて音量、ピッチ、音色等の楽音特性を制御するものが知られている。
【０００４】
　さらに、第３の技術としては、鍵盤の特定の鍵を楽音制御用に指定し、該特定の鍵の操作（アフタタッチ）によってピッチ等の楽音特性を制御する技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開平２−２３０１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
　上記した第１の技術によると、鍵タッチの強さ又は速さに応じてエンベロープ形状が変化するものの、鍵を弱く押下げしたり、鍵を斜めに押下げしたりしたときに楽音に対する表情付けが十分でなかった。
【０００６】
　また、上記した第２の技術によると、リアルタイム操作子を操作する際に鍵盤操作がおろそかになる不都合があった。上記した第３の技術によると、リアルタイム操作子の代りに鍵操作を行なえばよいが、特定の鍵は予め決めておくものなので、鍵盤の一部とはいえ、その操作性はリアルタイム操作子と大差がなく、しかも特定の鍵を通常演奏用から楽音制御用に変更するためのスイッチ操作が必要であり、鍵盤操作がおろそかになるのを免れなかった。
【０００７】
　この発明の目的は、簡単な操作により多様な演奏表現をなしうる新規な電子楽器を提供することにある。
【課題を解決するための手段】
【０００８】
　この発明に係る第１の電子楽器は、
　鍵を有する鍵盤と、
　前記鍵に関して上下方向の鍵操作と上下方向を含む複数方向の鍵操作量とを検出する検出手段と、
　この検出手段で検出された上下方向の鍵操作に応じて楽音信号を発生する楽音発生手段と、
　前記検出手段で検出された複数方向の鍵操作量に応じて前記楽音信号の楽音特性を制御すると共に、該複数方向の鍵操作量の重み付けを前記鍵の上下方向の押鍵速度に応じて制御する制御手段と
を備えたものである。
【０００９】
　この発明に係る第２の電子楽器は、
　複数の鍵を有する鍵盤と、
　この鍵盤で複数の鍵が操作されるのに応じて操作に係る複数の鍵のうち少なくとも１つを発音鍵とし且つ他の少なくとも１つを非発音鍵として決定する決定手段と、
　この決定手段で決定された発音鍵の操作に応じて楽音信号を発生する楽音発生手段と、
　前記決定手段で決定された非発音鍵の操作に応じて前記楽音信号の楽音特性を制御する制御手段と
を備えたものである。
【００１０】
　この発明に係る第３の電子楽器は、
　予め定められた特定鍵を含む複数の鍵を有する鍵盤と、
　手以外で操作される操作子と、
　前記鍵盤の各鍵毎に鍵操作を検出する検出手段と、
　前記操作子の操作中に前記特定鍵の鍵操作ありか判定する判定手段と、
　前記検出手段で前記特定鍵以外の鍵操作が検出されたときは該鍵操作に応じて楽音信号を発生すると共に、前記検出手段で前記特定鍵の鍵操作が検出され且つ前記判定手段の判定結果が否定的になったときは前記特定鍵の鍵操作に応じて楽音信号を発生する楽音発生手段と、
　前記検出手段で前記特定鍵以外の鍵操作が検出され且つ前記判定手段の判定結果が肯定的になったとき前記特定鍵の鍵操作に応じて前記特定鍵以外の鍵操作に基づく楽音信号の楽音特性を制御する制御手段と
を備えたものである。
【００１１】
　上記した第１の電子楽器によると、上下方向の鍵操作に応じて楽音信号が発生されると共に、上下方向を含む複数方向の鍵操作量に応じて楽音信号の音色等の楽音特性が制御される。この場合、複数方向の鍵操作量の重み付けを上下方向の押鍵速度に応じて制御するので、例えば押鍵速度が大きいときは上下方向の鍵操作量を主体として楽音制御を行ない、押鍵速度が小さいときは左右方向の鍵操作量を主体として楽音制御を行なうことにより楽音に十分な表情付けを行なうことができる。
【００１２】
　上記した第２の電子楽器によると、操作された複数の鍵のうち例えば押鍵力最大の鍵が発音鍵とされ、押鍵力で２番目の鍵が非発音鍵とされる。そして、発音鍵の操作に応じて楽音信号が発生されると共に、非発音鍵の操作に応じて楽音信号の音色等の楽音特性が制御される。この場合、楽音制御用の鍵が固定されていないので、演奏操作及び制御操作が容易となる。
【００１３】
　上記した第３の電子楽器にあっては、手以外の例えば足で操作子を操作した状態で特定の鍵と他の任意の鍵とを押すと、押された他の鍵に対応して楽音信号が発生されると共に、特定の鍵の操作に応じて楽音信号の音色等の楽音特性が制御される。この場合、足操作等により特定の鍵を楽音制御用の鍵として使用できるので、演奏操作及び制御操作が容易となる。
【発明の効果】
【００１４】
　この発明によれば、鍵の複数方向の操作に基づいて楽音発生を制御するようにしたので、簡単な操作で多様な演奏表現が可能となる効果が得られる。
【発明を実施するための最良の形態】
【００１５】
　図１は、この発明の一実施形態に係る電子楽器の回路構成を示すもので、この電子楽器では、鍵盤操作に基づく楽音発生がマイクロコンピュータによって制御されるようになっている。
【００１６】
　バス１０には、インターフェース１４，２４、ＣＰＵ（中央処理装置）１６、プログラムメモリ１８、ワーキングメモリ２０、タイマ２２等が接続されている。
【００１７】
　インターフェース１４には、鍵盤１２が接続され、図１０の例では、フットスイッチ３１も接続される。鍵盤１２からは、各鍵毎に鍵操作情報が検出される。鍵操作情報検出の一例は、図２に関して後述する。フットスイッチ３１からは、スイッチ操作情報が検出される。
【００１８】
　ＣＰＵ１６は、メモリ１８にストアされたプログラムに従って楽音発生のための各種処理を実行するもので、これらの処理については、図５〜１１を参照して後述する。
【００１９】
　ワーキングメモリ２０は、ＲＡＭ（ランダム・アクセス・メモリ）からなるもので、ＣＰＵ１６による各種処理に際してレジスタ等として使用される記憶領域を含んでいる。
【００２０】
　タイマ２２は、一例として１０［ｍｓ］毎に割込み信号ＴＩをＣＰＵ１６に供給するもので、ＣＰＵ１６は、割込み信号ＴＩを受取るたびに図５，７又は１０の割込みルーチンを開始する。
【００２１】
　インターフェース２４には、音源ユニット２６が接続されている。音源ユニット２６は、ピッチ（音高）、音量、音色等の楽音特性が制御可能な音源を含むもので、図１２の例では、いわゆる物理モデル音源により構成される。
【００２２】
　音源ユニット２６から発生される楽音信号ＴＳＯは、アンプ２８を介してスピーカ３０に供給され、音響に変換される。
【００２３】
　図２は、鍵盤１２の１鍵分の構成を例示するものである。支持体３２の上には、可撓性部材３４が設けられている。可撓性部材３４は、鍵支持部３４ａ、たわみ部３４ｂ、上下連結部３４ｃ及び固定部３４ｄを断面的に見て「つ」の字状に連結した構成になっており、固定部３４ｄの底面にて支持体３２に固定されている。
【００２４】
　鍵支持部３４ａの上面には、鍵部材３６が固定されている。鍵支持部３４ａとたわみ部３４ｂとの間の第１の肉薄部の上下の面には、歪センサ３８Ａが設けられている。たわみ部３４ｂと上下連結部３４ｃとの間の第２の肉薄部の上下の面には、歪センサ３８Ｂが設けられると共に、第２の肉薄部の側面には、歪センサ３８Ｄが設けられている。上下連結部３４ｃと固定部３４ｄとの間の第３の肉薄部の上下の面には、歪センサ３８Ｃが設けられている。
【００２５】
　歪センサ３８Ａ，３８Ｂ，３８Ｃ，３８Ｄの出力をそれぞれＡ，Ｂ，Ｃ，Ｄとし、Ｋ１，Ｋ２，Ｋ３，Ｋ４，Ｋ５をいずれも定数とすると、鍵の上下方向の押鍵力Ｆｚ、鍵の左右方向押鍵力Ｆｘ、鍵の前後方向押鍵力Ｆｙは、それぞれ次の数１、数２、数３の式により求められる。
【数１】
2004038218.tif 000003
【数２】
2004038218.tif 000004
【数３】
2004038218.tif 000005
　また、鍵における押鍵位置Ｌは、歪センサ３８Ａ、３８Ｂの出力をそれぞれＡ，Ｂとし、歪センサ３８Ａ及び３８Ｂの間の距離をＳとし、Ｋ６を定数とすると、次の数４の式により求められる。
【数４】
2004038218.tif 000006
　なお、図２において、Ｌｋは、鍵の長さを表わし、Ｌ０は、鍵と歪センサ３８Ｂとの間の距離を表わす。
【００２６】
　次に、図３〜６を参照して楽音制御の第１の例を説明する。この例では、上下方向の押鍵力Ｆｚに応じて音量を制御すると共に、左右方向の押鍵力Ｆｘに応じてピッチを制御する。
【００２７】
　図３（Ａ），（Ｂ）には、それぞれ押鍵開始時ｔ１からのＦｚ，Ｆｘの変化波形を例示してある。図３（Ｂ）から明らかなように、Ｆｘは、押鍵開始時ｔ１の直後に大きく変化した後、ある時点ｔ２で安定するが、ゼロにはならない。このため、Ｆｘに応じてピッチを制御すると、発音開始時のピッチが基準ピッチからずれることになる。
【００２８】
　このような問題点を解決するため、ｔ１からｔ２までの一定期間Ｔ０のあいだＦｘをピッチに反映させず、期間Ｔ０の終了時点ｔ２のＦｘの値をオフセット値として記憶しておき、ピッチは、Ｆｘの値からオフセット値を差引いた値に応じて制御する。また、Ｆｘの変化する方向が図３（Ｂ）の「ＣＯ」で示すようにゼロに近づく方向であるときは、オフセット値ＯＦもゼロに近づける方向に更新する。この例では、鍵操作量についてオフセット値を求め、このオフセット値を基準として楽音特性を制御するので、鍵を斜めに押下するようなことがあっても、楽音の初期ピッチのずれ等を防止することができる。
【００２９】
　図４は、オフセット値ＯＦの変更状況を示すものである。オフセット値ＯＦは、Ｆｘが０に近づく方向に変化する期間ＣＯにおいて変更制御される。新たなオフセット値ＯＦ（ｎ）は、Ｆｘの順次の極大値及び極小値をそれぞれＦｘ（ｎ−１）及びＦｘ（ｎ）とし、変更前のオフセット値をＯＦ（ｎ−１）とし、Ｋ７を定数とすると、次の数５の式により求められる。
【数５】
2004038218.tif 000007
　一方、押鍵中に無意識に起こる揺らぎによるピッチ変動を抑制するため、図３（Ｂ）に示すように不感帯Ｗを設定する。すなわち、オフセット値ＯＦの上下Ｗ／２の範囲内のＦｘ値は、ピッチに反映させないようにする。
【００３０】
　要するに、この例では、期間Ｔ０中のＦｘ値をピッチに反映させず、期間Ｔ０の終了時点ｔ２のＦｘ値をオフセット値とした後オフセット値を経時的に更新すると共にオフセット値の上下Ｗ／２の範囲を不感帯とし、Ｆｘ値からオフセット値を差引いた値に応じて楽音のピッチを制御する。図３（Ｃ）は、このようなピッチ制御を行なった場合のピッチ変化量Ｐの時間的変化を示すもので、これによると、Ｆｘの値が安定してからオフセット値ＯＦを基準にしてピッチが変動制御されている様子がわかる。
【００３１】
　図５，６は、上記のような楽音制御を可能にする割込みルーチンを示すものである。ステップ４０では、鍵盤１２の各鍵からセンサ出力を取込む。そして、ステップ４２に移る。
【００３２】
　ステップ４２では、取込んだセンサ出力に基づいていずれかの鍵にキーオンイベントありか判定する。この判定結果が肯定的（Ｙ）であれば、ステップ４４に移り、発音処理を行なう。すなわち、音源ユニット２６からキーオンイベントのあった鍵に対応する楽音信号を基準ピッチで且つＦｚ値対応の音量で発生させる。この結果、スピーカ３０からは、音源ユニット２６からの楽音信号に対応する楽音が発生される。この後、ステップ４６に移る。
【００３３】
　ステップ４６では、時間値レジスタＴに、図３の期間Ｔ０に対応する時間値をセットする。一例として、Ｔ０＝５００［ｍｓ］に相当する時間値５０をセットする。時間値としては、０〜数１００［ｍｓ］のＴ０に相当するものをセットすることができる。
【００３４】
　ステップ４６の処理が終ったとき又はステップ４２の判定結果が否定的（Ｎ）であったときは、ステップ４８に移り、ステップ４０で取込んだセンサ出力に基づいてキーオフイベントありか判定する。この判定結果が肯定的（Ｙ）であれば、ステップ５０に移り、消音処理を行なう。すなわち、キーオフイベントのあった鍵に対応する楽音信号の減衰を開始させる。
【００３５】
　ステップ５０の処理が終ったとき又はステップ４８の判定結果が否定的（Ｎ）であったときは、ステップ５２に移り、レジスタＴの値が０か判定する。この判定結果が否定的（Ｎ）であれば、ステップ５４に移り、レジスタＴの値を１だけ減らす。そして、ステップ５６でレジスタＴの値が０か判定し、０でない（Ｎ）ならばメインルーチン（図示せず）にリターンする。
【００３６】
　この後、ステップ４０〜５６を何回か経由することで期間Ｔ０の終りに相当する時間になると、ステップ５６の判定結果が肯定的（Ｙ）となり、ステップ５８に移る。ステップ５８では、現Ｆｘ値をオフセット値とする。現Ｆｘ値とは、現在取込まれているセンサ出力に基づいて数２の演算で求められるＦｘ値のことである。ステップ５８の後は、メインルーチンにリターンする。ステップ５０〜５６を経由することで期間Ｔ０中のＦｘ値がピッチに反映されないようになる。
【００３７】
　この後、ステップ４０〜５０を経由してステップ５２にくると、判定結果が肯定的（Ｙ）となり、ステップ６０に移る。ステップ６０では、現Ｆｘ値から前回のＦｘ値を差引いた値が所定値以上か判定する。これは、Ｆｘ値の変化がわずかなときにＦｘ値をピッチに反映させないようにするためである。
【００３８】
　ステップ６０の判定結果が否定的（Ｎ）であったときは、ステップ６２に移り、Ｆｘ値がオフセット値の近傍（例えばオフセット値の上下Ｗ／２の範囲内）か判定する。この判定結果が肯定的（Ｙ）であれば、メインルーチンにリターンする。ステップ５２，６０，６２を経由することで図３（Ｂ）の不感帯Ｗの実現が可能となる。
【００３９】
　ステップ６０の判定結果が肯定的（Ｙ）であったとき又はステップ６２の判定
結果が否定的（Ｎ）であったときは、ステップ６４に移る。ステップ６４では、現Ｆｘ値からオフセット値を差引いた値をピッチ制御データとして音源ユニット２６に出力し、発生中の楽音のピッチを変更制御する。そして、ステップ６６に移る。
【００４０】
　ステップ６６では、Ｆｘ値の変化が０に近づく方向か判定する。この判定結果が肯定的（Ｙ）であれば、ステップ６８に移り、図４で述べたようにしてオフセット値を修正（更新）する。ステップ６８の処理が終ったとき又はステップ６６の判定結果が否定的（Ｎ）であったときは、メインルーチンにリターンする。
【００４１】
　図７，８は、楽音制御の第２の例として割込みルーチンを示すもので、この例は、請求項２の発明に対応する。この例では、同時に複数の鍵を押してもそのうちの予め定められた発音鍵に対応する１音のみが発生される単音電子楽器を対象としており、音源ユニット２６内には、楽音信号ＴＳＯを通すフィルタ（例えばローパスフィルタ）が設けられている。
【００４２】
　ステップ７０では、鍵盤１２の各鍵からセンサ出力を取込む。そして、ステップ７２に移り、取込んだセンサ出力に基づいて発音鍵にキーオンイベントありか判定する。発音鍵としては、Ｆｚ値が最大の鍵が予め定められており、１鍵のみ押したときはその鍵がキーオンイベントありと判定され、複数鍵を同時に押したときはそのうちでＦｘ値最大の鍵がキーオンイベントありと判定される。また、第１の鍵を押していてそれより強く第２の鍵を押すと、第２の鍵がキーオンイベントありと判定される。
【００４３】
　ステップ７２の判定結果が肯定的（Ｙ）であったときは、ステップ７４に移り、発音処理を行なう。すなわち、音源ユニット２６からキーオンイベントのあった鍵に対応する楽音信号を発生させる。
【００４４】
　ステップ７４の処理が終ったとき又はステップ７２の判定結果が否定的（Ｎ）であったときは、ステップ７６に移り、ステップ７０で取込んだセンサ出力に基づいてキーオフイベントありか判定する。ある鍵を放したときにキーオフイベントありと判定されるのが普通であるが、第１の鍵を押していてそれより強く第２の鍵を押したときは第１の鍵についてキーオフイベントありと判定される。
【００４５】
　ステップ７６の判定結果が肯定的（Ｙ）であったときは、ステップ７８で消音処理を行なう。すなわち、キーオフイベントのあった鍵に対応する楽音信号の減衰を開始させる。
【００４６】
　ステップ７８の処理が終ったとき又はステップ７６の判定結果が否定的（Ｎ）であったときは、ステップ８０に移り、楽音制御用の制御鍵としてＦｚ値が２番目に大きい鍵を探す。そして、ステップ８２で制御鍵ありか（すなわち第１の鍵以外にも押鍵があるか）判定する。この判定結果が否定的（Ｎ）であれば、制御鍵がなかったことになり、ステップ８４に移る。
【００４７】
　ステップ８４では、フィルタのカットオフ周波数ｆＣを制御するための所定のｆＣ制御データを生成する。そして、ステップ８６に移り、フィルタの選択度Ｑを制御するための所定のＱ制御データを生成する。さらに、ステップ８８に移り、フィルタのゲインＧを制御するための所定のＧ制御データを生成する。この後、ステップ９０に移る。
【００４８】
　ステップ９０では、ステップ８４〜８８で生成した各制御データを音源ユニット２６内のフィルタに出力する。この結果、キーオンイベントありとして発生中の楽音の音色が制御される。この後、メインルーチンにリターンする。
【００４９】
　ステップ８２の判定結果が肯定的（Ｙ）であったときは、制御鍵があったことになり、ステップ９２に移る。ステップ９２では、数２の演算により求めたＦｘ値に基づいてｆＣ制御データを生成する。この場合、ｆＣ制御データが制御目標とするカットオフ周波数ｆＣは、次の数６の式で表わされる。
【数６】
2004038218.tif 000008
　ここで、ｆＣ０は、ステップ７２でキーオンイベントありと判定された鍵の音高に応じて定まるカットオフ周波数であり、Ｆｘｍは、Ｆｘの最大絶対値である。ステップ９２の後、ステップ９４に移る。
【００５０】
　ステップ９４では、数３の演算により求めたＦｙ値に基づいてＱ制御データを生成する。この場合、Ｑ制御データが制御目標とするＱは、次の数７の式で表わされる。
【数７】
2004038218.tif 000009
　ここで、Ｑ０は、ステップ７２でキーオンイベントありと判定された鍵の音高に応じて定まる選択度の値であり、Ｆｙｍは、Ｆｙの最大絶対値である。ステップ９４の後、ステップ９６に移る。
【００５１】
　ステップ９６では、数４の演算により求めたＬ値に基づいてＧ制御データを生成する。この場合、Ｇ制御データが制御目標とするＧは、次の数８の式で表わされる。
【数８】
2004038218.tif 000010
　ここで、Ｇ０は、ステップ７２でキーオンイベントありと判定された鍵の音高に応じて定まるゲインの値であり、Ｌ０，Ｌｋは、それぞれ図２に示した距離及び鍵の長さである。ステップ９６の後、ステップ９０に移る。
【００５２】
　ステップ９０では、ステップ９２，９４，９６で生成した各制御データを音源ユニット２６内のフィルタに出力する。この結果、Ｆｚ値が２番目の鍵の鍵操作量（Ｆｘ、Ｆｙ、Ｌ）に応じて楽音の音色が制御される。この後は、メインルーチンにリターンする。
【００５３】
　図７，８の処理によると、Ｆｚ値が２番目に大きい鍵が自動的に楽音制御鍵となるので、特定の操作子又は鍵を操作するのに比べて楽音制御操作が容易となり、演奏操作も容易となる。
【００５４】
　図９は、楽音制御の第３の例として図７のルーチンに続くルーチンを示すものである。換言すれば、この例では、ステップ１００より前の処理は、図７に関して前述したものと同様である。第３の例は、請求項２の発明に対応する。
【００５５】
　図７でステップ７８の処理が終わったとき又はステップ７６の判定結果が否定的（Ｎ）であったときは、図９のステップ１００に移り、楽音制御用の制御鍵としてＦｚ値が２番目に大きい鍵を探す。そして、ステップ１０２で制御鍵ありか判定する。この判定結果が否定的（Ｎ）であれば、制御鍵がなかったことになり、ステップ１０４に移る。
【００５６】
　ステップ１０４では、フィルタの減衰傾度ＡＳを制御するための所定のＡＳ制御データとフィルタのカットオフ周波数ｆｃを制御するための所定のｆｃ制御データとを音源ユニット２６内のフィルタに出力する。この結果、キーオンイベントありとして発生中の楽音の音色が制御される。この後は、メインルーチンにリターンする。
【００５７】
　ステップ１０２の判定結果が肯定的（Ｙ）であったときは、制御鍵があったことになり、ステップ１０６に移る。ステップ１０６では、数１の演算により求めたＦｚ値に基づいてＡＳ制御データを作成し、音源ユニット２６内のフィルタに出力する。そして、ステップ１０８に移る。
【００５８】
　ステップ１０８では、発音鍵（楽音発生中の鍵）と制御鍵との音高差を求め、この音高差に基づいてｆｃ制御データを作成し、音源ユニット２６内のフィルタに出力する。一例として、音高差大ならばｆｃを低く、音高差小ならばｆｃを高くする。
【００５９】
　図９の処理によれば、Ｆｚ値が２番目の鍵が自動的に楽音制御鍵となり、この鍵の操作に基づいて楽音の音色が制御される。従って、楽音制御操作及び演奏操作が容易となる。なお、ステップ１０８では、発音鍵と制御鍵との音高差に応じて楽音の音像（定位、広がり感）を制御するようにしてもよい。
【００６０】
　図１０，１１は、楽音制御の第４の例として割込みルーチンを示すもので、この例は、請求項３の発明に対応する。この例では、複数の楽音を同時に発生可能な複音電子楽器を対象としている。また、音色制御用の特定鍵が予め定められており、図１のフットスイッチ３１がオンされた状態で特定鍵が押されると特定鍵を制御鍵とし、フットスイッチ３１がオフされた状態で特定鍵が押されると特定鍵を発音鍵とするようになっている。なお、特定鍵は、演奏者が任意に指定できるようにしてもよい。
【００６１】
　ステップ１１０では、鍵盤１２の各鍵からセンサ出力を取込む。そして、ステップ１１２に移り、取込んだセンサ出力に基づいていずれかの鍵にキーオンイベントありか判定する。この判定結果が肯定的（Ｙ）であれば、ステップ１１４に移り、キーオンイベントありの鍵が特定鍵か判定する。この判定結果が否定的（Ｎ）であれば、ステップ１１６に移り、発音処理を行なう。すなわち、音源ユニット２６からキーオンイベントのあった鍵に対応する楽音信号を発生させる。
【００６２】
　一方、ステップ１１４の判定結果が肯定的（Ｙ）であったときは、特定鍵にキーオンイベントがあったことになり、ステップ１１８に移る。ステップ１１８では、フットスイッチ３１がオン中か判定する。この判定結果が否定的（Ｎ）であれば、ステップ１１６に移り、特定鍵に対応する楽音信号を発生させる。また、ステップ１１８の判定結果が肯定的（Ｙ）であったときは、ステップ１２０に移り、特定鍵を楽音制御用の制御鍵とする。
【００６３】
　ステップ１１６又は１２０の処理が終ったとき、あるいはステップ１１２の判定結果が否定的（Ｎ）であったときは、ステップ１２２に移る。ステップ１２２では、ステップ１１０で取込んだセンサ出力データで基づいてキーオフイベントありか判定する。この判定結果が肯定的（Ｙ）であれば、ステップ１２４で消音処理を行なう。すなわち、キーオフイベントのあった鍵に対応する楽音信号の減衰を開始させる。
【００６４】
　ステップ１２４の処理が終ったとき又はステップ１２２の判定結果が否定的（Ｎ）であったときは、ステップ１３０に移る。ステップ１３０では、制御鍵の操作ありか判定する。この判定結果が否定的（Ｎ）であれば、ステップ１３２に移る。
【００６５】
　ステップ１３２では、所定のｆｃ制御データを生成する。そして、ステップ１３４で所定のＱ制御データを生成してからステップ１３６で所定のＧ制御データを生成する。ステップ１３２，１３４，１３６の処理は、図８のステップ８４，８６，８８のものとそれぞれ同様であるので、詳細な説明を省略する。ステップ１３６の後は、ステップ１３８に移る。
【００６６】
　ステップ１３８では、ステップ１３２，１３４，１３６で生成した各制御データを音源ユニット２６内のフィルタに出力する。この結果、キーオンイベントありとして発生中の楽音の音色が制御される。この後は、メインルーチンにリターンする。
【００６７】
　ステップ１３０の判定結果が肯定的（Ｙ）であったときは、制御鍵が操作されていることになり、ステップ１４０に移る。ステップ１４０では、Ｆｘ値に基づいてｆｃ制御データを生成する。そして、ステップ１４２でＦｙ値に基づいてＱ制御データを生成してからステップ１４４でＬ値に基づいてＧ制御データを生成する。ステップ１４０，１４２，１４４の処理は、図８のステップ９２，９４，９６のものとそれぞれ同様であるので、詳細な説明を省略する。ステップ１４４の後は、ステップ１３８に移る。
【００６８】
　ステップ１３８では、ステップ１４０，１４２，１４４で生成した各制御データを音源ユニット２６内のフィルタに出力する。この結果、制御鍵の鍵操作量（Ｆｘ，Ｆｙ，Ｌ）に応じて楽音の音色が制御される。この後は、メインルーチンにリターンする。
【００６９】
　図１０，１１の処理によると、フットスイッチオン時に特定鍵を操作することで音色制御が可能となり、制御操作及び演奏操作が容易となる。
【００７０】
　図１２は、楽音制御の第５の例として音源ユニット２６の回路構成を示すもので、この例は、請求項１の発明に対応する。図１２の音源ユニット２６は、サックス音色等の音源信号を発生可能な物理モデル音源からなるもので、図１３のアンブシュアエンベロープ制御部及び図１６の音色制御部と組合せて使用される。
【００７１】
　図１２の回路において、可変遅延回路１５０、ＬＰＦ（ローパスフィルタ）１５２、減衰器１５４、乗算器１５６、加算器１５８、可変遅延回路１６０、ＬＰＦ（ローパスフィルタ）１６２、減衰器１６４、乗算器１６６及び加算器１６８は、閉ループ状に接続されてデータ循環路を構成しており、このデータ循環路の総遅延時間が発生音の基本波周期に対応する。
【００７２】
　データ循環路には、加算器１５８，１６８から励振波形データが導入される。すなわち、ゲート回路１７０がキーオン信号ＫＯＮに応じて導通すると、息圧データＰＲＳがゲート回路１７０、加算器１７２、１７４を介して非線形変換部１７６に供給される。また、ゲート回路１７８がキーオン信号ＫＯＮに応じてゲート回路１７０と同時に導通すると、アンブシュアエンベロープデータＥＮＶがゲート回路１７８を介して非線形変換部１７６に供給される。非線形変換部１７６において、除算器１８０は、加算器１７４からの息圧データをゲート回路１７８からのデンベロープデータで除算し、その除算出力を非線形変換メモリ１８２に供給する。メモリ１８２の出力データは、乗算器１８４でゲート回路１７８からのデンベロープデータと乗算され、その乗算出力が励振波形データとして加算器１５８，１６８に供給される。乗算器１８４の出力データは、ＬＰＦ１８６を介して乗算器１８８に供給され、音量制御データＧＣと乗算される。乗算器１８８の出力データは、加算器１７４を介して非線形変換部１７６に供給される。
【００７３】
　データ循環路に導入された励振波形データは、データ循環路を循環する。乗算器１５６，１６６は、循環波形データに「−１」を乗算することで、管の一端及び他端における無損失の振動波反射を模擬するものである。循環波形データの音高は、遅延回路１５０，１６０の遅延量をピッチ制御データＰＣに応じて制御することにより制御される。また、循環波形データの音色は、ＬＰＦ１５２，１６２のカットオフ周波数等を音色デンベロープデータＴＥＶに応じて制御することにより制御される。
【００７４】
　循環波形データは、データ循環路の適宜の複数個所から導出され、導出波形データは、加算器１９０で加算される。加算器１９０の出力データは、加算器１７２，１７４を介して非線形変換部１７６に供給される。また、循環波形データは、データ循環路の適宜の個所から導出され、ディジタル／アナログ（Ｄ／Ａ）変換回路１９２でアナログ形式の楽音信号ＴＳＯに変換される。
【００７５】
　キーオフ信号ＫＯＦが供給されると、ゲート回路１７０，１７８が非導通になると共に、減衰器１５４，１６４の減衰量が増大し、楽音信号ＴＳＯが減衰する。
【００７６】
　なお、キーオン信号ＫＯＮ及びキーオフ寝具ＫＯＦは、例えば図７のルーチンの発音処理７４及び消音処理７８でそれぞれ形成されるものである。図１２の回路については、特開平５−１６５４７０号公報に詳述されているので、これ以上の説明は省略する。
【００７７】
　図１３は、アンブシュアエンベロープ制御部の一構成例を示すもので、この制御部からは、Ｆｚ値を表わす押鍵データからなる息圧データＰＲＳと、Ｆｘ値を表わす押鍵データからなるピッチ制御データＰＣと、アンブシュアエンベロープデータＥＮＶとが発生され、図１２の回路に供給される。
【００７８】
　このような楽音制御を行なう場合のアンブシュアエンベロープの作成方法を図１４に関して説明する。図１４において、横軸は、キーオンからの経過時間ＫＴを表わし、縦軸は、息圧データＰＲＳの値（Ｆｚ値）又はアンブシュアエンベロープデータＥＮＶの値を表わす。
【００７９】
　Ｆｘ値に応じてピッチを制御する場合、サックス音の自然な変化を得るためには、右方向の押鍵力の増大に対応してピッチが上昇するときはデータＥＮＶの値を破線ＥＲで示すように中心値Ｅより上昇させ、左方向の押鍵力の増大に対応してピッチが下降するときはデータＥＮＶの値を破線ＥＬで示すように中心値Ｅより下降させるのが好ましい。破線ＥＲは、アンブシュア（マウスピースに加える力）の増大に対応し、破線ＥＬは、アンブシュアの減少に対応する。
【００８０】
　一方、Ｆｚ値を息圧データＰＲＳとして用いる場合、実線Ｆｚ１，Ｆｚ２のように立上り（アタック）が速く、するどい音については、Ｆｚ値を息圧データＰＲＳとするだけでは十分なアタック感が得られず、キーオン開始からわずかに後の所定時点ｔａの前後で破線Ｅｌ，Ｅ２のようにデータＥＮＶの値を制御する必要がある。
【００８１】
　すなわち、所定時点ｔａより前では、データＥＮＶは、Ｖｚを鍵の上下方向の押鍵速度とし、ｋを係数とすると、次の数９の式で表わされる。押鍵速度Ｖｚは、（今回のＦｚ値−前回のＦｚ値）から求められ、０≦Ｖｚ≦１．０の範囲で正規化された速度値である。
【数９】
2004038218.tif 000011
　一方、所定時点ｔａより後では、データＥＮＶは、次の数１０の式で表わされる。
【数１０】
2004038218.tif 000012
　図１３のアンブシュアエンベロープ制御部は、数９，数１０の式に従ってデータＥＮＶを発生するように構成されたものである。
【００８２】
　乗算器２００は、Ｆｚ値を表わす押鍵データと速度値Ｖｚを表わす速度データとを乗算するもので、その乗算出力（Ｆｚ値をＶｚで重み付けした出力）は、乗算器２０２に供給される。
【００８３】
　係数メモリ２０４は、図１５に示すようにキーオンからの経過時間ＫＴに従って変化する係数ｋを記憶したものである。係数ｋは、所定時点ｔａより前では１．０に近い値をとり、ｔａから減少して０に近い値をとる。メモリ２０４からは、時間ＫＴを表わす時間データに従って係数データが読出される。係数ｋを表わす係数データは、乗算器２０２に供給され、乗算器２００からの乗算出力と乗算される。そして、乗算器２０２からの乗算出力（Ｆｚ値をｋで重み付けした出力）は、加算器２０６に供給される。
【００８４】
　乗算器２０８は、Ｆｘ値を表わす押鍵データと加算器２１０からの加算出力とを乗算するものである。加算器２１０からの加算出力としては、１．０から速度値Ｖｚを差引いた値を表わすデータが送出され、Ｆｘ値は、加算器２１０からの加算出力に応じて重み付けされる。従って、速度値Ｖｚが大きいときは、Ｆｚ値がより多くデータＥＮＶに反映され、Ｖｚが小さいときは、Ｆｘ値がより多くデータＥＮＶに反映される。これは、Ｖｚが大きいときは、左右方向の押鍵力Ｆｘの調整が困難であり、Ｖｚが小さいときは、Ｆｘの調整が容易であることを考慮したものである。
【００８５】
　乗算器２１２は、乗算器２０８からの乗算出力と加算器２１４からの加算出力とを乗算するものである。加算器２１４からの加算出力としては、１．０から係数ｋを差引いた値を表わすデータが送出され、Ｆｘ値は、加算器２１４からの加算出力に応じて重み付けされる。従って、図１５に示すように、所定時点ｔａより前で係数ｋの値が大きいときは、Ｆｚ値がより多くデータＥＮＶに反映され、ｔａより後でｋが小さいときは、Ｆｘ値がより多くデータＥＮＶに反映される。これは、ｔａより前では数９の式に従い、ｔａより後では数１０の式に従うようにしたものである。
【００８６】
　乗算器２１２からの乗算出力は、加算器２０６に供給され、乗算器２０２からの乗算出力と加算される。加算器２０６からの加算出力及びメモリ２０４からの係数データは、ＬＰＦ２１６に供給される。
【００８７】
　ＬＰＦ２１６では、乗算器２１８が、加算器２０６からの加算出力とメモリ２０４からの係数データとを乗算する。メモリ２０４からの係数データは、加算器２２０に供給される。加算器２２０からは、１．０から係数データの示すｋを差引いた値を表わす加算出力が送出され、乗算器２２４に供給される。
【００８８】
　加算器２２２は、乗算器２１８からの乗算出力と乗算器２２４からの乗算出力とを加算するもので、その加算出力は、加算器２２８でオフセットデータＯＦＳと加算される一方、遅延回路２２６を介して乗算器２２４に供給される。加算器２２８からの加算出力が、データＥＮＶとして図１２の回路に供給される。
【００８９】
　加算器２０６からの加算出力は、乗算器２１８において、メモリ２０４からの係数ｋに応じて重み付けされる。また、遅延回路２２６の出力は、乗算器２２４において、加算器２２０からの加算出力（１．０−ｋ）に応じて重み付けされる。この結果、図１４に示すように、所定時点ｔａより前ではＥ１，Ｅ２のような変化を示すデータＥＮＶが得られ、ｔａより後ではＥ０のような変化を示すデータＥＮＶが得られる。
【００９０】
　図１６は、音色制御部の一構成例を示すものである。乗算器２３０は、Ｆｚ値を表わす押鍵データとＶｚ値を表わす速度データとを乗算するもので、その乗算出力は、加算器２３２に供給される。乗算器２３４は、Ｆｙ値を表わす押鍵データと加算器２３６からの加算出力とを乗算するもので、その乗算出力は、加算器２３２に供給される。加算器２３２からの加算出力は、音色エンベロープデータＴＥＶとして図１２の回路に供給され、ＬＰＦ１５２，１６２のカットオフ周波数を制御するために使用される。
【００９１】
　加算器２３６は、１．０から速度データの示すＶｚ値を減算し、その差に相当する加算出力を乗算器２３４に供給する。Ｆｚ値を表わす押鍵データは、乗算器２３０において、Ｖｚ値に応じて、重み付けされる。また、Ｆｙ値を表わす押鍵データは、乗算器２３４において、加算器２３６からの加算出力（１．０−Ｖｚ）に応じて重み付けされる。従って、Ｖｚ値が大きいときは、Ｆｚ値がより多くデータＴＥＶに反映され、Ｖｚ値が小さいときは、Ｆｙ値がより多くデータＴＥＶに反映される。これは、Ｖｚ値が大きいときは、前後方向の押鍵力Ｆｙの調整が困難であり、Ｖｚ値が小さいときはＦｙの調整が容易であることを考慮したものである。
【００９２】
　サックス音は、音量が小さいときは丸い音色であり、音量が大きくなるに従って明るく、きつい音色に変化する。また、同じ音色でも、アタックが速いほど明るい（派手な）感じになる。これらの点を模擬して自然なサックス音が得られるようにするため、図１６の回路では、Ｆｚ値及びＶｚ値の積を音色制御情報とし、この音色制御情報に応じて例えばＬＰＦのカットオフ周波数を高くすべく制御する。また、図１６の回路では、前後方向の押鍵力Ｆｙによっても音色変化が得られるようにしており、この結果、一層多様な演奏表現が可能となる。
【００９３】
　この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【００９４】
　（１）鍵盤の構造は、通常の鍵回動式のものであってもよく、回動する鍵に関して上下方向、左右方向、前後方向等の押鍵力を検出する構成にすればよい。
【００９５】
　（２）制御する楽音特性は、音量、ピッチ、音色等何でもよい。また、これらの楽音特性は、鍵の上下方向、左右方向、前後方向等のいずれの方向の操作量に応じて制御してもよい。
【図面の簡単な説明】
【００９６】
【図１】この発明の一実施形態に係る電子楽器の回路構成を示すブロック図である。
【図２】鍵盤の一構成例を示す断面図である。
【図３】上下方向押鍵力Ｆｚ、左右方向押鍵力Ｆｘ及びピッチ変化量Ｐの各々の時間的変化を示すグラフである。
【図４】左右方向押鍵力Ｆｘに関してオフセット値ＯＦの変更動作を説明するためのグラフである。
【図５】楽音制御の第１の例として割込みルーチンの一部を示すフローチャートである。
【図６】図５のルーチンの残部を示すフローチャートである。
【図７】楽音制御の第２の例として割込みルーチンの一部を示すフローチャートである。
【図８】図７のルーチンの残部を示すフローチャートである。
【図９】楽音制御の第３の例として図７のルーチンに続くルーチンを示すフローチャートである。
【図１０】楽音制御の第４の例として割込みルーチンを示すフローチャートである。
【図１１】図１０のルーチンの残部を示すフローチャートである。
【図１２】楽音制御の第５の例として音源ユニットの回路構成を示す回路図である。
【図１３】図１２の音源ユニットにて使用されるアンブシュアエンベロープ制御部を示す回路図である。
【図１４】アンブシュアエンベロープの作成方法を説明するためのグラフである。
【図１５】係数メモリの記憶内容を説明するためのグラフである。
【図１６】図１２の音源ユニットにて使用される音色制御部を示す回路図である。
【符号の説明】
【００９７】
　１０：バス、１２：鍵盤、１４，２４：インターフェース、１６：ＣＰＵ（中央処理装置）、１８：プログラムメモリ、２０：ワーキングメモリ、２２：タイマ、２６：音源ユニット、２８：アンプ、３０：スピーカ、３１：フットスイッチ、３２：支持体、３４：可撓性部材、３６：鍵部材、３８Ａ〜３８Ｄ：歪センサ。
【図１】
2004038218.tif 000013
【図２】
2004038218.tif 000014
【図３】
2004038218.tif 000015
【図４】
2004038218.tif 000016
【図５】
2004038218.tif 000017
【図６】
2004038218.tif 000018
【図７】
2004038218.tif 000019
【図８】
2004038218.tif 000020
【図９】
2004038218.tif 000021
【図１０】
2004038218.tif 000022
【図１１】
2004038218.tif 000023
【図１２】
2004038218.tif 000024
【図１３】
2004038218.tif 000025
【図１４】
2004038218.tif 000026
【図１５】
2004038218.tif 000027
【図１６】
2004038218.tif 000028