(57)【要約】【課題】意図せぬ出力の発生を防止する波形変調装置を実現する。【解決手段】分析部２０のＢＰＦ２０ａ−１〜２０ａ−ｎおよび合成部４０のＢＰＦ４０ａ−１〜４０ａ−ｎの各フィルタ段の内、リミットサイクル発振が起こり易いフィルタ段ｉに供給される変調波形ＭＷおよび被変調波形ＣＷの少なくとも一方が入力されないと、そのフィルタ段ｉのＢＰＦ２０ａ−ｉをリセットし、対応するＥＮＶ２０ｂ−ｉの出力が「０」になった後に合成部４０のＢＰＦ４０ａ−ｉをリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。【選択図】  図３
2004361884.tif 000002
【特許請求の範囲】
【請求項１】
複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、
前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、
前記分析手段に供給される変調波形および前記合成手段に供給される被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ群をリセットし、その後に前記検出器群の検出出力が「０」になった時点で前記第２のフィルタ群をリセットするリセット手段と
を具備することを特徴とする波形変調装置。
【請求項２】
複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、
前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、
前記第１および第２のフィルタ群の内、リミットサイクル発振が起こり易い特定フィルタ段に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ群中の特定フィルタ段をリセットし、その後に当該特定フィルタ段に対応する検出器の検出出力が「０」になった時点で前記第２のフィルタ群中の特定フィルタ段をリセットするリセット手段と
を具備することを特徴とする波形変調装置。
【請求項３】
複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、
前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、
前記分析手段に供給される変調波形および前記合成手段に供給される被変調波形の少なくとも一方が入力されていない場合、前記分析手段の検出器群の個々の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ群を同時にリセットするリセット手段と
を具備することを特徴とする波形変調装置。
【請求項４】
複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、
前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、
前記第１および第２のフィルタ群の内、リミットサイクル発振が起こり易い特定フィルタ段に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、その特定フィルタ段に対応する検出器の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ群中の特定フィルタ段を同時にリセットするリセット手段と
を具備することを特徴とする波形変調装置。
【請求項５】
前記リセット手段は、変調波形の発音／消音を指示する第１のノートオンオフ情報もしくは被変調波形の発音／消音を指示する第２のノートオンオフ情報に応じて、変調波形および被変調波形の入力の有無を判別することを特徴とする請求項１乃至請求項４に記載の波形変調装置。
【請求項６】
複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、
前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理にて得られる個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、
前記分析ステップに供給される変調波形および前記合成ステップに供給される被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ処理をリセットし、その後に前記検出処理の検出出力が「０」になった時点で前記第２のフィルタ処理をリセットするリセットステップと
をコンピュータで実行させることを特徴とする波形変調プログラム。
【請求項７】
複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、
前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理の個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、
前記第１および第２のフィルタ処理の内、リミットサイクル発振が起こり易い特定段のフィルタ処理に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ処理中の特定段のフィルタ処理をリセットし、その後に当該特定段のフィルタ処理に対応する検出処理の検出出力が「０」になった時点で前記第２のフィルタ処理中の特定段のフィルタ処理をリセットするリセットステップと
をコンピュータで実行させることを特徴とする波形変調プログラム。
【請求項８】
複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、
前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理の個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、
前記分析ステップに供給される変調波形および前記合成ステップに供給される被変調波形の少なくとも一方が入力されていない場合、前記分析ステップの検出処理の個々の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ処理を同時にリセットするリセットステップと
をコンピュータで実行させることを特徴とする波形変調プログラム。
【請求項９】
複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、
前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理の個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、
前記第１および第２のフィルタ処理の内、リミットサイクル発振が起こり易い特定段のフィルタ処理に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、その特定段のフィルタ処理に対応する検出処理の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ処理中の特定段のフィルタ処理を同時にリセットするリセットステップと
をコンピュータで実行させることを特徴とする波形変調プログラム。
【請求項１０】
前記リセットステップは、変調波形の発音／消音を指示する第１のノートオンオフ情報もしくは被変調波形の発音／消音を指示する第２のノートオンオフ情報に応じて、変調波形および被変調波形の入力の有無を判別することを特徴とする請求項６乃至請求項９に記載の波形変調プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ボコーダ音生成に用いて好適な波形変調装置および波形変調プログラムに関する。
【０００２】
【従来の技術】
音源から出力される楽音信号を、外部より入力される音声信号により変調して楽音形成する装置として、例えば特許文献１には、外部から入力される音声のフォルマント成分を抽出する分析部と、この分析部にて抽出されるフォルマント成分に応じて、自動演奏される楽音信号にボコーダ処理を施す合成部とを備え、あたかも人声のような楽音（ボコーダ音）を形成する波形変調装置が開示されている。
【０００３】
【特許文献１】
特許第２８０８７２１号公報
【０００４】
【発明が解決しようとする課題】
ところで、上述した従来の波形変調装置では、フォルマント抽出する分析部やボコーダ処理する合成部に通過周波数帯域が異なる複数のバンドパスフィルタを用いることが多い。周知のＩＩＲシステムのように帰還入力するタイプのバンドパスフィルタでは、その構成やフィルタ演算精度によっては入力が無くなっても出力が存在するリミットサイクル発振も起こり得る。リミットサイクル発振によりノイズが発生すると、分析部や合成部に入力が与えられていないにも関わらず意図せぬ出力を発生する弊害が生じる。とりわけループ再生などで絶えず分析部側に音声を入力している時に、合成部側がリミットサイクル発振状態に陥った場合にそうした弊害が顕著に現れる、という問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、意図せぬ出力の発生を防止することができる波形変調装置および波形変調プログラムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、前記分析手段に供給される変調波形および前記合成手段に供給される被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ群をリセットし、その後に前記検出器群の検出出力が「０」になった時点で前記第２のフィルタ群をリセットするリセット手段とを具備することを特徴とする。
【０００６】
請求項２に記載の発明では、複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、前記第１および第２のフィルタ群の内、リミットサイクル発振が起こり易い特定フィルタ段に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ群中の特定フィルタ段をリセットし、その後に当該特定フィルタ段に対応する検出器の検出出力が「０」になった時点で前記第２のフィルタ群中の特定フィルタ段をリセットするリセット手段とを具備することを特徴とする。
【０００７】
請求項３に記載の発明では、複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、前記分析手段に供給される変調波形および前記合成手段に供給される被変調波形の少なくとも一方が入力されていない場合、前記分析手段の検出器群の個々の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ群を同時にリセットするリセット手段とを具備することを特徴とする。
【０００８】
請求項４に記載の発明では、複数の周波数帯域に分割する第１のフィルタ群と、第１のフィルタ群の各出力を検出する検出器群とを備え、入力される変調波形のフォルマント成分を抽出する分析手段と、前記第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と、この第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備え、前記分析手段にて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成手段と、前記第１および第２のフィルタ群の内、リミットサイクル発振が起こり易い特定フィルタ段に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、その特定フィルタ段に対応する検出器の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ群中の特定フィルタ段を同時にリセットするリセット手段とを具備することを特徴とする。
【０００９】
上記請求項１乃至請求項４に従属する請求項５に記載の発明では、前記リセット手段は、変調波形の発音／消音を指示する第１のノートオンオフ情報もしくは被変調波形の発音／消音を指示する第２のノートオンオフ情報に応じて、変調波形および被変調波形の入力の有無を判別することを特徴とする。
【００１０】
請求項６に記載の発明では、複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理にて得られる個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、前記分析ステップに供給される変調波形および前記合成ステップに供給される被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ処理をリセットし、その後に前記検出処理の検出出力が「０」になった時点で前記第２のフィルタ処理をリセットするリセットステップとをコンピュータで実行させることを特徴とする。
【００１１】
請求項７に記載の発明では、複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理の個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、前記第１および第２のフィルタ処理の内、リミットサイクル発振が起こり易い特定段のフィルタ処理に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、前記第１のフィルタ処理中の特定段のフィルタ処理をリセットし、その後に当該特定段のフィルタ処理に対応する検出処理の検出出力が「０」になった時点で前記第２のフィルタ処理中の特定段のフィルタ処理をリセットするリセットステップとをコンピュータで実行させることを特徴とする。
【００１２】
請求項８に記載の発明では、複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理の個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、前記分析ステップに供給される変調波形および前記合成ステップに供給される被変調波形の少なくとも一方が入力されていない場合、前記分析ステップの検出処理の個々の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ処理を同時にリセットするリセットステップとをコンピュータで実行させることを特徴とする。
【００１３】
請求項９に記載の発明では、複数の周波数帯域に分割する第１のフィルタ処理と、第１のフィルタ処理の各出力を検出する検出処理とを備え、入力される変調波形のフォルマント成分を抽出する分析ステップと、前記第１のフィルタ処理と同じ周波数帯域に分割する第２のフィルタ処理と、この第２のフィルタ処理の各出力に、前記分析ステップの検出処理の個々の検出出力を乗算する乗算処理とを備え、前記分析ステップにて抽出されたフォルマント成分に応じて、入力される被変調波形をボコーダ変調する合成ステップと、前記第１および第２のフィルタ処理の内、リミットサイクル発振が起こり易い特定段のフィルタ処理に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、その特定段のフィルタ処理に対応する検出処理の検出出力を徐々に「０」に設定した後、前記第１および第２のフィルタ処理中の特定段のフィルタ処理を同時にリセットするリセットステップとをコンピュータで実行させることを特徴とする。
【００１４】
上記請求項６乃至請求項９に従属する請求項１０に記載の発明では、前記リセットステップは、変調波形の発音／消音を指示する第１のノートオンオフ情報もしくは被変調波形の発音／消音を指示する第２のノートオンオフ情報に応じて、変調波形および被変調波形の入力の有無を判別することを特徴とする。
【００１５】
本発明では、複数の周波数帯域に分割する第１のフィルタ群と第１のフィルタ群の各出力を検出する検出器群とを備える分析手段に供給される変調波形および第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備える合成手段に供給される被変調波形の少なくとも一方が入力されていない場合、第１のフィルタ群をリセットし、その後に検出器群の検出出力が「０」になった時点で第２のフィルタ群をリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
【００１６】
また、本発明では、複数の周波数帯域に分割する第１のフィルタ群と第１のフィルタ群の各出力を検出する検出器群とを備える分析手段に供給される変調波形および第１のフィルタ群と同じ周波数帯域に分割する第２のフィルタ群と第２のフィルタ群の各出力に、前記分析手段の検出器群の個々の検出出力を乗算する乗算器群とを備える合成手段に供給される被変調波形の少なくとも一方が入力されていない場合、検出器群の個々の検出出力を徐々に「０」に設定した後、第１および第２のフィルタ群を同時にリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態による波形変調装置を搭載した電子楽器を実施例とし、これについて図面を参照して説明する。
【００１８】
Ａ．第１実施例
（１）全体構成
図１は、第１実施例による電子楽器の全体構成を示すブロック図である。この図において、１は押離鍵操作（演奏操作）に応じたキーオン／キーオフイベントおよびノート番号、ベロシティ等からなる演奏情報を発生する鍵盤である。２は楽器パネルに配設される各種スイッチから構成されるスイッチ部であり、操作されたスイッチに対応したスイッチイベントを発生する。３はプログラムエリアおよびデータエリアを有するＲＯＭである。プログラムエリアには、後述するメインルーチンを含む各種制御プログラムが記憶され、データエリアには後述するボコーダタイマ処理にて参照されるフラグＦｌａｇ［１］〜［ｎ］が記憶される。このフラグＦｌａｇ［１］〜［ｎ］が意図するところは追って述べる。
【００１９】
４はＣＰＵ５のワークエリアとして用いられ、各種レジスタ・フラグデータを一時記憶するＲＡＭである。ＣＰＵ５はＲＯＭ３に格納される各種制御プログラムを実行し、例えば鍵盤１が発生する演奏情報に対応した楽音パラメータ（ノーオン／オフイベント等）を発生して音源９に送出したり、スイッチ部２が発生するスイッチイベントに応じて動作モードを変更させる等、楽器各部を制御する。６は楽器パネルに配設される表示部であり、ＣＰＵ５から供給される表示制御信号に応じて楽器各部の動作状態やパラメータ設定状態などを表示する。７は入力される音声を音声信号に変換して出力するマイクである。
【００２０】
８はマイク７から入力される音声信号をＡ／Ｄ変換し、これを変調波形ＭＷとして出力するＡ／Ｄ変換器である。Ａ／Ｄ変換器８が出力する変調波形ＭＷは、ＣＰＵ５の制御の下に、後述するＤＳＰ１０に供給される。９は周知の波形メモリ読み出し方式にて構成される音源であり、ＣＰＵ５から供給される楽音パラメータ（ノートオン／オフイベント等）に応じた波形を発生する。音源９では、発生波形の一部を被変調波形ＣＷとしてＤＳＰ１０に供給する一方、他の発生波形とＤＳＰ１０から供給されるボコーダ出力ＯＵＴとを混合した楽音波形Ｗを出力する。
【００２１】
ＤＳＰ１０は、Ａ／Ｄ変換器８から供給される変調波形ＭＷ（音声信号）のフォルマント成分に応じて、音源９から入力される被変調波形ＣＷを変調するボコーダ処理を施し、これにて得られるボコーダ出力ＯＵＴを音源９に出力するものであり、その構成および本発明の要旨にかかわる動作については追って詳述する。１１は音源９から出力される楽音波形Ｗをアナログ形式の波形信号に変換して出力するＤ／Ａ変換器である。１２は前段のＤ／Ａ変換器１１より入力される波形信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカ１３から発音させるサウンドシステムである。
【００２２】
（２）ＤＳＰ１０の構成
次に、図３〜図４を参照してＤＳＰ１０の構成を説明する。ＤＳＰ１０は、分析部２０、モジュレータ制御部３０および合成部４０に大別される。以下、これら各部の構成を順番に説明して行く。
【００２３】
▲１▼分析部２０の構成
分析部２０は、バンドパスフィルタ（以下、ＢＰＦと記す）２０ａ−１〜２０ａ−ｎとエンベロープ検出器（以下、ＥＮＶと記す）２０ｂ−１〜２０ｂ−ｎとを備える。ＢＰＦ２０ａ−１〜２０ａ−ｎは、それぞれ図４に図示するように、加算器１００〜１０３、乗算器１０４〜１０８および遅延素子１０９，１１０を有するバイカッド回路（２次ＩＩＲフィルタ）で構成される。
図４に示す構成で特徴的な点は、後述するエンベロープ制御回路３４から供給される遅延ゼロ信号ＤＺに従い、遅延素子１０９，１１０が自己の遅延成分をゼロにすることにある。なお、遅延素子１０９，１１０は、遅延ゼロ信号ＤＺが供給されない状態では入力信号を１サンプル遅延して出力する。
【００２４】
上記構成によるＢＰＦ２０ａ−１〜２０ａ−ｎは、それぞれ人声のフォルマント周波数に対応させた通過周波数帯域を有し、ＣＰＵ５の制御の下にＡ／Ｄ変換器８から供給される変調波形（音声信号）ＭＷのフォルマント成分を抽出する一方、対応するエンベロープ制御回路３４−１〜３４−ｎから遅延ゼロ信号ＤＺが供給された時に、遅延素子１０９，１１０の遅延成分をゼロにしてリセットされる。
ＥＮＶ２０ｂ−１〜２０ｂ−ｎは、整流器を含む絶対値回路およびＬＰＦを含む平滑化回路から構成され、上記ＢＰＦ２０ａ−１〜２０ａ−ｎにて抽出されるフォルマント成分のエンベロープレベルを検出して出力する。
【００２５】
▲２▼モジュレータ制御部３０の構成
モジュレータ制御部３０は、変調波形検出回路３１、被変調波形検出回路３２、入力状態判別回路３３およびエンベロープ制御回路３４−１〜３４−ｎから構成される。変調波形検出回路３１は、変調波形（音声信号）ＭＷの入力の有無を検出する。被変調波形検出回路３２は、被変調波形ＣＷの入力の有無を検出する。
入力状態判別回路３３は、上記検出回路３１，３２の各検出結果に応じて判別した入力状態に対応するフラグＩｎｐｕｔＳｔａｔｕｓを発生する。すなわち、入力状態判別回路３３は、変調波形（音声信号）ＭＷおよび被変調波形ＣＷが共に入力されている時にのみ「１」、それ以外は「０」となるフラグＩｎｐｕｔＳｔａｔｕｓを発生する。
【００２６】
エンベロープ制御回路３４−１〜３４−ｎは、分析部２０のＥＮＶ２０ｂ−１〜２０ｂ−ｎが出力する各エンベロープレベルを合成部４０側に出力すると共に、入力状態判別回路３３から供給されるフラグＩｎｐｕｔＳｔａｔｕｓが「０」の場合、対応するＢＰＦ２０ａ−１〜２０ａ−ｎに遅延ゼロ信号ＤＺを出力する。
また、エンベロープ制御回路３４−１〜３４−ｎは、分析部２０のＥＮＶ２０ｂ−１〜２０ｂ−ｎから供給されるエンベロープレベルが「０」の場合、合成部４０側の、対応するＢＰＦ４０ａ−１〜４０ａ−ｎに遅延ゼロ信号ＤＺを出力する。
【００２７】
▲３▼合成部４０の構成
合成部４０は、ＢＰＦ４０ａ−１〜４０ａ−ｎ、乗算器４０ｂ−１〜４０ｂ−ｎおよび加算器４０ｃを備える。ＢＰＦ４０ａ−１〜４０ａ−ｎは、分析部２０のＢＰＦ２０ａ−１〜２０ａ−ｎと同一の通過周波数帯域を有し、音源９から供給されるキャリア信号ＣＳ（被変調波形）をｎ個の通過周波数帯域に分割濾波する。
また、ＢＰＦ４０ａ−１〜４０ａ−ｎはＢＰＦ２０ａ−１〜２０ａ−ｎと同様、図４に図示したバイカッド回路（２次ＩＩＲフィルタ）で構成され、対応するエンベロープ制御回路３４−１〜３４−ｎから遅延ゼロ信号ＤＺが供給された時に、遅延素子１０９，１１０の遅延成分をゼロにしてリセットされるようになっている。
乗算器４０ｂ−１〜４０ｂ−ｎは、エンベロープ制御回路３４−１〜３４−ｎが出力する各エンベロープレベルを、ＢＰＦ４０ａ−１〜４０ａ−ｎの各出力に乗算する。加算器４０ｃは乗算器４０ｂ−１〜４０ｂ−ｎからの各出力を加算してボコーダ出力ＯＵＴを発生する。
【００２８】
（３）実施例の動作
次に、図５〜図６を参照して上記構成による実施例の動作を説明する。以下では、最初に全体の概略動作としてＣＰＵ５が実行するメインルーチンの動作を説明した後、このメインルーチンと共にＤＳＰ１０が所定周期毎に実行するボコーダタイマ処理の動作について述べる。
【００２９】
▲１▼メインルーチンの動作
電源投入によりＣＰＵ５はＲＯＭ３から所定の制御プログラムを読み出して自身にロードし、図５に示すメインルーチンを実行する。メインルーチンが実行されると、ＣＰＵ５はステップＳＡ１に処理を進め、ＲＡＭ４に格納される各種レジスタやフラグ類をリセットしたり初期値をセットする他、音源９およびＤＳＰ１０にイニシャライズを指示する初期化処理を行う。そして、イニシャライズ完了後、ステップＳＡ２に進み、スイッチ部２のスイッチ操作に応じたスイッチ処理、例えばマイク７およびＡ／Ｄ変換器８を用いて変調波形ＭＷ（音声信号）を入力させる動作モードに設定する等の処理を実行する。
続いて、ステップＳＡ３では、鍵盤１の押離鍵操作に応じた楽音の発音／消音を音源９に指示する鍵盤処理を実行する。そして、ステップＳＡ４では、例えば上記ステップＳＡ２のスイッチ処理にて設定されたモードの内容を表示部６に表示する表示処理を実行する。次いで、ステップＳＡ５では、例えばスイッチ操作に応じて選択された種類のエフェクトを発生楽音に付与する効果付与処理等の、その他の処理を実行する。以後、電源がオフされるまで上述のステップＳＡ２〜ＳＡ５を繰り返し実行する。
【００３０】
▲２▼ボコーダタイマ処理の動作
次に、図６を参照してＤＳＰ１０が実行するボコーダタイマ処理の動作を説明する。ＤＳＰ１０は一定周期毎に本処理を実行しており、実行タイミングになると、図６のステップＳＢ１に処理を進め、ポインタｉに「１」をセットする。
なお、このポインタｉはＲＯＭ３に記憶されるフラグＦｌａｇ［ｉ］（図２参照）の読み出しポインタである。フラグＦｌａｇ［１］〜［ｎ］は、後述のリセット処理を行う（フラグ値「１」）か否か（フラグ値「０」）を表す。分析部２０のＢＰＦ２０ａ−１〜２０ａ−ｎおよび合成部４０のＢＰＦ４０ａ−１〜４０ａ−ｎの各フィルタ段の内、リミットサイクル発振が起こり易い通過周波数帯域のフィルタ段にはフラグ値「１」が、それ以外のフィルタ段にはフラグ値「０」が予め設定される。
【００３１】
次いで、ステップＳＢ２では、ポインタｉに応じてＲＯＭ３から読み出されるフラグＦｌａｇ［ｉ］が「１」であるか否か、すなわちリセット処理が必要なフィルタ段であるかどうかを判断する。リセット処理が不必要なフィルタ段であると、判断結果は「ＮＯ」となり、ステップＳＢ７に進む。ステップＳＢ７では、ポインタｉに対応するＥＮＶ２０ｂ−ｉが出力するエンベロープレベルＥＮＶ［ｉ］を合成部４０の乗算器４０ｂ−ｉに供給する。
次に、ステップＳＢ８では、ポインタｉをインクリメントして歩進させ、続くステップＳＢ９では、歩進されたポインタｉがフィルタ段数ｎを超えたか、つまり全てのフィルタ段について処理が一巡したかどうかを判断する。全てのフィルタ段について処理し終えていなければ、判断結果は「ＮＯ」になり、上述したステップＳＢ２に戻る。
【００３２】
さて一方、リセット処理が必要なフィルタ段であると、ステップＳＢ２の判断結果が「ＹＥＳ」になり、ステップＳＢ３に進む。ステップＳＢ３では、フラグＩｎｐｕｔＳｔａｔｕｓが「０」、つまり変調波形ＭＷおよび被変調波形ＣＷの少なくとも一方が入力されない状態であるかどうかを判断する。変調波形ＭＷ／被変調波形ＣＷが共に入力されていると、判断結果は「ＮＯ」になり、上述したステップＳＢ７以降を実行する。
これに対し、変調波形ＭＷ／被変調波形ＣＷの少なくとも一方が入力されない場合には、ステップＳＢ３の判断結果が「ＹＥＳ」となり、ステップＳＢ４に進む。ステップＳＢ４では、ポインタｉに対応するＢＰＦ２０ａ−ｉの遅延回路１０９，１１０（図４参照）の遅延成分をゼロにして当該ＢＰＦ２０ａ−ｉをリセットする。
【００３３】
次いで、ステップＳＢ５では、ポインタｉに対応するＥＮＶ２０ｂ−ｉが出力するエンベロープレベルＥＮＶ［ｉ］が「０」か否かを判断する。ＥＮＶ２０ｂ−ｉは平滑化回路を備えている為、上記ステップＳＢ４にてＢＰＦ２０ａ−ｉがリセットされても、直ちにエンベロープレベルＥＮＶ［ｉ］がゼロレベルにならず、次第に減衰するエンベロープレベルＥＮＶ［ｉ］を出力する状態になる。その為、ステップＳＢ５では、ＥＮＶ２０ｂ−ｉから出力されるエンベロープレベルＥＮＶ［ｉ］がゼロレベルまで減衰したかどうかを判断している。そして、エンベロープレベルＥＮＶ［ｉ］がゼロレベルまで減衰していなければ、判断結果は「ＮＯ」になり、上述したステップＳＢ７以降を実行する。
【００３４】
一方、エンベロープレベルＥＮＶ［ｉ］がゼロレベルまで減衰すると、判断結果は「ＹＥＳ」となり、ステップＳＢ６に進み、ポインタｉに対応するＢＰＦ４０ａ−ｉの遅延回路１０９，１１０（図４参照）の遅延成分をゼロにして当該ＢＰＦ４０ａ−ｉをリセットした後、ステップＳＢ８以降を実行する。
以上のようにして、全てのフィルタ段について処理し終えると、ステップＳＢ９の判断結果が「ＹＥＳ」になり、ステップＳＢ１０に進み、ポインタｉが「１」から「ｎ」まで歩進される過程で生成された各フィルタ段毎のボコーダ成分を累算してボコーダ出力ＯＵＴを発生する。
【００３５】
したがって、例えばループ再生などで絶えず分析部２０側に変調波形ＭＷを入力している時に、合成部４０に供給される被変調波形ＣＷの入力が途絶えた場合には、リミットサイクル発振が起こり易いフィルタ段ｉに対応したＢＰＦ２０ａ−ｉを先ずリセットし、このＢＰＦ２０ａ−ｉに対応するＥＮＶ２０ｂ−ｉの出力が「０」レベルに減衰した時に、対応する合成部４０のＢＰＦ４０ａ−ｉをリセットするので、そのフィルタ段ｉにおけるリミットサイクル発振を防ぐことができる。
【００３６】
このように、第１実施例によれば、分析部２０のＢＰＦ２０ａ−１〜２０ａ−ｎおよび合成部４０のＢＰＦ４０ａ−１〜４０ａ−ｎの各フィルタ段の内、リミットサイクル発振が起こり易いフィルタ段ｉに供給される変調波形ＭＷおよび被変調波形ＣＷの少なくとも一方が入力されないと、そのフィルタ段ｉのＢＰＦ２０ａ−ｉをリセットし、対応するＥＮＶ２０ｂ−ｉの出力が「０」になった後に合成部４０のＢＰＦ４０ａ−ｉをリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
【００３７】
Ｂ．第２実施例
次に、図３、図７および図８を参照して第２実施例を説明する。第２実施例が第１実施例と相違する点は、変調波形ＭＷおよび被変調波形ＣＷの少なくとも一方が入力されない場合に、合成部４０に供給するＥＮＶ２０ｂの出力を徐々に「０」に設定してから分析部２０および合成部４０のＢＰＦを同時にリセットすることにある。
その為、第２実施例では、図３に図示するエンベロープ制御回路３４−１〜３４−ｎは、フラグＩｎｐｕｔＳｔａｔｕｓが「１」の場合、分析部２０のＥＮＶ２０ｂ−１〜２０ｂ−ｎが出力する各エンベロープレベルをそのまま合成部４０側に供給し、一方、フラグＩｎｐｕｔＳｔａｔｕｓが「０」であると、合成部４０側に供給するエンベロープレベルを徐々に「０」に設定する。
また、第２実施例では、図７に図示するレジスタＣＥ［１］〜ＣＥ［ｎ］をＲＡＭ４に設ける。このレジスタＣＥ［１］〜ＣＥ［ｎ］には、分析部２０のＢＰＦ２０ａ−１〜２０ａ−ｎおよび合成部４０のＢＰＦ４０ａ−１〜４０ａ−ｎの各フィルタ段に対応する乗算係数が格納される。
【００３８】
次に、図８を参照して第２実施例によるボコーダタイマ処理の動作を説明する。ＤＳＰ１０は一定周期毎に本処理を実行しており、実行タイミングになると、図８のステップＳＣ１に処理を進め、ポインタｉに「１」をセットする。なお、このポインタｉは第１実施例と同様、ＲＯＭ３に記憶されるフラグＦｌａｇ［ｉ］の読み出しポインタであると同時に、上記レジスタＣＥ［１］〜ＣＥ［ｎ］を指定するポインタとしても用いられる。
【００３９】
次いで、ステップＳＣ２では、ポインタｉに応じてＲＯＭ３から読み出されるフラグＦｌａｇ［ｉ］が「１」であるか否か、すなわちリセット処理が必要なフィルタ段であるかどうかを判断する。リセット処理が不必要なフィルタ段であると、判断結果は「ＮＯ」となり、ステップＳＣ９に進む。ステップＳＣ９では、ポインタｉに対応したレジスタＣＥ［ｉ］に乗算係数「１．０」をストアする。続いて、ステップＳＣ１０に進むと、ポインタｉに対応するＥＮＶ２０ｂ−ｉが出力するエンベロープレベルＥＮＶ［ｉ］に、上記レジスタＣＥ［ｉ］の乗算係数「１．０」を乗算した結果を合成部４０の乗算器４０ｂ−ｉに供給する。
そして、ステップＳＣ１１に進み、ポインタｉをインクリメントして歩進させ、続くステップＳＣ１２では、歩進されたポインタｉがフィルタ段数ｎを超えたか、つまり全てのフィルタ段について処理が一巡したかどうかを判断する。全てのフィルタ段について処理し終えていなければ、判断結果は「ＮＯ」になり、上述したステップＳＣ２に戻る。
【００４０】
さて一方、リセット処理が必要なフィルタ段であると、ステップＳＣ２の判断結果が「ＹＥＳ」になり、ステップＳＣ３に進む。ステップＳＣ３では、フラグＩｎｐｕｔＳｔａｔｕｓが「０」、つまり変調波形ＭＷおよび被変調波形ＣＷの少なくとも一方が入力されない状態であるかどうかを判断する。変調波形ＭＷ／被変調波形ＣＷが共に入力されていると、判断結果は「ＮＯ」になり、上述したステップＳＣ９以降を実行する。
これに対し、変調波形ＭＷ／被変調波形ＣＷの少なくとも一方が入力されない状態であると、ステップＳＣ３の判断結果が「ＹＥＳ」となり、ステップＳＣ４に進む。ステップＳＣ４では、ポインタｉに対応するレジスタＣＥ［ｉ］の乗算係数が「０．０」であるか否かを判断する。
【００４１】
レジスタＣＥ［ｉ］の乗算係数が「０．０」でなければ、判断結果は「ＮＯ」となり、ステップＳＣ６に進み、そのレジスタＣＥ［ｉ］の乗算係数が遷移値Ａ（０．０＜Ａ＜１．０）より小さいか否かを判断する。遷移値Ａより小さければ、判断結果は「ＹＥＳ」になり、ステップＳＣ７に進み、レジスタＣＥ［ｉ］の乗算係数を「０．０」にセットする。一方、遷移値Ａより大きいと、判断結果が「ＮＯ」になり、ステップＳＣ８に進み、遷移値Ａ分を減算して更新した乗算係数をレジスタＣＥ［ｉ］にストアする。この後、上述したステップＳＣ１０以降を実行する。
【００４２】
これに対し、レジスタＣＥ［ｉ］の乗算係数が「０．０」であると、上記ステップＳＣ４の判断結果が「ＹＥＳ」になり、ステップＳＣ５に進み、ポインタｉに対応する分析部２０のＢＰＦ２０ａ−ｉおよび合成部４０のＢＰＦ４０ａ−ｉの各遅延回路１０９，１１０（図４参照）の遅延成分をゼロにして当該ＢＰＦ２０ａ−ｉおよびＢＰＦ４０ａ−ｉを共にリセットしてステップＳＣ１０に処理を進める。
以上のようにして、全てのフィルタ段について処理し終えると、ステップＳＣ１２の判断結果が「ＹＥＳ」になり、ステップＳＣ１３に進み、ポインタｉが「１」から「ｎ」まで歩進される過程で生成された各フィルタ段毎のボコーダ成分を累算してボコーダ出力ＯＵＴを発生する。
【００４３】
このように、第２実施例によれば、分析部２０のＢＰＦ２０ａ−１〜２０ａ−ｎおよび合成部４０のＢＰＦ４０ａ−１〜４０ａ−ｎの各フィルタ段の内、リミットサイクル発振が起こり易いフィルタ段ｉに供給される変調波形ＭＷおよび被変調波形ＣＷの少なくとも一方が入力されない場合には、合成部４０に供給するＥＮＶ２０ｂの出力を徐々に「０」に設定してから分析部２０および合成部４０のＢＰＦを同時にリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
【００４４】
Ｃ．変形例
上述した第１および第２実施例では、ＤＳＰ１０の入力状態判別回路３３が変調波形（音声信号）ＭＷおよび被変調波形ＣＷの入力の有無に応じたフラグＩｎｐｕｔＳｔａｔｕｓを発生するよう構成したが、これに替えて、図９に図示するように、変調波形（音声信号）ＭＷのノートオン／ノートオフおよび被変調波形ＣＷのノートオン／ノートオフに応じてフラグＩｎｐｕｔＳｔａｔｕｓを発生させる構成にしても構わない。このようにすれば、変調波形（音声信号）ＭＷおよび被変調波形ＣＷの入力の有無を検出する変調波形検出回路３１および被変調波形検出回路３２が不要になり、ＤＳＰ１０の構成を簡略化することが出来る。
【００４５】
【発明の効果】
請求項１に記載の発明によれば、変調波形および被変調波形の少なくとも一方が入力されていない場合、第１のフィルタ群をリセットし、その後に検出器群の検出出力が「０」になった時点で第２のフィルタ群をリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項２に記載の発明によれば、第１および第２のフィルタ群の内、リミットサイクル発振が起こり易い特定フィルタ段に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、第１のフィルタ群中の特定フィルタ段をリセットし、その後に当該特定フィルタ段に対応する検出器の検出出力が「０」になった時点で第２のフィルタ群中の特定フィルタ段をリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項３に記載の発明によれば、変調波形および被変調波形の少なくとも一方が入力されていない場合、検出器群の個々の検出出力を徐々に「０」に設定した後、第１および第２のフィルタ群を同時にリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項４に記載の発明によれば、第１および第２のフィルタ群の内、リミットサイクル発振が起こり易い特定フィルタ段に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、その特定フィルタ段に対応する検出器の検出出力を徐々に「０」に設定した後、第１および第２のフィルタ群中の特定フィルタ段を同時にリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項５に記載の発明によれば、変調波形の発音／消音を指示する第１のノートオンオフ情報もしくは被変調波形の発音／消音を指示する第２のノートオンオフ情報に応じて、変調波形および被変調波形の入力の有無を判別するので、構成の簡略化を図ることができる。
請求項６に記載の発明によれば、変調波形および被変調波形の少なくとも一方が入力されていない場合、第１のフィルタ処理をリセットし、その後に検出処理の検出出力が「０」になった時点で第２のフィルタ処理をリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項７に記載の発明によれば、第１および第２のフィルタ処理の内、リミットサイクル発振が起こり易い特定段のフィルタ処理に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、第１のフィルタ処理中の特定段のフィルタ処理をリセットし、その後に当該特定段のフィルタ処理に対応する検出処理の検出出力が「０」になった時点で第２のフィルタ処理中の特定段のフィルタ処理をリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項８に記載の発明によれば、変調波形および被変調波形の少なくとも一方が入力されていない場合、検出処理の個々の検出出力を徐々に「０」に設定した後、第１および第２のフィルタ処理を同時にリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項９に記載の発明によれば、第１および第２のフィルタ処理の内、リミットサイクル発振が起こり易い特定段のフィルタ処理に供給される変調波形および被変調波形の少なくとも一方が入力されていない場合、その特定段のフィルタ処理に対応する検出処理の検出出力を徐々に「０」に設定した後、第１および第２のフィルタ処理中の特定段のフィルタ処理を同時にリセットするので、リミットサイクル発振に起因するノイズ発生を抑止して、意図せぬ出力の発生を防止できる。
請求項１０に記載の発明では、変調波形の発音／消音を指示する第１のノートオンオフ情報もしくは被変調波形の発音／消音を指示する第２のノートオンオフ情報に応じて、変調波形および被変調波形の入力の有無を判別するので、処理の簡略化を図ることができる。
【図面の簡単な説明】
【図１】本発明による第１実施例の全体構成を示すブロック図である。
【図２】ＲＯＭ３に記憶されるフラグＦｌａｇ［１］〜［ｎ］を示す図である。
【図３】ＤＳＰ１０の構成を示すブロック図である。
【図４】ＢＰＦ２０ａ−１〜２０ａ−ｎおよびＢＰＦ４０ａ−１〜４０ａ−ｎの構成を示す回路図である。
【図５】メインルーチンの動作を示すフローチャートである。
【図６】ボコーダタイマ処理の動作を示すフローチャートである。
【図７】第２実施例のＲＡＭ４に設けられるレジスタ構成を示す図である。
【図８】第２実施例によるボコーダタイマ処理の動作を示すフローチャートである。
【図９】変形例の構成を示すブロック図である。
【符号の説明】
１  鍵盤
２  スイッチ部
３  ＲＯＭ
４  ＲＡＭ
５  ＣＰＵ
６  表示部
７  マイク
８  Ａ／Ｄ変換器
９  音源
１０  ＤＳＰ
１１  Ｄ／Ａ変換器
１２  サウンドシステム
１３  スピーカ
【図１】
2004361884.tif 000003
【図２】
2004361884.tif 000004
【図３】
2004361884.tif 000005
【図４】
2004361884.tif 000006
【図５】
2004361884.tif 000007
【図６】
2004361884.tif 000008
【図７】
2004361884.tif 000009
【図８】
2004361884.tif 000010
【図９】
2004361884.tif 000011