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