JP3353516B2 - 楽音合成装置 - Google Patents
楽音合成装置Info
- Publication number
- JP3353516B2 JP3353516B2 JP00607695A JP607695A JP3353516B2 JP 3353516 B2 JP3353516 B2 JP 3353516B2 JP 00607695 A JP00607695 A JP 00607695A JP 607695 A JP607695 A JP 607695A JP 3353516 B2 JP3353516 B2 JP 3353516B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- delay
- pass filter
- tone
- range
- 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
- Electrophonic Musical Instruments (AREA)
Description
減衰音を合成する楽音合成装置に関する。
ュレートしたモデルを動作させ、これにより自然楽器の
楽音を合成する楽音合成装置が各種開発されている。こ
の種の楽音合成装置の内、打楽器音等の減衰音を合成す
るものとして、図9に示すように、加算器1、遅延回路
2およびフィルタ3を閉ループ状に接続した構成が知ら
れている。なお、こうした構成は、「遅延フィードバッ
ク方式」と呼ばれている。
ジスタによって構成されており、該シフトレジスタは、
加算器1から供給されるディジタル信号のビット数に対
応した段数のフリップフロップを備えている。各フリッ
プフロップには、サンプリング周期τs毎にクロックが
供給されるようになっている。すなわち、遅延回路2に
よる遅延時間τpは、サンプリング周期τsにシフトレ
ジスタ段数Nを乗じた時間Nτsに相当する。フィルタ
3は、閉ループ内を循環する信号に所望の減衰特性を付
与するものである。
イズ信号のような多くの周波数成分を含んだアナログ信
号を、サンプリング周期τs毎にPCM符号化し、この
結果得られた時系列ディジタル信号を入力信号とする。
この入力信号は、加算器1に入力された後、遅延回路2
を介してフィルタ3に供給され、再び加算器1にフィー
ドバックされて閉ループ内を循環する。
入力信号が閉ループを一巡するのに要する時間は、遅延
時間τpに等しいものとする。この場合、上記閉ループ
の利得周波数特性は、基本周波数f1=1/τpの整数
倍の周波数において極大点を持つ特性となる。閉ループ
のゲインは、「1」より僅かに小さい値とされるため、
該ループを循環する信号は、次第に減衰する。そして、
この減衰過程で加算器1の出力を抽出し、これをD/A
変換すれば、基本波およびこれの整数倍の周波数を持つ
高調波を含む減衰信号となる。つまり、上記構成によれ
ば、実際の打弦時に発生する楽音と同様に、基本波とそ
の高調波とからなる信号が励起され、かつ、その振幅が
時間経過に伴って徐々に減衰する楽音信号となる訳であ
る。
は、遅延時間τpを上述したサンプリグ周期τsの整数
倍にしか設定することができない。このため、遅延時間
τpをサンプリング周期τsの整数倍からずれた値する
必要がある場合には、図10に示すように、遅延回路2
とフィルタ3との間にオールパスフィルタ4を介挿す
る。この図に示すオールパスフィルタ4は、1次のディ
ジタルフィルタであり、加算器41,42と、乗算器4
3,44と、遅延回路45とから構成されている。な
お、この遅延回路45は、前述した遅延回路2と同様に
構成されており、サンプリング周期τs毎にクロックが
供給される。
1によって遅延回路2の出力信号に乗算器44の信号が
加算される。加算器41の出力は、遅延回路45を介し
て加算器42に入力されると共に、乗算器43によって
乗算係数−αが乗算されて加算器42に入力される。ま
た、上記遅延回路45の出力は、乗算器44によって乗
算係数αが乗算されて加算器41に入力される。そし
て、加算器42が遅延回路45の出力と乗算器43の出
力とを加算し、その結果をフィルタ3に供給するように
なっている。なお、上述した乗算器43,44の乗算係
数「α」,「−α」としては、−1〜1の間の値が用い
られる。
次式(1)に示す伝達関数H(z)で表現される。すな
わち、 H(z)=α+z-1/1+αz-1 …(1) ここで、上記(1)式で表現されるオールパスフィルタ
4の周波数特性F(ω)を求めると、周知のように、
(1)式における「z」をexp(−jωτs)に置き
換えることで、次式(2)で表わされる。 F(ω)=α+exp(−jωτs)/1+α・exp(−jωτs)…(2)
特性G(ω)は、上記(2)式の絶対値に等しくなるの
で、G(ω)=|F(ω)|=1となる。これにより、
オールパスフィルタ4の利得が、あらゆる周波数におい
て「1」となり、「オールパス」と呼ばれる所以となっ
ている。また、該フィルタ4の位相遅延P(ω)は、角
周波数ωがナイキスト角周波数ωn=2πfs/2(f
s:サンプリング周波数)に比べて十分低く、しかも位
相角ωτsが「0」に近い場合、次式(3)の近似式で
表現される。すなわち、 P(ω)≒(1−α)ωτs/(1+α) …(3)
的な遅延時間τaは、次式(4)の関係で表わされる。 τa=P(ω)/ω …(4) したがって、この(4)式と上記(3)式とから近似的
な遅延時間τaを求めると、τa≒(1−α)τs/
(1+α)となる。すなわち、オールパスフィルタ4
は、前述した乗算係数αを適宜設定することにより、自
己の遅延時間τaを調整することが可能になっている。
但し、τaがαに対してほぼリニアに変化すると、見做
せるτaの変化範囲は限られており、せいぜい0≦τa
≦2τsである。結局、図10に示す構成要素1〜4か
らなる閉ループにおいては、全遅延時間τ=τp+τa
に応じた共振特性となるので、オールパスフィルタ4の
乗算係数αを変化させると、閉ループの共振周波数が変
化し、該閉ループ内を循環する減衰音の音高が制御され
る。
来の楽音合成装置においては、オールパスフィルタ4の
乗算係数αを変化させて閉ループ内の遅延量を変化させ
て音高を制御することが可能である反面、オールパスフ
ィルタ4の乗算係数αを大きく変化させた場合、閉ルー
プ全体の遅延特性も大きく変化してしまうため、必要以
上に高調波を含んだ非調和な楽音が合成されてしまい、
結果的に楽器として好ましいものでは無くなる虞があ
る。
数αを制御して遅延量を変化させる限度としては、遅延
段数にしておよそ0〜2段分までの範囲しか直線性良く
制御することができない。また、オールパスフィルタ出
力に不連続が生じないように遅延回路2の段数とオール
パスフィルタ4の係数αとを制御するには複雑な処理が
必要になる。オールパスフィルタ4の乗算係数αを制御
して遅延量を変化させる場合、高音域では、そこそこの
音高変化量を得ることができるものの、低音域では1段
のオールパスフィルタ4だけでは殆ど音高変化を得るこ
とができない。また、遅延回路2の遅延段数を重み付け
補間して遅延時間τpを制御する態様では、広い範囲で
音高制御が可能になる反面、段数補間する構成自体がロ
ーパスフィルタを形成することから、高音域では減衰時
間が一定でなくなる不都合もある。
の楽音合成装置においては、全音域で減衰時間に乱れを
生じさせず滑らかに音高制御することができないという
問題がある。そこで、本発明は上述した事情に鑑みてな
されたもので、全音域で減衰時間に乱れを生じさせずに
滑らかに音高制御することができる楽音合成装置を提供
することを目的としている。
め、請求項1に記載の発明では、入力信号をサンプリン
グ周期に応じて整数段遅延して出力する遅延手段と、こ
の遅延手段の出力を小数段遅延して出力するオールパス
フィルタとを備え、該オールパスフィルタの出力を前記
入力信号とする遅延フィードバックループを形成する楽
音合成装置において、前記ループ内に介挿され、当該遅
延手段の出力を補間する補間手段と、発音音域を高域と
低域とに分割する音域分割点を設定し、発音すべき音高
がこの音域分割点を境界に高域側であるか低域側である
かを判別する判別手段と、前記判別手段が高域側と判別
した場合、前記遅延手段と前記オールパスフィルタとの
総遅延量に応じて音高制御する第1の音高制御手段と、
前記判別手段が低域側と判別した場合、前記遅延手段と
前記補間手段との総遅延量に応じて音高制御する第2の
音高制御手段とを具備することを特徴としている。
号を整数段遅延する遅延手段と、該遅延手段の出力を補
間する補間手段と、入力信号の少数段遅延が可能な第1
のオールパスフィルタと、入力信号の小数段遅延が可能
なオールパスフィルタを複数縦続接続した第2のオール
パスフィルタとを有し、前記遅延手段、前記第1のオー
ルパスフィルタおよび前記第2のオールパスフィルタを
閉ループ接続した閉ループ手段と、楽音の発生と音高の
指定の操作を受ける楽音指定手段と、楽音の発生中に音
高を変更するための操作を受ける音高制御操作子と、前
記閉ループ手段に励振信号を供給する励振信号発生手段
と、発音音域を高域と低域とに分割する音域分割点を設
定し、発音すべき音高がこの音域分割点を境界に高域側
であるか低域側であるかを判別する判別手段と、前記楽
音指定手段の操作に基づき楽音の発生と音高が決定され
ると、該音高に対応する前記閉ループ手段全体の遅延量
と前記第2のオールパスフィルタの遅延量とから、前記
遅延手段の遅延量および前記第1のオールパスフィルタ
の遅延量を定め、かつ前記閉ループ手段に励振信号を供
給し、楽音の発生中に前記音高制御操作子により音高変
更の操作がなされた場合、変更された音高が前記判別手
段により高音域側であると判別されると、前記遅延手段
の遅延量と前記第2のオールパスフィルタを構成する各
オールパスフィルタのそれぞれの係数を制御して得られ
る遅延量とを、前記音高制御操作子により変更された音
高に対応するように制御し、他方、変更された音高が前
記判別手段により低音域側であると判別されると、前記
遅延手段の遅延量と前記補間手段の係数を制御して得ら
れる遅延量とを、前記音高制御操作子により変更された
音高に対応するように制御する音高制御手段とを具備す
ることを特徴としている。
高が音域分割点より高域側にある場合、遅延手段と前記
オールパスフィルタとの総遅延量に応じて音高制御し、
一方、低域側にある場合には、遅延手段と前記補間手段
との総遅延量に応じて音高制御する。また、請求項2に
記載の発明によれば、入力信号を整数段遅延する遅延手
段と、この遅延手段の出力を補間する補間手段と、この
補間手段の出力の小数段遅延が可能な第1および第2の
オールパスフィルタとを有する閉ループ手段に対し、励
振信号を供給する。そして、指定された音高に対応する
閉ループ手段全体の遅延量と第2のオールパスフィルタ
の遅延量とから、遅延手段の遅延量および第1のオール
パスフィルタの遅延量を定めるとともに、閉ループ手段
に励振信号を供給する。さらに、楽音の発生中に音高制
御操作子により音高変更の操作がなされ、このとき変更
された音高が高音域側である場合、遅延手段の遅延量と
第2のオールパスフィルタを構成する各オールパスフィ
ルタのそれぞれの係数を制御して得られる遅延量とを、
音高制御操作子により変更された音高に対応するように
制御し、他方、変更された音高が低音域側である場合、
遅延手段の遅延量と補間手段の係数を制御して得られる
遅延量とを、音高制御操作子により変更された音高に対
応するように制御している。この結果、楽音の発生中に
音高変更の操作がなされても、全音域で減衰時間に乱れ
を生じさせずに滑らかに音高制御することが可能にな
る。
いて説明する。 A.全体構成 図1はこの発明による一実施例の全体構成を示すブロッ
ク図である。この図において、10は装置各部を制御す
るCPUであり、その動作については後述する。11
は、CPU10によって読み出される各種制御プログラ
ム、および後述するDSP15において用いられる各種
マイクロプログラムの他、音色データが記憶されている
ROMである。12はCPU10のワークエリアとして
用いられ、各種レジスタ値や演算結果等が一時記憶され
るRAMである。
操作子が配設される操作部である。この操作部13に
は、例えば、後述するオールパスフィルタ係数cあるい
はローパスフィルタ係数等を指定するスイッチや、音色
を指定するスイッチ等の設定スイッチの他、発生楽音の
音高を連続的に可変制御するピッチベンダ等の補助操作
子が設けられている。なお、操作部13は、上記設定ス
イッチあるいは補助操作子の操作に応じた操作情報を生
成し、これをシステムバスを介してCPU10に供給す
る。14は演奏操作に応じてキーオン/キーオフ、キー
コードKCあるいはタッチ等の演奏情報を発生する演奏
操作子である。
ルシグナルプロセッサ(以下、DSPと略す)であり、
構成要素15a〜15fから構成される。15aはマイ
クロプログラムRAMであり、CPU10によってRA
M12から読み出されたマイクロプログラムがストアさ
れる。15bは第1パラメータデータRAMであり、C
PU10によってROM11から読み出される音色デー
タ等の楽音パラメータがストアされる。15cは後述す
るオールパス係数α,γや補間係数β等、楽音合成時に
経時変化するパラメータがCPU10によって書き込ま
れる第2パラメータデータRAMである。なお、これら
係数α,γ,βの意味するところについては追って説明
する。
ータデータRAM15cから読み出されるオールパス係
数α,γが急激に変化しないように補間演算して出力す
る。15eは演算処理部である。この演算処理部15e
は、マイクロプログラム15aから読み込んだマイクロ
プログラムに基づき、上述した第1および第2パラメー
タに従って「遅延フィードバック方式」による楽音合成
のための演算処理を行い、楽音出力WDを発生する。1
5fは演算処理部15eにおいてなされる演算処理結果
等を一時記憶するデータレジスタである。16は、DS
P15が実行する楽音合成処理に必要な遅延時間を与え
る遅延RAMである。17はD/A変換器であり、DS
P15から供給される楽音出力WDをアナログ信号に変
換し、これを楽音信号WとしてスピーカSPより発音さ
せる。
処理によって実現される楽音合成モデルを示すブロック
図であり、図10に示す従来例と共通する部分には、同
一の番号を付し、その説明を省略する。この図に示す構
成が従来例と異なる点は、キーオン時の発音ピッチに対
応した小数段遅延を生成するオールパスフィルタ4−1
とピッチベンド操作に対応した小数段遅延を生成するオ
ールパスフィルタ4−2とを直列接続すると共に、オー
ルパスフィルタ4−1の前段に整数段遅延を平滑化する
補間器21を設け、さらに、係数乗算器21を加算器1
とローパスフィルタ3との間に設けて閉ループゲインを
制御する構成にしたことにある。
リングクロックφsに対応した遅延であり、シフトレジ
スタの段数に相当する。一方、小数段遅延とは、サンプ
リングクロックφsより小さい遅延量であり、シフトレ
ジスタ1段分以下の遅延を表わす。なお、以降の説明に
おいて、整数段遅延を「Di」、小数段遅延を「Df」
と表記する。
ーオン信号KONに応じてノイズ信号を発生して閉ルー
プを励振する。なお、この発生部20に入力される信号
φsはシステムクロックである。遅延回路2は、遅延制
御信号Nに対応してN段の整数段遅延Diを設定する。
補間器21は、遅延レジスタ21a、係数乗算器21
b,21cおよび加算器21dから構成され、係数乗算
器21b,21cに付与される係数βおよび(1−β)
の値に応じて前段の遅延変化を平滑化する。オールパス
フィルタ4−1は、キーオン時の発音ピッチに対応して
付与されるオールパス係数αに従った小数段遅延を与え
る。
APF10をカスケード接続したものであり、ピッチベン
ド操作量に対応した小数段遅延を発生するよう各APF
1〜APF10にオールパス係数γが付与される。ローパ
スフィルタ3は、例えば、FIR型のディジタルフィル
タで構成されおり、遅延時間を一定値Dとしたまま、供
給されるフィルタ係数LCに対応するカットオフ周波数
でローパスフィルタリングを施す。係数乗算器22は制
御信号Gに応じて閉ループゲインを調整する。
ら出力されるノイズ信号は、遅延回路2で整数段遅延さ
れた後、補間器21にて小数段遅延が施された後、オー
ルパスフィルタ4−1,4−2において順次小数段遅延
される。こうして整数段/小数段遅延された信号は、ロ
ーパスフィルタ3を介して音色が調整され、続いて係数
乗算器21によってループゲインが調整された後、再び
加算器1を経て遅延される。このような閉ループにおい
て、信号が循環すると、ループ全体の遅延量に応じた音
高の減衰音が合成される。
高は、遅延回路2の遅延時間と、補間器の遅延時間と、
オールパスフィルタ4−1,4−2の遅延時間と、ロー
パスフィルタ3の遅延時間との和の逆数となる。このよ
うな基本動作は、前述した従来例と同一であるが、ここ
で本願特有な点は、後述するように、発音音域別にピッ
チ制御させることにある。
参照して説明する。まず、この実施例に電源が投入され
ると、CPU10はROM11から制御プログラムを読
み出し、図3に示すメインルーチンを起動する。メイン
ルーチンが起動されると、CPU10の処理はステップ
Sa1に進む。ステップSa1では、各種レジスタを初
期値にリセットすると共に、DSP15に対して所定の
マイクロプログラムを取込むように指示する。なお、こ
のステップSa1において、前述した係数α、βおよび
γはそれぞれゼロリセットされる。
ャライズがなされると、CPU10の処理はステップS
a2に進む。ステップSa2では、操作部13および演
奏操作子14の操作状態を検出するため、各キーや設定
スイッチをスキャンし、それぞれの設定状態に応じたフ
ラグをレジスタにセットする。次いで、ステップSa3
に進むと、ボイス処理と呼ばれる音色選択設定処理がな
される。このボイス処理では、上記ステップSa2にお
いて検出した音色スイッチの設定状態に対応した音色デ
ータを、ROM11から読み出し、これを第1パラメー
タデータRAM15bの所定エリアにストアしたり、R
OM11から読み出したオールパス係数α,γや補間係
数βの初期値を第2パラメータデータRAM15cにス
トアする。これにより、DSP15側では楽音合成のた
めの準備が完了する。
イベントが発生した場合、演奏操作に応じて生成される
キーコードKCに対応した楽音の発生を指示する。この
キーオン処理の詳細については後述する。次いで、次の
ステップSa5に進むと、後述するキーオフルーチンに
基づき、キーオフイベントが発生した場合、キーオンと
共に生成した楽音を所定のレートで減衰消音させるキー
オフパラメータを生成し、次のステップSa6に進む。
ステップSa6では、ピッチベンドホイールの操作量m
に応じて発音ピッチを連続的に可変制御するピッチベン
ド処理を実行し、続いて、ステップSa7では、例え
ば、リバーブやディレイ等の効果音を付与する処理が行
われ。この後、CPU10の処理は、再びステップSa
2に戻り、上述した動作を繰り返す。
種ルーチンの動作と、CPU10の指示の下に減衰音を
楽音合成するDSP15の動作とについて順次説明す
る。 キーオン処理ルーチンの動作 CPU10の処理が前述したステップSa4に進むと、
図4に示すルーチンが起動され、ステップSb1に進
む。まず、ステップSb1では、キーオンイベントが発
生したか否かを判断する。ここで、キーオンイベントが
発生していない場合には、判断結果が「NO」となり、
メインルーチンへ復帰する。一方、演奏者によって押鍵
操作がなされ、これによりキーオンイベントが発生する
と、判断結果が「YES」となり、次のステップSb2
に進む。
コードKCをノート周波数Fに変換し、次のステップS
b3に処理を進める。ステップSb3に進むと、CPU
10は、fs/F(fs:サンプリング周波数、F:周
波数ナンバ)の関係から閉ループ全体の遅延時間Dsを
算出する。そして、この遅延時間Dsの整数部が前述し
た整数段遅延Diとなり、小数部が小数段遅延Dfとな
る。次いで、ステップSb4に進むと、APF1〜AP
F10から形成されるオールパスフィルタ4−2の初期遅
延量を整数段遅延Diから減算し、遅延段数Nを算出す
る。これにより、遅延回路2の遅延段数が定まる。
遅延Dfに対応するオールパスフィルタ4−1のオール
パス係数αを次式(5)に基づいて算出する。 α=(1−Df)/(1+Df) …(5) この後、CPU10はステップSb6に処理を進め、以
上のようにして求めた遅延段数N、オールパス係数αや
キーオン信号KON等の楽音パラメータをDSP15側
へ送出する。なお、遅延段数Nおよびオールパス係数α
などの経時変化する楽音パラメータは、第2パラメータ
データRAM15c(図1参照)にストアされる。この
結果、DSP15は楽音発生に必要なパラメータが与え
られ、後述する楽音合成動作にしたがって楽音を発生す
ることになる。
図5に示すルーチンが起動され、ステップSc1に進
む。ステップSc1では、キーオフイベントが発生した
か否かを判断する。ここで、キーオフイベントでない場
合には、判断結果が「NO」となり、このルーチンを完
了してメインルーチンへ復帰する。一方、発生したイベ
ントがキーオフイベントであると、ここでの判断結果が
「YES」となり、次のステップSc2に進む。ステッ
プSd2に進むと、CPU10は、エンベロープジェネ
レータを所定のレートでダンプさせるための各種キーオ
フパラメータを生成し、これをDSP15側へ送出す
る。これにより、音源となるDSP15が発音中にあっ
た楽音を所定レートで減衰させた後に消音させる。
る音高で楽音が発音されている最中に、前述したピッチ
ベンダが操作されたとする。そうすると、図6に示すピ
ッチベンド処理ルーチンが起動し、ステップSd1を実
行する。なお、このピッチベンダとは、発生楽音の音高
を滑らかに変化させる補助操作子である。まず、ステッ
プSd1に進むと、演奏操作としてピッチベンダホイー
ルに加えられる操作量mが前回と同一であるか否か、つ
まり、操作されたか否かを判断する。ここで、操作量m
に変化が無い場合、操作されていないと見做して判断結
果が「YES」となり、このルーチンを完了し、前述し
たメインルーチン(図3参照)へ復帰する。
判断結果が「NO」となり、次のステップSd2に進
む。ステップSd2では、検出した操作量m(−1〜1
の値)と、前述したノート周波数FとからF’=F・e
xp(s・m)で表わされる関係式に基づき、新たなノ
ート周波数F’を算出する。なお、上記式におけるsは
ピッチベンダの感度パラメータである。
て求めた新たなノート周波数F’に対応する閉ループ全
体の遅延量Dsを求め、さらに、この遅延量Dsから前
述のステップSb3と同様にして、遅延量Dsの整数部
遅延Diと小数部遅延Dfとを求める。続いて、ステッ
プSd4では、求めた整数部遅延Diからオールパスフ
ィルタ4−2の初期遅延量、すなわち、APF1〜AP
F10の総遅延量として「10」段分を減算し、その値を
遅延回路2の遅延段数Nとしてレジスタに格納する。
0は、押鍵された鍵のキーコードKCが予め設定された
鍵域分割鍵BPより低い音程関係にあるか否かを判断す
る。ここで、鍵域分割鍵BPより低い音程関係にあれ
ば、判断結果は「YES」となり、ステップSd6に進
み、上記ステップSd3において求めた小数部遅延Df
を補間係数βとする。そして、次のステップSd7に進
むと、この場合の遅延段数Nと補間係数βとをDSP1
5側へ送出する。これにより、鍵域分割鍵BPより低い
音程関係にある鍵が発音中にある場合のピッチベンダ操
作量mに対応した音高制御がなされる。
め設定された鍵域分割鍵BPより高い音程関係にある場
合には、上記ステップSd5の判断結果が「NO」とな
り、ステップSd8に処理を進める。ステップSd8で
は、ステップSd3において求めた小数部遅延DfをA
PF1〜APF10の個数10で除算して1個当りの遅延
量(1+Df/10)を算出し、これからさらに、前述
した(5)式に基づいて((5)式のDfに(1+Df
/10)を代入すれば良い)APF1〜APF1 0の各オ
ールパス係数γを算出する。続いて、次のステップSd
9に進むと、この場合の遅延段数Nとオールパス係数γ
とをDSP15側へ送出する。これにより、鍵域分割鍵
BPより高い音程関係にある鍵が発音中にある場合のピ
ッチベンダ操作量mに対応した音高制御がなされる。
15の動作について、図7を参照して説明する。まず、
前述したように、イニシャライズ時にCPU10からマ
イクロプログラムの読み込みを指示されると、DSP1
5は該プログラムをマイクロプログラムRAM15aか
らロードして図7に示すルーチンを起動する。これによ
り、DSP15の処理がステップSe1に進む。ステッ
プSe1では、キーオンイベントが発生したか否かを検
出する。ここで、キーオンイベントを検出すると、判断
結果は「YES」となり、ステップSe2に処理を進め
る。
コードKCに対応するピッチで発音すべく発音設定処理
を行う。この発音設定処理とは、前述したキーオン処理
ルーチン、あるいはピッチベンド処理ルーチンにおいて
生成される整数段遅延N、オールパス係数α,γあるい
は補間係数βに応じて楽音合成アルゴリズムを形成する
処理を言う。次いで、この後、ステップSe3に進み、
楽音合成アルゴリズムに基づき楽音出力WDを発生す
る。この楽音合成アルゴリズムとは、次のような動作を
行う。
が一定なホワイトノイズ信号による初期励振波形を発生
して閉ループ内に注入すると共に、CPU10側から転
送された整数段遅延Nに基づき遅延回路2の遅延段数を
セットし、該ノイズ信号を整数段遅延させる。そして、
遅延回路2の出力を小数部Df分遅延させるため、CP
U10から与えられるオールパスフィルタ係数αをオー
ルパスフィルタ4−1、あるいはオールパスフィルタ4
−2に係数γを設定すると共に、音高制御態様に応じて
補間器21に補間係数βをセットする。
に基づき小数段の遅延を施すフィルタリングや、設定さ
れた音色番号に応じたフィルタ係数LCが付与されるロ
ーパスフィルタ3によるローパスフィルタリングを施
し、この結果に対してループゲインを乗算する。以後、
こうした過程を繰り返し、閉ループ内を循環させること
により所望のピッチによる楽音が形成される。
がキーオフイベントであると、ステップSe4を介して
ステップSe5に進み、前述したキーオフ処理ルーチン
において生成される各種キーオフパラメータに応じてエ
ンベロープジェネレータを所定のレートでダンプさせる
等の発音終了処理がなされる。
数のオールパスフィルタ4−1,4−2と、オールパス
フィルタ4−1と遅延回路2との間に補間器21を設け
ておき、低音域側と高音域側とに音域分割する鍵域分割
鍵BPを境界とし、この鍵域分割鍵BPより高い音高を
ピッチベンダ等により連続して変化させる場合には、遅
延回路2でN段遅延させた後にオールパスフィルタ4−
2を形成するAPF1〜APF10で順次小数段遅延させ
てピッチ制御する。すなわち、APF1〜APF1 0は係
数の変化に対して直線性よく遅延量を制御できる範囲が
限られている(遅延段数換算で「1段」近傍)。そのた
め、整数遅延Diの内、10段をAPF1〜APF10で
実現しておいて、小数遅延Dfは10個のAPF1〜A
PF10にDf/nずつ分配するようにしている。一方、
鍵域分割鍵BPより低い音高をピッチベンダ等により連
続して変化させる場合には、補間器21が整数部遅延と
小数部遅延とを滑らかに補間してピッチ制御する。これ
により、全音域で減衰時間に乱れを生じさせず滑らかに
音高制御することが可能になる訳である。
る。図8は、周波数ナンバに対応して楽音合成するDS
P15の機能モデルを示すブロック図であり、図2に示
す実施例と共通する要素には、同一の番号を付し、その
説明を省略する。この図において、50は周波数ナンバ
アキュームレータであり、位相情報である周波数ナンバ
FNOを累算し、その整数部INTおよび小数部FRA
C、累算値整数部の繰り上がり信号CKを発生する。な
お、この周波数ナンバアキュームレータ50は、キーオ
ン信号KONに同期したキーオンパルスKOPに応じて
累算値がリセットされる。51,52はそれぞれ遅延素
子、乗算器および加算器からなる補間器である。
プログラムによって実現される図8の構成自体は周波数
ナンバFNOの整数部累算値の繰り上がり信号CK、す
なわち、音高に対応したクロック信号に従って動作する
から、音高に応じて合成される楽音のサンプリング周波
数が変化することになる。こうした場合、DSP15か
ら出力される楽音データWDは、一定サンプリング周波
数φsで出力されるので、補間器51,52がそれぞれ
閉ループの出力を、周波数ナンバFNO累算値の小数部
FRACに応じて直線補間し、一定サンプリング周波数
φsに対応した滑らかな楽音データWDを出力するよう
になっている。そして、このような演算サンプリングタ
イミング態様のDSPに前述した本発明によるピッチ制
御を適用すれば、周波数ナンバ方式による楽音合成装置
においても全音域で減衰時間に乱れを生じさせず滑らか
に音高制御することが可能になる。
遅延変化の直線性が良い領域(遅延量が段数換算で
「1」近傍)に限って使うため、複数段(10段)のA
PF1〜APF10に小数部遅延Dfを分配しているが、
この段数に限定はない。また、この実施例では、APF
1〜APF10に小数部遅延Dfを等配分しているが、等
配分でなくとも良い。さらに、前述した実施例では、遅
延フィードバック方式の音源におけるピッチ制御とした
が、これに限らず、例えば、遅延時間に応じて変調を施
すコーラスやフランジャ等の効果音処理に適用すること
も可能である。この場合においても、波形が不連続にな
らず、滑らかな制御が実現できる。
高)制御として「ピッチベンド」を例に挙げたが、これ
に替えて「ポルタメント」に用いることも可能である。
さらに、この実施例では、ローパスフィルタ3(図3参
照)を非巡回形(FIR)ディジタルフィルタとした
が、これを周知の巡回形(IIR)ディジタルフィルタ
としても良い。この場合、フィルタ特性をジョイステッ
ク等の各種操作子で変化させる時は、フィルタによる遅
延時間変化を補正する。
ィルタ4−2をAPF1〜APF10で形成したが、これ
に限定されず、複数段をカスケード接続する態様として
も良い。さらに、上記実施例では、整数段遅延N、オー
ルパス係数α,γおよび補間係数βをキーオンイベント
毎に算出しているが、これに替えて、予め各鍵毎にこれ
ら楽音パラメータを算出してなるテーブルを作成してお
き、これをキーオンイベント毎に読み出す方式としても
良く、このようにすることで処理の高速化を図ることが
できる。
れた鍵の音高が音域分割点より高域側にある場合、遅延
手段と前記オールパスフィルタ群との総遅延量に応じて
音高制御し、一方、低域側にある場合には、遅延手段と
前記補間手段との総遅延量に応じて音高制御する。ま
た、請求項2に記載の発明によれば、入力信号を整数段
遅延する遅延手段と、この遅延手段の出力を補間する補
間手段と、この補間手段の出力の小数段遅延が可能な第
1および第2のオールパスフィルタとを有する閉ループ
手段に対し、励振信号を供給する。そして、指定された
音高に対応する閉ループ手段全体の遅延量と第2のオー
ルパスフィルタの遅延量とから、遅延手段の遅延量およ
び第1のオールパスフィルタの遅延量を定めるととも
に、閉ループ手段に励振信号を供給する。さらに、楽音
の発生中に音高制御操作子により音高変更の操作がなさ
れ、このとき変更された音高が高音域側である場合、遅
延手段の遅延量と第2のオールパスフィルタを構成する
各オールパスフィルタのそれぞれの係数を制御して得ら
れる遅延量とを、音高制御操作子により変更された音高
に対応するように制御し、他方、変更された音高が低音
域側である場合、遅延手段の遅延量と補間手段の係数を
制御して得られる遅延量とを、音高制御操作子により変
更された音高に対応するように制御している。この結
果、楽音の発生中に音高変更の操作がなされても、全音
域で減衰時間に乱れを生じさせずに滑らかに音高制御す
ることができる。
ロック図である。
示すブロック図である。
明するためのフローチャート。
作を説明するためのフローチャート。
作を説明するためのフローチャート。
の動作を説明するためのフローチャート。
るためのフローチャート。
である。
段、閉ループ手段)、3…ローパスフィルタ、4−1…
オールパスフィルタ(第1のオールパスフィルタ),4
−2…オールパスフィルタ(第2のオールパスフィル
タ)、10…CPU(判別手段、音高制御手段)、11
…ROM、12…RAM、13…操作部(音高制御操作
子を含む)、14…演奏操作子(楽音指定手段)、15
…DSP(第1および第2音高制御手段)、20…励振
波形発生部(励振信号発生手段)、21…補間器(補間
手段)、22…係数乗算器、50…周波数ナンバアキュ
ムレータ、51,52…補間器(出力手段)。
Claims (2)
- 【請求項1】 入力信号をサンプリング周期に応じて整
数段遅延して出力する遅延手段と、この遅延手段の出力
を小数段遅延して出力するオールパスフィルタとを備
え、該オールパスフィルタの出力を前記入力信号とする
遅延フィードバックループを形成する楽音合成装置にお
いて、 前記ループ内に介挿され、当該遅延手段の出力を補間す
る補間手段と、 発音音域を高域と低域とに分割する音域分割点を設定
し、発音すべき音高がこの音域分割点を境界に高域側で
あるか低域側であるかを判別する判別手段と、 前記判別手段が高域側と判別した場合、前記遅延手段と
前記オールパスフィルタとの総遅延量に応じて音高制御
する第1の音高制御手段と、 前記判別手段が低域側と判別した場合、前記遅延手段と
前記補間手段との総遅延量に応じて音高制御する第2の
音高制御手段とを具備することを特徴とする楽音合成装
置。 - 【請求項2】 入力信号を整数段遅延する遅延手段と、
入力信号を補間する補間手段と、入力信号の少数段遅延
が可能な第1のオールパスフィルタと、入力信号の小数
段遅延が可能なオールパスフィルタを複数縦続接続した
第2のオールパスフィルタとを有し、前記遅延手段、前
記補間手段、前記第1のオールパスフィルタおよび前記
第2のオールパスフィルタを閉ループ接続した閉ループ
手段と、 楽音の発生と音高の指定の操作を受ける楽音指定手段
と、 楽音の発生中に音高を変更するための操作を受ける音高
制御操作子と、 前記閉ループ手段に励振信号を供給する励振信号発生手
段と、発音音域を高音域と低音域とに分割する音域分割点を設
定し、発音すべき音高がこの音域分割点を境界に高音域
側であるか低音域側であるかを判別する判別手段と、 前記楽音指定手段の操作に基づき楽音の発生と音高が決
定されると、該音高に対応する前記閉ループ手段全体の
遅延量と前記第2のオールパスフィルタの遅延量とか
ら、前記遅延手段の遅延量および前記第1のオールパス
フィルタの遅延量を定め、かつ前記閉ループ手段に励振
信号を供給し、 楽音の発生中に前記音高制御操作子により音高変更の操
作がなされた場合、変更された音高が前記判別手段によ
り高音域側であると判別されると、前記遅延手段の遅延
量と前記第2のオールパスフィルタを構成する各オール
パスフィルタのそれぞれの係数を制御して得られる遅延
量とを、前記音高制御操作子により変更された音高に対
応するように制御し、他方、変更された音高が前記判別
手段により低音域側であると判別されると、前記遅延手
段の遅延量と前記補間手段の係数を制御して得られる遅
延量とを、前記音高制御操作子により変更された音高に
対応するように制御する音高制御手段とを具備すること
を特徴とする楽音合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00607695A JP3353516B2 (ja) | 1995-01-18 | 1995-01-18 | 楽音合成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00607695A JP3353516B2 (ja) | 1995-01-18 | 1995-01-18 | 楽音合成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08194485A JPH08194485A (ja) | 1996-07-30 |
JP3353516B2 true JP3353516B2 (ja) | 2002-12-03 |
Family
ID=11628486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00607695A Expired - Fee Related JP3353516B2 (ja) | 1995-01-18 | 1995-01-18 | 楽音合成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3353516B2 (ja) |
-
1995
- 1995-01-18 JP JP00607695A patent/JP3353516B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08194485A (ja) | 1996-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5641931A (en) | Digital sound synthesizing device using a closed wave guide network with interpolation | |
JP2727883B2 (ja) | 楽音合成装置 | |
US11562723B2 (en) | Electronic musical instrument, method of generating musical sound, and storage medium | |
JP2722795B2 (ja) | 楽音合成装置 | |
JP3358324B2 (ja) | 電子楽器 | |
US5428183A (en) | Tone signal generating apparatus for performing a timbre change by storing a full frequency band in a wave memory | |
JP2991037B2 (ja) | 楽音合成装置及び楽音合成装置の音高調整装置 | |
JP2576702B2 (ja) | 電子楽器 | |
JP3353516B2 (ja) | 楽音合成装置 | |
JP2689646B2 (ja) | 電子楽器 | |
JP2762890B2 (ja) | 楽音合成装置 | |
JP3282438B2 (ja) | 楽音信号合成装置 | |
JP3033442B2 (ja) | 楽音合成装置 | |
JP3430719B2 (ja) | 楽音合成装置のパラメータ設定装置及び方法 | |
JP4432951B2 (ja) | 楽音発生装置および電子楽器 | |
JP2643717B2 (ja) | 楽音合成装置 | |
JP3371469B2 (ja) | 楽音信号合成装置 | |
JPH0320797A (ja) | サンプリング装置 | |
JP3085696B2 (ja) | 楽音合成装置 | |
JP2876986B2 (ja) | 楽音信号合成装置 | |
JP2671775B2 (ja) | 電子楽器のパラメータエディット装置 | |
JP3168654B2 (ja) | 楽音発生装置 | |
JP3480063B2 (ja) | 楽音合成装置 | |
JP2580795B2 (ja) | 電子楽器 | |
JPH0643863A (ja) | エフェクタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020827 |
|
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: 20070927 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080927 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090927 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100927 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100927 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110927 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |