(57)【特許請求の範囲】
【請求項１】
１つのキーオン情報に基づき、複数の楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを、同時に書き込む制御手段と、
任意の楽音波形を記憶する波形記憶手段と、
制御手段から書き込まれ複数の楽音発生チャンネルに割り振られた制御パラメータに基づき、上記波形記憶手段からの楽音波形データの読出を行うと共に、この波形データにエンベロープの付与を行って楽音信号を生成する楽音信号生成手段と、
該楽音信号生成手段で楽音発生チャンネル毎に生成された楽音信号に基づいて楽音を発生する楽音発生手段とを少なくとも有しており、
前記制御手段が、制御パラメータとして、エンンベロープ値を略ゼロとしたフェイズを有するエンベロープを形成するエンベロープ係数と、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとする波形読出アドレスとを、楽音発生チェンネル毎に楽音信号生成手段に書き込むことを特徴とする電子楽器のキーオンディレイ効果付加装置。
【請求項２】
前記制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数は、複数のフェーズで構成され、各々のフェーズがスピードデータとフェーズ終了値データによりフェイズ毎のエンベロープを形成し、複数のフェーズによって一つのエンベロープを形成するものであって、少なくとも最初のフェーズのスピードデータが楽音発生チャンネル間で異なっていることを特徴とする請求項１記載の電子楽器のキーオンディレイ効果付加装置。
【請求項３】
前記制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数のうち、少なくとも最初のフェーズの目標値であるフェーズ終了値データを略ゼロとしたことを特徴とする請求項２記載の電子楽器のキーオンディレイ効果付加装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器のキーオンディレイ効果付加装置に関する。
【０００２】
【従来の技術】
合奏を行っているような楽音を発音できる所謂アンサンブル効果が得られる一つの方法として、キーオンディレイという処理がある。このキーオンディレイ処理は、通常、音高と音色が同じである楽音を２つの系列でそれぞれ発生させ、この時の一方の系列の楽音を他方の系列の楽音より遅らせて発音させることにより、両系列の楽音波形を位相を異ならせて発音させることにより、両系列の楽音波形の位相を異ならせて合奏の効果を得るようにしたものである（例えば特開平２−１８１７９５号参照）。
【０００３】
そのような構成の１つとして、上記特開平２−１８１７９５号に示される構成では、マイクロコントローラが楽音発生チャンネル毎のディレイタイムをカウントし、それぞれ異なるタイミングで、発音開始のための波形読出アドレスやエンベロープ係数を含む制御パラメータを送出し、キーオンディレイ効果を得ている。
【０００４】
また同様な効果を得るための構成として、特開平５−２１６４７９号に示されるものがあり、同号の構成では、マイクロコントローラは一度に複数の楽音発生チャンネルを起動し、それぞれの波形読出アドレスをずらし、ディレイタイムに対応する読出波形にはゼロを記憶したものにしておくことで、キーオンディレイ効果を得るようにしている。
【０００５】
【発明が解決しようとする課題】
特開平２−１８１７９５号の構成では、楽音を発生する音源ＬＳＩなどの楽音発生システムには負荷がかからず、シンプルな構成で済むが、マイクロコントローラに負担がかかり、高速なタイプを使用しても、楽音を発生できる楽音発生チャンネル数が限られてしまうという問題があった。
【０００６】
また特開平５−２１６４７９号の構成では、マイクロコントローラや音源ＬＳＩなどには負荷がかからないが、波形データの記憶のために波形メモリに必要とされる記憶容量が増大することになり、且つコスト高にもつながってしまう。
【０００７】
本発明は従来技術の以上のような課題に鑑み創案されたもので、マイクロコントローラや音源ＬＳＩなどには負荷がかからないようにして、できるだけ多くの楽音発生チャンネル数を確保できるようにし、且つ波形メモリに必要な記憶容量も少ないもので済む電子楽器のキーオンディレイ効果付加装置を提供せんとするものである。
【０００８】
【課題を解決するための手段】
そのため本発明の電子楽器のキーオンディレイ効果付加装置の構成は、
１つのキーオン情報に基づき、複数の楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを、同時に書き込む制御手段と、
任意の楽音波形を記憶する波形記憶手段と、
制御手段から書き込まれ複数の楽音発生チャンネルに割り振られた制御パラメータに基づき、上記波形記憶手段からの楽音波形データの読出を行うと共に、この波形データにエンベロープの付与を行って楽音信号を生成する楽音信号生成手段と、
該楽音信号生成手段で楽音発生チャンネル毎に生成された楽音信号に基づいて楽音を発生する楽音発生手段とを少なくとも有しており、
前記制御手段が、制御パラメータとして、エンンベロープ値を略ゼロとしたフェイズを有するエンベロープを形成するエンベロープ係数と、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとする波形読出アドレスとを、楽音発生チェンネル毎に楽音信号生成手段に書き込むことを基本的特徴としている。
【０００９】
上記構成では、制御手段により、楽音発生チャンネル毎に楽音信号生成手段にエンベロープ係数が書き込まれ、それによって生成されるエンベロープのフェイズを従来より１つ増やすことで、ｐｒｅ ｒｅａｄ ｐｈａｓｅを設ける。そのｐｒｅ ｒｅａｄ ｐｈａｓｅのエンベロープ値を略ゼロとするようにすれば、その間に読み出された波形データは、上記エンベロープ値（略ゼロ）と乗算された結果、略ゼロとして出力されることになる。またｐｒｅ ｒｅａｄ ｐｈａｓｅの間は、ちょうどディレイタイムに相当するので、そのエンベロープ値が乗算される楽音波形についても、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出すことで、ｐｒｅ ｒｅａｄ ｐｈａｓｅの間に読み出される楽音波形データはどんなものであっても上記乗算によって略ゼロとして出力され、特開平５−２１６４７９号のようにディレイタイムに対応する読出波形にゼロを記憶させなくても、楽音波形にディレイタイムが設定できるようになる。またＣＰＵなどの制御手段で、ディレイタイムを設定する必要がなくなり、その分だけ負荷が少なくなる。
なお、後述する実施の形態で示されるように、前記制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数は、複数のフェーズで構成され、各々のフェーズがスピードデータとフェーズ終了値データによりフェイズ毎のエンベロープを形成し、複数のフェーズによって一つのエンベロープを形成するものであって、少なくとも最初のフェーズのスピードデータが楽音発生チャンネル間で異なっているように設定されると良い。そして、制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数のうち、少なくとも最初のフェーズの目標値であるフェーズ終了値データを略ゼロとするのが望ましい。
【００１０】
【発明の実施の形態】
以下本発明の実施の形態を添付図面に基づき説明する。図１は本発明のキーオンディレイ効果付加装置の一実施形態の構成が適用された電子楽器のブロック図であり、この電子楽器は選択した音色に応じて所定の波形データを読み出して発音するようにした波形メモリ読出方式の電子楽器である。
【００１１】
本構成は、制御手段１と、波形記憶手段２と、楽音信号生成手段３と、楽音発生手段４とを有する構成であり、これらの構成はバス１００に接続され、上記電子楽器の構成として組み込まれている。さらにこのバス１００には、上記電子楽器の構成として必要な構成が接続されている。すなわち、鍵盤インターフェース１０１ａを介して鍵盤１０１が、パネルインターフェース１０２ａを介してパネルスイッチ１０２が、さらにＲＡＭ１０３とＲＯＭ１０４が当該バス１００に接続されている。その他、該バス１００には、ＭＩＤＩインターフェース１０５とディスクドライブ１０６とが接続されている。
【００１２】
鍵盤インターフェース１０１ａは、鍵盤１０１を走査することにより押鍵（キーオン）と離鍵（キーオフ）の各イベントを検出し、イベントのあった鍵のキーコードを出力する。
【００１３】
パネルスイッチ１０２は、複数種類の音色から所望の音色を選択するための音色選択スイッチとその他のスイッチを備えており、パネルインターフェース１０２ａはパネルスイッチ１０２の各スイッチ操作のイベントを検出する。
【００１４】
ＲＡＭ１０３は、プログラムを実行する時に必要なデータを一時的に記憶し、ワーキングメモリとしての役割を果たしている。
【００１５】
ＲＯＭ１０４は、楽音信号生成手段３に音色を指定するための音色データ、波形データの読出アドレスを指定するアドレス情報、エンベロープ波形生成用のエンベロープ係数、及び制御プログラムなどが記憶されており、制御手段１は、バス１００を介して各種情報のやりとりを行い、ＲＡＭ１０３内に設定されたレジスタ等を用いながらＲＯＭ１０３の制御プログラムに基づいて電子楽器全体の動作を制御する。
【００１６】
制御手段１は、全体の制御と演算処理を行うＣＰＵで構成されており、特に本構成では、キーオンディレイアサイナモードが起動されると、本キーオンディレイ効果付加装置が機能して、１つのキーオン情報に基づき、６４の楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを、同時に転送する機能を果たしている。
【００１７】
波形記憶手段２は、ＲＯＭで構成されており、図２に示すように、楽音波形をサンプリングして得た時系列な振幅情報からなる波形データが、複数種類の楽音について一続きに連続して記憶されている。図２は、波形ＲＯＭの記憶内容と読出アドレスとの関係を示しており、そこに例示されたものには、ストリングス、オルガン、ピアノなどがあるが、これらの波形形状は、ヘッド部分とループ部分とから成り立っている。そしてＡ、Ｂ、Ｃは読出スタートアドレスを、またＬＴはループトップアドレス、ＬＥはループエンドアドレスを各示している。
【００１８】
楽音信号生成手段３は、時分割多重化処理により６４音同時発音可能な音源ＬＳＩで構成され、制御手段１からバスを介して６４チャンネル分のアサインメントメモリ３０に転送され、６４の楽音発生チャンネルに割り振られた制御パラメータに基づき、上記波形記憶手段２からの楽音波形データの読出を行うと共に、この波形データにエンベロープの付与を行ってデジタル楽音信号を生成する。その詳細な構成については、後述する。
【００１９】
楽音発生手段４は、デジタル・アナログコンバータ４０とアンプ及びスピーカなどよりなるサウンド装置４１で構成されており、楽音信号生成手段３から出力されたデジタル楽音信号がデジタル・アナログコンバータ４０でＤ／Ａ変換されて、サウンド装置４１で楽音が発生させられる。
【００２０】
本構成では、上記楽音信号生成手段３と楽音発生手段４の間に、デジタルシグナルプロセッサＤＳＰ５が設けられており、前記制御手段１により送られた係数等を基に、デジタル楽音信号に対し、リバーブなどの各種サウンドイフェクトがかけられるようになっている。
【００２１】
上記楽音信号生成手段３は、図３に示すように、６４チャンネル分のアサイメントメモリ３０と、時分割処理を行う際に必要なクロックを供給するためのタイミングジェネレータ３１と、波形データ読出しのための波形読出アドレスを発生するＦナンバ累算器３２と、波形記憶手段２から読み出された波形データの補間処理及び高調波成分の調整のためのフィルタ処理を行うサンプリング補間フィルタ３３と、複数のフェーズからなるエンベロープを発生するエンベロープ累算器３４と、補間処理及びフィルタ処理の行われた読出波形にエンベロープを乗算する第１の乗算器３５と、エンベロープの乗算された読出波形にさらに２の補数を乗算する第２の乗算器３６と、出力された６４チャンネル分の楽音信号を累算する系列累算器３７とを有している。
【００２２】
上記構成で前記Ｆナンバ累算器３２は、波形記憶手段２に格納されている波形データを読み出すために、スタートアドレスに対して、Ｆナンバ加算値（Ｎ）の累算の結果得られるフリークゥエンシィアキュムレート値（ＦＡＣＣ）を加算して波形読出アドレスを決定し、これらをさらに６４チャンネル分時分割で発生する。この波形読出アドレスのうち、その整数部を波形記憶手段２に供給し、またその小数部をサンプリング補間フィルタ３３に出力する。サンプリング補間フィルタ３３は、波形記憶手段２から読み出された波形データに基づいて、波形アドレスの小数部に対応した波形サンプリング値を補間演算により算出し、さらに高調波成分の調整のためのフィルタ処理を行い、出力する。エンベロープ累算器３４は、スピードデータ（ＳＰＤ）を累算（加算・減算の場合を含む）して得られるエンベロープアキュムレート値（ＥＡＣＣ）とフェーズ終了値データ（ＰＥＰ）及びエンベロープが上昇するのか減衰するのかを決定する−／＋フラグデータ（−／＋）から６４チャンネル分の振幅エンベロープ信号を時分割で発生する。これらのＳＰＤデータ、ＰＥＰデータ或いは−／＋フラグデータは、ＲＯＭ１０４から制御手段１に読み出されて与えられるエンベロープ波形生成用のエンベロープ係数等の制御パラメータである。第１の乗算器３５は、サンプリング補間フィルタ３３の出力する波形サンプル値と振幅エンベロープ信号とを乗算する。さらに第２の累算器３６は、アサイメントメモリ３０から送出された２の補数をエンベロープの乗算された読出波形にさらに乗算し、１８０°位相をずらして波形出力を開始することができるようにすることで、相対的な振幅の大きさは小さくても（大きなダイナミックレンジを必要とせずに）、所定のラウドネスが得られるようにしている。系列累算器３６は、時分割出力される６４チャンネル分の楽音信号を累算し、全チャンネルの出力を合成する。
【００２３】
上記エンベロープ累算器３４は、フェーズ分割方式のエンベロープ発生器であり、本構成では、これによって生成されるエンベロープを、キーオン時にｐｈ０〜ｐｈ３の４フェーズ、キーオフ時にｐｈ４〜ｐｈ７の同じく４フェーズに分割している。図４に示すように、上述のアサイメントメモリ３０は、各チャンネル毎に、波形記憶手段２の波形データ読出用の領域と、エンベロープ制御用の領域と、ラウドネス用の領域と、ＦＡＣＣクリア、ｐｈクリア、ＥＡＣＣクリアなどの制御用フラグ及びフィルタ係数等の記憶領域に区分けされる。
【００２４】
そのうち波形データ読出用の領域は、波形データ読出のためのスタートアドレス（ＳＴａ、ＳＴｂ、ＳＴｃ）、Ｆナンバ加算値（Ｎ）、ループトップアドレス（ＬＴ）、ループエンドアドレス（ＬＥ）が記憶される。またエンベロープ制御用の領域には、キーオン時のｐｈ０〜ｐｈ３と、キーオフ時のｐｈ４〜ｐｈ７のそれぞれのフェーズにおいて、前述のスピードデータ（ＳＰＤ）とフェーズ終了値データ（ＰＥＰ）及び−／＋フラグデータ（−／＋）が記憶される。ラウドネス用の領域は、エンベロープのラウドネスをどの程度かけるのかを示す値が２の補数で記憶されている。本構成では、この２の補数を用いることにより、逆位相の波形を含めることができるようにし、それによりダイナミックレンジを大きくしなくてもラウドネスをかせげるようにしている。またＦＡＣＣクリア、ｐｈクリア、ＥＡＣＣクリアは、制御手段１により、その値を１とすることで、楽音信号生成手段３がそれを認識すると、それまでＦＡＣＣ、フェーズ、ＥＡＣＣを記憶していたレジスタはクリアされ、ＦＡＣＣやＥＡＣＣは０に、またフェーズはｐｈ０となる。
【００２５】
ここでは、上記エンベロープ制御用の領域に記憶された各フェーズにおける、スピードデータ（ＳＰＤ）とフェーズ終了値データ（ＰＥＰ）及びエンベロープが上昇する（＋で示される）のか減衰する（−で示される）のかを決定する−／＋フラグデータ（−／＋）、さらにＳＰＤの累算値であるエンベロープアキュムレート値（ＥＡＣＣ）との関係からどのようにエンベロープ波形が生成されるかについて以下に説明する。
【００２６】
図５（ａ）は、これらの関係を示す説明図であり、エンベロープ累算器３４内の演算は浮動小数点に則って行われており、エンベロープのフェーズデータは、指数部４ビット、仮数部１２ビットからなる。ＳＰＤデータは仮数部８ビットからなり、上記−／＋信号に従い加減算される。ＥＡＣＣデータは、指数部４ビット、仮数部１２ビットからなり、−／＋信号が０の時、すなわち”＋”の時、各チャンネル毎に時分割されたタイムスロットで、このＥＡＣＣデータにＳＰＤデータが加算されていく。ＰＥＰデータは、上記のＥＡＣＣデータの上位から７ビットに対応し、指数部４ビット、仮数部３ビットよりなり、ＥＡＣＣデータの上位７ビット（指数部４ビット、仮数部３ビット）と比較される。比較した結果、ＥＡＣＣデータ≧ＰＥＰデータとなっていれば、現在のフェーズから次のフェーズに移行する。以上は、−／＋信号が”０”すなわち”＋”の場合であるが、−／＋信号が”１”すなわち”−”の時は、ＥＡＣＣデータからＳＰＤデータが減算されると共に、ＥＡＣＣデータとＰＥＰデータが比較され、比較した結果、ＥＡＣＣデータ≦ＰＥＰデータとなっていれば、現在のフェーズから次のフェーズに移行する。そしてこのフェーズの移行によりエンベロープ波形が形成される。また−／＋信号が”１”の時リニア軸上で指数関数的形状になるように、−／＋信号が”０”の時直線的形状になるように、ＳＰＤデータを左シフトする。これにより、図５（ｂ）のような形状となる。
【００２７】
これらのエンベロープパラメータは、キーオン時のｐｈ０〜３の４つのフェーズと、キーオフ時のｐｈ４〜７の４つのフェーズからなり、エンベロープ累算器３４では各チャンネルのアサイメントメモリ３０中のｐｈクリアが１になると、上述したように、それまでのフェーズレジスタはクリアされ、ｐｈ＝０となり、ｐｈ０又はｐｈ４のパラメータが採用される。各チャンネルのフェーズレジスタは、制御手段１によりｐｈクリア＝１に設定することにより、キーオン時によってもクリアされるが、キーオフ時にもｐｈ０〜３の内容をキーオフフェーズであるｐｈ４〜７の値に書き換えた後にクリアされて、ｐｈ０に対応するエリアに記憶されたｐｈ４のパラメータが採用されることになる。
【００２８】
本構成では、エンベロープのフェイズを従来より１つ増やすことで、ｐｈ０のｐｒｅ ｒｅａｄ ｐｈａｓｅを設け、さらにそのｐｒｅ ｒｅａｄ ｐｈａｓｅによって、実質的にディレイタイムを創出させるため、そのエンベロープ値を略０とするようにする。その場合、エンベロープのフェーズデータは、Ｐｏｗｅｒ（指数）は２P-16で、またＭａｎｔｉｓｓａ（仮数）は１＋Ｍ／２12で表わされるため、このｐｒｅ ｒｅａｄ ｐｈａｓｅのエンベロープ値を略０とするためには、ｐｒｅ ｒｅａｄ ｐｈａｓｅのＰＥＰのＰｏｗｅｒは、同時に発音を開始させるべき複数のチャンネルのいずれでも、Ｐ≦８にしておけばよい。Ｍａｎｔｉｓｓａの値を一応０として、Ｐ＝８の時のエンベロープ値は、下式数１に示されるようになる。
【００２９】
【数１】
0003649906.tif 000002
【００３０】
この値はかなり小さな値であり、エンベロープの立ち上がり時には気にならないレベルである。但しもし発音する音色がフルート音のように高調波をほとんど含まず、立ち上がりもあまり早くない場合は、ｐｒｅ ｒｅａｄ ｐｈａｓｅのＰＥＰのＰｏｗｅｒは、Ｐ≦６とすれば、どんな場合にもまったく問題はない。
【００３１】
前述のように、ｐｒｅ ｒｅａｄ ｐｈａｓｅの間は、ちょうどディレイタイムに相当するので、そのエンベロープ値が乗算される楽音波形についても、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出すようにする（以下その間に読み出された波形をｐｒｅ ｒｅａｄ 波形という）。それによって、ｐｒｅ ｒｅａｄ ｐｈａｓｅの間に読み出される楽音波形データはどんなものであっても、ｐｒｅ ｒｅａｄ ｐｈａｓｅの間のほぼ０のエンベロープ値の乗算によって、略０として出力されようになり、楽音波形にディレイタイムが設定できるようになる。
【００３２】
すなわちディレイタイムは、上記ｐｒｅ ｒｅａｄ ｐｈａｓｅのＳＰＤデータとＰＥＰデータによって決定される（ＳＰＤデータが累算されたＥＡＣＣデータがＰＥＰデータ以上又は以下になった時点でフェーズが変わるため）が、同時に、図２に示すように、押鍵に基づく波形の読み出しスピード、すなわちＦナンバ加算値（Ｎ）とｐｒｅ ｒｅａｄ 波形の長さ、すなわちスタートアドレス（ＳＴａ、ＳＴｂ、ＳＴｃ）〜ループトップアドレス（ＬＴ）によっても決まることになり、本構成では、これらは等しくなければならない。
【００３３】
例えばディレイタイムが１０ｍｓであり、エンベロープ累算器３４のシステムクロック周波数が４０ＫＨｚ、すなわち１チャンネル当たりの演算周期が２５μｓとすると、１０ｍｓかけてｐｈ０のＥＡＣＣデータがそのＰＥＰデータに到達するためには、下式数２から、４００回の演算を必要とするように設定する必要がある。
【００３４】
【数２】
１０×１０3μｓ÷２５μｓ＝４００（回）
【００３５】
前記図５を参照して、ＰＥＰデータのＰｏｗｅｒ＝６、Ｍａｎｔｉｓｓａ＝０、−／＋＝０（＋）とするならば、ＥＡＣＣ＝６×２12でフェーズ転換点となるため、ＳＰＤデータとしては、下式数３のように、その値を上記演算回数４００で割った値となる。
【００３６】
【数３】
ＳＰＤ＝６×２12÷４００
【００３７】
このような値にしておけば、ｐｈ０の演算はほぼ１０ｍｓで終了し、その後ｐｈ１に移行し、正規のアタックフェーズを開始するので、エンベロープ値も急速に立ち上がり、補間の行われた読出波形にエンベロープを乗算する第１の乗算器３５による乗算結果の波形レベルも大きくなる。
【００３８】
他方、上述のように、波形データの読み出しに関しては、Ｆナンバ加算値（Ｎ）とｐｒｅ ｒｅａｄ 波形の長さを考慮して、ディレイタイム分、本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出さねばならない。その場合、波形ＲＯＭの記憶内容と読出アドレスとの関係を示す前記図２を参照して、図６に示されるピアノのアンサンブル効果を得るような例につき、説明する。
【００３９】
図６は、１つのキーオン情報に基づき、制御手段１が、３つの楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを同時に転送し、楽音信号生成手段３が、各楽音発生チャンネルに割り振られた制御パラメータに基づき、波形記憶手段２からの楽音波形データの読出を行った状態と、この波形データに乗算するエンベロープ波形の生成を行った状態と、これらの乗算により生成された楽音波形の状態を時系列的に示す波形データの推移説明図である。図面の一番上の（ａ）には、演奏者の鍵盤操作によるキーオン及びキーオフのタイミングが示されている。次の（ｂ）は、楽音発生チャンネルＴＧｃｈ１における、（ｃ）は、楽音発生チャンネルＴＧｃｈ２における、さらに（ｄ）は、楽音発生チャンネルＴＧｃｈ３における、夫々ピアノの読出波形、エンベロープ波形、第１の乗算器３５による波形出力の推移が示されている。（ａ）のキーオン・オフタイミングは、どのチャンネルも共通であり、制御手段１の負荷を軽くしている。
【００４０】
ＴＧｃｈ１では、Ｄｅｌａｙ０のディレイタイムはほぼ０であり、従って、ピアノの波形データの読み出しは図２のアドレスＡから行われる。またそのエンベロープ波形を構成するｐｈ０のｐｒｅ ｒｅａｄ ｐｈａｓｅ（エンベロープ値ほぼ０）の占有時間もほぼ０であり、従ってキーオンとほぼ同時にｐｈ１のアタックフェーズに移行する。またキーオフでｐｈ４のリリースフェーズに移行する。上記読み出し波形とエンベロープ波形の乗算出力は、図面に示すようになり、キーオンと同時に楽音が生成される。
【００４１】
ＴＧｃｈ２では、Ｄｅｌａｙ１のディレイタイムがあり、従って、ピアノの波形データの読み出しは図２のアドレスＢから行われる。またそのエンベロープ波形を構成するｐｈ０のｐｒｅ ｒｅａｄ ｐｈａｓｅ（エンベロープ値ほぼ０）の占有時間もＤｅｌａｙ１のディレイタイムと同一となり、従ってキーオンからこのディレイタイムだけ経過してｐｈ１のアタックフェーズに移行する。またキーオフと同時にｐｈ４のリリースフェーズに移行する。上記読み出し波形とエンベロープ波形の乗算出力は、図面に示すようになり、キーオンから上記ディレイタイム分遅れて楽音が生成される。
【００４２】
ＴＧｃｈ３では、Ｄｅｌａｙ２のディレイタイムがあり、従って、ピアノの波形データの読み出しは図２のアドレスＣから行われる。またそのエンベロープ波形を構成するｐｈ０のｐｒｅ ｒｅａｄ ｐｈａｓｅ（エンベロープ値ほぼ０）の占有時間もＤｅｌａｙ２のディレイタイムと同一となり、従ってキーオンからこのディレイタイムだけ経過してｐｈ１のアタックフェーズに移行する。またキーオフと同時にｐｈ４のリリースフェーズに移行する。上記読み出し波形とエンベロープ波形の乗算出力は、図面に示すようになり、キーオンから上記ディレイタイム分遅れて楽音が生成される。
【００４３】
以上のような波形データの推移とするためには、ｐｈ０のｐｒｅ ｒｅａｄ ｐｈａｓｅのＳＰＤデータがＴＧｃｈ１〜ＴＧｃｈ３の楽音発生チャンネルの間で異なっていなければならない。またｐｈ０のｐｒｅ ｒｅａｄ ｐｈａｓｅの目標値であるＰＥＰにつき、当該フェイズのエンベロープ値を略０とすることができる値にしておく必要がある。本構成では、ＰＥＰのＰＯＷＥＲの値を前述のように、８以下に設定している。
【００４４】
図７及び図８は、本構成による処理が行われる場合の制御手段１による処理フローを示すフローチャートである。電源スイッチがＯＮされると、バス１００に接続されている制御手段１、楽音信号生成手段３、楽音発生手段４、鍵盤インターフェース１０１ａ、パネルインターフェース１０２ａ、ＲＡＭ１０３の初期化が行われる（ステップＳ１０１）。この時、初期設定としてアサイナモードをノーマルアサイナモード（ＡＳＮ＝ｎｏｒｍａｌ）に設定すると共に、全アサイメントメモリ３０をクリアし、またＤＳＰ５にプログラム及び必要な係数の転送も行われる。
【００４５】
次にパネルスイッチのＯＮイベントが検出され（ステップＳ１０２）、その中でアンサンブルＯＮイベントがあるか否かの検出がなされる（ステップＳ１０３）。アンサンブルＯＮイベントが検出された場合（ステップＳ１０３；Ｙｅｓ）、アサイメントメモリ３０の対応チャンネルエリアをクリアし（ステップＳ１０４）、本発明のキーオンディレイ効果付加装置を機能させて、キーオンディレイアサイナモードを起動させる（ステップＳ１０５）。また前記アンサンブルＯＮイベントが検出されなかった場合（ステップＳ１０３；Ｎｏ）、アンサンブルＯＦＦイベントがあるか否かの検出がなされる（ステップＳ１０６）。アンサンブルＯＦＦイベントが検出された場合（ステップＳ１０６；Ｙｅｓ）、アサイメントメモリ３０の対応チャンネルエリアをクリアし（ステップＳ１０７）、ノーマルアサイナモードを起動させる（ステップＳ１０８）。アンサンブルＯＦＦイベントが検出されなかった場合（ステップＳ１０６；Ｎｏ）、その他パネルスイッチに対応した処理が行われる（ステップＳ１０９）。
【００４６】
上記ステップＳ１０５、１０８又は１０９の後、キーボードデータとＭＩＤＩデータがキー入力バッファに格納される（ステップＳ１１０）。そして鍵盤１０１のキーオンイベントを検出し（ステップＳ１１１）、このキーオンイベントが検出された場合（ステップＳ１１１；Ｙｅｓ）、いずれか１つの楽音発生チャンネルを決定し（ＴＧｃｈ０）、そのチャンネル対応のアサイメントメモリ３０に、図４に示されたスタートアドレスＳＴａ、Ｆナンバ加算値（Ｎ）、ループトップアドレス（ＬＴ）、ループエンドアドレス（ＬＥ）、ｐｈ０〜ｐｈ３までのスピードデータ（ＳＰＤ）、フェーズ終了値データ（ＰＥＰ）及び−／＋フラグデータ（−／＋）、さらにＦＡＣＣクリア＝１、ｐｈクリア＝１、ＥＡＣＣクリア＝１などの制御用フラグ及びフィルタ係数等を書き込む（ステップＳ１１２）。
【００４７】
さらにアサイナモードがキーオンディレイか否かがチェックされ（ステップＳ１１３）、キーオンディレイであれば（ステップＳ１１３；Ｙｅｓ）、上記チャンネル（ＴＧｃｈ０）以外の２つの楽音発生チャンネルを決定し（ＴＧｃｈ１，ＴＧｃｈ２）、それらのチャンネルの対応するアサイメントメモリ３０に、スタートアドレスＳＴａ、エンベロープｐｈ０のＳＰＤデータ、フィルタ係数以外の上記パラメータをコピーすると共に、ＴＧｃｈ１にはスタートアドレスＳＴｂ、エンベロープｐｈ０のＳＰＤデータ、フィルタ係数を、またＴＧｃｈ２にはスタートアドレスＳＴｃ、エンベロープｐｈ０のＳＰＤデータ、フィルタ係数を演算によって求め、夫々書き込む（ステップＳ１１４）。前記ステップＳ１１３で、キーオンディレイでなければ（ステップＳ１１３；Ｎｏ）、後述するＦＤインターフェース制御に移行する（ステップＳ１１９）。
【００４８】
他方前述のキーオンイベントが検出されなかった場合（ステップＳ１１１；Ｎｏ）、鍵盤１０１のキーオフイベントを検出する（ステップＳ１１５）。このキーオフイベントが検出された場合（ステップＳ１１５；Ｙｅｓ）、対応する楽音発生チャンネルのアサイメントメモリ３０に、図４に示されたキーオフフェーズｐｈ４〜ｐｈ７までのスピードデータ（ＳＰＤ）、フェーズ終了値データ（ＰＥＰ）及び−／＋フラグデータ（−／＋）、さらにｐｈクリア＝１を書き込む（ステップＳ１１６）。
【００４９】
さらにアサイナモードがキーオンディレイか否かがチェックされ（ステップＳ１１７）、キーオンディレイであれば（ステップＳ１１７；Ｙｅｓ）、上記チャンネル（ＴＧｃｈ０）以外の２つの楽音発生チャンネルを検出して（ＴＧｃｈ１，ＴＧｃｈ２）、それらのチャンネルの対応するアサイメントメモリ３０に、キーオフフェーズｐｈ４〜ｐｈ７までのスピードデータ（ＳＰＤ）、フェーズ終了値データ（ＰＥＰ）及び−／＋フラグデータ（−／＋）、さらにｐｈクリア＝１を書き込む（ステップＳ１１８）。前記ステップＳ１１７で、キーオンディレイでなければ（ステップＳ１１７；Ｎｏ）、後述するＦＤインターフェース制御に移行する（ステップＳ１１９）。
【００５０】
加えてＳ１１５のキーオフイベントの検出で、キーオフイベントが検出されなかった場合（ステップＳ１１５；Ｎｏ）、Ｓ１１３でキーオンディレイでない場合（ステップＳ１１３；Ｎｏ）、前記ステップＳ１１７で、キーオンディレイでない場合（ステップＳ１１７；Ｎｏ）、さらにステップＳ１１４やステップＳ１１８の書き込みの後、ＦＤインターフェース制御に移行し（ステップＳ１１９）、最後に上記ステップＳ１０２に復帰する。
【００５１】
以上の本実施形態構成では、制御手段１により、楽音発生チャンネル毎に楽音信号生成手段３にエンベロープ係数が転送され、それによって生成されるエンベロープのフェイズを従来より１つ多い、ｐｒｅ ｒｅａｄ ｐｈａｓｅが設けられる。そのｐｒｅ ｒｅａｄ ｐｈａｓｅのエンベロープ値を略０となるようにしているので、その間に読み出された波形データは、上記エンベロープ値（略０）と乗算された結果、略０として出力されることになる。
【００５２】
またｐｒｅ ｒｅａｄ ｐｈａｓｅの間が、ディレイタイムに相当しており、そのエンベロープ値が乗算される楽音波形についても、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出している。それによって、ｐｒｅ ｒｅａｄ ｐｈａｓｅの間に読み出される楽音波形データはどんなものであっても上記乗算によって略０として出力され、特開平５−２１６４７９号のようにディレイタイムに対応する読出波形にゼロを記憶させなくても、楽音波形にディレイタイムが設定できるようになる。またＣＰＵなどの制御手段１で、ディレイタイムを設定する必要がなくなり、その分だけ負荷が少なくなる。
【００５３】
【発明の効果】
以上詳述した本発明のキーオンディレイ効果付加装置の構成によれば、少ない記憶容量の波形メモリで済み、且つマイクロコントローラや音源ＬＳＩなどには負荷がかからないようにして、できるだけ多くの楽音発生チャンネル数を確保できるようにし、それによって、すばらしいアンサンブル効果の得られるキーオンディレイ効果を得ることができるようになる。
【図面の簡単な説明】
【図１】本発明のキーオンディレイ効果付加装置の一実施形態の構成が適用された電子楽器のブロック図である。
【図２】波形ＲＯＭの記憶内容と読出アドレスとの関係を示す説明図である。
【図３】楽音信号生成手段を主に示す本キーオンディレイ効果付加装置の構成が適用された電子楽器のブロック図である。
【図４】アサイメントメモリの記憶内容の一例を示す説明図である。
【図５】エンベロープ係数とそれによってどのようなエンベロープ波形が生成されるかの関係を示す説明図である。
【図６】波形記憶手段からの楽音波形データの読出状態と、エンベロープ波形の生成状態と、これらの乗算により生成された楽音波形の状態を時系列的に示す波形データの推移説明図である。
【図７】本構成による処理が行われる場合の制御手段による処理フローを示すフローチャートである。
【図８】制御手段による上記処理フローの続きを示すフローチャートである。
【符号の説明】
１          制御手段
２          波形記憶手段
３          楽音信号生成手段
４          楽音発生手段
５          ＤＳＰ
３０          アサイメントメモリ
３１          タイミングジェネレータ
３２          Ｆナンバ累算器
３３          サンプリング補間フィルタ
３４          エンベロープ累算器
３５          第１の乗算器
３６          第２の乗算器
３７          系列累算器
４０          デジタル・アナログコンバータ
４１          サウンド装置
１００          バス
１０１          鍵盤
１０１ａ        鍵盤インターフェース
１０２          パネルスイッチ
１０２ａ        パネルインターフェース
１０３          ＲＡＭ
１０４          ＲＯＭ
１０５          ＭＩＤＩインターフェース
１０６          ディスクドライブ
【図１】
0003649906.tif 000003
【図２】
0003649906.tif 000004
【図３】
0003649906.tif 000005
【図４】
0003649906.tif 000006
【図５】
0003649906.tif 000007
【図６】
0003649906.tif 000008
【図７】
0003649906.tif 000009
【図８】
0003649906.tif 000010