JP3282438B2 - 楽音信号合成装置 - Google Patents
楽音信号合成装置Info
- Publication number
- JP3282438B2 JP3282438B2 JP10017595A JP10017595A JP3282438B2 JP 3282438 B2 JP3282438 B2 JP 3282438B2 JP 10017595 A JP10017595 A JP 10017595A JP 10017595 A JP10017595 A JP 10017595A JP 3282438 B2 JP3282438 B2 JP 3282438B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- delay
- filter
- delay time
- loop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Description
ネットワークを利用して振動信号を発振することによっ
て楽音信号を合成する楽音信号合成装置に関し、詳しく
は、ウェーブガイドネットワークの閉ループ内に設けた
フィルタによる信号遅延時間を考慮して、合成される楽
音信号のピッチ補償を行なうようにしたことに関し、更
には、楽音発生中においてループ内の信号遅延時間の可
変制御を有効に行うようにしたことに関する。
は、閉鎖ディジタルウェーブガイドネットワークを利用
して楽音波形信号を発振し合成する技術の基本的構成が
示されている。これは、遅延回路やフィルタなどを閉ル
ープ状に接続してディジタル波形信号を循環させる信号
循環路(閉鎖ディジタルウェーブガイドネットワーク)
を構成し、ディジタルの励起信号をこの循環路に導入し
て該循環路を循環させることにより波形信号を発振さ
せ、ループ内の適当な個所から出力楽音波形信号を取り
出すようにしたものである。この技術は、管楽器や弦楽
器などの所望の自然楽器の物理的特性を閉鎖ディジタル
ウェーブガイドネットワークによってモデル化し、もっ
て該自然楽器の音をシミュレートすることを基本的コン
セプトとしている。すなわち、信号循環路(閉鎖ディジ
タルウェーブガイドネットワーク)は、管や弦などの媒
体内において進行したり反射したりする振動信号の物理
的伝播をモデルするものである。管楽器をシミュレート
する場合について言えば、上記信号循環路は、管楽器の
管部分に対応しており、そこにおける信号遅延時間は管
の長さをシミュレートするものであり、それによって管
部の共振特性を設定する。また、信号循環路に設けられ
たフィルタは、管の端部や開口部や孔等での音波の減衰
やその他の周波数特性をシミュレートするものであり、
それによって音色を制御することができる。また、弦楽
器をシミュレートする場合は、上記信号循環路は、弦部
分に対応している。このように、信号循環路は、物理的
音源の振動発生部分に対応するものである。
路における物理的境界部(例えば、リード等の振動励起
部や、管の開口孔や、弦の取付け端部など)における信
号の進行及び反射をモデルするための信号ジャンクショ
ン部を適宜具備している。例えば、振動励起部をモデル
するための信号ジャンクション部は、非線形変換部を含
む。また、その他の物理的境界部をモデルするための信
号ジャンクション部は、進行波信号と反射波信号の振り
分けと合成等を行なう演算回路を含む。振動信号を励起
するための上記非線形変換部では例えば非線形テーブル
を具備する。信号循環路のループに、ブレス圧力あるい
は擦弦操作等に対応する適宜の電気的圧力信号を導入す
ることにより、該圧力信号を該非線形テーブルで非線形
変換した信号が信号循環路を循環し、振動波形信号が励
起される。別の場合では、振動波形信号を励起するため
に信号循環路に導入する信号として、ノイズ信号あるい
は適宜の初期波形信号が使用される。
号循環路内に設けた遅延回路の遅延段数を変化すること
により、可変制御することができ、これによって該信号
循環路における共振特性を制御し、該信号循環路で合成
される楽音波形信号のピッチを設定/制御することがで
きるようになっている。この場合、遅延回路における遅
延単位時間(最小単位つまり1段分の遅延時間、すなわ
ち1ディレイクロック時間又は1サンプリングクロック
時間)は一定である。特願平1−102376号あるい
は特願平1−125326号においては、上記のような
閉ループ信号循環路を用いた楽音信号合成装置におい
て、遅延回路の複数遅延段の出力を補間する技術(すな
わち段間補間技術)が示されている。また、特開平6−
67674号においては、上記のような閉ループ信号循
環路を用いた楽音信号合成装置において、オールパスフ
ィルタを使用して、前記遅延回路の単位遅延時間未満の
遅延を実現する技術が示されている。
内に設けたフィルタは、本来の振幅−周波数特性のみな
らず、位相遅延特性をも示すので、それに応じた微小な
信号遅延が信号循環路において発生する。フィルタによ
るそのような信号遅延時間は、特にフィルタ係数(すな
わちカットオフ周波数)に依存して変化し、また、信号
の周波数にも依存する。特に、フィルタ回路内にフィー
ドバックループを持つIIR(無限応答フィルタ)にお
いてはそのような位相遅延特性が顕著である。従って、
信号循環路の総遅延時間は、遅延回路で設定された遅延
時間とフィルタによる信号遅延時間の合計となり(ただ
し、その他の遅延要素が閉ループに存在する場合はその
分も考慮するのは勿論である)、所望のピッチ(音高)
を持つ楽音信号を合成するには、遅延回路の遅延時間を
所望ピッチに応じて設定するだけでは不十分であり、フ
ィルタによる信号遅延時間を補償する必要がある。
法は遅延回路の遅延段数を切り換えることであるが、そ
れだけでは単位遅延時間分の調整しかできない。フィル
タによる信号遅延時間を補償するためには、遅延回路に
おける単位遅延時間未満の遅延調整を行なう必要がある
ので、その補償には工夫を要する。従来考えられていた
ピッチ調整法として、上記のように、遅延回路の複数遅
延段の出力を補間する技術(すなわち段間補間技術)が
ある。従来は、この段間補間技術は、もっぱらビブラー
トのようなピッチ変調効果を実現する場合に採用されて
いたものであり、これを、上記のようなフィルタによる
信号遅延時間の補償のために利用することは考えられて
いなかった。特に、この種の段間補間技術において注意
すべきことは、信号循環路の閉ループ内に補間回路が挿
入されることになり、この補間回路がローパスフィルタ
として機能してしまい、楽音信号の高域を不必要に減衰
させてしまうおそれがあるということである。また、楽
音の発音中にフィルタ係数を時変動させて音色特性等の
時間変化を実現しようとする場合に、補償のための遅延
制御操作によってかえってノイズ等が発生するようなこ
とにならないように注意する必要がある。
で、その第1の課題は、遅延要素とフィルタ要素を含む
閉ループにおいて振動信号を励起することにより楽音信
号を合成する楽音信号合成装置において、フィルタ係数
の変化に応じて生じるループの信号遅延時間の変動分を
適切に補償し、所望のピッチの楽音を合成することがで
きるようにした楽音信号合成装置を提供しようとするも
のである。特に、この発明は、楽音の発音中にフィルタ
係数が時変動した場合において有利なピッチ調整技術を
提供しようとするものである。
プ内にオールパスフィルタを具備する場合は、オールパ
スフィルタによる入力信号の周波数帯域に依存しないリ
ニアな遅延特性によって、単位遅延時間未満の信号遅延
(小数遅延)を実現することができる。しかし、楽音の
発生中において、オールパスフィルタによる遅延時間を
可変制御すると、ループの信号遅延時間の小数値が大き
く変わることにより、ノイズをもたらすことがある、と
いう問題点が生じる。例えば、小数値「0.9」に対応
する遅延時間をオールパスフィルタで設定しているとき
に、ループ全体の信号遅延時間を更に変更することによ
り、桁上がりが起こると、小数値「0.0」に対応する
遅延時間をオールパスフィルタで設定するように即座に
切り替えねばならず、オールパスフィルタの部分で急な
遅延時間変化が起こり、これがノイズとなる。このよう
に、オールパスフィルタによる遅延制御においては、遅
延時間を広範囲にわたって可変制御するには適していな
かった。
で、その第2の課題は、遅延要素を少なくとも含む閉ル
ープにおいてループ内の信号遅延時間に応じたピッチを
持つ楽音信号を合成する楽音信号合成装置において、楽
音発生開始前と後において、該ループの信号遅延時間を
可変制御するための制御モードを使い分けることによ
り、楽音発生中におけるノイズの発生等の問題を解決で
きるようにした楽音信号合成装置を提供しようとするも
のである。
ために、この発明に係る楽音信号合成装置は、信号を循
環する閉ループを形成し、かつ、遅延手段とフィルタ手
段とを該ループ内に具備する信号循環手段と、前記信号
循環手段のループ内に信号を導入して振動を励起する励
起手段と、所望の楽音ピッチに応じて前記ループにおけ
る信号遅延時間を設定し、これによって前記ループで該
所望のピッチを持つ楽音の振動が発生されるようにする
ピッチ設定手段と、楽音の発生中における前記フィルタ
手段のフィルタ係数の変化に応答して、前記ループ内に
おける遅延時間の異なる複数点の遅延出力信号を補間合
成することにより該ループの信号遅延時間の調整を行な
い、これによって該フィルタ係数の変化に起因する該信
号遅延時間の変動分を補償する補間手段とを具えるもの
である。
に係る楽音信号合成装置は、励起用信号を入力する入力
手段と、前記入力手段により入力された信号を循環する
閉ループを形成し、かつ、該閉ループ内を循環する信号
を遅延するための遅延手段を該閉ループ内に含み、該信
号が該ループを繰返し循環することにより該ループにお
ける信号遅延時間に対応するピッチを持つ楽音の振動を
発生する信号循環手段と、所望のピッチに応じて前記ル
ープにおける信号遅延時間を設定し、この遅延時間に対
応して前記遅延手段による遅延時間を設定する遅延制御
手段と、前記ループ内に挿入された遅延制御用のフィル
タを含み、楽音の発生開始時又は前において、前記ルー
プにおける信号遅延時間を可変制御するために該フィル
タの特性を制御する第1の手段と、楽音の発生開始後、
該楽音を発生している最中において、前記ループにおけ
る信号遅延時間を可変制御するために、可変される係数
を用いて、前記ループ内における遅延時間の異なる複数
点の遅延出力信号を補間合成する第2の手段とを具える
ものである。
は、励起用信号を入力する入力手段と、前記入力手段に
より入力された信号を循環する閉ループを形成し、か
つ、該閉ループ内を循環する信号を遅延するための遅延
手段を該閉ループ内に含み、該信号が該ループを繰返し
循環することにより該ループにおける信号遅延時間に対
応するピッチを持つ楽音の振動を発生する信号循環手段
と、所望のピッチに応じて前記ループにおける信号遅延
時間を設定し、この遅延時間に対応して前記遅延手段に
よる遅延時間を設定する遅延制御手段と、前記ループ内
に挿入された遅延制御用の第1のフィルタを含み、前記
楽音の発生開始時又は前において、前記ループにおける
信号遅延時間を可変制御するために該第1のフィルタで
実現するよう該第1のフィルタの特性を設定する第1の
手段と、前記ループ内に挿入された遅延制御用の第2の
フィルタを含み、前記楽音の発生開始後、該楽音を発生
している最中において、前記ループにおける信号遅延時
間を可変制御するために該第2のフィルタに与える係数
を可変制御する第2の手段とを具えるものである。
ウェーブガイドネットワークを使用した物理モデルタイ
プの音源と同様な又は類似の電子的閉ループ音源が構成
され、該信号循環手段のループにおける総遅延時間に対
応するピッチを持つ楽音信号が合成される。発生中の楽
音の音色を制御するために、例えば適宜の音色制御用操
作子をマニュアル操作すること等によって、フィルタ係
数を変化すると、フィルタ手段の部分での信号遅延時間
が変化する。そのままでは、信号循環手段のループにお
ける総遅延時間が変動してしまうところであるが、この
発明に係る上記第1の課題を解決する楽音信号合成装置
では、補間手段を設けたことにより、適切に対処するよ
うにしている。すなわち、補間手段によって、楽音の発
生中におけるフィルタ係数の変化に応答して、該ループ
内における遅延時間の異なる複数点の遅延出力信号を補
間する演算を行ない、これによって該フィルタ係数の変
化に起因する該ループの信号遅延時間の変動分を補償す
るようにしている。遅延時間の異なる複数の信号を補間
することによって、補間された遅延時間に対応して該ル
ープ全体の信号遅延時間を微調整することができる。従
って、フィルタ手段の部分における遅延時間の変動分を
補償するように、遅延時間の補間を行なうことにより、
得られる楽音のピッチは変動しないように制御すること
ができる。
め、楽音発生中に行なっても、ノイズを引き起こすおそ
れが少ない。なお、補間回路がループに挿入されること
により、前述したように、ローパスフィルタとして機能
してしまうおそれがあるが、フィルタ係数を時変動変化
することつまり音色の時変動変化制御に対応して行なう
ために、その影響は少なく見積もることができるであろ
う。すなわち、所望の定常的な音色を得るために補間回
路を挿入するような場合に比べて、音色の時変動制御に
対応して補間回路を挿入する場合のほうが、補間による
ローパスフィルタ特性のもたらす定常音色に対する影響
は少ないので、補間による不所望のローパスフィルタ特
性がもたらすデメリットよりも、楽音発生中においてピ
ッチ調整のために滑らかな信号遅延時間制御を簡単な構
成で行なうことが可能な補間演算のメリットの方が大で
ある。また、補間による不所望のローパスフィルタ特性
によってカットされる高域がもとより目的とする音色実
現にとってはあまり重要でない場合であれば、この不所
望のローパスフィルタ特性によって受ける影響はより一
層少なくなるであろう。従って、本発明のように、楽音
発生中におけるフィルタ係数変化に応じたピッチ補償の
ために信号遅延時間の補間演算を行なうことには、少な
からぬ利点がある。
置において、一実施態様として、前記ループ内にオール
パスフィルタを含んでいてもよい。前述の通り、オール
パスフィルタによる入力信号の周波数帯域に依存しない
リニアな遅延特性によって、単位遅延時間未満の信号遅
延(小数遅延)を実現することができる。単位遅延時間
を単位とする信号遅延(整数遅延)は遅延手段における
遅延段数の可変設定によって実現される。ピッチ設定手
段は、所望ピッチの楽音の発生を開始するときに、該所
望ピッチに対応する前記ループ全体の信号遅延時間から
前記フィルタ手段で設定されている前記フィルタ係数に
対応するフィルタ遅延時間を差引き、この差を基に前記
遅延手段による遅延時間を設定する。そして、この差に
対応する前記遅延時間を単位遅延時間で割った商の整数
部に対応して遅延手段の遅延段数を設定し、該商の小数
部に対応してオールパスフィルタの係数を設定し、該小
数部に対応する遅延時間を該オールパスフィルタで実現
するようにする。これにより、細かなピッチ調整が可能
となる。しかし、前述の通り、楽音発生中におけるオー
ルパスフィルタの遅延時間制御は差し控えた方がよい。
何故ならば、楽音発生中における音色制御用フィルタ係
数の変化によって、上記のように信号遅延時間を補償し
なければならないとき、信号遅延時間の小数値が大きく
変わることにより、ノイズをもたらすことがあるからで
ある。例えば、小数値「0.9」に対応する遅延時間を
オールパスフィルタで設定しているとき、桁上がりが起
こると、小数値「0.0」に対応する遅延時間をオール
パスフィルタで設定するように即座に切り替えねばなら
ず、オールパスフィルタの部分で急な遅延時間変化が起
こり、これがノイズとなるおそれがある。従って、オー
ルパスフィルタによる遅延時間の調整制御を行なう場合
でも、楽音発生中におけるフィルタ係数変化に応じたピ
ッチ補償のために信号遅延時間の調整制御は、本発明の
ように補間演算によって行なうのがよい。すなわち、そ
の方がノイズを引き起こさないからである。
音の発生を開始するときに、該所望ピッチに対応してル
ープ全体の信号遅延時間を調整するやり方は、上記のよ
うにオールパスフィルタを使用するものに限らず、他の
手段を任意に使用してよい。例えば、所望ピッチの楽音
の発生を開始するときに、該所望ピッチに対応する前記
ループ全体の信号遅延時間から前記フィルタ手段で設定
されている前記フィルタ係数に対応するフィルタ遅延時
間を差引き、この差を基に前記遅延手段における単位遅
延時間そのものを可変設定するようにしてもよい。しか
し、フィルタ係数の変化に対応して適切な単位遅延時間
を算出することは、少なからぬ計算時間を要するので、
楽音発生中にそのような計算処理を行なうこと避けるこ
とができれば有利となる。従って、単位遅延時間の可変
制御によるループの信号遅延時間の調整制御を行なう場
合でも、楽音発生中におけるフィルタ係数変化に応じた
ピッチ補償のための信号遅延時間の調整制御は、本発明
のように補間演算によって行なうと有利な面がある。す
なわち、その方が楽音発生中における面倒な計算処理を
省略できるからである。このように、楽音発生開始時に
おけるオールパスフィルタや単位遅延時間の可変制御等
による信号遅延時間の調整制御と、楽音発生中における
補間による信号遅延時間の調整制御とは、相互に補完し
あって有利に作用するので、それらの組合せは良好な結
果をもたらす。
楽音信号合成装置においては、前記ループにおける信号
遅延時間を可変制御するための手段として第1の手段と
第2の手段が設けられており、(1)楽音の発生開始時
又は前において可変制御する場合と、(2)楽音の発生
開始後、該楽音を発生している最中において可変制御す
る場合とで、両者を使い分けることにより、楽音発生開
始前と後において、該ループの信号遅延時間を可変制御
するための制御モードを使い分けることができるように
なっている。このような使い分けにより、(1)楽音の
発生開始時又は前における可変制御のために使用する前
記第1の手段として、遅延時間を大きく可変制御したと
きにノイズをもたらす可能性のある手段(例えば前述の
オールパスフィルタ)を用いたとしても、まだ発音はさ
れていないために、そのようなノイズが実際に発生する
ことを回避することができる、という効果をもたらす一
方で、(2)楽音の発生開始後、該楽音を発生している
最中における可変制御のために使用する前記第2の手段
として、遅延時間を大きく可変制御したときにノイズを
もたらす可能性のない手段(例えば前述の補間手段又は
有限インパルス応答フィルタ)を用いることにより、発
音中のループ遅延時間制御によりノイズが発生すること
がないようにすることができる、という効果を奏する。
置において、一実施態様として、前記第1の手段におけ
るフィルタとして、オールパスフィルタを含んでいても
よい。また、前記第2の手段におけるフィルタは、フィ
ルタは有限インパルス応答(FIR)フィルタにより構
成されてよく、等価的には、ローパスフィルタすなわち
遅延補間器に相当するものとすることができる。すなわ
ち、楽音の発生開始時又は前においては、事前のループ
遅延時間の調整もしくはピッチの補正のために、周波数
特性に影響を与えない、という利点を持つオールパスフ
ィルタによって遅延制御を行い、所望の楽音ピッチが得
られるようにする。そして、楽音を発生している最中に
おいて、楽音ピッチを積極的に可変するために、若しく
は望まないピッチ変動の補償/修正をするために、オー
ルパスフィルタの係数の変動による前述の悪影響を回避
できるように、第2の手段では、オールパスフィルタを
使用せずに、遅延補間手段又は有限インパルス応答フィ
ルタ若しくはローパスフィルタを用いて、ループの遅延
時間の可変制御もしくはピッチの変動制御を行う。この
場合、ローパスフィルタすなわち遅延補間手段は、信号
の周波数特性を変化させてしまうという不利はあるもの
の、遅延変化の直線性が良く、また、遅延量の大きな変
化に際しても制御が簡単である、という利点を持つの
で、楽音発生中の制御に使用することは、極めて有効で
ある。このような楽音の発生開始時(又は発生開始前)
と楽音発生中(つまり発生開始後)との間で、第1及び
第2の手段による遅延制御モードを相互補完的に使いわ
けて、ループ内の信号遅延時間の調整又は変動制御すな
わちピッチ補償又は変動制御を行うようにすることは、
双方の欠点を打ち消し、双方の長所を生かすことができ
るので、極めて有利である。
を詳細に説明しよう。 〔ハードウェア構成例〕図1は、この発明に係る楽音信
号合成装置の一実施例に係る電子楽器のハードウェア構
成例を示す。この電子楽器は、CPU(中央処理ユニッ
ト)10、ROM(リードオンリーメモリ)11,RA
M(ランダムアクセスメモリ)12などからなるマイク
ロコンピュータ部を、主制御装置として具備する。演奏
操作子ブロック13は、楽音音高を選択/指定するため
の鍵盤や、楽音の音色や音量若しくはピッチなどを制御
するためのホイール、ジョイスティック、ペダル等の各
種の手操作又は足操作型の操作子、あるいはブレスコン
トローラ、ジェスチャやボディアクションによるコント
ローラなど、演奏者によって演奏中に実時間的に操作さ
れる操作子群を、便宜上一まとめにして図示するもので
あり、それらの操作子群のいずれか1又は複数を適宜具
備していてよい。パネルブロック14は、電子楽器のパ
ネル面に配置された各種スイッチ(音色選択スイッチ
類、音量調整スイッチ類、効果選択スイッチ類、その
他)及びそれに関連する表示器などを、便宜上一まとめ
にして示すものである。
ガイドネットワークと同様の原理に従って楽音信号を合
成する処理を行なうものであり、勿論、複数チャンネル
での楽音合成も可能である。この楽音合成部15は、所
望の楽音合成アルゴリズムを実現するように構成した、
専用のハードウェア回路、あるいはDSP(デジタル・
シグナル・プロセッサ)回路、あるいはマイクロプロセ
ッサなどを適宜使用して構成することができる。楽音合
成部15で合成されたデジタルの楽音信号は、デジタル
−アナログ変換器16でアナログ変換され、サウンドシ
ステム17に与えられて、音響的に発音される。
ラムを記憶しているプログラム記憶部と、各種のプリセ
ットされた音色/ボイスに対応する楽音合成パラメータ
セットなどを記憶したパラメータデータ記憶部とを有し
ており、更に必要とあらば楽音合成部15における楽音
合成アルゴリズムを設定する各種のプログラムを記憶す
る記憶部等を有していてもよい。これらの記憶部は夫々
別体のROM回路からなっていてもよい。RAM12
は、ワーキングRAM部と、ブロック13,14の演奏
操作子又はパネル操作子等を使用してユーザによって任
意に設定された各種パラメータや演算処理によって自動
的に作成又は書き換えられた各種パラメータなどを記憶
するパラメータデータRAM部などを含む。CPU10
による制御に従って、演奏操作子ブロック13及びパネ
ルブロック14の走査処理や、その走査結果に基づく各
種処理(例えば、押圧鍵の発音割当て処理、選択された
音色などのファクターに応じて必要な楽音合成プログラ
ムをROM11から読み出して楽音合成部15に転送す
る処理、あるいは、選択された音色や各種操作子操作若
しくは演算処理結果などのファクターに応じて選択又は
作成された各種の楽音合成用パラメータをROM11又
はRAM12から読み出して楽音合成部15に転送する
処理など)が実行される。
によって実現される楽音合成演算処理アルゴリズムの一
例を、機能的ブロック図によって、図2に示す。図2に
おいて、信号循環部30は、デジタル波形信号を遅延し
かつ循環する閉ループを形成してなるもので、波形信号
を遅延するための可変の遅延回路31と音色制御用のフ
ィルタ32を該ループ内に含み、このループにおける遅
延時間を制御することによって該ループにおける共振特
性を制御し、合成される楽音のピッチを設定することが
できるものである。また、信号循環部30は、循環する
信号のゲインを可変制御するための乗算器33と、励起
用の信号をループ内に導入するための加算器34を含ん
でいる。また、信号循環部30のループ内には、信号遅
延時間を調整するためにオールパスフィルタ20と補間
回路40が挿入されるている。なお、可変の遅延回路3
1は、公知のように、専用のディスクリートハードウェ
ア回路で構成する場合は切り替え型の多段のシフトレジ
スタ回路等によって構成することができ、プログラムタ
イプの場合は読み書き自在のランダムアクセスメモリ
(RAM)を使用して構成することができる。
ループ内に振動を励起するための励起手段に相当するも
ので、例えば、適宜のノイズ信号を発生する。このノイ
ズ信号が乗算器36で適宜のエンベロープ波形データE
G1によって発音時間中に振幅制御され、それから、加
算器34に入力されることにより信号循環部30の閉ル
ープに導入される。この適宜に振幅制御されたノイズ信
号が信号循環部30に導入され、遅延回路31で遅延さ
れ、また必要に応じてオールパスフィルタ20と補間回
路40でその遅延量が微調整され、かつフィルタ32で
周波数特性が制御され、かつ乗算器33でゲイン制御パ
ラメータGに応じて適宜ゲイン制御されて、加算器34
にフィードバックされることにより、信号循環部30に
おいて振動信号が発振される。この振動信号発生原理
は、従来技術として述べた閉鎖ウェーブガイドネットワ
ークによる楽音合成原理に従うものである。なお、フィ
ルタ32は、このループで合成する楽音の倍音の量やそ
の減衰の速さなどを制御するもので、楽音合成用パラメ
ータの1つとして前述のように供給されるフィルタ係数
Cによってその特性(例えばカットオフ周波数やその他
のフィルタ特性)が設定/制御され、結局、合成される
楽音の音色が制御される。
閉ループ内の適宜のポイントから取り出されて振幅調整
用の乗算器37に入力され、適宜のエンベロープ波形デ
ータEG2によって適宜に振幅制御される。また、乗算
器36から出力された励振波形信号が乗算器38に入力
され、適宜のエンベロープ波形データEG3によって適
宜に振幅制御される。そして、乗算器37と38の出力
が加算器39で加算合成され、楽音信号として出力され
る。これは、信号循環部30で発振された振動信号に対
して、適当な振幅で励振波形信号を加算することによ
り、合成楽音波形を多様に制御できるようにするためで
ある。勿論、これに限らず、乗算器38と加算器39を
省略して、信号循環部30で発振された振動信号を適宜
振幅制御した上でそのまま楽音信号として出力するよう
にしてもよい。
生部35を含む振動信号発振部分の演算アルゴリズム
は、あくまでも一例にすぎないものであり(しかも、説
明の単純化のためにかなりシンプルにした一例にすぎな
い)、これに限らず、閉鎖ウェーブガイドネットワーク
による楽音合成原理に従う演算アルゴリズムであれば、
簡単なものから複雑なものまで、また、公知のものから
未公知のものまで、すべて本発明に応用可能であるのは
勿論である。例えば、信号循環手段の閉ループ内に振動
を励起するための励起手段としては、所定の初期波形信
号を閉ループに導入する構成、若しくはインパルス信号
を閉ループに導入する構成、あるいはブレス圧を模倣す
るプレッシャ信号を閉ループに導入してこれを閉ループ
内に設けた非線形変換テーブルに通して非線形変換する
構成などが公知であり、これらの構成を励振波形発生部
35に置き換えてもよいものである。また、信号循環部
30の構成も、図2に示したような単純なループに限ら
ず、進行波の遅延路と反射波の遅延路とを信号ジャンク
ションによって接続した複雑な構成などを適宜用いても
よいものである。
クによる楽音合成原理においては、信号循環部30にお
いて信号が閉ループを1巡するに要する総遅延時間と、
該ループで発振される振動信号の周波数つまり該ループ
で合成される楽音のピッチとの間に明確な相関関係があ
り、該遅延時間を適宜に可変設定することにより、所望
の振動周波数つまり楽音ピッチを実現することができ
る。この相関関係は、信号循環部と励起部として採用す
るモデル若しくは演算アルゴリズムによって決定され
る。例えば、振動周波数がループの総遅延時間の逆数に
対応する場合があり、また、振動周波数がループの総遅
延時間の2倍の逆数に対応する場合もある。図2の例の
場合、信号循環部30で発振される振動信号の周波数
(合成される楽音信号のピッチ)は、信号循環部30に
おける総遅延時間の逆数に対応する。
補間回路40を考慮しない場合、信号循環部30におけ
る総遅延時間は、遅延回路31で設定された遅延時間
と、フィルタ32における信号遅延時間との合計からな
る。勿論、他に特筆すべき遅延要素がある場合はその分
の遅延時間も付加される。遅延回路31は、遅延段数を
可変することができるものであり、制御パラメータDx
によってその遅延段数が可変設定される。基本的には、
所望の楽音ピッチに応じて制御パラメータDxを可変設
定し、これにより遅延回路31の遅延段数を可変設定す
ることにより、閉ループにおける遅延時間の可変制御が
なされる。しかし、それだけでは不十分であり、フィル
タ32による信号遅延時間を考慮して遅延量の補償を行
なう必要がある。その補償のために、本実施例では、オ
ールパスフィルタ20と補間回路40が設けられてい
る。これらについて、詳しくは追って説明する。
ル当たりの演算(遅延及びフィルタ等の演算)の単位時
間は、サンプリングクロックCKの発生周期によって設
定される。すなわち、遅延回路31における1段毎の遅
延処理がサンプリングクロックCKによって制御され
る。従って、サンプリングクロックCKの周波数をfs
(Hz)とし、制御パラメータDxによって設定された
遅延段数をDxとすると、遅延回路31が受け持つ信号
遅延時間は、下記式のようになる。
にも与えられ、該フィルタ32における演算単位時間を
設定する。フィルタ32による信号遅延時間は、そのフ
ィルタの具体的構成によって決まる。フィルタ32の一
例を図3に示す。これは、無限応答フィルタ(IIR)
によってローパスフィルタ(LPF)を構成した例であ
る。サンプリングクロックCKに従って1段の信号遅延
を行なう単位遅延回路26と、この単位遅延回路26か
らフィードバックされる信号をフィルタ入力信号から引
算する加算器27と、加算器27の出力にフィルタ係数
Cを掛ける乗算器28と、乗算器28の出力に単位遅延
回路26からフィードバックされる信号を加算する加算
器29とを具えており、加算器29の出力が単位遅延回
路26に入力されると共に、フィルタ出力として取り出
される構成である。
量Dlpfは、下記式のようである。なお、遅延量Dlpfの
単位は、演算単位時間を1クロックとするクロック数つ
まり遅延段数(遅延回路31の遅延段数と同じ意味)で
ある。すなわち、単位遅延時間が同じであれば、遅延量
は実際の信号遅延時間に一意的に対応している。
音高周波数(ピッチ)であり、fs(Hz)は前述のよ
うにサンプリングクロックCKの周波数である。勿論、
*は掛算記号である。
信号遅延時間はフィルタ係数Cによって変化する。従っ
て、例えば、図1のブロック13,14の演奏操作子又
はパネル操作子等を使用してユーザによって、演奏中に
リアルタイムで、フィルタ係数Cを可変制御するような
場合は、フィルタ32による信号遅延時間が楽曲演奏中
に(個々のノートに対応する各楽音を発生する機会毎
に、あるいは1つの楽音を発生している最中に)適宜変
動し、そのままではループの総遅延時間の変動に対応し
て合成される楽音のピッチが変動してしまうので、この
変動を適切に補償することは極めて重要である。勿論、
フィルタ32の構成は図3に示すものに限らず、他のど
のような構成を用いてもよいものであり、その構成に応
じて該フィルタにおける係数と信号遅延時間の相関関係
が定まる。上記の補償のために、この実施例では、各楽
音の発生開始時にオールパスフィルタ20を用いて信号
遅延時間の調整を行ない、楽音を発生している最中は補
間回路40を用いて信号遅延時間の調整を行なうように
している。この点について概略を次に説明する。
遅延時間の調整について説明する。すなわち、楽音合成
部15内の信号循環部30において、音色制御用のフィ
ルタ32とは別に、信号遅延用のオールパスフィルタ2
0を設け、このオールパスフィルタ20によって、遅延
回路31における遅延単位時間未満の細かな遅延量(小
数部の遅延量)を制御するようにしている。このオール
パスフィルタ20による遅延時間の設定は各楽音の発生
開始時に行なうものとし、一旦設定した遅延量は楽音発
生最中は変更しないものとする。これは前述したよう
に、信号遅延量データの桁上げ又は桁下げによって、小
数部が「0.9」から「0.0」に、または「0.0」
から「0.9」に、というように急に変化して、発生中
の楽音にノイズ等の悪影響を及ぼすことを避けるためで
ある。なお、そのような目的を考慮すれば明らかなよう
に、そのような急激な変化をもたらさない場合(例え
ば、小数部が「0.1」から「0.2」に変化するよう
な場合)は、楽音発生中であっても、オールパスフィル
タ20による信号遅延時間の調整制御を併用するという
変形例が実施可能であることが理解できるであろう。
図4のようであり、単位遅延回路21、乗算器22,2
3、加算器24,25を含んでおり、入力信号を加算器
24を介して単位遅延回路21に入力し、該単位遅延回
路21の出力に乗算器22で係数−αを掛けて加算器2
4にフィードバックし、加算器24の出力に乗算器23
で係数αを掛けた信号と単位遅延回路21の出力とを加
算器25で加算して出力する構成である。このオールパ
スフィルタ20は、その係数αを0乃至1の範囲の小数
値で可変することにより、入力信号の帯域に依存しない
リニアな遅延制御が行なえるものである。オールパスフ
ィルタにおける信号遅延時間つまり遅延量Dapfは、例
えば下記式に示すような関係でフィルタ係数αに応じて
決定される。
(Hz)とすると、該ピッチ周波数Pnを得るために必
要とされる信号循環部30における総遅延量Dsは、下
記式により定まる。fs(Hz)は、前述の通り単位遅
延時間を設定するサンプリングクロックCKの周波数で
ある。
おいて、上記数4の式によって所望の楽音ピッチに対応
する信号循環部30における総遅延量Dsを求める。そ
れから、上記数2の式によって音色制御用のフィルタ3
2における信号遅延量Dlpfを求める。そして、下記数
5のように、両者の差を求め、その整数部Diと小数部
Dfとから、遅延回路31が分担すべき遅延量(遅延段
数)Dxとオールパスフイルタ20が分担すべき遅延量
Dapfを算出する。すなわち、整数部Diを遅延回路3
1が分担すべき遅延量(遅延段数)Dxとして設定し、
小数部Dfをオールパスフイルタ20が分担すべき遅延
量Dapfとして設定する。なお、そのとき(つまり楽音
発生開始時は)、補間回路40における補間は行なわな
いものとし、例えばその係数βを「0」にしておく。
は、こうして決定される遅延量Dapfに応じて例えば上
記数3の式に従い求められる。例えば、こうして決定し
たフィルタ係数αは、その楽音を発生している最中は固
定される。
明する。楽音発生中において音色制御用のフィルタ係数
Cが変化されると、まず、前記数2の式に従い、新しい
フィルタ遅延量Dlpf’を求める。次に、下記数6の式
のように、所望の総遅延量Dsから、新しいフィルタ遅
延量Dlpf’と、上記のように発音中は固定されている
オールパスフィルタ20の遅延量DapfつまりDfを差
引き、遅延回路31が分担すべき遅延量Di’+Df’
を求める。ここで、Di’は整数部、Df’は小数部で
ある。遅延回路31では、単位遅延しかできないから、
整数部Di’を新たな遅延段数Dxとして設定し、小数
部Df’に応じた遅延(単位遅延時間未満の遅延)は補
間回路40で設定する。すなわち、補間回路40の補間
係数βを、この小数部Df’の値に応じて決定する。
異なる遅延時間に対応する複数点の遅延出力信号を所定
の補間式に従って補間合成するものであり、その一例を
示すと図2に示されているようである。図2に示された
例では、補間回路40は、単位遅延回路41、乗算器4
2,43、加算器44を含んでおり、遅延回路31の出
力を単位遅延回路41で更に1段遅延し、この遅延出力
に乗算器42で係数βを掛ける。一方、遅延回路31の
出力を乗算器43に入力し、係数「1−β」を掛ける。
そして、乗算器42,43の出力を加算器44で加算
し、加算器44の出力がループを循環するようにする。
従って、整数部Di’に対応する遅延段数Dxの遅延出
力信号と、それより1段多い遅延出力信号との間を、小
数部Df’の値に対応する係数βに従って補間する、と
いう1次補間回路を構成している。このような1次補間
回路の場合、Df’=βとしてよい。
用のフィルタ係数Cの変化に伴って必要となる信号循環
部30の信号遅延時間の調整(小数部Df’に対応する
信号遅延)を、補間回路40によって行なうことができ
る。なお、楽音合成部15に関連して、エンベロープ形
成用パラメータ(例えばキーオンやキーオフの情報や所
望エンベロープ波形を形成するためのパラメータ情報)
に基づいて各種のエンベロープ波形データ(例えばEG
1〜EG3)を形成するエンベロープ波形発生器が設け
られるが、特に図示しない。なお、信号循環部30のル
ープゲインを制御するパラメータGも、キーオン/オフ
に連動して発生しかつ時変動するエンベロープ波形デー
タであってもよい。
は、楽音ピッチとフィルタ係数に応じた上記のような遅
延量の設定演算処理を、CPU10によって行なうよう
になっている。そこで、以下では、CPU10による処
理の具体例について説明する。 −メインルーチンの説明− CPU10のメインルーチンの概略例を図5によって説
明すると、まず、電源スイッチがオンされると所定のイ
ニシャライズ処理を行なった後、ステップ50で操作イ
ベント検出処理を行なう。ここでは、演奏操作子ブロッ
ク13やパネルブロック14におけるキースイッチやそ
の他のスイッチ類及び操作子類の操作状態を検出し、操
作状態に変化があったかどうか(イベントがあったかど
うか)を調べる。例えば、スイッチのオンイベント又は
オフイベントがあった場合はそのスイッチに対応するオ
ンイベントフラグ又はオフイベントフラグを立てる。ま
た、ジョイスティックやホイールあるいはボリュームな
どの多段階操作位置を持つ操作子の操作量が変化した場
合は、その操作量や移動量を夫々の操作子に対応してレ
ジスタに記憶する。
では、前記イベントフラグの内容に応じて、演奏操作子
ブロック13やパネルブロック14における操作子操作
によって新たに選択又は変更された音色/ボイス(若し
くは最初はイニシャライズ処理で指定された音色/ボイ
ス)の楽音を合成するために必要なデータ若しくはパラ
メータをROM11又はRAM12から読み出し、楽音
合成部15に転送して記憶させる。楽音合成部15で
は、このように転送され記憶したデータに基づき、これ
らのデータ若しくはパラメータによって定まる音色/ボ
イスを持つ楽音信号を合成する。なお、このデータ若し
くはパラメータは、CPU10側の適宜のバッファメモ
リにも保存されており、現在選択されている音色/ボイ
スのデータを必要に応じて参照できるようになってい
る。
前記イベントフラグの内容に応じて、キーオンイベント
があった場合に当該新たな押圧鍵の楽音を合成する準備
のための必要な処理を行なう。このキーオン処理におい
ては、楽音発生開始時において行なうべき、音色制御用
フイルタの遅延時間を考慮した信号遅延時間調整(すな
わちピッチ調整)制御を含んでいる。次のステップ53
のキーオフ処理では、前記イベントフラグの内容に応じ
て、キーオフイベントがあった場合に当該新たな離鍵に
係る楽音の減衰発音又は発音消去を行なうための処理を
行なう。なお、複数チャンネルで楽音を発生するように
する場合は、周知のように、キーオンイベントに対応す
る押圧鍵を適当な楽音合成用チャンネルに割り当てる処
理を適宜行なう。
記イベントフラグの内容に応じて、演奏操作子ブロック
13やパネルブロック14におけるリアルタイム制御用
の各種操作子の操作状態が変化したとき、変化後の操作
状態に対応する必要な処理を行なう。この操作子処理に
おいては、楽音発生中において音色制御用のフイルタ係
数が変化したとき行なうべき、音色制御用フイルタの遅
延時間を考慮した信号遅延時間調整(すなわちピッチ調
整)制御を含んでいる。ステップ55では、その他の必
要な処理を行なう。それから、ステップ50に戻る。こ
うして、ステップ50から55に至るメインルーチンを
繰返す。
− 図6は、メインルーチンの前記ステップ52で行われる
キーオン処理の一例を示すものである。まず、ステップ
60では、キーオンイベントの有無をチェックし、YE
Sであればこの処理を続行するが、NOであればリター
ンする。ステップ61では、キーオンイベントに関わる
鍵若しくはノートをいずれかの楽音発生用チャンネルに
割り当てる処理を行なう。ステップ62では、キーオン
イベントに関わる鍵若しくはノートを示すキーコードK
Cに基づき、発生すべき楽音のピッチを示す周波数Pn
(Hz)を確定する。次のステップ63では、前記数4
の式に従い、所定のサンプリング周波数fs(Hz)の
下で、所望の楽音ピッチ周波数Pn(Hz)を得るため
に必要とされる信号循環部30における総遅延量Dsを
算出する演算「Ds=fs/Pn」を行なう。なお、こ
れらのステップ62,63は演算処理ではなく、テーブ
ル読出し処理によって置き換えることができるのは勿論
である。例えば、キーオンイベントに関わるキーコード
KCに応じて総遅延量Dsのデータを一挙に読み出すよ
うに構成することも可能である。
ストアしてある現在選択/設定されている音色/ボイス
のための楽音合成用データのうち、フィルタ32の係数
Cを示すパラメータを初期パラメータCoとして取り出
し、このフィルタ係数の初期パラメータCoを、例えば
前記数2のような所定のフィルタ遅延時間算出式のフィ
ルタ係数Cに代入して、該係数Coに対応する該フィル
タ32の初期の(すなわち発音開始時の)信号遅延量D
lpfoを、例えば次のように、算出する。 Dlpfo =Co sinθ/{θ*(1−Co cosθ)} なお、この初期パラメータCoの決定にあたっては、上
記バッフアメモリにストアされているフィルタ係数デー
タのみに限らず、その他の音色制御用操作子の操作状態
(発音開始時の操作状態)を考慮してもよい。ここでの
演算も、テーブル読出しに置き換えることが可能であ
る。
めた総遅延量Dsからステップ64で求めた初期フィル
タ遅延量Dlpfoを、前記数5の式のように、引き算し、
遅延回路31とオールパスフィルタ20が分担すべき遅
延量「Ds−Dlpfo」を算出する。これは、次のよう
に、整数部Diと小数部Dfを含んでいる。 Ds−Dlpfo =Di+Df このように求めた遅延量Di+Dfのうち、整数部Di
を遅延回路31の遅延段数設定データDxとし、小数部
Dfをオールパスフィルタ20が分担すべき遅延量Dap
fを設定するデータとする。
ような所定のオールパスフィルタ遅延時間算出式に従っ
て、前記ステップ65で算出した遅延量Dapf=Dfを
得るために必要なフィルタ係数αの値を計算する。例え
ば、前記数3の式を利用する場合は、これを逆算して上
記小数部Dfを代入し、 α=(1−Df)/(1+Df) なる式でフィルタ係数αを求めることができる。この演
算もテーブル読出しによって置き換えることができる。
算出された所望ピッチ設定用の各パラメータDx及びα
と、その他の楽音発生開始用の各種パラメータ(例えば
エンベロープ形成用パラメータなど)を楽音合成部15
に送出する。なお、このとき、補間回路40のパラメー
タβとして「0」を送出し、楽音発生開始時は信号遅延
時間の補間演算を行なわないようにする。楽音合成部1
5では、送出された各種パラメータに基づき、楽音合成
処理を開始し、楽音信号の発生を開始する。
操作子処理の一例を示すものであり、音色制御用の操作
子に関する処理について示すものである。まず、ステッ
プ70では、音色制御用の操作子イベントの有無をチェ
ックし、YESであればこの処理を続行するが、NOで
あればリターンする。例えば、音色制御用の操作子の操
作量を示すデータmが変化したかどうかをチェックす
る。楽音発生中に、音色制御用の操作子が操作される
と、ステップ70がYESとなり、ステップ71に行
く。ステップ71では、音色制御用の操作子の操作量デ
ータmに対して適宜の感度パラメータsを演算(例えば
掛け算)し、感度調整を行なった上で、音色制御フィル
タ係数の初期パラメータCoと演算(例えば加算)し、
その演算結果をフィルタ32のフィルタ係数Cとして仮
決定する。感度パラメータsは、選択された音色/ボイ
スの種類などに応じて適宜に決定されるものである。
に仮決定されたフィルタ係数Cのリミット処理を行な
う。ステップ72では、仮決定されたフィルタ係数Cが
所定の最小値Cminよりも小かを調べ、YESであれば
ステップ73で所定最小値Cminをフィルタ係数Cとし
てセットする。NOならばステップ74に行き、仮決定
されたフィルタ係数Cが所定の最大値Cmaxよりも大か
を調べる。YESであればステップ75で所定最大値C
maxをフィルタ係数Cとしてセットする。このようにし
て、フィルタ係数Cの変化範囲を所定の範囲に限定する
ためである。この範囲は、フィルタ32におけるフィル
タのタイプに応じて適宜異なるものであるが、例えば、
Cmin=0.01,Cmax=1.00である。最小値Cmi
nは0とせずに、上記0.01のようにある程度の微小
値を持たせた方がよい。
音色制御操作に応じて上記のように決定されたフィルタ
係数Cを、例えば前記数2のような所定のフィルタ遅延
時間算出式のフィルタ係数Cに代入し、変化した該フィ
ルタ係数Cに対応する該フィルタ32の信号遅延量Dlp
f’を、例えば次のように、算出する。 Dlpf’=C sinθ/{θ*(1−C cosθ)} この演算も、テーブル読出しに置き換えることが可能で
ある。
様に、下記のように、所望ピッチに対応する総遅延量D
sから、新しいフィルタ遅延量Dlpf’と、上記のよう
に発音中は固定されているオールパスフィルタ20の遅
延量Dapfとを差引き、遅延回路31が分担すべき遅延
量Di’+Df’を求める。ここで、Di’は整数部、
Df’は小数部である。 Ds−Dlpf’−Dapf=Di’+Df’ このようにして求めた整数部Di’を遅延回路31の新
たな遅延段数設定パラメータDxとして設定する。小数
部Df’は、遅延回路31では実現できない単位遅延時
間未満の遅延量に対応している。次のステップ78にお
いて、この小数部Df’の値に応じて補間回路40の補
間係数βを決定する処理を行なう。補間係数βは、小数
部Df’の値に基づき、補間式に応じた所定の演算又は
テーブル読出しを行なうことによって決定することがで
きる。前述のように1次の直線補間の場合は、小数部D
f’の値をそのまま補間係数βとしてよい。
変更されたフィルタ係数Cと、この変化に対応してピッ
チ調整をするように算出された所望ピッチ設定用の各パ
ラメータDx及びβなどを楽音合成部15に送出する。
なお、オールパスフィルタ20の係数αは、発音開始時
に初期設定されたままに維持される。楽音合成部15で
は、送出された各種パラメータに基づき、楽音合成処理
を行ない、変化した音色を持つ楽音信号を、補償された
所望のピッチで発生する。この図7の処理は、音色制御
用の操作子の操作に応じてフィルタ係数Cが変化される
毎にリアルタイムでその都度行なわれる。
キーオフ処理の一例を示すものである。まず、ステップ
80では、キーオフイベントの有無をチェックし、YE
Sであればこの処理を続行するが、NOであればリター
ンする。ステップ81では、キーオフイベントに関わる
鍵が割り当てられているチャンネルに対応して、各種の
キーオフパラメータ(例えばエンベロープ波形をレリー
ス状態に設定するためのパラメータなど)を送出する。
なお、キーオフに伴って減衰発音を行なう場合、キーオ
フ用の音色制御を自動的に行なうようにしてもよい。そ
の場合は、キーオフ用に変更されたフィルタ係数Cを送
出すると共に、図7のステップ76〜79と同様の処理
を行なって、フィルタ係数Cの変化に対応してピッチ調
整をするように所望ピッチ設定用の各パラメータDx及
びβなどを算出し、これらのパラメータも楽音合成部1
5に送出する。
発生開始時における音色設定/制御用のフィルタ係数に
応じた遅延時間調整のための手段としては、上記実施例
に示したようなオールパスフィルタに限らず、他の適宜
の手段を用いてよい。例えば、サンプリングクロックC
Kの周波数fs(Hz)を可変制御することにより、つ
まり遅延回路31における単位遅延時間を可変制御する
ことにより、行なうようにしてもよい。例えば、所望ピ
ッチの楽音の発生を開始するときに、或る基準のサンプ
リング周波数fsoを基にして算出した該所望ピッチに
対応するループ全体の信号遅延量Dsからフィルタ係数
Cに対応するフィルタ遅延量Dlpfを差引き、この差
「Ds−Dlpf」に対応する遅延時間「(Ds−Dlpf)
×(1/fso)」が、遅延回路31の整数遅延によっ
て実現できるように、サンプリング周波数fsを可変設
定するようにしてもよい。すなわち、Dxを或る整数と
するとき、(Ds−Dlpf)×(1/fso)=Dx×
(1/fs)が成立するサンプリング周波数fsを求め
ればよい。この場合、勿論、Dxとfsの両方を可変制
御してよい。
種の計算ステップの処理は、実際に計算を行なうことに
代えて、予め用意したテーブルに変数データをアドレス
入力し、その解を即座に読み出すようにする構成に変更
することができるのは勿論である。また、上記実施例に
おいて、音色制御用のフィルタ32はローパスフィルタ
に限らず、どのようなタイプのフィルタを用いてもよ
い。その場合、該フィルタにおける信号遅延特性が計算
式で求めることができないような複雑なフィルタを使用
する場合は、事前にその遅延特性を実測してその実測値
に基づき係数対遅延量データを記憶したテーブルを作成
し、該テーブルを読み出すことによりフィルタ遅延量デ
ータを求めるようにしてよい。また、計算式によってフ
ィルタ遅延量を求めることができる場合も、テーブルを
使用すれば計算速度を速くすることができる。その場
合、上記と同様に、テーブルに記憶されていない値に関
しては、テーブルからの読み出し出力を補間することに
より近似解を求めるようにすることができ、これによっ
て該テーブルの記憶容量を節約することができる。
1次補間に限らず、2次補間あるいは3次補間等の多次
補間を使用してもよい。その場合は、遅延回路31内の
適宜の複数の遅延段から遅延出力信号を夫々取り出し、
これらを所定の補間係数で補間するようにしてよい。ま
た、補間回路40は、信号循環部30のループ内であれ
ば、どの部分に挿入されていてもよい。なお、上記実施
例に示したようなソフトウェア処理に限らず、専用のハ
ードウェア回路によって本発明を実施することができる
のは勿論である。
明〕上記実施例は、この発明の前記第1の課題を解決す
るための実施例として主に説明されている。しかし、同
じ実施例をそっくり、この発明の前記第2の課題を解決
するための実施例とすることができる。更に、その変更
例として、前記音色制御用のフィルタ32を必須のもの
としないようにしてよい。すなわち、音色制御用のフィ
ルタ32を設けなかったとしても、この発明の前記第2
の課題を解決する実施例は実施可能である。その場合
は、例えば、楽音発生開始時において実行される図6の
キーオン処理において、ステップ64で得られる初期遅
延量DlpfoはDlpfo=0であっても、所望のピッチに対
応する総遅延量Dsが単位遅延時間未満の端数を含むこ
とがであるため、ステップ65において、Ds=Di+
Dfから、オールパスフィルタ20が分担すべき遅延量
Dapf=Dfを求める必要がある。従って、その場合
は、ループの所望の総遅延時間Dsのうち、遅延回路3
1が分担する遅延時間Dxを越える部分(つまり単位遅
延時間未満の遅延)が、オールパスフィルタ20が分担
すべき遅延量Dapf=Dfとされる。
施例において、補間回路40によって楽音発生中におい
てループの遅延量を可変制御することは、上記実施例の
ような音色フィルタ係数変動による望まないピッチ変動
を補償/修正する目的に限らず、その他の目的、例えば
発生楽音のピッチを積極的に時変動制御する目的で実行
するようにしてもよい。図9は、その場合の一例を示す
もので、楽音発生中における楽音ピッチの変更制御を行
うためのピッチ変更処理を示す。このピッチ変更処理は
図5のメインルーチンにおける適宜の箇所(例えば、ス
テップ54の操作子処理や、ステップ55のその他の処
理など)で実行される。
らかの鍵がキーオン中か否かをチェックし、YESであ
れば次のステップ91に進むが、NOであればリターン
する。これは、このピッチ変更処理を発音中でのみ行う
ようにするためである。従って、このステップ90で
は、キーオン中か否かをチェックすることに代えて、何
らかの音が発音中か否かをチェックするようにしてもよ
い。次のステップ91では何らかのピッチ変更イベント
が生じたかをチェックする(例えばピッチ変更用の操作
子が操作されるあるいはピッチ制御用データの値が変化
する等のイベントの有無をチェックする)。YESなら
ば、ステップ92に行き、楽音のピッチPnを変更後の
ピッチPn’に変更するための必要な処理を行う。NO
であればリターンする。ステップ92の次に、ステップ
93では前記図6のステップ63と同様に、ピッチP
n’に対応する総遅延量Ds’を求める。次に、ステッ
プ94,95,96では、図7のステップ77,78,
79と略同様の処理を行う。
に、変更後のピッチPn’に対応する総遅延量Ds’か
ら、上記のように発音開始時に可変設定され発音中はそ
の設定値に固定されているオールパスフィルタ20の遅
延量Dapf等を差引き、遅延回路31が分担すべき遅延
量Di’+Df’を求める。 Ds’−Dapf−Dlpf=Di’+Df’ なお、Dlpfは、音色制御用のフィルタ32による遅延
量を示しており、もし該フィルタ32を設けないなら
ば、0である。もし、音色制御用のフィルタ32を設
け、かつ、その係数を楽音発生中は変更しないとした場
合は、Dlpfの値は前記値Dlpfoに相当するであろう。
また、もし、音色制御用のフィルタ32を設け、かつ、
その係数を楽音発生中でも変更するとした場合は、Dlp
fの値は前記値Dlpf’に相当するであろう。
回路31の新たな遅延段数設定パラメータDxとして設
定する。小数部Df’は、遅延回路31では実現できな
い単位遅延時間未満の遅延量に対応している。次のステ
ップ95において、この小数部Df’の値に応じて補間
回路40の補間係数βを決定する処理を行なう。補間係
数βは、小数部Df’の値に基づき、補間式に応じた所
定の演算又はテーブル読出しを行なうことによって決定
することができる。前述のように1次の直線補間の場合
は、小数部Df’の値をそのまま補間係数βとしてよ
い。次のステップ96では、変更された所望のピッチP
n’に対応して上記のように求められた各パラメータD
x,β等を楽音合成部15に送出する。なお、この場合
も、オールパスフィルタ20の係数αは、発音開始時に
初期設定されたままに維持される。楽音合成部15で
は、送出された各種パラメータに基づき、楽音合成処理
を行ない、変更された所望のピッチの楽音で発生する。
発生開始時(又は前)において信号循環部30のループ
の信号遅延時間を単位遅延時間未満で可変制御するため
の手段として、上記実施例ではオールパスフィルタ20
を用いているが、これに限らず、可変制御すべき遅延時
間の一部を補間回路40によって分担するようにしても
よい。すなわち、補間回路40は、そのローパスフィル
タ特性によって望まない周波数特性を楽音に付与してし
まう欠点があるが、設定する係数の範囲によっては、ロ
ーパスフィルタ特性が出ないようにする(又は楽音に対
して実質的な影響を与えない範囲とする)ことができる
ので、そのような範囲では、補間回路40を、楽音発生
開始時(又は前)において遅延時間を可変制御する手段
として使用してもよい。また、楽音発生開始時(又は
前)において遅延制御を行うためのフィルタとしては、
オールパスフィルタ20に限ることなく、その他の遅延
制御用のフィルタを使用してよい。また、楽音発生中に
おいて遅延制御を行うための手段としては、補間回路4
0に限ることなく、その他適宜のフィルタ、例えば補間
回路と等価的な有限インパルス応答(FIR)フィル
タ、を使用してよい。
施の態様のいくつかを要約して列挙すると次のようであ
る。 1.信号を循環する閉ループを形成し、かつ、遅延手段
とフィルタ手段とを該ループ内に具備する信号循環手段
と、前記信号循環手段のループ内に信号を導入して振動
を励起する励起手段と、所望の楽音ピッチに応じて前記
ループにおける信号遅延時間を設定し、これによって前
記ループで該所望のピッチを持つ楽音の振動が発生され
るようにするピッチ設定手段と、楽音の発生中における
前記フィルタ手段のフィルタ係数の変化に応答して前記
ループ内における遅延時間の異なる複数点の出力を補間
合成することにより該ループの信号遅延時間の調整を行
ない、これによって該フィルタ係数の変化に起因する該
信号遅延時間の変動分を補償する補間手段とを具えた楽
音信号合成装置。 2.前記ピッチ設定手段は、前記所望ピッチの楽音の発
生を開始するときに、該所望ピッチに対応する前記ルー
プ全体の信号遅延時間から前記フィルタ手段で設定され
ている前記フィルタ係数に対応するフィルタ遅延時間を
差引き、この差を基に前記遅延手段による遅延時間を設
定するものである前記第1項の楽音信号合成装置。 3.前記ピッチ設定手段は、前記ループ内に挿入された
オールパスフィルタを含み、前記差に対応する前記遅延
時間を前記遅延手段の単位遅延時間で割った商の整数部
に対応して該遅延手段の遅延段数を設定し、該商の小数
部に対応して前記オールパスフィルタの係数を設定し、
該小数部に対応する遅延時間を該オールパスフィルタで
実現するようにした前記第2項の楽音信号合成装置。 4.楽音の発生開始時に設定した前記オールパスフィル
タの係数は、該楽音の発生中は変更しないようにした前
記第3項の楽音信号合成装置。 5.前記ピッチ設定手段は、前記所望ピッチの楽音の発
生を開始するときに、該所望ピッチに対応する前記ルー
プ全体の信号遅延時間から前記フィルタ手段で設定され
ている前記フィルタ係数に対応するフィルタ遅延時間を
差引き、この差を基に前記遅延手段による単位遅延時間
を可変設定するものである前記第1項の楽音信号合成装
置。 6.前記ピッチ設定手段は、前記楽音の発生中における
前記フィルタ手段のフィルタ係数の変化に応答して、前
記所望ピッチに対応する前記ループ全体の信号遅延時間
から該変化したフィルタ係数に対応するフィルタ遅延時
間を差引き、この差を基に前記遅延手段による遅延段数
と前記補間手段の補間係数とを設定するものである前記
第1項乃至第5項のいずれかに記載の楽音信号合成装
置。 7.前記ピッチ設定手段は、前記差に対応する前記遅延
時間を前記遅延手段の単位遅延時間で割った商の整数部
に対応して該遅延手段の遅延段数を設定し、該商の小数
部に対応して前記補間手段の補間係数を設定し、該小数
部に対応する遅延時間を該補間手段で実現するようにし
た前記第6項の楽音信号合成装置。
記入力手段により入力された信号を循環する閉ループを
形成し、かつ、該閉ループ内を循環する信号を遅延する
ための遅延手段を該閉ループ内に含み、該信号が該ルー
プを繰返し循環することにより該ループにおける信号遅
延時間に対応するピッチを持つ楽音の振動を発生する信
号循環手段と、所望のピッチに応じて前記ループにおけ
る信号遅延時間を設定し、この遅延時間に対応して前記
遅延手段による遅延時間を設定する遅延制御手段と、前
記ループ内に挿入された遅延制御用のフィルタを含み、
楽音の発生開始時又は前において、前記ループにおける
信号遅延時間を可変制御するために該フィルタの特性を
制御する第1の手段と、楽音の発生開始後、該楽音を発
生している最中において、前記ループにおける信号遅延
時間を可変制御するために、可変される係数を用いて、
前記ループ内における遅延時間の異なる複数点の遅延出
力信号を補間合成する第2の手段とを具える楽音信号合
成装置。 9.励起用信号を入力する入力手段と、前記入力手段に
より入力された信号を循環する閉ループを形成し、か
つ、該閉ループ内を循環する信号を遅延するための遅延
手段を該閉ループ内に含み、該信号が該ループを繰返し
循環することにより該ループにおける信号遅延時間に対
応するピッチを持つ楽音の振動を発生する信号循環手段
と、所望のピッチに応じて前記ループにおける信号遅延
時間を設定し、この遅延時間に対応して前記遅延手段に
よる遅延時間を設定する遅延制御手段と、前記ループ内
に挿入された遅延制御用の第1のフィルタを含み、前記
楽音の発生開始時又は前において、前記ループにおける
信号遅延時間を可変制御するために該第1のフィルタで
実現するよう該第1のフィルタの特性を設定する第1の
手段と、前記ループ内に挿入された遅延制御用の第2の
フィルタを含み、前記楽音の発生開始後、該楽音を発生
している最中において、前記ループにおける信号遅延時
間を可変制御するために該第2のフィルタに与える係数
を可変制御する第2の手段とを具える楽音信号合成装
置。 10.前記第8項の前記フィルタ又は前記第9項の前記
第1のフィルタがオールパスフィルタを含み、前記第2
のフィルタが有限インパルス応答フィルタである前記第
8項又は第9項に記載の楽音信号合成装置。
環手段と励起手段により該信号循環手段における総遅延
時間に対応して定まるピッチを持つ楽音信号を合成する
場合において、発生中の楽音の音色を制御するためにフ
ィルタ特性を可変制御したとき、そのために生じる信号
遅延時間の変動を補償するように、補間手段によって、
遅延時間の異なる複数の信号を補間することによって、
補間された遅延時間に対応して該ループ全体の信号遅延
時間を微調整することができるようにしたので、得られ
る楽音のピッチが変動しないようにするピッチ調整制御
を滑らかに行なうことができる。すなわち、補間による
遅延時間制御であるため、楽音発生中に行なっても、ノ
イズを引き起こすおそれが少なく、しかも、演算処理が
比較的簡単であるからリアルタイム制御に適している。
閉ループにおける信号遅延時間を可変制御するための手
段として第1の手段と第2の手段が設けられており、
(1)楽音の発生開始時又は前において可変制御する場
合と、(2)楽音の発生開始後、該楽音を発生している
最中において可変制御する場合とで、両者を使い分ける
ことにより、楽音発生開始前と後において、該ループの
信号遅延時間を可変制御するための制御モードを使い分
けることができるようになっているので、(1)楽音の
発生開始時又は前における可変制御のために使用する前
記第1の手段として、遅延時間を大きく可変制御したと
きにノイズをもたらす可能性のある手段(例えば前述の
オールパスフィルタ)を用いたとしても、まだ発音はさ
れていないために、そのようなノイズが実際に発生する
ことを回避することができる、という効果を奏する一方
で、(2)楽音の発生開始後、該楽音を発生している最
中における可変制御のために使用する前記第2の手段と
して、遅延時間を大きく可変制御したときにノイズをも
たらす可能性のない手段(例えば前述の補間手段又は有
限インパルス応答フィルタ)を用いることにより、発音
中のループ遅延時間制御によりノイズが発生することが
ないようにすることができる、という効果を奏する。こ
のように、楽音の発生開始時(又は発生開始前)と楽音
発生中(つまり発生開始後)との間で、第1及び第2の
手段による遅延制御モードを相互補完的に使いわけて、
ループ内の信号遅延時間の調整又は変動制御すなわちピ
ッチ補償又は変動制御を行うようにすることは、双方の
欠点を打ち消し、双方の長所を生かすことができるの
で、極めて有利である。
に係る電子楽器のハードウェア構成例を示すブロック
図。
楽音合成演算処理アルゴリズムの一例を示す機能的ブロ
ック図。
制御用フィルタの一構成例を示す機能的ブロック図。
ルパスフィルタの一構成例を示す機能的ブロック図。
よって実行されるメインルーチンの一例を略示するフロ
ー図。
ン処理の一実施例を示すフロー図。
処理の一例を示すフロー図。
フ処理の一実施例を示すフロー図。
変更処理の一例を示すフロー図。
3 乗算器 24,25,29,34,39,44 加算器 35 励振波形発生部 20 オールパスフィルタ 40 補間回路 21,26,41 単位遅延回路
Claims (3)
- 【請求項1】 励起用信号を入力する入力手段と、 前記入力手段により入力された信号を循環する閉ループ
を形成し、かつ、該閉ループ内を循環する信号を遅延す
るための遅延手段を該閉ループ内に含み、該信号が該ル
ープを繰返し循環することにより該ループにおける信号
遅延時間に対応するピッチを持つ楽音の振動を発生する
信号循環手段と、 所望のピッチに応じて前記ループにおける信号遅延時間
を設定し、この遅延時間に対応して前記遅延手段による
遅延時間を設定する遅延制御手段と、 前記ループ内に挿入された遅延制御用のフィルタを含
み、楽音の発生開始時又は前において、前記ループにお
ける信号遅延時間を可変制御するために該フィルタの特
性を制御する第1の手段と、 楽音の発生開始後、該楽音を発生している最中におい
て、前記ループにおける信号遅延時間を可変制御するた
めに、可変される係数を用いて、前記ループ内における
遅延時間の異なる複数点の遅延出力信号を補間合成する
第2の手段と を具える楽音信号合成装置。 - 【請求項2】 励起用信号を入力する入力手段と、 前記入力手段により入力された信号を循環する閉ループ
を形成し、かつ、該閉ループ内を循環する信号を遅延す
るための遅延手段を該閉ループ内に含み、該信号が該ル
ープを繰返し循環することにより該ループにおける信号
遅延時間に対応するピッチを持つ楽音の振動を発生する
信号循環手段と、 所望のピッチに応じて前記ループにおける信号遅延時間
を設定し、この遅延時間に対応して前記遅延手段による
遅延時間を設定する遅延制御手段と、 前記ループ内に挿入された遅延制御用の第1のフィルタ
を含み、前記楽音の発生開始時又は前において、前記ル
ープにおける信号遅延時間を可変制御するために該第1
のフィルタで実現するよう該第1のフィルタの特性を設
定する第1の手段と、 前記ループ内に挿入された遅延制御用の第2のフィルタ
を含み、前記楽音の発生開始後、該楽音を発生している
最中において、前記ループにおける信号遅延時間を可変
制御するために該第2のフィルタに与える係数を可変制
御する第2の手段と を具える楽音信号合成装置。 - 【請求項3】 前記請求項1の前記フィルタ又は前記請
求項2の前記第1のフィルタがオールパスフィルタを含
み、前記第2のフィルタが有限インパルス応答フィルタ
である請求項1又は2に記載の楽音信号合成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10017595A JP3282438B2 (ja) | 1994-03-31 | 1995-03-30 | 楽音信号合成装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8588094 | 1994-03-31 | ||
| JP6-85880 | 1994-03-31 | ||
| JP10017595A JP3282438B2 (ja) | 1994-03-31 | 1995-03-30 | 楽音信号合成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07319476A JPH07319476A (ja) | 1995-12-08 |
| JP3282438B2 true JP3282438B2 (ja) | 2002-05-13 |
Family
ID=26426887
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10017595A Expired - Fee Related JP3282438B2 (ja) | 1994-03-31 | 1995-03-30 | 楽音信号合成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3282438B2 (ja) |
-
1995
- 1995-03-30 JP JP10017595A patent/JP3282438B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07319476A (ja) | 1995-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5641931A (en) | Digital sound synthesizing device using a closed wave guide network with interpolation | |
| US5917917A (en) | Reduced-memory reverberation simulator in a sound synthesizer | |
| JPH0667674A (ja) | 楽音合成装置 | |
| US5508473A (en) | Music synthesizer and method for simulating period synchronous noise associated with air flows in wind instruments | |
| JP2679275B2 (ja) | 楽音合成装置 | |
| US5308918A (en) | Signal delay circuit, FIR filter and musical tone synthesizer employing the same | |
| CN101149916B (zh) | 滤波装置以及使用滤波装置的电子乐器 | |
| US5272275A (en) | Brass instrument type tone synthesizer | |
| JPH0496000A (ja) | 楽音合成装置 | |
| JP2001508886A (ja) | サウンドシンセサイザにおける指数減衰の近似装置および方法 | |
| JP3404775B2 (ja) | 楽音合成装置と方法 | |
| US5245127A (en) | Signal delay circuit, FIR filter and musical tone synthesizer employing the same | |
| JP3149708B2 (ja) | 楽音合成装置 | |
| JP3282438B2 (ja) | 楽音信号合成装置 | |
| JP3347338B2 (ja) | 楽音合成装置 | |
| JP2876986B2 (ja) | 楽音信号合成装置 | |
| JP3799969B2 (ja) | 共鳴装置 | |
| US5206448A (en) | Musical tone generation device for synthesizing wind or string instruments | |
| JP3727110B2 (ja) | 楽音合成装置 | |
| JP3353516B2 (ja) | 楽音合成装置 | |
| JP3371469B2 (ja) | 楽音信号合成装置 | |
| JP3433762B2 (ja) | 電子楽器の音源装置 | |
| JP3480063B2 (ja) | 楽音合成装置 | |
| JP3226255B2 (ja) | 楽音合成システム | |
| JP2720627B2 (ja) | 楽音合成装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090301 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090301 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100301 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110301 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110301 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120301 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |