図1(A)は、本発明の実施例による電子楽器1のハードウェア構成の一例を示すブロック図である。
電子楽器1のバス2には、CPU3、RAM5、ROM6、表示部7、設定操作子8、演奏操作子9、音源部10が接続される。
CPU3は、ROM6等に記憶されている制御プログラムに従い、演算又は制御を行う。タイマ4は、CPU3に接続されており、基本クロック信号、割り込み処理タイミング等をCPU3に供給する。
RAM5は、各種フラグ、レジスタ及びバッファ、各種パラメータ等を記憶するCPU3のワーキングエリアを有する。ROM6には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。
表示部7は、各種情報を表示することができる。ユーザは、この表示部7に表示される情報を参照して、各種設定を行うことができる。
設定操作子8は、例えば、カーソルキー、スイッチ、ジョイスティック、ジョグシャトル、マウス、文字入力用キーボード等であり、ユーザは、設定操作子8を用いて、各種設定を行う。また、設定操作子8は、マウス等の他の操作子を用いて操作する表示部7上に表示されるソフトスイッチ等でもよい。
演奏操作子9は、ユーザの演奏動作に従い、演奏信号を供給する。演奏操作子9は、1又は複数(n)の操作子チャンネルを備え、各操作子チャンネルは、少なくとも、第1のセンサ91及び第2のセンサ92を有している。
第1のセンサ91は、少なくとも、操作子に対する操作(打撃等の演奏操作)を検出して、楽音の発音開始を指示するキーオントリガ信号を発生するとともに、該操作のベロシティ(レベル)を検出することができる。第2のセンサ92は、少なくとも、操作子に対する操作(接触)を検出して、楽音の発音終了(減衰開始)を指示するキーオフトリガ信号を発生するとともに、該操作子の変位を検出することが出来る。なお、第1のセンサ91及び第2のセンサ92の詳細は、後述する。また、第1のセンサ91及び第2のセンサ92は、それぞれを区別可能な2種類のトリガ信号を発生できるものであれば、キーオントリガ信号及びキーオフトリガ信号を発生するものに限らない。
演奏操作子9は、上述の第1のセンサ91及び第2のセンサ92を有するものであれば、どのようなものでもよく、例えば、図2及び図3に示すパッド9p、94又は図4に示す鍵盤装置9k等の形態をとることができる。
音源部10は、記憶部12、演算部13a及び13b、加算部14を有し、演奏操作子9の操作により発生する演奏信号(キーオントリガ信号、キーオフトリガ信号)に基づき楽音信号を生成して、サウンドシステム11に供給する。
記憶部12は、楽音の生成に用いる波形データ(デジタルオーディオデータ)を記憶するための記憶装置であり、例えば、ROM、フラッシュROM、ハードディスク等で構成される。記憶部12は、キーオン、キーオフ用のトリガ信号や読み出しアドレス設定用のラインでバス2と接続されている。記憶部12には、複数の音色用の波形データが記憶されており、各音色ごとに、キーオントリガ信号に対応する第1波形(オン波形)W1とキーオフトリガ信号に対応する第2波形(オフ波形)W2が記憶されている。上記各波形は、キーオン、キーオフ等のトリガ信号に基づきCPU3からの指令で読み出される。なお、本実施例では、記憶部12を音源部10に内蔵のものとしたが、記憶部12は、バス2に直接接続されるようにしてもよいし、ROM6内に、波形データ用の記憶領域を設けるようにしてもよい。
演算部13a及び13bは、それぞれ、オン波形W1及びオフ波形W2を、後述するCPU3から供給されるレート値L1及びL2で乗算する。レート値L1及びL2で乗算されたオン波形W1及びオフ波形W2は、加算部14で加算され、合成波形データとして、サウンドシステム11に出力される。
具体的には、演奏操作子9からキーオントリガ信号が供給されると、オン波形W1の読み出しが開始され、演算部13a、加算部14を介して、オン波形W1が、サウンドシステム11に出力される。この時点では、レート値L1は、「1」、L2は、「0」である。その後、キーオフトリガ信号が供給されるとオフ波形W2の読み出しが開始され、演奏操作子9の変位値に応じて決定されるレート値L1及びL2で、オン波形W1及びオフ波形W2を乗算した後、加算して、合成波形データとして出力する。L2=0の間は、実質的にオン波形のみの読み出しであり、L1=0になった以降は、実質的にオフ波形のみの読み出しとなる。また、実際に、L2=0の間は、オン波形のみを読み出し、L1=0になった以降は、オフ波形のみを読み出すようにしてもよい。以降、本明細書では、上述のオン波形W1及びオフ波形W2のレート値での乗算及び加算処理をクロスフェード処理と呼ぶ。
サウンドシステム11は、D/A変換器、アンプ及びスピーカを含み、供給されるデジタル形式の楽音信号(合成波形データ)をアナログ形式に変換し、発音する。なお、サウンドシステム11は、音源部10の上述した機能以外のその他の機能による楽音信号を受け取るために加算部14以外の部分においても、音源部10と接続されている。
なお、音源部10の記憶部12に、オン波形W1のみを記憶しておき、該オン波形W1をフィルタ処理することにより、オフ波形を生成するようにしてもよい。その場合の、音源部20の構成を図1(B)に示す。
音源部20は、記憶部12に各音色ごとの第1波形W1のみを記憶している点で、音源部10の記憶部12と異なる。そのため、音源部20は、フィルタ15により第1波形W1から、オフ波形を生成する。その他の処理は、音源部10と同様である。
図2は、本実施例による電子楽器1の一例を示す本体上面の概略図である。この例では、電子楽器1は、電子打楽器の形態をとっている。なお、図1と同一の部材には同一の参照番号を付す。
電子楽器1は、本体上面に各種設定を行うための設定操作子8を複数有し、ユーザは、設定操作子8上方にある表示部7に表示される情報を参照して各種設定を行う。本体上面の左右には、サウンドシステム(図1)の一部であるスピーカ11sが設置されている。
本実施例による電子楽器1は、演奏操作子9として、図に示すようにパッドを7つ備えており、それぞれのパッドが、1つの操作子チャンネルに対応する。各操作子チャンネルには、それぞれ独立して異なる音色をアサインすることが可能である。
図3は、図2に示す電子楽器1のパッド(演奏操作子)9pを表す概略断面図及び概略斜視図である。
図3(A)は、パッド(演奏操作子)9pの構造を示す概略断面図である。なお、図中同一部材は、同じハッチングで示す。図3(B)は、パッド体保持部材95の概略斜視図である。図3(C)は、パッド変位センサ(第2のセンサ)92の概略斜視図である。
パッド9pは、例えば、パッドゴム部94r、パッド保持部94p、センサ保持部94s、及びパッドセンサ(第1のセンサ)91を含むパッド体94と、薄板部95t、保持部材取付部95a、パッド体取付部95b、及びストッパ95cを有するパッド体保持部材95と、パッド変位センサ(第2のセンサ)92と、上記の各部材を収納するケース体である支持体90とを含んで構成される。センサ保持部94sの平面形状としては、3枚羽根や、4枚羽根形成にすることで、パッド装置部94uと保持部94sとを一体に形成することができる。すなわち、羽根型保持部94sに対向するパッド装置部94uには、保持部94sと同型の羽根型透孔を設けることで、上下2つの金型で、パッド体94のフレームを製造することができる。なお、支持体90は、電子楽器1本体と一体に形成されていてもよいし、各演奏操作子ごとの支持体を電子楽器1に取り付けるようにしてもよい。
パッドゴム部94rは、例えば、ウレタンゴム等で形成される。ユーザは、このパッドゴム部94rをスティックや手等で叩くことにより、演奏を行う。パッド保持部94pは、パッドゴム部94rを保持するとともに、パッド体保持部材95との取付部(例えば、ネジ孔)を有する。センサ保持部94sは、パッド保持部94pと一体に成型され、パッド体保持部材95に対抗する面にパッドセンサ(第1のセンサ)91が取り付けられる。
パッドセンサ(第1のセンサ)91は、例えば、ピエゾセンサ等の接触式センサであり、ユーザによるパッドゴム部94rへの打撃(演奏操作)により、対抗するパッド体保持部材95に接触し、該接触強度に応じた波形信号を発生する。本実施例では、パッドセンサ91の発生する波形信号のエンベロープが所定値を超えた場合にキーオンとみなし、キーオントリガ信号(第1のトリガ信号)Kon1を発生させる。このエンベロープの最大値MAX又は2点間の変化値は、タッチデータとして音量制御等の目的に使用される。なお、パッドセンサ91は、ピエゾセンサに限らず、ユーザによる演奏操作の強度(レベル)を検出できるものであればどのようなものでもよい。
パッド体保持部材95の裏側は、周辺部の保持部材取付部95aに形成されるネジ孔95Sを介して支持体90に支持体90からネジを挿入して取り付けられるとともに、中心部のパッド体取付部95bには、パッド体94が取り付けられる。
薄板部95tは、例えば、1.5mm程度の厚さの強化プラスティック等で成型され、パッド体取付部95bを介して取り付けられるパッド体の上下動に対応して、上下動するようになっている。薄板部95tの厚さは、薄板部95tの材質及び形状により異なるが、パッド体の上下動に合わせて上下動可能な厚さであれば、どのような厚さでもよい。例えば、薄板部95tを図3(B)に示すような円盤型ではなく、一部を切取り、3点又は4点支持で保持部材取付部95aとパッド体取付部95bとを接続する形状(ねじれのないプロペラ羽根型)とした場合には、薄板部95tの厚さは、3mm程度の厚さにすることが出来る。
ストッパ95cは、ウレタンゴム等の軟質樹脂で形成されたリング状部材であって、保持部材取付部95aのパッド体94に対向する面に貼着され、パッド体94と パッド体保持部材95の接触による衝撃を軽減する。
パッド変位センサ(第2のセンサ)92は、支持体90の内側底面の中心部に取り付けられるセンサ本体と、パッド体取付部95bの支持体90に対向する面95bbに取り付けられる白色シール(反射板)92wとにより構成される。図3(C)に示すように、センサ本体は、処理回路部品を含むプリント基板92sと、反射型フォトカプラ(フォトリフレクタ)92pで構成される。
反射型フォトカプラ(フォトリフレクタ)92pは、赤外線発光ダイオード92d及びフォトトランジスタ92tで構成される。赤外線発光ダイオード92dから照射される赤外線は、白色シール92wで反射し、フォトトランジスタ92tは、該反射光を検出する。すなわち、パッド変位センサ(第2のセンサ)92は、反射型フォトカプラ(フォトリフレクタ)92pと白色シール92wとの距離に応じた信号を出力することができる。
上述のように、ユーザがパッドゴム部94rを叩くと、パッド体94は、パッド体保持部材95を介して支持体90に対して、上下動するように作られている。したがって、支持体90の内側底面の中心部に反射型フォトカプラ(フォトリフレクタ)92pを取り付けるとともに、支持体90に対して上下動するパッド体取付部95bの裏面95bbに白色シール92wを取り付けることにより、パッド体取付部95bの支持体90に対する変位を検出することができる。すなわち、パッドゴム部94rに対するユーザの演奏動作によるパッド体94の支持体90に対する変位を検出することができる。
本実施例では、パッド変位センサ(第2のセンサ)92が検出する変位値が、所定値を超える場合にキーオフとみなし、キーオフトリガ信号(第2のトリガ信号)Kon2を発生させる。また、パッド変位センサ(第2のセンサ)92が検出する変位値は、ストローク値S又はSSとして、キーオフ時(消音動作時)の音色変化を制御するために用いられる。また、後述するように異なるタイミングのストローク値S及びSSから、キーオフベロシティを求めることもできる。以上のように、パッド変位センサ(第2のセンサ)92は、変位に基づく値として、少なくとも、ストローク値S及びSSと、キーオフベロシティとを出力することができる。
なお、パッド体94が、パッド体保持部材95を介して支持体90に対して、上下動するように作られているのは、ユーザによる打撃(演奏操作)による衝撃を和らげ、パッド9pの耐久性を増すためでもある。
以上のように、本実施例のパッド9pは、ユーザによる演奏操作の強度(レベル)を検出するとともにキーオントリガ信号を発生する第1のセンサ91と、ユーザの演奏動作によるパッド体94の支持体90に対する変位を検出するとともにキーオフトリガ信号を発生することができる第2のセンサ92とを有しているので、電子打楽器においても、楽音の発生を制御するだけでなく消音動作を制御することができる。
図4は、本発明の実施例による演奏操作子9の他の例である鍵盤装置9kを示す概略断面図である。なお、図中、複数の鍵を有する鍵盤装置9kの一つの鍵の非押鍵状態を側面から見て、概略的に表す。
鍵盤装置9kは、白鍵21Wと黒鍵21Bとから成る鍵21と、鍵21に連動して駆動される質量体43とを多数(例えば、88鍵、61鍵等)備えている。電子楽器1の棚板部22上には、主鍵支持部23A及び副鍵支持部23Bが固着され、両支持部23A、23Bは鍵支持部23を構成する。主鍵支持部23Aには白鍵用と黒鍵用の支点ピンWf、Bfが固設され、各ピンに対して回動自在に支持されている。鍵21の前方部(図示左側部)には、副鍵支持部23Bから突設させた白鍵用と黒鍵用の鍵ガイド部WG、BGが設けられ、これによって押離鍵動作をガイドする構成になっている。また、副鍵支持部23Bには白鍵用下限ストッパ部WS及び黒鍵用下限ストッパ部BSが設けられる。
鍵支持部23では、主鍵支持部23A及び副鍵支持部23Bを固定的に一体成形した接続部LDによって、ラダー状に両支持部23A、23Bを結合させている。そして、この接続部LDの上方において鍵21の下方に位置するところには、支持部B1、B2を介して棚板部22上に設けられた基板SB1上に第2のセンサ47が配設されている。鍵21の後方では、支点部Mfを有する質量体支持部41が棚板部22に固設され、錘りW1、W2を内包した樹脂製の質量体43の支点部mfが支点部Mfに回動自在に支持され、これにより、質量体43は支持部41に保持されている。支持部41の上部には、前方側に鍵の上限ストッパUSが設けられ、後方側に押鍵時の質量体用のストッパ部41Sが設けられる。
この質量体43は、鍵21の後方上面の質量体駆動部WAにより力伝達部44を介して駆動されるように配設される。力伝達部44は、押鍵時に力を質量体に伝達するとともに、発音位置の微調節用ねじでもある。鍵21の質量体駆動部WAは、滑加工面を有する。さらに、質量体43の下方で質量体支持部41の上方に位置するところには、支持部41の上面に基板SB2が載置され、この基板SB2上には第1のセンサ48が配設されている。鍵21W(21B)は、非押鍵時には、後部が上限ストッパ部USに当接されて静止しているが、押鍵時には、前方においてストッパ部WS、BSと当接し、このとき、質量体43は、後部下端がストッパ部41Sに当接する。この際、ストッパ部41Sにて質量体43は衝突が緩和されるので機械的雑音が軽減される。
以上のような構成により、図示左側の矢印で示すように下方向に押鍵すると、鍵21の後方及び質量体43の前方は、図示中央の矢印a1で示すように上方向に回動し、質量体43の後方は、図示右側の矢印a2で示すように下方向に回動する。離鍵時には、鍵21及び質量体43は、それぞれ、矢印とは逆方向に回動して図示の位置に復帰する。
本実施例では、第1のセンサ48及び第2のセンサ47によって押離鍵ストロークを検出する。図4に示す例では、第2及び第1アクチュエータ部45,46が鍵21及び質量体43の下面に設けられ、これによって、それぞれ2つの接点(a、b又はc、d)を有する第2のセンサ47及び第1のセンサ48を駆動する。
各アクチュエータ部45,46と各センサ47,48との間の配置は、押鍵ストロークにおいて、先ず、第2アクチュエータ部45が第2のセンサ47に当接し、これに遅れて、第1アクチュエータ部46が第1のセンサ48に当接するような関係になっている。
第1のセンサ48及び第2のセンサ47は、例えば、ラバーで構成された2つの接点c、d又はa、bを備える接点時間差タイプの2メイク式タッチレスポンススイッチであり、各接点c、d又はa、bの閉成(オン)及び開放(オフ)動作にストローク差が設定され、それぞれ、離鍵速度センサ、押鍵速度センサを構成している。また、アクチュエータ部46と第1のセンサ48との間隔は、図4に示されるように、アクチュエータ部45と第2のセンサ47との間隔より広くなっている。
なお、鍵盤装置9kのさらに詳細な構造については、本出願人と同一の出願人による特許出願(特開2001−312280号)の実施例の項を参照するとよい。
図5は、本実施例による鍵盤装置9kの第1のセンサ48及び第2のセンサ47の機能を説明するための図である。
鍵盤演奏操作装置9kの各鍵21Wは、それぞれ、図4に示す状態に対応する離鍵(非押鍵)位置「0」から最も深い最大押鍵位置「MAX」まで、例えば、最大10mmだけ、上下方向に変位することができるように構成される。
これに対して、第2のセンサ47及び第1のセンサ48の接点a〜dは、図5に示すように、鍵21の押鍵方向動作に応じて順次オン(ON)し、鍵21の離鍵方向動作に応じて順次オフ(OFF)する。
本実施例では、押鍵ストロークにより接点cがオンされた時点から接点dがオンされるまでのキーオン時間の計測を行うとともに、接点dがオンされた時点をキーオンとみなし、キーオントリガ信号(第1のトリガ信号)Kon1を発生させる。キーオン時間は、押鍵操作のベロシティを表すタッチデータVとして音量制御等の目的に使用される。
また、離鍵ストロークにより、接点bがオフされた時点から接点aがオフされるまでのキーオフ時間の計測を行うとともに、接点aがオフされた時点をキーオフとみなし、キーオフトリガ信号(第2のトリガ信号)Kon2を発生させる。ここで計測されるキーオフ時間は、キーオフベロシティとして後述する処理で用いることができる。
なお、接点aがオフされた後の離鍵ストロークの途中で、再度押鍵ストロークを行い接点dのオンには至らなかった場合には、接点aがオンされた時点から接点bがオンされるまでの時間を計測し、キーオフトリガ信号Kon2発生後の操作子9のキーオフベロシティ(変位に基づく値)として用いることもできる。
図6(A)は、本実施例の音源部10によるクロスフェード処理の概念を表すグラフである。なお、この例では、演奏操作子9としてパッド9pを用いた場合を説明する。また、音源部としては、音源部10を用いているが、音源部20を用いる場合は、記憶部12からオフ波形W2を読み出す代わりにフィルタ部15で必要な処理を行ってオフ波形W2を出力する。
ユーザが、パッド9pを叩くなどの演奏操作を行い、キーオントリガ信号(第1のトリガ信号)Kon1が供給されると、記憶部12からオン波形W1(図中点線で示す)が読み出される。その後、ユーザが何も演奏動作を行わない場合は、図中実線で示すエンベロープENのように、オン波形W1は、減衰していく。
オン波形W1の減衰(発音)中にユーザが、パッド9pに接触し、パッド9pの変位が検出されると、キーオフトリガ信号Kon2が供給され、オフ波形W2の読み出しが開始されるとともに、音源部10において、オン波形W1とオフ波形W2とのクロスフェード処理が行われる。
このクロスフェード処理中にユーザが、一定の力でパッド9pに接触し続けた場合は、該一定の力によるパッド体の変位値に応じて、オン波形W1とオフ波形W2との合成比率が決定される。
ここで、有る一定の力でパッド9pに接触し続けた場合のクロスフェード時間(合成時間)をクロスフェード時間CFtとした場合に、該一定の力よりも軽い力でユーザがパッド9pに接触した場合は、同タイミングにおけるオン波形W1の比率がオフ波形W2の比率よりも高くなり、図中点線で示すように合成比率の変化は緩やかになる。よって、クロスフェード時間CFtlは、クロスフェード時間(合成時間)CFtよりも長いものとなる。
また、逆に、該一定の力よりも強い力でユーザがパッド9pに接触した場合は、同タイミングにおけるオン波形W1の比率がオフ波形W2の比率よりも低くなり、図中2点鎖線で示すように合成比率の変化は急激になる。よって、クロスフェード時間CFtsは、クロスフェード時間(合成時間)CFtよりも短いものとなる。
このように、キーオントリガ信号Kon1によって、発音開始されるオン波形W1の発音中に、ユーザがパッド9pに接触(キーオントリガ信号Kon1発生に至らない演奏動作)することにより、キーオフトリガ信号Kon2が発生し、それに基づきクロスフェード処理が行われる。この時から、ユーザのパッド9pへの接触における力をパッド体の変位値として検出し、該変位値に応じて、オン波形W1及びオフ波形W2の合成比率を変更することができ、クロスフェード時間を変更することができる。このことは、Kon2以降のクロスフェード時間の間中、パッド変位量又は鍵盤装置の変位値によって、その出力値である音量、音色等の楽音パラメータが変更制御し得ることを示している。そして、オフ波形のみの読み出しとなった以降は、Kon2以前と同様、波形が消滅するまでの時間をパラメータとする制御形態に戻る。すなわち、図6(A)のKon1〜Kon2では、時間(楽音の発音から消滅までの時間)又は時刻(発音タイミング)により楽音パラメータを制御し、クロスフェード時間CFt中(Kon2からL1=0になるまでの時間)は、パッド変位量又は鍵盤装置の変位値によって、楽音パラメータを制御し、さらに、クロスフェード時間CFtの後(L1=0以降)からALL RESETとなるまでは、時間又は時刻による楽音パラメータ制御に戻る。
図6(B)は、クロスフェード時間CFt中にユーザがパッド9pに与える力を変化させた場合の合成比率の変化の一例を表すグラフである。
この例では、クロスフェード処理開始後(キーオフトリガ信号Kon2発生後)に、ユーザがパッド9pに与える力を一旦弱めて、その後、また与える力を強めた場合を示す。このような場合は、図に示すようにユーザがパッド9pに与える力を弱めたのに応じて、一旦減衰したオン波形W1のレベルD1が再度上昇し、再度力を強めたのに応じてオン波形W1のレベルが下降する。この時、オフ波形W2のレベルは、オン波形W1のレベルと対称的に上下動する。
本実施例によれば、このように、ユーザがパッド9pに与える力を変化させることにより、各波形の合成比率を変化させ、オン波形W1及びオフ波形W2の減衰率を上下させることができる。また、一旦弱まった波形のレベルを復活させることができる。すなわち、ユーザがパッド9pに与える力(パッド体の変位値)に従い、オン波形W1及びオフ波形W2の合成比率を制御することができる。
なお、オン波形W1及びオフ波形W2の合成波形のエンベロープ(減衰率)REは、各波形の合成比率にかかわらず一定に保つことも出来るし、変化させることもできる。減衰率REを一定に保つ場合は、各波形の合成比率の合計が常に1となるように合成する。
図6(C)は、オン波形W1及びオフ波形W2の合成波形のエンベロープ(減衰率)REを、オン波形W1及びオフ波形W2の合成比率の変化に伴い変化させる場合の例を示すグラフである。
図6(A)及び図6(B)に示した例では、各波形の合成比率の合計が常に「1」になるようにしたので、オン波形W1(オフ波形W2)の合成比率の変化に連動してオフ波形W2(オン波形W1)の合成比率が変化するようにしたが、図6(C)に示す例では、各波形の合成比率の合計は、一定ではなく、及びオフ波形W2の合成比率は、それぞれ独立して変化する。
この例では、オフ波形W2の合成比率の変化を徐々に上げるように一定に保ち、オン波形W1の合成比率をパッド体の変位値に従い変化させるようにしている。この場合、クロスフェード処理開始後(キーオフトリガ信号Kon2発生後)に、ユーザがパッド9pに与える力を強めると、図中D2として示すようにオン波形W1の合成比率の減少率のみが増加し、DRとして示すように全体の音量が低下する。その後、ユーザが、パッド9pに与える力を弱める(又はパッド9pから手を離す)と、オン波形W1の合成比率の減少率が低下し、全体の音量が復帰する。以上のように、D1、D2、DRに示すように、クロスフェード領域内においては、変位というファクターが、楽音の制御をつかさどっている。
実際の金属系打楽器では、演奏者が、演奏動作(スティック等で叩く)を行った後に、手で振動している箇所を軽く触り、その後、直ぐに手を離すと、一旦減衰して小さくなった楽器音は、手を離すことにより、また復帰する。この例では、ユーザのパッド9pへの接触に応じて一旦全体の音量を下げ、その後、パッド9pに与える力を弱める(又はパッド9pから手を離す)弱めることにより全体の音量を元のレベル又はその近くに復帰させることができるため、実際の金属系打楽器で起こる上記現象をシミュレートすることができる。
図7は、本実施例によるメインルーチンを表すフローチャートである。このメインルーチンは、電子楽器1の電源投入後、電源切断時まで、繰り返し起動される処理である。なお、以下の説明では、任意の操作子チャンネル(n)についてのみ説明するが、このメインルーチンは、全ての操作子チャンネルについて行われる。
ステップSA1で、メインルーチンを開始し、ステップSA2で、初期設定を行う。この初期設定には、操作子チャンネル(n)に関する各種フラグ、レジストデータ、バッファ等のリセット及び音源部等の初期化が含まれる。なお、合成比率(レート値)L1(n)は、初期値「1」に設定され、レート値L2(n)は、初期値「0」に設定される。
ステップSA3では、操作子チャンネル(n)の走査を行い、操作子チャンネル(n)に対応する演奏操作子9に対する演奏操作を検出する。ステップSA4では、音源部からのオフ受信があるか否かを判断する。オフ受信が有る場合は、YESの矢印で示すステップSA5に進み、オフ受信が無い場合は、NOの矢印で示すステップSA6に進む。
ステップSA5では、当該操作子チャンネルに関連するレジストデータをオールリセットする。その後、ステップSA3に戻る。すなわち、ステップSA4で、オフ受信をした操作子チャンネル(n)については、楽音の発音が終了したと判断できるので、その後の処理(クロスフェード処理等)を行う必要が無いので、オールリセットした後にステップSA3に戻る。
ステップSA6では、ステップSA3で走査した操作子チャンネル(n)でオンイベントがあるか、すなわち、ノートオントリガ信号(第1のトリガ信号)が発生したか否かを判断する。例えば、図3(A)の第1のセンサ91の発生する信号のエンベロープが所定値を超えたか否かを判断する。鍵盤装置の場合では、第1のセンサ48から発生される接点dのコンタクト信号有りか否かの判断と等価である。オンイベントが有る場合は、YESの矢印で示すステップSA7に進み、当該操作子チャンネル(n)の発音処理を進める。オンイベントが無い場合は、NOの矢印で示すステップSA10に進む。
ステップSA7では、ステップSA6で検出したオンイベントに対応する新たな発音処理を行うために、当該操作子チャンネル(n)のオフ処理を行う。ステップSA8では、操作子チャンネル(n)に対応する演奏操作子9の操作子操作強度(タッチデータ)を検出し、該検出したタッチデータをベロシティとして、レジストデータV(n)の値とする。例えば、図3(A)の第1のセンサ91の発生する信号のエンベロープの最大値MAX又は2点間の変化値をタッチデータとして検出する。鍵盤装置の場合は、接点c−d間時間差データをタッチデータとしてV(n)に取り込む。この時、時間差データを逆特性にテーブル変換した値をタッチデータとしてもよい。
ステップSA9では、V(n)、L1(n)の値及びKon1(n)を音源部10に送出する。音源部10では、これを受けて、オン波形W1を読み出し、発音を開始する。その後、ステップSA13に進み、メインルーチンを終了する。
一方、操作子オンイベント時ではない時に、ステップSA10では、ステップSA3で走査した操作子チャンネル(n)の変位が閾値(微値A)以上であるか否かを判断する。例えば、図3(A)の第2のセンサ92が検出するパッド体94の変位が閾値(微値A)以上であるか否かを判断する。ここで、微値Aは、他の操作子チャンネルに対応する演奏操作子9に対する演奏によって生じる電子楽器1の振動からおこるパッド体94の微妙な変位や、その他の誤動作を防ぐために設けられるマージンであり、非常に小さい値に設定される。操作子チャンネル(n)の変位が閾値(微値A)以上である場合は、キーオフトリガ信号Kon2が発生したものと判断して、YESの矢印で示すステップSA11に進む。鍵盤装置の場合のステップSA10の判断としては、第2センサ47から発生される接点bのオフイベントの有無判断と等価である。操作子チャンネル(n)の変位が閾値(微値A)以下である場合は、NOの矢印で示すステップSA13に進み、メインルーチンを終了する。ここで、パッド体94を発音の意志を持って打撃した場合、上記A値以上を第2センサが検出する可能性が高いが、同時に、ステップSA6において第1センサにてオンイベントありも検出するので、ステップSA10のルーチンを通らない。すなわち、第1センサオンイベントがないゆっくりしたパッドの変位が有る場合にステップSA10のルーチンを通る。
ステップSA11では、当該操作子チャンネル(n)に対応する音源部10の発音チャンネル(n)が現在発音中であるか否かを判断する。発音中である場合は、YESの矢印で示すステップSA12に進み、発音中で無い場合は、NOの矢印で示すステップSA13に進み、メインルーチンを終了する。
ステップSA12では、操作子変位始動フラグF(n)の値を「1」にして、キーオフトリガ信号Kon2を音源部10に送出する。なお、後述する図9に示すクロスフェード処理の変形例の場合は、ここで、操作子チャンネル(n)の変位値を表すストローク値SS(n)を合わせて音源部10に送出する。その後、ステップSA13に進み、メインルーチンを終了する。
図8(A)は、本実施例によるクロスフェード処理の一例を表すフローチャートである。このクロスフェード処理は、例えば、10μsごとに起動される割り込み処理である。なお、割り込み周期は、10μsに限らず、操作子演奏操作子9に対するユーザの演奏操作をリアルタイムでモニタすることが可能な周期、例えば、1μs〜4msの間に設定される。なお、以下の説明では、任意の操作子チャンネル(n)についてのみ説明するが、このクロスフェード処理は、全ての操作子チャンネルについて行われる。
ステップSB1では、クロスフェード処理をスタートして、ステップSB2では、操作子チャンネル(n)の走査を行い、操作子チャンネル(n)に対応する演奏操作子9に対する演奏操作を検出する。
ステップSB3では、操作子変位始動フラグF(n)の値が「1」であるか否かを判断する。F(n)の値が「1」である場合は、YESの矢印で示すステップSB4に進み、それ以外の場合は、NOの矢印で示すステップSB7に進んで、今回の割り込みタイミングによるクロスフェード処理を終了する。
ステップSB4では、当該操作子チャンネル(n)の変位値を表すストローク値を取得し、S(n)とする。鍵盤装置では、F(n)=1になった直後におけるステップSB4のS(n)値については、接点bオフイベントとしてのストローク値の代わりに、所定値S1を代入する。そして、数ns〜数百ms後のステップSB4での処理においては接点aオフイベントが発生するので、この時のストローク値の代わりに所定値S2(S2>S1)を代入する。つまり、パッドの場合のセンサ92については、S(n)のストローク値は多種の値を取り得るが、鍵盤装置において実施する場合は、2種の値しかとらない。ただし、センサ48をセンサ92と同様のフォトセンサに置き換えれば、パッドを用いた場合と同様の処理を行うことが可能である。その後、ステップSB5に進み、ステップSB4で取得したストローク値S(n)に基づき、例えば、図8(B)に示す変換テーブルを参照して、m1(n)及びm2(n)を算出する。
図8(B)に示す変換テーブルは、ストローク値S(n)をレート値m1(n)及びm2(n)に変換するためのテーブルであり、変換テーブルは、図に示すような直線的に変化するものに限らず、例えば、図8(C)に示すように曲線を描いて変化するものでもよい。また、これらに限らず、例えば、図6(B)及び図6(C)を用いて説明したようなクロスフェード態様となるようなものでもよい。
ステップSB6では、現在発生(発音)中のオン波形のレート値L1(n)をステップSB5で求めたm1(n)の値(L1(n)←m1(n))とし、現在発生(発音)中のオフ波形のレート値L2(n)をステップSB5で求めたm2(n)の値(L2(n)←m2(n))として、音源部10に送出する。その後、ステップSB7に進んで、今回の割り込みタイミングによるクロスフェード処理を終了する。
なお、図1を参照して前述したように、音源部10では、このステップSB6で送出されるレート値L1及びL2を受け取り、該レート値L1及びL2でオン波形W1及びオフ波形W2を乗算した後、双方を加算して、合成波形データとして出力する。
以上のように、本実施例のクロスフェード処理によれば、演奏操作子9の変位値に応じて、オン波形W1及びオフ波形W2の合成比率であるレート値L1及びL2を変更することができる。
図9(A)は、本実施例によるクロスフェード処理の変形例を表すフローチャートである。このクロスフェード処理は、例えば、10μsごとに起動される割り込み処理である。なお、割り込み周期は、10μsに限らず、操作子演奏操作子9に対するユーザの演奏操作をリアルタイムでモニタすることが可能な周期、例えば、1μs〜4msの間に設定される。なお、以下の説明では、任意の操作子チャンネル(n)についてのみ説明するが、このクロスフェード処理は、全ての操作子チャンネルについて行われる。
ステップSC1では、クロスフェード処理をスタートして、ステップSC2では、操作子チャンネル(n)の走査を行い、操作子チャンネル(n)に対応する演奏操作子9に対する演奏操作を検出する。
ステップSC3では、操作子変位始動フラグF(n)の値が「1」であるか否かを判断する。F(n)の値が「1」である場合は、YESの矢印で示すステップSC4に進み、それ以外の場合は、NOの矢印で示すステップSC10に進んで、今回の割り込みタイミングによるクロスフェード処理を終了する。
ステップSC4では、カウント値Tf(n)=Tf(n)+1とする。その後、ステップSC5に進み、カウント値Tf(n)が、所定値を超えたか否かを判断する。カウント値Tf(n)が、所定値を超えた場合は、YESの矢印で示すステップSC6に進み、超えていない場合は、NOの矢印で示すステップSC7に進む。
ステップSC6では、前回の割り込みタイミングによるクロスフェード処理において取得したストローク値S(n)と、図7のステップSA12で送出されるストローク値SS(n)との差分の絶対値(|S(n)―SS(n)|)、すなわちオフベロシティに基づき、m11(n)及びm22(n)を変更する。なお、m11(n)の初期値は、「1」であり、m22(n)の初期値は「0」である。また、m11(n)及びm22(n)の変更は、例えば、図9(B)又は図9(C)に示すテーブルを参照して行われる。
ステップSC7では、当該操作子チャンネル(n)の変位値を表すストローク値を取得し、S(n)とする。その後、ステップSC8に進み、ステップSC7で取得したストローク値S(n)に基づき、例えば、図8(B)又は図8(C)に示す変換テーブルを参照して、m1(n)及びm2(n)を算出する。
ステップSC9では、現在発生(発音)中のオン波形のレート値L1(n)をステップSC8で求めたm1(n)の値にステップSC6で求めたm11(n)の値を乗算したもの(L1(n)←m1(n)*m11(n))とし、現在発生(発音)中のオフ波形のレート値L2(n)をステップSC8で求めたm2(n)の値にステップSC6で求めたm22(n)の値を乗算したもの(L2(n)←m2(n)*m2(n))として、音源部10に送出する。その後、ステップSC10に進んで、今回の割り込みタイミングによるクロスフェード処理を終了する。
なお、図1を参照して前述したように、音源部10では、このステップSC10で送出されるレート値L1及びL2を受け取り、該レート値L1及びL2でオン波形W1及びオフ波形W2を乗算した後、双方を加算して、合成波形データとして出力する。
なお、ステップSC6で、図9(C)に示すテーブルを用いる場合は、オフベロシティが小さい場合、すなわち、ユーザがパッド体94に軽く触れただけである場合は、m11(n)の値は、「1」であり、オフベロシティが大きくなるに従い、m11(n)の値が、小さくなっていく。
以上のように、本実施例のクロスフェード処理の変形例によれば、演奏操作子9の変位値に応じて、オン波形W1及びオフ波形W2の合成比率であるレート値L1及びL2を変更することができるとともに、演奏操作子9の変位量(オフベロシティ)に応じてさらに細かくレート値L1及びL2を変更することができる。
以上、本発明の実施例によれば、キーオントリガ信号Kon1発生時にオン波形W1を発生させ、消音動作(キーオフトリガ信号Kon2の発生)が無ければオン波形W1のみで消音終了することができ、オン波形W1の発生(発音)中に、キーオフトリガ信号Kon2の発生があれば、クロスフェード処理により徐々にオン波形W1からオフ波形W2に切り替えることができる。
また、クロスフェード処理においては、パッド9p等の演奏操作子9を手やスティック等で接触又は押圧することで生じる変位によって、該処理中のオン波形W1からオフ波形W2に切り替えるための合成比率を制御することができる。したがって、強く押圧した後、直ぐに手を離すことにより、オン波形W1を甦らせる事ができる。
つまり、本発明の実施例によれば、例えば、シンバルを強打した後、手で軽く止め、また直ぐに手を離した場合に鳴る弱い楽音をシミュレートすることができる。また、ガムランのように、発音動作と消音動作を組み合わせて演奏する楽器の演奏を電子打楽器において実現することができる。
よって、キーオン制御後、発生した楽音を単に減衰させる電子楽器に比べて、さまざまな演奏手法による演奏が可能であり、電子楽器を使った演奏の表現力を向上させることができる。
なお、上述の図8及び図9に示すクロスフェード処理では、パッド9pを用いた電子打楽器を想定して説明したが、鍵盤装置9kを用いた電子鍵盤楽器に適用することができる。鍵盤装置9kを用いる場合は、キーオフベロシティの値からストローク値を求めるようにすることもできる。
また、鍵盤装置9kに、パッド9pと同様の第2のセンサ(フォトセンサ)92を設けることにより、鍵の変位値を検出させ、ストローク値として用いることもできる。
なお、本実施例では、m1(n)、m2(n)、m11(n)、m22(n)の値をそれぞれテーブルを参照して決定したが、これらの値は、演算により求めるようにしてもよい。その場合には、例えば、それぞれの参照するテーブルに対応する関数を予め用意しておき、それを用いて演算する。
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
1…電子楽器、2……バス、3…CPU、4…タイマ、5…RAM、6…ROM、7…表示部、8…設定操作子、9…演奏操作子(操作子手段)、10、20…音源部(楽音生成手段)、11…サウンドシステム、12…記憶部、13…演算部(合成制御手段)、14…加算部(合成手段)、15…フィルタ(フィルタ手段)、21…鍵、22…棚板部、23…鍵支持部、41…支持部、43…質量体、44…力伝達部、45、46…アクチュエータ部、47、92…第2のセンサ、48、91…第1のセンサ、90…支持体、94…パッド体、95…パッド体保持部材