(57)【特許請求の範囲】
【請求項１】
押鍵操作と離鍵操作が可能な演奏操作子による前記離鍵操作の速度を取得する取得部と、
前記速度を取得した前記離鍵操作が行われた後、前記取得した前記離鍵操作の速度に基づいて、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートを制御する制御部と、
を備えた楽音制御装置。
【請求項２】
前記制御部は、
前記取得した前記離鍵操作の速度が大きいほど、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートが大きくなるように制御する、請求項１記載の楽音制御装置。
【請求項３】
前記取得部は、前記押鍵操作に応答して発生するノートオンイベントに含まれる前記押鍵操作の速度情報であるオンベロシティを取得するとともに、前記離鍵操作に応答して発生するノートオフイベントに含まれる前記離鍵操作の速度情報であるオフベロシティを取得し、
前記制御部は、前記取得したオフベロシティに基づいて、前記ノートオフイベントの受信後に続くノートオンイベントの受信に応答して生成されるエンベロープの立ち上がりレートを決定する、
ことを特徴とする請求項１または２記載の楽音制御装置。
【請求項４】
ノートオフイベント受信時点からの経過時間を計時するオフカウンタを備え、
前記制御部は、前記オフカウンタにより計時されるノートオフイベント受信時点からの経過時間が所定時間以内にノートオンイベント受信が行われた場合に、前記取得したオフベロシティに基づいて、エンベロープの立ち上がりレートを決定することを特徴とする請求項３記載の楽音制御装置。
【請求項５】
前記制御部は、レート係数テーブルを有し、
オフベロシティに対応したレート係数を前記レート係数テーブルから取得するレート係数取得部と、前記取得されたレート係数を、発生すべき楽音の音色に対応付けられたレート値に乗算することによりエンベロープの立ち上がりレートを算出するレート算出部と、
を備えたことを特徴とする請求項３記載の楽音制御装置。
【請求項６】
楽音制御装置が、
押鍵操作と離鍵操作が可能な演奏操作子による前記離鍵操作の速度を取得し、
前記速度を取得した前記離鍵操作が行われた後、前記取得した前記離鍵操作の速度に基づいて、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートを制御する、楽音制御方法。
【請求項７】
コンピュータに、
押鍵操作と離鍵操作が可能な演奏操作子による前記離鍵操作の速度を取得する処理と、
前記速度を取得した前記離鍵操作が行われた後、前記取得した前記離鍵操作の速度に基づいて、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートを制御する処理と、
を実行させるプログラム。
【請求項８】
押鍵操作と離鍵操作が可能な演奏操作子と、
前記演奏操作子による前記離鍵操作の速度を取得する取得部と、
前記演奏操作子による前記押鍵操作と前記離鍵操作に応答して楽音の発音及び消音を制御する制御部と、
を備え、
前記制御部は、前記速度を取得した前記離鍵操作が行われた後、前記取得した前記離鍵操作の速度に基づいて、次に行われる前記押鍵操作に応答して発音する楽音のエンベロープの立ち上がりレートを制御する、電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音のエンベロープを制御可能な楽音制御装置、楽音制御方法、プログラム、および電子楽器に関する。
【背景技術】
【０００２】
鍵のタッチに応じて発生する楽音を修飾する技術が知られている。この種の技術として、例えば特許文献１には、鍵操作に応じてスイッチング動作して離鍵状態、中間状態および押鍵状態を表す信号を発生する接点スイッチを演奏操作子の各鍵に設け、この接点スイッチの信号が押鍵状態から中間状態を経て離鍵状態になるまでの離鍵時間を計時して得られる離鍵タッチデータに応じて、発生楽音に付与するエフェクト（トレモロ、コーラス、リバーブ、ディレイ）を制御する離鍵タッチレスポンス技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−１１８６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示の技術では、単に離鍵タッチに応じて、発生楽音に付与するエフェクトの強さや深さを制御するだけに留まり、離鍵の仕方で次の音の立ち上がりを制御することが出来ないという問題がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、離鍵の仕方で楽音のエンベロープを制御可能な楽音制御装置、楽音制御方法、プログラム、および電子楽器を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の楽音制御装置は、
押鍵操作と離鍵操作が可能な演奏操作子による前記離鍵操作の速度を取得する取得部と、
前記取得した前記離鍵操作の速度に基づいて、前記速度を取得した前記離鍵操作が行われた後、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートを制御する制御部と、
を具備することを特徴とする。
【０００７】
また、本発明の楽音制御方法は、
楽音制御装置が、
押鍵操作と離鍵操作が可能な演奏操作子による前記離鍵操作の速度を取得し、
前記速度を取得した前記離鍵操作が行われた後、前記取得した前記離鍵操作の速度に基づいて、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートを制御する、ことを特徴とする。
【０００８】
本発明のプログラムは、
コンピュータに、
押鍵操作と離鍵操作が可能な演奏操作子による前記離鍵操作の速度を取得する処理と、
前記速度を取得した前記離鍵操作が行われた後、前記取得した前記離鍵操作の速度に基づいて、次に行われる前記押鍵操作に応答して生成される楽音のエンベロープの立ち上がりレートを制御する処理と、
を実行させることを特徴とする。
【発明の効果】
【０００９】
本発明では、離鍵の仕方で次の音の立ち上がりを制御することが出来る。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態による電子楽器１００の構成を示すブロック図である。
【図２】ベロシティ取得部１４の機能を説明するための図である。
【図３】エンベロープ生成部１７ｃに格納されるエンベロープ属性テーブルＥＴの構成を示す図である。
【図４】エンベロープ生成部１７ｃに格納されるレート係数デーブルＲＴの構成を示す図である。
【図５】ＣＰＵ処理の動作を示すフローチャートである。
【図６】スイッチ処理の動作を示すフローチャートである。
【図７】鍵盤処理の動作を示すフローチャートである。
【図８】音源処理の動作を示すフローチャートである。
【図９】音源処理の動作を示すフローチャートである。
【図１０】音源処理の動作を説明する為の図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成
図１は、本発明の一実施形態である電子楽器１００の全体構成を示すブロック図である。この図において、本発明における処理部としてのＣＰＵ１０は、スイッチ部１１から出力されるスイッチイベントに応じて装置各部の処理動作を設定したり、後述の演奏操作子１３としての鍵盤から、発音・消音指示操作に基づいて出力される鍵盤情報やベロシティ取得部１４が発生するオン／オフベロシティに応じたノートオン／ノートオフイベントを生成して音源部１７に供給する。本発明の要旨に係わるＣＰＵ１０の特徴的な処理動作については追って詳述する。
【００１２】
スイッチ部１１は、操作パネルに設けられる電源スイッチや音色スイッチ、オフベロシティ反映スイッチなどの各種操作スイッチから構成され、操作されるスイッチ種に応じたスイッチイベントを発生する。スイッチ部１１が発生するスイッチイベントはＣＰＵ１０に取り込まれる。表示部１２は、例えば液晶表示パネルなどから構成され、ＣＰＵ１０の制御の下に、装置各部の設定状態や動作状態などを画面表示する。
【００１３】
演奏操作子１３としての鍵盤は、押離鍵操作に応じたキーオン／キーオフ信号および鍵番号を含む鍵盤情報を発生する。ベロシティ取得部１４は、演奏操作子１３を構成する鍵盤の各鍵毎に配設される鍵ＳＷ１、ＳＷ２を備え、押離鍵操作される鍵に配設される鍵ＳＷ１、ＳＷ２のオンオフタイミングから押鍵時のオンベロシティおよび離鍵時のオフベロシティを取得する。
【００１４】
ここで、図２を参照してベロシティ取得部１４が取得する押鍵時のオンベロシティおよび離鍵時のオフベロシティについて説明する。図２に図示するように、離鍵状態にある鍵を押鍵すると、押鍵操作に揺動する鍵の動きに従って先ず鍵ＳＷ１がオンとなった後に鍵ＳＷ２がオンとなるので、鍵ＳＷ１のオン時点から鍵ＳＷ２のオン時点までの時間を計時することで押鍵速度を表すオンベロシティを取得する。同様に、離鍵操作に揺動する鍵の動きに従って先ず鍵ＳＷ２がオフとなった後に鍵ＳＷ１がオフとなるので、鍵ＳＷ２のオフ時点から鍵ＳＷ１のオフ時点までの時間を計時することで離鍵速度を表すオフベロシティを取得する。
【００１５】
ＲＯＭ１５は、ＣＰＵ１０や音源部１７にロードされる各種制御プログラムを記憶する。なお、このＲＯＭ１４に格納される各種制御プログラムとは、後述するＣＰＵ処理と、当該ＣＰＵ処理からコールされるスイッチ処理および鍵盤処理の他、音源部１７にロードされる音源処理を含む。ＲＡＭ１６には、ＣＰＵ１０の処理に用いられる各種レジスタ・フラグデータが一時記憶される。
【００１６】
本発明における楽音発生装置に係る音源部１７は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の楽音信号生成部１７ａに相当する発音チャンネルを備える。この音源部１７では、内蔵する波形メモリに記憶される各種音色の波形データの内、ユーザ操作に応じてＣＰＵ１０が指定する音色の楽音波形データに基づいて当該ＣＰＵ１０から供給されるノートオン／ノートオフイベントに従って楽音波形信号を発生する。このために、音源部１７は、ＣＰＵ１０から供給されるノートオン／ノートオフイベントを受信するための受信部１７ｂを備えている。
【００１７】
そして音源部１７は、楽音信号生成部１７ａにより生成される楽音信号に付与すべきエンベロープを生成するエンベロープ生成部１７ｃを備える。このエンベロープ生成部１７ｃには、エンベロープ属性テーブルＥＴおよびレート係数テーブルＲＴを備えている。これらテーブルは、オフベロシティ反映モードである場合に参照される。オフベロシティ反映モードとは、離鍵の仕方で次の音の立ち上がりを制御するモードを指す。
【００１８】
オフベロシティ反映モード下におけるエンベロープ生成部１７ｃでは、後述するように、オルガンやハーモニカ等の持続音系の音色の楽音において、離鍵時のオフベロシティに応じて次押鍵で発音する楽音に付与すべきエンベロープの立ち上がりレートを制御する。これにより、例えばゆっくりと離鍵すれば次押鍵で発音する楽音の立ち上がりを緩やかにしたり、素早く離鍵すれば次押鍵で発音する楽音の立ち上がりを急峻にしたりすることで通常の持続音では得られない演奏効果を実現する。こうした本発明の要旨に係わる音源部１７、特にエンベロープ生成部１７ｃの特徴的な処理動作については追って詳述する。
【００１９】
ここで、図３および図４を参照して、エンベロープ生成部１７ｃのエンベロープ属性テーブルＥＴおよびレート係数テーブルＲＴの内容について説明する。図３は、エンベロープ属性テーブルＥＴの構成を示す図である。エンベロープ属性テーブルＥＴは、音色番号ＴＮで指定される音色波形のエンベロープ属性を表す立ち上がりレートＡＲ、立ち上がりレベルＡＬおよび立ち下がりレートＲＲから構成される。立ち上がりレートＡＲは、ノートオン時点から立ち上がりレベルＡＬに達するまでの時間を表す。立ち下がりレートＲＲは、ノートオフ時点の立ち上がりレベルＡＬから消音レベル「０」に達するまでの時間を表す。
【００２０】
次に、図４は、レート係数テーブルＲＴの一例を示す図である。レート係数テーブルＲＴは、直前オフベロシティ値（前離鍵時のエンベロープ値）を、次押鍵時の立ち上がりレートＡＲに反映させる係数を発生するテーブルである。この図に示す一例の場合、直前オフベロシティ値が中央値「６４」以上ならば「１」以上のレート係数ＲＣを発生し、一方、直前オフベロシティ値が中央値「６４」未満ならば「１」未満のレート係数ＲＣを発生する。
一方、音源部１７はさらに、オフカウンタ１７ｄを有する。このオフカウンタ１７ｄは、ノートオフ（離鍵）時点からの経過時間をカウントするカウンタであり、前離鍵から所定時間経過しているかどうかを判断するために用いられるものである。
【００２１】
再び図１を参照して実施形態の説明を進める。発音部１８は、音源部１７から出力される楽音データをアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【００２２】
Ｂ．動作
次に、図５〜図１０を参照して、上記構成による電子楽器１００の動作を説明する。以下では、ＣＰＵ１０が動作主体となるＣＰＵ処理、スイッチ処理および鍵盤処理の各動作について説明した後、音源部１７が動作主体となる音源処理の動作を説明する。
【００２３】
（１）ＣＰＵ処理の動作
図５は、ＣＰＵ１０が実行するＣＰＵ処理の動作を示すフローチャートである。電源スイッチ操作により電子楽器１００がパワーオンされると、ＣＰＵ１０は図５に図示するＣＰＵ処理を実行してステップＳＡ１に進み、装置各部を初期化するイニシャライズを実行する。そして、次のステップＳＡ２では、音色スイッチ操作で指定された音色番号を取得して音源部１７へ送付したり、オフベロシティ反映スイッチのオン操作に応じてモードフラグＭＦを「１」にセットしてオフベロシティ反映モードに設定したりするスイッチ処理を実行する。
【００２４】
続いて、ステップＳＡ３では、演奏操作子１３としての鍵盤の各鍵について鍵走査を行い、押鍵によるキーオン信号を検出すると、押鍵された鍵の鍵番号およびオンベロシティを含むノートオンイベントを作成して音源部１７へ送付し、一方、キーオフ信号を検出すると、離鍵された鍵の鍵番号およびオフベロシティを含むノートオフイベントを作成して音源部１７へ送付する鍵盤処理を実行する。
【００２５】
そして、ステップＳＡ４では、例えば表示部１２の表示画面に装置の動作状態や設定状態を表示する等の、その他の処理を実行した後、上記ステップＳＡ２に処理を戻。以後、装置電源がパワーオフされる迄、上記ステップＳＡ２〜ＳＡ４を繰り返し実行する。
【００２６】
（２）スイッチ処理の動作
次に、図６を参照してＣＰＵ１０が実行するスイッチ処理の動作について説明する。図６は、スイッチ処理の動作を示すフローチャートである。上述したメインルーチンのステップＳＡ２（図５参照）を介して本処理が実行されると、ＣＰＵ１０は図６に図示するステップＳＢ１に進み、音色スイッチが操作されたか否かを判断する。音色スイッチが操作されなければ、判断結果は「ＮＯ」になり、ステップＳＢ４に進む。
【００２７】
一方、音色スイッチが操作されると、上記ステップＳＢ１の判断結果が「ＹＥＳ」になり、ステップＳＢ２に進む。ステップＳＢ２では、音色スイッチの操作で指定された音色に割り当てられた音色番号を取得し、続くステップＳＢ３では、取得した音色番号を音源部１７へ送付してステップＳＢ４に進む。
【００２８】
ステップＳＢ４では、オフベロシティ反映スイッチをオン操作あるいはオフ操作の何れが為されたかを判別する。オフベロシティ反映スイッチは、オフベロシティ反映モードに設定するか否かを指定するスイッチである。オフベロシティ反映モードとは、消音の仕方で次の音の立ち上がりを制御するモードを指す。オフベロシティ反映スイッチをオン操作した場合には、ステップＳＢ５に進み、モードフラグＭＦを「１」にセットしてオフベロシティ反映モードに設定した後、ステップＳＢ７に進む。
【００２９】
これに対し、オフベロシティ反映スイッチをオフ操作した場合には、ステップＳＢ６に進み、モードフラグＭＦをゼロリセットしてオフベロシティ反映モードを解除した後、ステップＳＢ７に進む。そして、ステップＳＢ７では、例えば発生楽音に付加するエフェクト種を選択するエフェクト選択スイッチ操作など、その他のスイッチ処理を実行して本処理を終える。
【００３０】
このように、スイッチ処理では、音色スイッチ操作で指定された音色の音色番号を取得して音源部１７へ送付したり、オフベロシティ反映スイッチのオン操作に応じてモードフラグＭＦを「１」にセットしてオフベロシティ反映モードに設定したりする他、例えば発生楽音に付加するエフェクト種を選択する等の、その他のスイッチ操作に関する処理を実行する。
【００３１】
（３）鍵盤処理の動作
次に、図７を参照してＣＰＵ１０が実行するスイッチ処理の動作について説明する。図７は、スイッチ処理の動作を示すフローチャートである。上述したメインルーチンのステップＳＡ３（図５参照）を介して本処理が実行されると、ＣＰＵ１０は図７に図示するステップＳＣ１に進み、演奏操作子１３としての鍵盤の各鍵についてキーオン／キーオフ信号の有無を検出する鍵走査を行う。
【００３２】
続いて、ステップＳＣ２では、上記ステップＳＣ１で行われた鍵走査の結果に基づき鍵変化を判別する。押離鍵操作が行われず、鍵変化が生じなければ、ステップＳＣ２において鍵変化無しと判別して本処理を終えるが、押鍵操作によるキーオン信号を検出した場合には、後述のステップＳＣ３〜ＳＣ５を、離鍵操作によるキーオフ信号を検出した場合には、後述のステップＳＣ６〜ＳＣ７、ＳＣ５を実行する。以下、キーオン信号を検出した場合と、キーオフ信号を検出した場合とに分けて動作の説明を進める。
【００３３】
＜キーオン信号を検出した場合＞
押鍵操作によるキーオン信号を検出すると、ステップＳＣ２を介してステップＳＣ３に進む。ステップＳＣ３では、演奏操作子１３としての鍵盤から出力される鍵盤情報に含まれる鍵番号を取得すると共に、ベロシティ取得部１４からオンベロシティを取得する。次いで、ステップＳＣ４では、上記ステップＳＣ３で取得した鍵番号およびオンベロシティを含むノートオンイベントを作成し、続くステップＳＣ５では、作成したノートオンイベントを音源部１７へ送付して本処理を終える。
【００３４】
＜キーオフ信号を検出した場合＞
一方、離鍵操作によるキーオフ信号を検出すると、上記ステップＳＣ２を介してステップＳＣ６に進む。ステップＳＣ６では、演奏操作子１３としての鍵盤から出力される鍵盤情報に含まれる鍵番号を取得すると共に、ベロシティ取得部１４からオフベロシティを取得する。そして、ステップＳＣ７では、上記ステップＳＣ６で取得した鍵番号およびオフベロシティを含むノートオフイベントを作成し、続くステップＳＣ５では、作成したノートオフイベントを音源部１７へ送付して本処理を終える。
【００３５】
このようにＣＰＵ１０は、鍵盤処理において、演奏操作子１３としての鍵盤の各鍵について鍵走査を行い、押鍵によるキーオン信号を検出すると、押鍵された鍵の鍵番号およびオンベロシティを含むノートオンイベントを作成して音源部１７へ送付し、一方、キーオフ信号を検出すると、離鍵された鍵の鍵番号およびオフベロシティを含むノートオフイベントを作成して音源部１７へ送付する処理を実行する。
【００３６】
（４）音源処理の動作
次に、図８〜図１０を参照して音源部１７が実行する音源処理の動作について説明する。図８〜図９は、音源処理の動作を示すフローチャートである。図１０は、音源処理の動作を説明するための図である。なお、本処理では、ことわりが無い限り音源部１７が動作の主体となる。
【００３７】
音源部１７では、ステップＳＤ１において、ＣＰＵ１０側から何らかのデータを受信したか否かを受信部１７ｂが判断する。ＣＰＵ１０からのデータを受信していなければ、判断結果は「ＮＯ」になり、後述のステップＳＤ１７（図９参照）に進むが、ＣＰＵ１０より何らかのデータを受信部１７ｂが受信すると、判断結果が「ＹＥＳ」になり、ステップＳＤ２に進む。
【００３８】
ステップＳＤ２では、受信したデータが音色番号であるか否かを受信部１７ｂが判断する。受信したデータが音色番号であれば、判断結果は「ＹＥＳ」になり、次のステップＳＤ３に進む。ステップＳＤ３において、エンベロープ生成部１７ｃは、エンベロープ属性テーブルＥＴ（図３参照）を参照して、受信した音色番号に対応した音色波形のエンベロープ属性（立ち上がりレートＡＲ、立ち上がりレベルＡＬおよび立ち下がりレートＲＲ）を取得した後、後述のステップＳＤ１７（図９参照）に進む。
【００３９】
一方、受信したデータが音色番号でなければ、上記ステップＳＤ２の判断結果が「ＮＯ」になり、ステップＳＤ４に進む。ステップＳＤ４では、受信したデータがモードフラグＭＦであるか否かを判断する。受信したデータがモードフラグＭＦならば、判断結果は「ＹＥＳ」になり、ステップＳＤ５に進み、モードフラグＭＦを取得した後、後述のステップＳＤ１７（図９参照）に進む。
【００４０】
これに対し、受信したデータがモードフラグＭＦでなければ、上記ステップＳＤ４の判断結果は「ＮＯ」になり、ステップＳＤ６に進む。ステップＳＤ６では、受信部１７ｂで受信したデータがノートオンイベントであるか否かを判断する。受信したデータがノートオンイベントでなければ、判断結果は「ＮＯ」になり、図９に図示するステップＳＤ１３に進む。一方、受信したデータがノートオンイベントならば、判断結果は「ＹＥＳ」になり、ステップＳＤ７に進む。以下、受信したデータがノートオンイベントの場合と、ノートオフイベントの場合とに分けてエンベロープ生成部１７ｃでの動作説明を進める。
【００４１】
＜受信したデータがノートオンイベントの場合＞
受信部１７ｂで受信したデータがノートオンイベントであると、ステップＳＤ７に進み、受信したノートオンイベントに含まれる鍵番号およびオンベロシティを取得する。続いて、ステップＳＤ８では、上記ステップＳＤ５で取得したモードフラグＭＦが「１」、すなわち消音の仕方で次の音の立ち上がりを制御するオフベロシティ反映モードに設定されているかどうかを判断する。
【００４２】
オフベロシティ反映モードに設定されていれば、判断結果は「ＹＥＳ」になり、次のステップＳＤ９に処理を進める。ステップＳＤ９では、オフカウンタ値が所定値より小さいか否かを判断する。オフカウンタ値とは、後述するように、ノートオフ（離鍵）時点からの経過時間を計時するオフカウンタ１７ｄの値を指す。したがって、このステップＳＤ９では、前離鍵から所定時間経過しているかどうかを判断する。
【００４３】
オフカウンタ値が所定値より小さく、離鍵から所定時間経過していない状況ならば、判断結果は「ＹＥＳ」になり、ステップＳＤ１０に進む。ステップＳＤ１０では、データメモリ１７ｂに格納されるレート係数テーブルＲＴ（図４参照）から直前オフベロシティに対応するレート係数ＲＣを取得する。直前オフベロシティとは、後述するように、前離鍵ベロシティである。
【００４４】
次いで、ステップＳＤ１１では、上記ステップＳＤ３で取得した立ち上がりレートＡＲに、上記ステップＳＤ１０で取得したレート係数ＲＣを乗算して新たな立ち上がりレートＮＡＲを算出する。これにより前離鍵ベロシティを次押鍵の立ち上がりレートＮＡＲに反映させる。そして、次のステップＳＤ１２に進み、オンフラグＯＮＦを「１」にセットして発音中を表した後、図９に図示するステップＳＤ１７に処理を進める。
【００４５】
ステップＳＤ１７では、オンフラグＯＮＦが「１」、つまり発音中であるかどうかを判断する。ノートオン直後ならば、判断結果は「ＹＥＳ」になり、ステップＳＤ１８に進む。ステップＳＤ１８では、上記ステップＳＤ１１において算出した新たな立ち上がりレートＮＡＲと、上述のステップＳＤにおいて取得した立ち上がりレベルＡＬとに従って発音時のエンベロープを発生する。
【００４６】
続いて、ステップＳＤ１９では、楽音信号生成部１７ａが波形メモリ１７ａから音色番号で指定される音色の波形データを、鍵番号（音高）に対応した読み出し速度で読み出し、この読み出した波形データにオンベロシティの値（音量）を乗算して波形形成する。そして、ステップＳＤ２０では、この形成された波形に、上記ステップＳＤ１８においてエンベロープ生成部１７ｃで生成された発音時のエンベロープを乗算して楽音波形を発生し、続くステップＳＤ２１では、発生した楽音波形を楽音信号として発音部１８へ出力する。これにより、発音部１８が楽音を放音する。
【００４７】
次いで、ステップＳＤ２２では、エンベロープレベルが「０」以下、すなわち消音状態に達したか否かを判断する。消音状態に達していなければ、判断結果は「ＮＯ」になり、前述のステップＳＤ１に処理を戻す。以後、オンフラグＯＮＦが「１」の発音中であると、上記ステップＳＤ１７〜ＳＤ２２を繰り返して発音時エンロープに基づいて楽音波形を形成して発音を継続させる。
【００４８】
＜受信したデータがノートオフイベントの場合＞
そして、受信部１７ｂにて受信したデータがノートオフイベントであると、図９に図示するステップＳＤ１３の判断結果が「ＹＥＳ」になり、ステップＳＤ１４に進む。ステップＳＤ１４では、エンベロープ生成部１７ｃにより、受信したノートオフイベントに含まれる鍵番号およびオフベロシティを取得し、続くステップＳＤ１５では、離鍵からの経過時間を計時する為、オフカウンタ１７ｄをクリアしてスタートさせる。そして、ステップＳＤ１６では、上記ステップＳＤ１４において取得したオフベロシティを直前オフベロシティに設定する。
【００４９】
この後、ステップＳＤ１７に進み、オンフラグＯＮＦが「１」、つまり発音中であるかどうかを判断する。ノートオフ直後ならば、判断結果は「ＹＥＳ」になり、ステップＳＤ１８に進む。ステップＳＤ１８では、エンベロープ生成部１７ｃは前述のステップＳＤ３においてエンベロープ属性テーブルＥＴから取得した音色番号に対応する立ち下がりレートＲＲに従って消音時のエンベロープを発生する。
【００５０】
続いて、ステップＳＤ１９〜ＳＤ２１では、楽音信号生成部１７ａは、消音時のエンベロープに従って消音過程の楽音波形を発生させ、エンベロープレベルが「０」以下の消音状態に達すると、ステップＳＤ２２の判断結果が「ＹＥＳ」になり、ステップＳＤ２３に進み、オンフラグＯＮＦをゼロリセットして消音状態を表した後、前述のステップＳＤ１に処理を戻す。
【００５１】
このように、エンベロープ生成部１７ｃにおいては、前離鍵時に取得したオフベロシティを直前オフベロシティとし、当該前離鍵から所定時間以内に行われる次の押鍵において、レート係数テーブルＲＴ（図４参照）から取得した直前オフベロシティに対応するレート係数ＲＣを、発生楽音の音色に対応付けられた立ち上がりレートＡＲに乗算し、これにより得られる新たな立ち上がりレートＮＡＲおよび発生楽音の音色に対応付けられた立ち上がりレベルＡＬに従った発音時エンベロープを生成し、楽音信号生成部はこのエンベロープに対応した楽音信号を生成する。
【００５２】
したがって、図１０（ａ）に図示する一例のように、前離鍵のオフベロシティが大きければ、当該前離鍵から所定時間以内に行われる次押鍵の立ち上がりレートＡＲも大きくなり、一方、図１０（ｂ）に示すように前離鍵のオフベロシティが小さければ、当該前離鍵から所定時間以内に行われる次押鍵の立ち上がりレートＡＲも小さくなる。
【００５３】
この結果、例えばゆっくりと離鍵すれば次押鍵で発生する楽音の立ち上がりを緩やかにしたり、素早く離鍵すれば次押鍵で発生する楽音の立ち上がりを急峻にしたりするので、離鍵の仕方で次の音の立ち上がりを制御することが出来る。なお、音の立ち上がりを制御することで発生楽音の倍音成分が変化し、これにより離鍵の仕方で次押鍵で発音する音に音色変化を付与することも可能になる。
【００５４】
本実施形態においては、押鍵時のエンベロープ立ち上がりレートは前離鍵のオフベロシティのみで決定しているが、この前離鍵のオフベロシティと押鍵時のオンベロシティとに基づいて決定するようにしてもよい。
【００５５】
以上、本発明の実施形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００５６】
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
（付記）
［請求項１］
受信されたノートオフイベントからオフベロシティを取得するオフベロシティ取得部と、
前記取得したオフベロシティに基づいて、前記ノートオフイベントの受信後に続くノートオンイベント受信に応答して生成されるエンベロープの立ち上がりレートを決定する決定部と、
を備えたことを特徴とするエンベロープレート決定装置。
【００５７】
［請求項２］
ノートオフイベント受信時点からの経過時間を計時するオフカウンタを備え、
前記決定部は、前記オフカウンタにより計時されるノートオフイベント受信時点からの経過時間が所定時間以内にノートオンイベント受信が行われた場合に、前記取得したオフベロシティに基づいて、エンベロープの立ち上がりレートを決定することを特徴とする請求項１記載のエンベロープレート決定装置。
【００５８】
［請求項３］
前記決定部は、レート係数テーブルを有し、
オフベロシティに対応したレート係数を前記レート係数テーブルから取得するレート係数取得部と、前記取得されたレート係数を、発生すべき楽音の音色に対応付けられたレート値に乗算することによりエンベロープの立ち上がりレートを算出するレート算出部と、を備えたことを特徴とする請求項１記載のエンベロープレート決定装置。
【００５９】
［請求項４］
オフベロシティ取得部と、決定部とを有するエンベロープレート決定装置に用いられるエンベロープレート決定方法であって、
前記オフベロシティ取得部が、受信されたノートオフイベントからオフベロシティを取得し、
前記決定部が、前記取得したオフベロシティに基づいて、前記ノートオフイベントの受信後に続くノートオンイベント受信に応答して生成されるエンベロープの立ち上がりレートを決定する、エンベロープレート決定方法。
【００６０】
［請求項５］
エンベロープレート決定装置として用いられるコンピュータに、
受信されたノートオフイベントからオフベロシティを取得するステップと、
前記取得したオフベロシティに基づいて、前記ノートオフイベントの受信後に続くノートオンイベント受信に応答して生成されるエンベロープの立ち上がりレートを決定するステップと、
を実行させるプログラム。
【００６１】
［請求項６］
請求項１乃至３のいずれかに記載のエンベロープ決定装置と、
前記エンベロープ決定装置により決定されたエンベロープの立ち上がりレートを有するエンベロープを生成するエンベロープ生成処理とを実行するエンベロープ生成部と、
を備えたエンベロープ生成装置。
【００６２】
［請求項７］
請求項６に記載のエンベロープ生成装置と、
前記エンベロープ生成装置にて生成されたエンベロープに従った楽音信号を生成する楽音信号生成部と
を備えた楽音発生装置。
【００６３】
［請求項８］
請求項７に記載の楽音発生装置と、
演奏操作子と、
前記演奏操作子による発音及び消音を指示する演奏操作に応答して、ノートオンイベント及びノートオフイベントを前記楽音発生装置に送信する処理部と、
を備えた電子楽器。
【符号の説明】
【００６４】
１０…ＣＰＵ
１１…スイッチ部
１２…表示部
１３…演奏操作子
１４…ベロシティ取得部
１５…ＲＯＭ
１６…ＲＡＭ
１７…音源部
１７ａ…楽音信号生成部
１７ｂ…受信部
１７ｃ…エンベロープ生成部
１７ｄ…オフカウンタ
１８…発音部
１００…電子楽器
【図１】
0006573100.tif 000002
【図２】
0006573100.tif 000003
【図３】
0006573100.tif 000004
【図４】
0006573100.tif 000005
【図５】
0006573100.tif 000006
【図６】
0006573100.tif 000007
【図７】
0006573100.tif 000008
【図８】
0006573100.tif 000009
【図９】
0006573100.tif 000010
【図１０】
0006573100.tif 000011