(57)【要約】【課題】音色の連続性がよいレガート演奏が可能な楽音信号発生装置及びレガート処理プログラムを提供すること。【解決手段】押鍵情報により指定された楽音波形データの振幅をエンベロープ波形に従って変化させて出力する２つの楽音信号生成手段と、レガート開始レベル及びレガートスロープを供給するパラメータ供給手段とを備え、第１の押鍵に応じて第１の楽音生成手段が楽音信号を出力している間に、第２の押鍵があった場合、前記第１の波形生成手段が出力を０にし、第２の波形生成手段が、エンベロープ波形を、レガート開始レベル（ＬＥＶＥＬ）から第２の押鍵時に発音中のレベル（Ｌ０）までレガートスロープ（ＳＬＯＰＥ）の間に立ち上がり、第１の押鍵に対するエンベロープ波形と同じレベル（点Ｊ）になるまで平行に変化（線分ＩＪ）し、その後第１の押鍵に対するエンベロープ波形と同じ変化（折れ線ＪＤＥ）をするように決定する。【選択図】  図５
2004361528.tif 000002
【特許請求の範囲】
【請求項１】
押鍵情報により指定されたピッチの楽音波形データを発生し、該楽音波形データの振幅レベルを所定のエンベロープ波形に従って変化させ、楽音信号を出力する２つの楽音信号生成手段と、
レガート開始レベル及びレガートスロープを供給するパラメータ供給手段とを備え、
第１の押鍵情報に応じて第１の楽音生成手段が第１の楽音信号を出力している間に、第２の押鍵情報が与えられた場合に、
その時点での前記第１の楽音信号生成手段における第１のエンベロープ波形の振幅値を目標値として、前記レガート開始レベルに応じたレベル値から、前記レガートスロープに応じた立ち上がり特性で、第２の楽音信号生成手段において第２のエンベロープ波形を立ち上げ、第２の楽音信号を出力することを特徴とする楽音信号発生装置。
【請求項２】
前記レガート開始レベル及び／又は前記レガートスロープを設定する手段をさらに備えていることを特徴とする請求項１に記載の楽音信号発生装置。
【請求項３】
楽音信号発生装置に、
第１の押鍵情報に応じて第１の楽音信号を出力している間に、第２の押鍵情報が与えられた場合に、
その時点での前記第１の楽音信号に対する第１のエンベロープ波形の振幅値を目標値として決定する機能、及び
所定のレガート開始レベルから前記目標値まで、所定の立ち上がり特性で、前記第２の押鍵情報に対応する第２の楽音信号に対する第２のエンベロープ波形を立ち上げ、前記第２の楽音信号を出力する機能を実現させることを特徴とするレガート処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レガート演奏が可能な楽音信号発生装置及びレガート処理プログラムに関する。
【０００２】
【従来の技術】
従来から実公平７−１７１１６号公報などにおいて、レガート演奏が可能な電子楽器が知られている。レガート演奏可能な電子楽器では、演奏中に、演奏用操作子（鍵盤型楽器の鍵など）が操作されている状態で、さらに別の演奏用操作子が操作されると、例えば、前の楽音のリリース部と後の楽音のアタック部とをなくして滑らかにつなぐ制御を行う。尚、本明細書中においては、レガート演奏の用語を、ポルタメント演奏と区別するためではなく、ポルタメント演奏をも含むものとして使用する。
【０００３】
【特許文献１】
実公平７−１７１１６号公報
【０００４】
【発明が解決しようとする課題】
レガート演奏において、先行楽音から後続楽音につなぐ場合、後続楽音を急激に立ち上げると、後続の操作子の操作が成されるタイミングでアタックノイズが発生し、波形や音色変化の連続性が悪くなる。
【０００５】
一方、アタックノイズを避けるために、後続楽音の立ち上がりを緩やかにすると、演奏用操作子の操作とそれに対応する楽音の発音との間に時間差が生じてしまい、演奏者に違和感を与える。レガートモードで演奏用操作子が操作された場合、可能な限り素早く後続音に切り換えることが望ましい。
【０００６】
本発明は、上記の問題に対して、音色の連続性がよいレガート演奏が可能な電子楽器などの楽音信号発生装置及びレガート処理プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の目的は、以下の手段によって達成される。即ち、本発明に係る第１の楽音信号発生装置は、押鍵情報により指定されたピッチの楽音波形データを発生し、該楽音波形データの振幅レベルを所定のエンベロープ波形に従って変化させ、楽音信号を出力する２つの楽音信号生成手段と、レガート開始レベル及びレガートスロープを供給するパラメータ供給手段とを備え、第１の押鍵情報に応じて第１の楽音生成手段が第１の楽音信号を出力している間に、第２の押鍵情報が与えられた場合に、その時点での前記第１の楽音信号生成手段における第１のエンベロープ波形の振幅値を目標値として、前記レガート開始レベルに応じたレベル値から、前記レガートスロープに応じた立ち上がり特性で、第２の楽音信号生成手段において第２のエンベロープ波形を立ち上げ、第２の楽音信号を出力することを特徴としている。
【０００８】
また、本発明に係る第２の楽音信号発生装置は、上記の第１の楽音信号発生装置において、前記レガート開始レベル及び／又は前記レガートスロープを設定する手段をさらに備えていることを特徴としている。
【０００９】
また、本発明に係るレガート処理プログラムは、楽音信号発生装置に、第１の押鍵情報に応じて第１の楽音信号を出力している間に、第２の押鍵情報が与えられた場合に、その時点での前記第１の楽音信号に対する第１のエンベロープ波形の振幅値を目標値として決定する機能、及び所定のレガート開始レベルから前記目標値まで、所定の立ち上がり特性で、前記第２の押鍵情報に対応する第２の楽音信号に対する第２のエンベロープ波形を立ち上げ、前記第２の楽音信号を出力する機能を実現させることを特徴としている。
【００１０】
【発明の実施の形態】
以下、本発明に係る実施の形態に関して、添付図面を参照して説明する。図１は、本発明の実施の形態に係る楽音信号発生装置の内部構成を示すブロック図である。本楽音信号発生装置は、全体を制御する中央処理装置（以下、ＣＰＵと記す）１と、メモリ２と、楽音信号発生装置の演奏モードなどを設定するためのコントロールパネル３と、演奏に使用されるキーボード４と、楽音を生成する音源部５と、音源部５から出力される楽音信号（電気信号）を音として出力するアンプ及びスピーカからなるサウンドシステム（以下、ＳＳと記す）１０と、各部の間で情報を交換する通信バス１１とを備えている。音源部５は、キーボード４の鍵に対応する複数の楽音の波形データを記録した波形メモリ６と、波形メモリ６から所定のピッチで波形データを読み出す第１及び第２の波形読出部７ａ、７ｂと、所定のエンベロープ波形に従って入力信号を変化させる第１及び第２のエンベロープジェネレータ８ａ、８ｂと、加算部９とを備えている。音源部５は、このように２系統の波形生成手段を備えているので、２つの押鍵に対する楽音を並行して生成することができる。また、メモリ２は、制御プログラムを記録したＲＯＭ（図示せず）と、演奏条件や演奏中の状態を記録するフラグ、レジスタとして使用されたり、データ処理用のワークエリアとして使用されるＲＡＭ（図示せず）とを備えている。
【００１１】
図２は、本楽音信号発生装置の演奏方法を説明するフローチャートである。まず、図２に従って、本楽音信号発生装置の演奏の概要を説明する。
【００１２】
以下において、ＣＰＵ１は、演奏中に、キーボード４からの押鍵情報などの制御に必要なパラメータをメモリ２のＲＡＭに一時記録し、各ステップの処理においてそれらを適宜更新することとする。例えば、図３に示すように、レガート処理を有効にするレガートモードフラグＦＬＡＧ、レガート用パラメータであるレガート開始レベルレジスタＳＬＥＶＥＬ、レガートスロープレジスタＳＬＯＰＥ、押鍵から離鍵までの音量（波形データの振幅）の時間的変化を指定するエンベロープ波形を決定するためのＥＧパラメータレジスタ（アタック開始レベルＬａｓ、アタック時間Ｔａ、アタック終了レベルＬａｅ、ディケイ時間Ｔｄ、サステインレベルＬｓ、リリース時間Ｔｒ）、及び図１に示した２系統の波形生成手段に対応させて、押鍵フラグＫＯＮａ、ＫＯＮｂ、波形番号レジスタＷａ、Ｗｂ、ピッチレジスタＦａ、Ｆｂ、ＥＧレベルレジスタＬＥＶＥＬａ、ＬＥＶＥＬｂ、ＥＧ状態レジスタＳＴＡＴＥａ、ＳＴＡＴＥｂが、ＲＡＭに確保されている。また、ＣＰＵ１による各部に対する制御は、各部に装備されているレジスタに所定の値を書き込むことで行われ、各部はレジスタの値に応じた処理を行うこととする。また、特に断らない限り、ＣＰＵ１が行う処理として説明する。また、演奏条件は、モノモード、即ち、同時に複数の鍵が押された場合、最後に押された鍵に対応する楽音のみを発音するモードに設定されているとして説明する。
【００１３】
楽音信号発生装置の電源がオンされると、ステップＳ１において、メモリ２のＲＯＭから所定の制御プログラムを読出し、初期設定（メモリ２のＲＡＭへの所定値の設定）を行い、キーボード４の操作又はコントロールパネル３の操作を受け付ける状態になる。即ち、図３に示したレガートモードフラグＦＬＡＧに“０”を設定し、レガート処理で使用するレガート開始レベルレジスタＳＬＥＶＥＬ、レガートスロープレジスタＳＬＯＰＥにそれぞれ所定の値を設定する。
【００１４】
ステップＳ２において、コントロールパネル３が操作されたか否かを判断する。操作されていないと判断すれば、ステップＳ４に移行し、操作されたと判断すれば、ステップＳ３に移行して、コントロールパネル３の操作に対応するデータを取得し、ＲＡＭに記録する。これによって、演奏条件などが変更される。後述するレガート処理を行うレガートモードの設定（レガートモードフラグＦＬＡＧに“１”を設定）はここで行われる。
【００１５】
ステップＳ４において、レガートモードが設定されているか否かを判断する。この判断は、ＲＡＭに記録されたレガートモードフラグＦＬＡＧが“１”か“０”の何れであるかを判断することによって行なわれる。レガートモードがオフ（ＦＬＡＧ＝０）であれば、ステップＳ５において通常の発音処理が行われ、レガートモードがオン（ＦＬＡＧ＝１）であれば、ステップＳ６においてレガート処理が行われる。
【００１６】
ステップＳ５において、キーボード４が操作されると、キーボード４の機械的変化が電気信号（ディジタルデータ）に変換されて、通信バス１１を介してＣＰＵ１に伝送され、ＣＰＵ１は取得したデータをＲＡＭに記録する。例えば、所定の鍵が押されると、押鍵情報（押された鍵、押鍵の強度などの情報）がＣＰＵ１に伝送され、ＲＡＭに記録される。ＣＰＵ１は、取得した押鍵情報から対応する楽音の音高（ピッチ）Ｆｎ及び波形データを表す波形番号Ｗｎを決定し、ＲＡＭのバッファＦａ、Ｗａ（図３参照）に記録し、同時にその情報（ピッチＦｎ、波形番号Ｗｎ）を音源部５の波形読出部７ａのレジスタに設定する。波形読出部７ａが、波形メモリ６に記録されている複数の楽音データの中から波形番号Ｗｎに対応する波形データを、ピッチＦｎに応じたタイミングで読み出す。読み出された波形データは、エンベロープジェネレータ８ａによって所定のエンベロープ波形に従って振幅が変更された後、加算部９で他の信号と加算されてＳＳ１０に出力され、ＳＳ１０が音として出力する。通常の発音処理では、加算部９には、エンベロープジェネレータ８ａからの信号のみが入力されるので、加算部９からはエンベロープジェネレータ８ａの出力信号がそのまま出力される。
【００１７】
ここで、エンベロープ波形は、図３に示したＥＧパラメータで指定され、ＲＯＭに記録されたＥＧパラメータを読み出して、ＲＡＭの対応するレジスタに記録し、同時にエンベロープジェネレータ８ａのレジスタにもこれらの値を設定し、エンベロープジェネレータ８ａがレジスタに設定されたＥＧパラメータに基づいてエンベロープ波形を生成する。ここでは、アタック（ＡＴＴＡＣＫ）、ディケイ（ＤＥＣＡＹ）、サステイン（ＳＵＳＴＡＩＮ）、リリース（ＲＥＬＥＡＳＥ）の４つの期間から構成されるとし、上記したように次の６つのパラメータで指定する。
アタック開始レベルＬａｓ：発音を開始する振幅
アタック時間Ｔａ：発音開始から振幅が最大になるまでの時間
アタック終了レベルＬａｅ：最大振幅
ディケイ時間Ｔｄ：アタック期間の後に楽音が減衰する時間
サステインレベルＬｓ：楽音を持続する振幅
リリース時間Ｔｒ：離鍵から消音までの時間
楽音信号発生装置の種類、キーボードの鍵、波形メモリ６に記録されている波形データなどに応じて、これらのＥＧパラメータが予めメモリ２に記録されている。
【００１８】
ステップＳ６は、上記したようにレガートモードがオン（ＦＬＡＧ＝１）に設定されている場合に実行され、後述するように、押鍵による楽音の発音中に、新たに別の鍵が押された場合、発音中の楽音から切れ目なく、滑らかに後続する楽音につなぐ処理を行う。
【００１９】
最後に、ステップＳ７において、楽音信号発生装置の電源オフ等の終了指示があったか否かを判断し、終了指示があるまで、ステップＳ２〜Ｓ６の処理を繰り返す。
【００２０】
次に、図４、５を用いてステップＳ６でのレガート処理の詳細を説明する。図４は、レガート処理を示すフローチャートであり、図５は、第１〜第３鍵が押されるタイミングチャートとエンベロープ波形とを対応させて示した図である。図５の下側のタイミングチャートでは、押鍵された状態をハイレベル、押鍵されていない状態をローレベルで表し、第１〜第３鍵が順に押される様子を示しており、図５の上側のグラフでは、第１〜第３鍵の押鍵に応じてエンベロープ波形が変更される様子を示している。
【００２１】
図４のステップＳ１０において、キーボード４の鍵が押されたか否かを繰り返し判断し、押鍵されたと判断した場合、ステップＳ１１に移行する。
【００２２】
ステップＳ１１において、キーボード４から押鍵情報が伝送され、押された鍵に対応する波形番号Ｗｎ及びピッチＦｎを決定し、押鍵フラグが“０”になっている系統の波形番号レジスタ、ピッチレジスタに記録する（図３参照）。このとき、押鍵フラグＫＯＮａ、ＫＯＮｂが何れも“０”であれば、第１系統のレジスタ、即ち波形番号レジスタＷａ、ピッチレジスタＦａに記録する。例えば、図５において、第１鍵が押されたときには、発音中でないので、波形番号Ｗｎ及びピッチＦｎは波形番号レジスタＷａ及びピッチレジスタＦａに記録され、第２鍵が押されたときには、第１鍵の押鍵に対応する楽音を発音中（押鍵フラグＫＯＮａ＝１）であるので、波形番号Ｗｎ及びピッチＦｎは第２系統（押鍵フラグＫＯＮｂ＝０）のレジスタである波形番号レジスタＷｂ及びピッチレジスタＦｂに記録される。また、第３鍵が押されたときには、第２鍵の押鍵に対応する楽音を発音中（押鍵フラグＫＯＮｂ＝１）であるので、波形番号Ｗｎ及びピッチＦｎは第１系統（押鍵フラグＫＯＮａ＝０）のレジスタである波形番号レジスタＷａ及びピッチレジスタＦａに記録される。後述するようにステップＳ１５において、押鍵フラグをクリアするので、このステップＳ１１では押鍵フラグＫＯＮａ、ＫＯＮｂが共に“１”になっていることはなく、第１及び第２系統のレジスタが交互に使用される。
【００２３】
ステップＳ１２において、押鍵フラグＫＯＮａ、ＫＯＮｂ（図３参照）に基づき発音中か否かを判断する。即ち、押鍵フラグＫＯＮａ、ＫＯＮｂの何れか一方が“１”であれば発音中であると判断し、ステップＳ１３に移行し、押鍵フラグＫＯＮａ、ＫＯＮｂの何れも“０”であれば発音中でないと判断し、ステップＳ１７に移行する。
【００２４】
ステップＳ１３において、押鍵フラグが“１”になっている系統で読み出している波形データの波形番号が、ステップＳ１０で検出された新たな押鍵に対応する波形番号Ｗｎと同じであるか否かを判断する。波形番号が同じでなければステップＳ１４に移行して、後続する楽音に対して新たなエンベロープ波形を決定する処理を行い、同じであれば、新たなエンベロープ波形を決定する処理を行わずに、ステップＳ１８に移行する。例えば、図５において、第２鍵が押されたときには、既に第１鍵の押鍵によって発音中である楽音に対応する第１系統の波形番号レジスタＷａの値と、ステップＳ１１で設定された第２系統の波形番号レジスタＷｂの値（＝Ｗｎ）とを比較する。
【００２５】
ステップＳ１４において、現在発音中である系統（押鍵フラグが“１”）のエンベロープジェネレータ８ｉから、発音中の楽音のエンベロープレベル及びエンベロープの状態（ディケイ、サステインなど）を取得し、発音中でない系統（押鍵フラグが“０”）に対応するＥＧレベルレジスタＬＥＶＥＬｊ及びＥＧ状態レジスタＳＴＡＴＥｊに設定し、同時に押鍵フラグＫＯＮｊを“１”にする。ここで、ｉ、ｊはａ又はｂであり、ｉ≠ｊである。例えば、ＥＧ状態レジスタＳＴＡＴＥａ、ＳＴＡＴＥｂに各々２ビットを割り当て、アタック、ディケイ、サステイン、リリースをそれぞれ、“０”〜“３”で表す場合、図５において、第２鍵が押されたとき、第１鍵の押鍵によって第１系統の波形生成手段により発音中であるとすると、この発音中の楽音のエンベロープ波形の振幅レベル、即ち点ＦのレベルＬ０を第２系統のＥＧレベルレジスタＬＥＶＥＬｂに設定し、ＥＧ状態レジスタＳＴＡＴＥｂにディケイに対応する“１”を設定し、押鍵フラグＫＯＮｂを“１”にする。
【００２６】
ステップＳ１５において、発音中の楽音を消去する指示を音源部５に送信し、対応する押鍵フラグをクリア（“０”を設定）する。これによって、音源部５の発音中の系統のエンベロープジェネレータ８ｉ（ｉ＝ａ又はｂ）は、出力信号を所定の短時間内に速やかに“０”にする。例えば、図５に示すように、第２鍵が押されたとき、第１鍵の押鍵による発音中の楽音を線分ＦＧに沿って減少させ、第３鍵が押されたときには、第２鍵の押鍵による発音中の楽音を線分ＫＬに沿って減少させる。発音中の楽音のアタック期間に新たな押鍵があった場合には、発音中の楽音をアタック終了レベルＬａｅまで立ち上げた後、同様に速やかに“０”にする。発音中の楽音に対応する押鍵フラグがクリアされることによって、次回に上記したステップＳ１１〜Ｓ１３の処理を行う場合に、２つの押鍵フラグＫＯＮａ、ＫＯＮｂが共に“１”になっていることはない。
【００２７】
ステップＳ１６において、ステップＳ１４でＲＡＭのレジスタに設定したエンベロープレベル及びエンベロープ状態、即ちＥＧレベルレジスタＬＥＶＥＬｊ及びＥＧ状態レジスタＳＴＡＴＥｊの値と、予め設定されたレガート開始レベルＳＬＥＶＥＬ及びレガートスロープＳＬＯＰＥを使用して、押鍵に対するＥＧパラメータ（アタック開始レベルＬａｓ、アタック時間Ｔａ、アタック終了レベルＬａｅ、ディケイ時間Ｔｄ、サステインレベルＬｓ、リリース時間Ｔｒ）を決定し、対応するレジスタに記録し（図３参照）、且つ対応する系統のエンベロープジェネレータ８ｊに伝送する。具体的には、エンベロープジェネレータ８ｊが、新たなエンベロープ波形を、ＳＬＥＶＥＬからＬＥＶＥＬｊまでＳＬＯＰＥのレートで立ち上がり、その後はＥＧ状態レジスタＳＴＡＴＥｊに応じて発音中の楽音に対するエンベロープ波形に平行に変化し、発音中の楽音に対するエンベロープ波形と同じレベルになった後は、発音中の楽音に対するエンベロープ波形と同じになるように生成するように、ＣＰＵ１が新たなＥＧパラメータを決定する。
【００２８】
例えば、ＳＬＯＰＥを立ち上げ時間として設定する場合、図５において、第２鍵が押されたとき、この押鍵に対する新たなエンベロープ波形（図５に示した第２のエンベロープ波形）は、予め設定されたＳＬＥＶＥＬに対応する点Ｈから立ち上がり始め、ＳＬＯＰＥ時間の経過後にＥＧレベルレジスタＬＥＶＥＬｂの値“Ｌ０”（発音中の楽音のエンベロープレベル）まで、即ち点Ｉまで立ち上がり、その後、ＥＧ状態レジスタＳＴＡＴＥｂの値“１”（ディケイ期間を表す）によって、第１鍵の押鍵によって決定されているエンベロープ波形（図５に示した第１のエンベロープ波形）の状態を判断し、この第１のエンベロープ波形と同じレベルになるまで、第１のエンベロープ波形と平行に変化（ここでは、ディケイ期間であるので減衰）し、即ち点Ｊまで変化し、その後は第１のエンベロープ波形と同じ波形となる。従って、点Ｊの位置を決定すれば、第２鍵が押されたときからの第２のエンベロープ波形が決まる。よって、図５において、第２鍵が押されたとき、ＥＧパラメータは次のように設定される。サステインレベルＬｓ、リリース時間Ｔｒは既に設定されている値から変更されない。
アタック開始レベルＬａｓ＝ＳＬＥＶＥＬ
アタック時間Ｔａ＝ＳＬＯＰＥ
アタック終了レベルＬａｅ＝ＬＥＶＥＬｂ（＝Ｌ０）
ディケイ時間Ｔｄ＝点Ｉと点Ｊの時間間隔
【００２９】
同様に、図５において、第３鍵が押されたときには、第３鍵の情報が記録されている第１系統のレジスタを使用して、ＥＧパラメータは次のように設定される。サステインレベルＬｓ、リリース時間Ｔｒは既に設定されている値から変更されない。
アタック開始レベルＬａｓ＝ＳＬＥＶＥＬ
アタック時間Ｔａ＝ＳＬＯＰＥ
アタック終了レベルＬａｅ＝ＬＥＶＥＬａ（サステインレベルＬｓ）
ディケイ時間Ｔｄ＝０
【００３０】
発音中の楽音のアタック期間に新たな押鍵があった場合には、アタック期間の終了時点で、新たな押鍵があったものとして、同様に処理する。即ち、ＥＧパラメータは、アタック開始レベルＬａｓ＝ＳＬＥＶＥＬ、アタック時間Ｔａ＝ＳＬＯＰＥと設定されるが、その他のＥＧパラメータは既に設定されている値から変更されない。また、発音中の楽音のリリース期間に新たな押鍵があった場合にも、アタック開始レベルＬａｓ＝ＳＬＥＶＥＬ、アタック時間Ｔａ＝ＳＬＯＰＥと設定され、その他のＥＧパラメータは変更されない。従って、発音中の楽音のアタック期間又はリリース期間に新たな押鍵があった場合、後続楽音のエンベロープ波形は、アタック期間の設定が変更されるだけで、ディケイ期間以降の波形は発音中の楽音のＥＧパラメータで決定されるエンベロープ波形と同じになる。
【００３１】
ステップＳ１７では、発音中でないので、取得した波形番号Ｗｎに対応するＥＧパラメータをＲＯＭから読み出して、これをエンベロープジェネレータ８ａのレジスタに設定し、押鍵フラグＫＯＮａを“１”にする。これによって、エンベロープジェネレータ８ａがエンベロープ波形を生成する。
【００３２】
ステップＳ１８では、“１”が設定されている押鍵フラグＫＯＮｊに対応する波形番号レジスタＷｊ及びピッチレジスタＦｊを読み出し、対応する波形読出部７ｊ（ｊ＝ａ又はｂ）に対してこれらの値を伝送し、波形データの読出しを指示する。ここで、ステップＳ１１で新たな押鍵情報から決定した波形番号Ｗｎが、発音中の楽音の波形番号と同じである場合には、新たなエンベロープ波形の生成は行われずに、読み出しピッチのみ新しい値Ｆｎが使用されることとなる。
【００３３】
以上によって、発音中の楽音が消去され（ステップＳ１５）、発音中でない系統の波形読出部７ｊが、波形メモリ６から波形番号レジスタＷｊで指定される波形データを、ピッチレジスタＦｊの値に対応するピッチで読み出し、エンベロープジェネレータ８ｊが、ステップＳ１６又はＳ１７で決定されたエンベロープ波形に従って振幅を変化させる。従って、発音中の楽音から、切れ目なく、速やかに、且つ滑らかにつなげて後続する楽音を発音することができる。
【００３４】
以上では、予めレガートモードがオンの場合にレガート処理を行うことを説明したが、これに限定されない。例えば、レガートモードの設定手段を備えておらず、第１鍵の押鍵中に第２鍵が押された場合、常にレガート処理を行うようにしてもよい。また、シンセサイザーなどの発音の音色（楽器）を選択することができる場合には、レガート演奏又はポルタメント演奏が可能な音色が選択されたときにのみ、上記したレガート処理を行うようにしてもよい。
【００３５】
また、上記では、ステップＳ１６での後続楽音のエンベロープ波形の決定において、発音中の楽音のＥＧパラメータを使用してエンベロープ波形を決定する場合を説明したが、後続する押鍵情報から決定される波形番号に対応するＥＧパラメータを使用して、後続する楽音のエンベロープ波形を決定してもよい。
【００３６】
また、レガートスロープＳＬＯＰＥを時間で設定する場合を説明したが、これに限定されず、レガートスロープＳＬＯＰＥは後続楽音の立ち上がり特性を指定するものであればよい。例えば、レガートスロープＳＬＯＰＥは、後続楽音を立ち上げるスロープの傾きや角度などであってもよい。その場合、レガートスロープＳＬＯＰＥ及び立ち上げるべきレベル（レガート開始レベルＳＬＥＶＥＬと立ち上げ目標レベルであるＥＧレベルとの差）から、後続楽音の立ち上げ時間、即ちアタック時間Ｔａを決定すればよい。
【００３７】
また、レガート開始レベルＳＬＥＶＥＬ及びレガートスロープＳＬＯＰＥは変更可能であってもよい。発音中に他の鍵が押された場合に、後続楽音を、聴感上、ノイズにならない程度のレベルから可能な限り速やかに立ち上げることが望ましく、立ち上げ方とノイズ感の関係は音色によって異なるので、レガート開始レベルＳＬＥＶＥＬ及びレガートスロープＳＬＯＰＥを変更可能にしておくことで、楽音の連続性のよいレガート音、ポルタメント音を得ることができる。
【００３８】
また、メモリ２内のＲＯＭに制御プログラムが記録されている場合を説明したが、外部記録装置や通信ネットワークとのインターフェース部をさらに備え、コンピュータ用のハードディスクやＣＤ−ＲＯＭなどの記録媒体に制御プログラムや設定データなどを記憶させておき、インターフェース部を介してこれらをＲＡＭに読み込み、上記したレガート処理を行うようにしてもよい。また、通信ネットワークを介してサーバーコンピュータの記録装置に記録された制御プログラムや設定データなどを、インターフェース部を介してＲＡＭにダウンロードし、上記したレガート処理を行うようにしてもよい。
【００３９】
また、上記したレガート処理では少なくとも２つの波形生成手段があればよいが、波形生成手段は２つに限定されず、３つ以上の波形生成手段を備えていてもよく、鍵毎に波形生成手段を備えていてもよい。
【００４０】
また、波形生成手段（楽音信号生成手段）は、時分割手法によって複数の楽音を得るようにしてもよい。また、楽音波形の発生方式については、上記した波形メモリ読み出し方式に限定されず、演奏用操作子の操作に対応した楽音を発生することができる方式であれば、どのような方式であってもよい。
【００４１】
また、演奏手段としてキーボードを有する鍵盤型の楽音信号発生装置に関して説明したが、これに限定されず、金管楽器や木管楽器を模したピストンやキースイッチなどの演奏手段を有する楽音信号発生装置であってもよい。
【００４２】
また、サウンドシステム１０を備え、これによって発音する場合を説明したが、発音手段を備えていないＭＩＤＩコントローラなどであってもよい。
【００４３】
また、本発明に係る機能を実現するための処理の順序は、図２、４に示したフローチャートに限定されず、種々の変更が可能である。
【００４４】
【発明の効果】
本発明によれば、発音中の楽音から、聴感上、切れ目なく、速やかに、且つ滑らかにつなげて後続する楽音を発音することができる。従って、音色の連続性がよいレガート演奏が可能な楽音信号発生装置を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る楽音信号発生装置の内部構成を示すブロック図である。
【図２】本発明の実施の形態に係る楽音信号発生装置の演奏方法を示すフローチャートである。
【図３】本発明の実施の形態に係るレガート処理で使用するフラグ、レジスタの一例を示す図である。
【図４】本発明の実施の形態に係るレガート処理を示すフローチャートである。
【図５】本発明の実施の形態に係る楽音信号発生装置の押鍵タイミングとエンベロープ波形とを対応させて示す図である。
【符号の説明】
１    中央処理装置（ＣＰＵ）
２    メモリ
３    コントロールパネル
４    キーボード
５    音源部
６    波形メモリ
７ａ、７ｂ    波形読出部
８ａ，８ｂ    エンベロープジェネレータ
９    加算部
１０  サウンドシステム（ＳＳ）
１１  通信バス
【図１】
2004361528.tif 000003
【図２】
2004361528.tif 000004
【図３】
2004361528.tif 000005
【図４】
2004361528.tif 000006
【図５】
2004361528.tif 000007