JP3687095B2 - Coefficient interpolation method and apparatus - Google Patents

Coefficient interpolation method and apparatus Download PDF

Info

Publication number
JP3687095B2
JP3687095B2 JP2001371060A JP2001371060A JP3687095B2 JP 3687095 B2 JP3687095 B2 JP 3687095B2 JP 2001371060 A JP2001371060 A JP 2001371060A JP 2001371060 A JP2001371060 A JP 2001371060A JP 3687095 B2 JP3687095 B2 JP 3687095B2
Authority
JP
Japan
Prior art keywords
value
time
reached
dcf
interpolator
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
Application number
JP2001371060A
Other languages
Japanese (ja)
Other versions
JP2003173189A (en
Inventor
崇 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2001371060A priority Critical patent/JP3687095B2/en
Publication of JP2003173189A publication Critical patent/JP2003173189A/en
Application granted granted Critical
Publication of JP3687095B2 publication Critical patent/JP3687095B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、DCF型補間器を用いて時間関数波形を発生する際に適用する係数補間方法および装置に関する。
【0002】
【従来の技術】
従来より、DCF型補間器により時間関数波形を発生する技術が知られている。図9に、DCF型補間器の典型的な回路例を示す。DCF型補間器は、乗算器901、減算器902、Δt遅延回路903、および乗算器904を備える。乗算器901は、入力信号wに係数cを乗算する。その乗算結果は、減算器902に入力する。減算器902は、前記乗算結果から乗算器904の出力を減算する。減算結果は、Δt遅延回路903に入力し、遅延時間Δtだけ遅延される。Δt遅延回路903の出力は、乗算器904に入力して係数(1−c)が乗算され、その乗算結果は減算器902に入力する。減算器902の出力が、DCF型補間器の出力となる。
【0003】
この回路例から判るように、DCF型補間器は、入力をw、出力をyとして、時間Δt間隔で、
c*w+(1−c)*y→y (0.0<c<1.0) …(1)
という計算を繰り返すものである。定数cと時定数τは、
τ=Δt/(−log(1−c)) …(2)
の関係がある。これは、(1)式を変形して、
c(w−y)+y→y
とし、さらにwからこの式の両辺をそれぞれ引くと、
(1−c)(w−y)→w−y
となるので、時間Δtごとに出力と入力の差が1−cの比で小さくなることが判る。一方、時定数とは、出力と入力の差がはじめの1/e(eは自然対数)になる時間であるから、簡単な計算により上記(2)式を得ることができる。
【0004】
このようなDCF型補間器は、時間関数波形を利用する種々の場面で用いられる。例えば、電子楽器においては、いわゆる複数ステートエンベロープ発生器が用いられる。これは、目標値を次々に与えて、最初は第1の目標値に至る波形を出力し、あるタイミングで次のステートに移行したら第2の目標値に至る波形を出力し、あるタイミングでさらに次のステートに移行したら第3の目標値に至る波形を出力し、…というように、各ステートごとに目標値に至るエンベロープ波形を生成出力するものである。このような複数ステートエンベロープ発生器をDCF型補間器を用いて構成する場合、各ステートごとに目標値と時定数τを供給するようにしてやればよい。供給された時定数τから上記(2)式で定数cが決まり、その定数cから(1)式にしたがって、時間Δt間隔で次々とyを出力する。次のステートに入ったら、次の時定数τを用いて次の目標値に向けて波形生成していく。
【0005】
DCF型補間器は、アナログモデリング音源にも適用できる。これは、発振器(OSC)の発生した波形をDCF型補間器に入力し、周波数特性を制御するものである。例えば、発振器で発生した矩形波をDCF補間器に入力して周波数特性を制御し、さらにエンベロープを掛けて楽音波形を得る。三角波や鋸波を用いて同様に処理しても良い。
【0006】
【発明が解決しようとする課題】
ところで、従来のDCF型補間器(例えば、上述のDCF型エンベロープ発生器など)では、タイミングとそのタイミングでの到達値という形での制御ができなかった。すなわち、DCF型補間器では、目標値は指定できてもその目標値はあくまで目標とする値であり、指定した時刻に指定した目標値に到達するように補間することができなかった。DCF型補間器では、一般的には充分な時間がたてばその出力は入力値に達するが、電子楽器などに利用するものでは、出力がDCF型補間器の入力値に落ち着く前に次々と入力値を変えるので、目標値である入力値に達する前に次のステートに入ってしまい、結果としてどのステートでも目標値に達することがない。この意味で、目標値は到達値ではない。
【0007】
また、上記のような問題があるため、アナログモデリング音源にDCF型補間器を適用したものでは、DCF型補間器からの出力波形を任意形状にすることができないという不都合があった。
【0008】
この発明は、上述の従来技術における問題点に鑑み、DCF型補間器を用いて所望の係数変化の波形を得ることができるような係数補間方法および装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
この目的を達成するため、請求項1に係る発明は、所定のタイミングで所定の到達値に達するような時間関数波形を出力するための係数補間方法であって、等間隔である時間間隔ごとの到達値であって出力が到達すべき値である到達値と時定数とを、受け取るステップと、前記等間隔である時間間隔と前記受け取った到達値と時定数に基づいて目標値を算出するステップと、前記時定数と前記算出された目標値に基づいて、発生する時間関数波形を制御するステップとを備えたことを特徴とする。
【0010】
請求項2に係る発明は、所定のタイミングで所定の到達値に達するような時間関数波形を出力するための係数補間方法であって、各到達値について指定可能な任意の時間間隔ごとの到達値であって出力が到達すべき値である到達値と、時定数とを、受け取るステップと、前記任意の時間間隔と前記受け取った到達値と時定数に基づいて目標値を算出するステップと、前記時定数と前記算出された目標値に基づいて、発生する時間関数波形を制御するステップとを備えたことを特徴とする。
【0011】
請求項3に係る発明は、請求項1または2に記載の係数補間方法において、前記目標値を算出するステップは、DCF型補間器の出力が前記到達値に到達するように該DCF型補間器に入力する目標値を算出するものであり、前記発生する時間関数波形を制御するステップは、前記時定数と前記算出された目標値をDCF型補間器に入力し、該DCF型補間器で発生する時間関数波形が前記到達値に到達するように制御するものであることを特徴とする。
【0012】
請求項4に係る発明は、所定のタイミングで所定の到達値に達するような時間関数波形を出力する係数補間装置であって、等間隔である時間間隔ごとの到達値であって出力が到達すべき値である到達値と、時定数とを、受け取る手段と、前記等間隔である時間間隔と前記受け取った到達値と時定数に基づいて、DCF型補間器の出力が前記到達値に到達するように該DCF型補間器に入力する目標値を算出する手段と、前記時定数と前記算出された目標値に基づいて、前記到達値に到達するような時間関数波形を発生するDCF型補間器とを備えたことを特徴とする。
【0013】
請求項5に係る発明は、所定のタイミングで所定の到達値に達するような時間関数波形を出力する係数補間装置であって、各到達値について指定可能な任意の時間間隔ごとの到達値であって出力が到達すべき値である到達値と時定数とを、受け取る手段と、前記任意の時間間隔と前記受け取った到達値と時定数に基づいて、DCF型補間器の出力が前記到達値に到達するように該DCF型補間器に入力する目標値を算出する手段と、前記時定数と前記算出された目標値に基づいて、前記到達値に到達するような時間関数波形を発生するDCF型補間器とを備えたことを特徴とする。
【0014】
請求項6に係る発明は、所定のタイミングで所定の到達値に達するような時間関数波形を出力するための係数補間方法であって、出力が到達すべき値である到達値と目標値を受け取るステップと、受け取った到達値と目標値に基づいて時定数を算出するステップと、前記目標値と前記算出された時定数に基づいて、発生する時間関数波形を制御するステップとを備えたことを特徴とする。
【0015】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【0016】
図1は、この発明に係る係数補間方法の概略を示す。101は、所望の係数変化の軌跡をソフトウェアで送受信可能な間隔(制御間隔ΔT)でサンプリングした入力波形xを示す。この入力xは、x[1],x[2],x[3],…,x[i],x[i+1],…(iは時間を識別するための整数)という配列である。
【0017】
DCF入力値の計算102では、入力xからDCF型補間器103への入力wを計算する。その詳細は後述するが、w[i]はx[i],x[i+1]および補間器の時定数τから算出されるものである。このw[i]をDCF型補間器103へ入力することにより、i+1の時点でDCF型補間器103からの出力yがx[i+1]の値に達するようにできる。DCF入力値の計算102は、ΔTの時間間隔ごとにwを出力するものである。なお、時定数τは、各時間区間[i,i+1]ごとに変化する値でも良い。すなわち、配列τ[1],τ[2],τ[3],…,τ[i],τ[i+1],…であってもよい。時定数τが変化する場合も、目標値wは同じ計算式で同様に算出できる。
【0018】
DCF型補間器103は、図9で説明したのと同じものであり、上記(1)式の計算をΔtごとに繰り返すものである。定数cと時定数τとの関係は上記(2)式に示した。DCF型補間器103では、時間区間[i,i+1]においてw[i]を目標値とした時定数τのDCF計算が行なわれ、yが出力される。yは配列であり、時間iからi+1までの間、補間器の出力間隔Δtごとに次々と出力される。以降、この値をy[i][0],y[i][1],y[i][2],…,y[i][n]と書く。104は、その出力yを示す。
【0019】
DCF入力値の計算102からDCF型補間器103にwが送信される間隔が厳密には等間隔でないため、nの値は必ずしも一定ではない。nの値は、ほぼ(DCF型補間器103の出力間隔)/(DCF入力値の計算102の出力間隔)であるが、多少は値が変動する。例えば、ΔTが5ミリ秒、Δtが1/44100秒であれば、0.005*44100=220.5であるから、nは220か221くらいの値になる。
【0020】
DCF入力値の計算102における計算手順を説明する。以下、時定数がτのときに、x[i],x[i+1]からw[i]を計算する方法を説明する。
【0021】
図2は、横軸を時間、縦軸を目標値あるいは到達値(出力)としたグラフである。この図において、x[i],x[i+1],ΔT,τが既知で、w[i]が未知数であり、このw[i]を求めることが目標である。DCF型補間器103の出力yが図のcurve2のように点Q(時刻iで到達値x[i]の点)を通ることが条件である。ここで、DCF型補間器103の出力yが点Qを通過するという条件から、数1の(3)式の関係が成り立っていなければならない。
【0022】
【数1】

Figure 0003687095
【0023】
この(3)式を変形して、数2の(4)式を得る。
【0024】
【数2】
Figure 0003687095
【0025】
したがって、時刻iにおいては、(4)式にしたがってw[i]を計算し、DCF型補間器103への入力値とすれば、補間後の係数が所望の軌跡のほぼ正確な折れ線近似となる。以上のようにして、DCF入力値の計算102によりw[i]を計算してDCF型補間器103に与えることにより、DCF型補間器103の出力が到達すべき値である到達値を通過するようにでき、任意形状の波形を得ることができる。
【0026】
図3は、所望の係数変化の軌跡をテーブル化した構成例を示す。テーブルx301は、時間間隔ΔTごとの到達値x[i]を記載したテーブルであり、所望の係数変化の軌跡を表すものである。ユーザは、あらかじめこのテーブルx301を用意しておく。DCF入力値の計算302とDCF型補間器303は、図1で説明したのと同じものである。DCF入力値の計算302は、ΔT間隔で、テーブルx301から到達値xを読み取り、上述した計算でwを求めてDCF型補間器303に入力する。DCF型補間器303は、Δt間隔で、出力yを計算し出力する。
【0027】
図4は、あらかじめw[i]のテーブルを作成しておく例を示す。テーブルx401は、図3のテーブルx301と同様の所望の係数変化の軌跡を表すテーブルである。DCF入力値の計算402は、あらかじめテーブルx301に基づいて計算し、w[i]のテーブルw403を作成しておく。波形出力が必要なとき、DCF型補間器404は、テーブルw403を読み込み、これに基づいて、Δt間隔で出力yを計算し出力する。
【0028】
図5は、制御間隔ΔTが一定で、図4のようにw[i]のテーブルを作成する場合のテーブル構成および波形例を示す。図5(a)は、テーブルx(図4の401)とテーブルw(図4の403)の構成例を示す。テーブルxからテーブルwを作成し、このテーブルwに基づいて、DCF型補間器303は、Δt間隔で、出力yを計算し出力する。ただし、w[0]=x[0]とする。図5(b)は、その出力yのグラフ例を示す。時刻i=0でw[0](=x[0])が初期値としてセットされ、その後のΔTの区間ではw[1]を目標値として時定数τで補間演算を行なうことによりグラフ501のように変化して、時刻i=1で到達値x[1]に至る。その後のΔTの区間では目標値w[2]と時定数τによりグラフ502のように変化して、時刻i=2で到達値x[2]に至る。その後のΔTの区間では目標値w[3]と時定数τによりグラフ503のように変化して、時刻i=3で到達値x[3]に至る。
【0029】
図6は、到達値を差分(変化量)で指定していく例を示す。図6(a)のテーブル601は、テーブルxに相当するものであるが、時刻i=0での到達値x[0]の後は、前の到達値からの差分で到達値を表現している。すなわち、x[0]+Δx[1]=x[1]、x[1]+Δx[2]=x[2]、x[2]+Δx[3]=x[3]、…というように到達値が決まる。この場合、到達値を求めてから上記の式(4)で目標値wを求めればよい。テーブルwは、602に示すようになる。図6(b)は、テーブル602を用いた場合の出力yのグラフ例を示す。時刻i=0でw[0](=x[0])が初期値としてセットされ、その後のΔTの区間では目標値w[1](=x[1]/a)と時定数τによりグラフ611のように変化して、時刻i=1で差分Δx[1]だけ変化した到達値に至る。その後のΔTの区間では目標値w[2](=x[2]/a)と時定数τによりグラフ612のように変化して、時刻i=2で差分Δx[2]だけ変化した到達値に至る。その後のΔTの区間では目標値w[3](=x[3]/a)と時定数τによりグラフ613のように変化して、時刻i=3で差分Δx[3]だけ変化した到達値に至る。
【0030】
図7は、各時間区間ごとの到達値に加えて、各時間区間ごとの時間間隔をユーザが指定できるようにした例である。図7(a)のテーブル701は、テーブルxに相当するものであるが、時刻i=0での到達値PL[0]の後は、前の時刻からの時間間隔ΔT[1],ΔT[2],ΔT[3],…とその時間間隔だけ経過したときの到達値PL[1],PL[2],…で表現している。このテーブル701を用いて、上記の式(4)でwを求める。式(4)はΔTを含むので、ここにテーブル701で指定されている時間間隔ΔT[1],ΔT[2],ΔT[3],…を順次当てはめればwは計算できる。テーブル702は、そのように計算したwのテーブルである。PW[0],PW[1],PW[2],…がDCF型補間器への入力値である。ただし、PW[0]=PL[0]とする。図7(b)は、テーブル702を用いた場合の出力yのグラフ例を示す。時刻i=0でPW[0](=PL[0])が初期値としてセットされ、その後のΔT[1]の区間では目標値PW[1]と時定数τによりグラフ711のように変化して、時刻i=1で到達値PL[1]に至る。その後のΔT[2]の区間では目標値PW[3](=PL[3])と時定数τによりグラフ712のように変化して、時刻i=2で到達値PL[2]に至る。
【0031】
図8は、上述した実施形態のDCF型補間方法を適用する対象である電子楽器のブロック構成を示す。この電子楽器は、音源(トーン・ジェネレータ)801、マイクロコンピュータ802、ネットワークI/O803、MIDI I/O804、キーボード805、ディスプレイ806、パネルスイッチ807、サウンドシステム808を備える。マイクロコンピュータ802は、各I/O803,804やキーボード805から送出される楽音発生指示に応じて、音源801に楽音発生を指示する。ディスプレイ806を見ながらパネルスイッチ807を操作することにより、音源801に音色や効果の設定を行なうことができる。
【0032】
音源801は、マイクロコンピュータ802の指示に応じて楽音を発生する。音源801は、時分割で複数チャンネルの楽音波形を発生するチャンネル部810、各チャンネルの楽音波形を累算するチャンネル累算部820、効果を付与する効果付与部830、およびディジタル楽音信号をアナログ信号に変換するディジタルアナログ変換部840を備える。ディジタルアナログ変換部840の出力は、サウンドシステム808により放音される。チャンネル部810は、楽音信号波形を発生する楽音信号発振器(OSC)811、音色制御のためのデジタルフィルタ(DCF)812、およびエンベロープを付与するエンベロープ付与部813を備える。効果付与部830は、DSP(ディジタル信号プロセッサ)831により効果付与するものである。
【0033】
上述した実施形態のDCF型補間方法は、図8の構成の関数発生器FUN1(楽音ピッチの時間変化を制御するピッチエンベロープ波形を発生)、FUN2(楽音音色の時間変化を制御する音色エンベロープ波形を発生)、FUN3(楽音音量の時間変化を制御する音量エンベロープ波形を発生)、FUN4(エフェクトの時間変化を制御する効果エンベロープ波形を発生)などに適用することができる。ここで、各エンベロープ波形は、楽音発生指示をトリガとして時間変化する波形であり、本発明では、その時間変化波形の形状が到達値x、時間間隔ΔT、時定数τ、目標値wによって制御される。また、本発明は、その他にも、形状を制御した波形が必要な種々の場面に適用することができる。例えば、楽音信号発振器(OSC)811で波形を発生するとき、図示しない低周波発振器(LFO)で楽音変調用の低周波波形を発生するとき、テンポの時間変化を制御するテンポ変化カーブを発生するとき、などである。
【0034】
なお、上記実施の形態では、所定のタイミングにおける到達値と時定数から、関数発生に使用する目標値を算出しているが、目標値を算出する代わりに時定数の方を算出してもよい。すなわち、所定のタイミングにおける到達値と目標値から、関数発生に使用する時定数を算出し、算出された時定数と目標値に基づいて、発生する時間関数波形を制御するようにしてもよい。そのためには、図1において、「DCFの時定数τ」を「DCFの目標値w」に置き換え、「DCF入力値の計算102」には「到達値x」と「目標値w」を入力するようにする。そして、該「DCF入力値の計算102」は、到達値xと目標値wから時定数τを算出して、算出した時定数τをDCF型計数補間器103に供給するようにする。「DCF型計数補間器103」は、目標値wと時定数τに基づいて補間演算を行なう。この場合、到達値xがx[1],x[2],x[3],…の配列であるのと同様に、目標値wもw[1],w[2],w[3],…の配列である。
【0035】
【発明の効果】
以上説明したように、この発明によれば、DCF補間器の出力が指定した到達値に達するように目標値を算出してDCF補間器に渡しているので、DCF型補間器で、タイミングと到達値による制御が可能になる。これにより、任意の形状の時間関数波形を得ることができる。
【図面の簡単な説明】
【図1】この発明に係る係数補間方法の概略を示す図
【図2】出力波形の例を示す図
【図3】所望の係数変化の軌跡をテーブル化した構成例を示す図
【図4】あらかじめテーブルwを作成しておく構成例を示す図
【図5】テーブル構成と波形例(その1)を示す図
【図6】テーブル構成と波形例(その2)を示す図
【図7】テーブル構成と波形例(その3)を示す図
【図8】DCF型補間方法を適用する対象である電子楽器のブロック構成図
【図9】DCF型補間器の構成例を示す図
【符号の説明】
101…入力波形x、102…DCF入力値の計算、103…DCF型補間器、104…出力y。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a coefficient interpolation method and apparatus applied when a time function waveform is generated using a DCF interpolator.
[0002]
[Prior art]
Conventionally, a technique for generating a time function waveform using a DCF interpolator is known. FIG. 9 shows a typical circuit example of a DCF interpolator. The DCF interpolator includes a multiplier 901, a subtracter 902, a Δt delay circuit 903, and a multiplier 904. The multiplier 901 multiplies the input signal w by a coefficient c. The multiplication result is input to the subtracter 902. A subtractor 902 subtracts the output of the multiplier 904 from the multiplication result. The subtraction result is input to the Δt delay circuit 903 and delayed by the delay time Δt. The output of the Δt delay circuit 903 is input to the multiplier 904, multiplied by the coefficient (1-c), and the multiplication result is input to the subtractor 902. The output of the subtracter 902 becomes the output of the DCF interpolator.
[0003]
As can be seen from this circuit example, the DCF interpolator has an input of w and an output of y, with a time Δt interval,
c * w + (1-c) * y → y (0.0 <c <1.0) (1)
It repeats the calculation. The constant c and the time constant τ are
τ = Δt / (− log (1-c)) (2)
There is a relationship. This is a modification of equation (1)
c (w−y) + y → y
And subtracting both sides of this expression from w,
(1-c) (w−y) → w−y
Therefore, it can be seen that the difference between the output and the input becomes smaller by the ratio of 1-c at every time Δt. On the other hand, the time constant is the time when the difference between the output and the input becomes the first 1 / e (e is a natural logarithm), and therefore the above equation (2) can be obtained by simple calculation.
[0004]
Such a DCF interpolator is used in various scenes using a time function waveform. For example, in an electronic musical instrument, a so-called multi-state envelope generator is used. This is because the target value is given one after another, the waveform that reaches the first target value is output at first, and the waveform that reaches the second target value is output when the next state is reached at a certain timing. When the state transitions to the next state, a waveform reaching the third target value is output, and an envelope waveform reaching the target value is generated and output for each state. When such a multi-state envelope generator is configured using a DCF interpolator, a target value and a time constant τ may be supplied for each state. From the supplied time constant τ, the constant c is determined by the above equation (2), and y is successively output from the constant c according to the equation (1) at time Δt intervals. When the next state is entered, a waveform is generated toward the next target value using the next time constant τ.
[0005]
The DCF interpolator can also be applied to an analog modeling sound source. In this method, a waveform generated by an oscillator (OSC) is input to a DCF interpolator to control frequency characteristics. For example, a rectangular wave generated by an oscillator is input to a DCF interpolator to control frequency characteristics, and an envelope is applied to obtain a musical sound waveform. You may process similarly using a triangular wave or a sawtooth wave.
[0006]
[Problems to be solved by the invention]
By the way, a conventional DCF type interpolator (for example, the above-mentioned DCF type envelope generator or the like) cannot control in the form of the timing and the reached value at the timing. That is, in the DCF type interpolator, even if the target value can be specified, the target value is only a target value, and interpolation cannot be performed so as to reach the target value specified at the specified time. In a DCF type interpolator, its output generally reaches an input value after a sufficient time has passed. However, in the case of using it for an electronic musical instrument or the like, before the output settles on the input value of the DCF type interpolator, one after another. Since the input value is changed, the next state is entered before the input value which is the target value is reached, and as a result, the target value is not reached in any state. In this sense, the target value is not the reached value.
[0007]
Further, due to the above-described problems, when the DCF type interpolator is applied to the analog modeling sound source, there is a disadvantage that the output waveform from the DCF type interpolator cannot be made into an arbitrary shape.
[0008]
An object of the present invention is to provide a coefficient interpolation method and apparatus capable of obtaining a desired coefficient change waveform using a DCF interpolator in view of the above-described problems in the prior art.
[0009]
[Means for Solving the Problems]
In order to achieve this object, the invention according to claim 1 is a coefficient interpolation method for outputting a time function waveform that reaches a predetermined reached value at a predetermined timing . calculates the arrival value output an arrival value is a value to be reached when a constant, comprising: receiving a target value based on arrival value and the time constant of said received and said regular intervals is a time interval And a step of controlling a generated time function waveform based on the time constant and the calculated target value.
[0010]
The invention according to claim 2 is a coefficient interpolation method for outputting a time function waveform that reaches a predetermined arrival value at a predetermined timing, and is an arrival value for each arbitrary time interval that can be specified for each arrival value. And receiving an arrival value, which is a value that the output should reach, and a time constant, calculating a target value based on the arbitrary time interval, the received arrival value, and the time constant; And a step of controlling a time function waveform to be generated based on the time constant and the calculated target value .
[0011]
According to a third aspect of the present invention, in the coefficient interpolation method according to the first or second aspect, the step of calculating the target value includes the step of calculating the target value so that the output of the DCF type interpolator reaches the reached value. In the step of controlling the generated time function waveform, the time constant and the calculated target value are input to a DCF interpolator and generated by the DCF interpolator. The time function waveform is controlled so as to reach the reached value .
[0012]
The invention according to claim 4 is a coefficient interpolation device that outputs a time function waveform that reaches a predetermined arrival value at a predetermined timing, and is an arrival value for every time interval that is an equal interval, and the output reaches. Based on the means for receiving the arrival value that is a power value and the time constant, the time interval that is the equal interval, and the received arrival value and the time constant, the output of the DCF interpolator reaches the arrival value. Means for calculating a target value to be input to the DCF type interpolator, and a DCF type interpolator for generating a time function waveform that reaches the reached value based on the time constant and the calculated target value characterized by comprising and.
[0013]
The invention according to claim 5 is a coefficient interpolation device that outputs a time function waveform that reaches a predetermined arrival value at a predetermined timing, and is an arrival value for each arbitrary time interval that can be specified for each arrival value. and reaches value output is a value to be reached Te, when a constant, and means for receiving, on the basis of the arrival value and the time constant of said received and said arbitrary time intervals, DCF type interpolator output is the reach value Means for calculating a target value to be input to the DCF interpolator so as to reach the value, and a DCF for generating a time function waveform that reaches the reached value based on the time constant and the calculated target value And a type interpolator.
[0014]
The invention according to claim 6 is a coefficient interpolation method for outputting a time function waveform that reaches a predetermined arrival value at a predetermined timing, and receives an arrival value and a target value that are values that the output should reach. And a step of calculating a time constant based on the received arrival value and the target value, and a step of controlling a generated time function waveform based on the target value and the calculated time constant. Features.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0016]
FIG. 1 shows an outline of a coefficient interpolation method according to the present invention. Reference numeral 101 denotes an input waveform x obtained by sampling a desired coefficient change locus at an interval (control interval ΔT) that can be transmitted and received by software. This input x is an array of x [1], x [2], x [3], ..., x [i], x [i + 1], ... (i is an integer for identifying time).
[0017]
In the calculation 102 of the DCF input value, an input w to the DCF interpolator 103 is calculated from the input x. Although details will be described later, w [i] is calculated from x [i], x [i + 1] and the time constant τ of the interpolator. By inputting this w [i] to the DCF interpolator 103, the output y from the DCF interpolator 103 can reach the value x [i + 1] at the time point i + 1. The DCF input value calculation 102 outputs w every time interval of ΔT. The time constant τ may be a value that changes for each time interval [i, i + 1]. That is, the arrays τ [1], τ [2], τ [3],..., Τ [i], τ [i + 1],. Even when the time constant τ changes, the target value w can be similarly calculated using the same calculation formula.
[0018]
The DCF type interpolator 103 is the same as that described with reference to FIG. 9, and repeats the calculation of the above equation (1) every Δt. The relationship between the constant c and the time constant τ is shown in the above equation (2). The DCF interpolator 103 performs DCF calculation of the time constant τ with w [i] as a target value in the time interval [i, i + 1], and outputs y. y is an array, and is output one after another at every output interval Δt of the interpolator from time i to i + 1. Hereinafter, this value is written as y [i] [0], y [i] [1], y [i] [2], ..., y [i] [n]. Reference numeral 104 denotes the output y.
[0019]
Since the interval at which w is transmitted from the DCF input value calculation 102 to the DCF interpolator 103 is not strictly equal, the value of n is not necessarily constant. The value of n is approximately (the output interval of the DCF interpolator 103) / (the output interval of the DCF input value calculation 102), but the value fluctuates somewhat. For example, if ΔT is 5 milliseconds and Δt is 1/44100 seconds, since 0.005 * 44100 = 220.5, n is a value of about 220 or 221.
[0020]
A calculation procedure in the calculation 102 of the DCF input value will be described. Hereinafter, a method of calculating w [i] from x [i], x [i + 1] when the time constant is τ will be described.
[0021]
FIG. 2 is a graph in which the horizontal axis represents time and the vertical axis represents a target value or an arrival value (output). In this figure, x [i], x [i + 1], ΔT, and τ are known, w [i] is an unknown number, and the goal is to obtain this w [i]. The condition is that the output y of the DCF type interpolator 103 passes through the point Q (the point of the arrival value x [i] at time i) as in curve 2 in the figure. Here, from the condition that the output y of the DCF type interpolator 103 passes through the point Q, the relationship expressed by the equation (3) in Equation 1 must be established.
[0022]
[Expression 1]
Figure 0003687095
[0023]
The equation (3) is modified to obtain the equation (4) of the formula 2.
[0024]
[Expression 2]
Figure 0003687095
[0025]
Therefore, at time i, if w [i] is calculated according to equation (4) and used as the input value to the DCF interpolator 103, the interpolated coefficient becomes a nearly exact broken line approximation of the desired trajectory. . As described above, by calculating w [i] by the calculation 102 of the DCF input value and giving it to the DCF interpolator 103, the output of the DCF interpolator 103 passes through the arrival value that should be reached. Thus, a waveform having an arbitrary shape can be obtained.
[0026]
FIG. 3 shows a configuration example in which a desired coefficient change locus is tabulated. The table x301 is a table in which the reached value x [i] for each time interval ΔT is described, and represents a desired coefficient change locus. The user prepares this table x301 in advance. The DCF input value calculation 302 and the DCF interpolator 303 are the same as those described with reference to FIG. The DCF input value calculation 302 reads the arrival value x from the table x301 at intervals of ΔT, obtains w by the above-described calculation, and inputs it to the DCF interpolator 303. The DCF type interpolator 303 calculates and outputs the output y at intervals of Δt.
[0027]
FIG. 4 shows an example in which a table for w [i] is created in advance. The table x401 is a table representing a desired coefficient change locus similar to the table x301 in FIG. The DCF input value calculation 402 is calculated in advance based on the table x301 to create a table w403 of w [i]. When waveform output is necessary, the DCF interpolator 404 reads the table w403, and based on this, calculates and outputs the output y at intervals of Δt.
[0028]
FIG. 5 shows a table configuration and a waveform example when the control interval ΔT is constant and a table of w [i] is created as shown in FIG. FIG. 5A shows a configuration example of the table x (401 in FIG. 4) and the table w (403 in FIG. 4). A table w is created from the table x, and based on this table w, the DCF interpolator 303 calculates and outputs an output y at intervals of Δt. However, w [0] = x [0]. FIG. 5B shows a graph example of the output y. At time i = 0, w [0] (= x [0]) is set as an initial value, and in the subsequent ΔT interval, w [1] is set as a target value and interpolation operation is performed with a time constant τ to perform graph 501. Thus, the arrival value x [1] is reached at time i = 1. In the subsequent ΔT section, the target value w [2] and the time constant τ change as shown in the graph 502, and the arrival value x [2] is reached at time i = 2. In the subsequent ΔT section, the target value w [3] and the time constant τ change as shown in the graph 503, and the arrival value x [3] is reached at time i = 3.
[0029]
FIG. 6 shows an example in which the reached value is designated by the difference (change amount). The table 601 in FIG. 6A corresponds to the table x. After the arrival value x [0] at time i = 0, the arrival value is expressed by a difference from the previous arrival value. Yes. That is, x [0] + Δx [1] = x [1], x [1] + Δx [2] = x [2], x [2] + Δx [3] = x [3], etc. Is decided. In this case, the target value w may be obtained by the above equation (4) after obtaining the reached value. The table w is as shown in 602. FIG. 6B shows a graph example of the output y when the table 602 is used. At time i = 0, w [0] (= x [0]) is set as an initial value, and in the subsequent interval ΔT, a graph is shown by target value w [1] (= x [1] / a) and time constant τ. 611 to reach an arrival value that has changed by a difference Δx [1] at time i = 1. In the subsequent ΔT section, the target value w [2] (= x [2] / a) and the time constant τ change as shown in the graph 612, and the reached value changed by the difference Δx [2] at time i = 2. To. In the subsequent ΔT section, the target value w [3] (= x [3] / a) and the time constant τ change as shown in the graph 613, and the arrival value changed by the difference Δx [3] at time i = 3. To.
[0030]
FIG. 7 shows an example in which the user can specify the time interval for each time interval in addition to the arrival value for each time interval. The table 701 in FIG. 7A corresponds to the table x, but after the arrival value PL [0] at time i = 0, time intervals ΔT [1] and ΔT [ 2], ΔT [3],... And reached values PL [1], PL [2],. Using this table 701, w is obtained by the above equation (4). Since equation (4) includes ΔT, w can be calculated by sequentially applying the time intervals ΔT [1], ΔT [2], ΔT [3],. The table 702 is a table of w calculated in this way. PW [0], PW [1], PW [2],... Are input values to the DCF interpolator. However, PW [0] = PL [0]. FIG. 7B shows a graph example of the output y when the table 702 is used. At time i = 0, PW [0] (= PL [0]) is set as an initial value, and in the subsequent period of ΔT [1], it changes as shown in graph 711 by the target value PW [1] and the time constant τ. Thus, the arrival value PL [1] is reached at time i = 1. In the subsequent period of ΔT [2], the value changes as shown in the graph 712 by the target value PW [3] (= PL [3]) and the time constant τ, and reaches the reached value PL [2] at time i = 2.
[0031]
FIG. 8 shows a block configuration of an electronic musical instrument to which the DCF type interpolation method of the above-described embodiment is applied. This electronic musical instrument includes a sound source (tone generator) 801, a microcomputer 802, a network I / O 803, a MIDI I / O 804, a keyboard 805, a display 806, a panel switch 807, and a sound system 808. The microcomputer 802 instructs the sound source 801 to generate musical sounds in response to musical tone generation instructions sent from the I / Os 803 and 804 and the keyboard 805. By operating the panel switch 807 while looking at the display 806, it is possible to set a tone color and an effect on the sound source 801.
[0032]
The sound source 801 generates musical sounds according to instructions from the microcomputer 802. The sound source 801 includes a channel unit 810 for generating a plurality of channels of sound waveforms in a time division manner, a channel accumulation unit 820 for accumulating the sound waveforms of each channel, an effect applying unit 830 for applying effects, and a digital music signal as an analog signal. The digital-analog converting unit 840 for converting the signal into the digital signal is provided. The output of the digital / analog converter 840 is emitted by the sound system 808. The channel unit 810 includes a musical tone signal oscillator (OSC) 811 that generates a musical tone signal waveform, a digital filter (DCF) 812 for tone color control, and an envelope applying unit 813 that applies an envelope. The effect applying unit 830 is provided with an effect by a DSP (digital signal processor) 831.
[0033]
The DCF type interpolation method of the above-described embodiment includes a function generator FUN1 (generating a pitch envelope waveform that controls the time change of the musical tone pitch) and FUN2 (tone color envelope waveform that controls the time change of the musical tone color), as shown in FIG. Generation), FUN3 (generates a volume envelope waveform that controls the time change of the musical sound volume), FUN4 (generates an effect envelope waveform that controls the time change of the effect), and the like. Here, each envelope waveform is a waveform that changes over time with a musical sound generation instruction as a trigger, and in the present invention, the shape of the time change waveform is controlled by an arrival value x, a time interval ΔT, a time constant τ, and a target value w. The In addition, the present invention can be applied to various scenes that require a waveform whose shape is controlled. For example, when a waveform is generated by the tone signal oscillator (OSC) 811 and a low frequency waveform for tone modulation is generated by a low frequency oscillator (LFO) (not shown), a tempo change curve for controlling the temporal change of the tempo is generated. When, etc.
[0034]
In the above embodiment, the target value used for function generation is calculated from the arrival value at a predetermined timing and the time constant. However, instead of calculating the target value, the time constant may be calculated. . That is, a time constant used for function generation may be calculated from the reached value and target value at a predetermined timing, and the generated time function waveform may be controlled based on the calculated time constant and target value. For this purpose, in FIG. 1, “DCF time constant τ” is replaced with “DCF target value w”, and “attainment value x” and “target value w” are input to “DCF input value calculation 102”. Like that. The “DCF input value calculation 102” calculates a time constant τ from the reached value x and the target value w, and supplies the calculated time constant τ to the DCF type count interpolator 103. The “DCF type count interpolator 103” performs an interpolation calculation based on the target value w and the time constant τ. In this case, similarly to the arrival value x being an array of x [1], x [2], x [3],..., The target value w is also w [1], w [2], w [3]. , ... array.
[0035]
【The invention's effect】
As described above, according to the present invention, the target value is calculated and passed to the DCF interpolator so that the output of the DCF interpolator reaches the specified arrival value. Control by value becomes possible. Thereby, a time function waveform having an arbitrary shape can be obtained.
[Brief description of the drawings]
FIG. 1 is a diagram showing an outline of a coefficient interpolation method according to the present invention. FIG. 2 is a diagram showing an example of an output waveform. FIG. 3 is a diagram showing a configuration example in which a desired coefficient change locus is tabulated. FIG. 5 is a diagram illustrating a configuration example in which a table w is created in advance. FIG. 5 is a diagram illustrating a table configuration and a waveform example (part 1). FIG. 6 is a diagram illustrating a table configuration and a waveform example (part 2). FIG. 8 is a block diagram of an electronic musical instrument to which a DCF type interpolation method is applied. FIG. 9 is a diagram showing a configuration example of a DCF type interpolator.
101: Input waveform x, 102: Calculation of DCF input value, 103: DCF type interpolator, 104: Output y.

Claims (6)

所定のタイミングで所定の到達値に達するような時間関数波形を出力するための係数補間方法であって、
等間隔である時間間隔ごとの到達値であって出力が到達すべき値である到達値と時定数とを、受け取るステップと、
前記等間隔である時間間隔と前記受け取った到達値と時定数に基づいて目標値を算出するステップと、
前記時定数と前記算出された目標値に基づいて、発生する時間関数波形を制御するステップと
を備えたことを特徴とする係数補間方法。
A coefficient interpolation method for outputting a time function waveform that reaches a predetermined reached value at a predetermined timing,
And reached values output a reached value for each time interval is equal intervals is a value to be reached, and a time constant, the method comprising: receiving,
Calculating a target value based on the equal time interval, the received arrival value, and a time constant;
A coefficient interpolation method comprising: controlling a generated time function waveform based on the time constant and the calculated target value.
所定のタイミングで所定の到達値に達するような時間関数波形を出力するための係数補間方法であって、
各到達値について指定可能な任意の時間間隔ごとの到達値であって出力が到達すべき値である到達値と時定数とを、受け取るステップと、
前記任意の時間間隔と前記受け取った到達値と時定数に基づいて目標値を算出するステップと、
前記時定数と前記算出された目標値に基づいて、発生する時間関数波形を制御するステップと
を備えたことを特徴とする係数補間方法。
A coefficient interpolation method for outputting a time function waveform that reaches a predetermined reached value at a predetermined timing,
And reached values output a reached value of each specifiable arbitrary time intervals for each arrival values is a value to be reached, and a time constant, the method comprising: receiving,
Calculating a target value based on the arbitrary time interval, the received arrival value, and a time constant;
A coefficient interpolation method comprising: controlling a generated time function waveform based on the time constant and the calculated target value.
請求項1または2に記載の係数補間方法において、
前記目標値を算出するステップは、DCF型補間器の出力が前記到達値に到達するように該DCF型補間器に入力する目標値を算出するものであり、
前記発生する時間関数波形を制御するステップは、前記時定数と前記算出された目標値をDCF型補間器に入力し、該DCF型補間器で発生する時間関数波形が前記到達値に到達するように制御するものである
ことを特徴とする係数補間方法。
The coefficient interpolation method according to claim 1 or 2,
The step of calculating the target value is to calculate a target value to be input to the DCF interpolator so that the output of the DCF interpolator reaches the reached value .
In the step of controlling the generated time function waveform, the time constant and the calculated target value are input to a DCF interpolator so that the time function waveform generated by the DCF interpolator reaches the reached value. coefficient interpolation wherein the and controls to.
所定のタイミングで所定の到達値に達するような時間関数波形を出力する係数補間装置であって、
等間隔である時間間隔ごとの到達値であって出力が到達すべき値である到達値と時定数とを、受け取る手段と、
前記等間隔である時間間隔と前記受け取った到達値と時定数に基づいて、DCF型補間器の出力が前記到達値に到達するように該DCF型補間器に入力する目標値を算出する手段と、
前記時定数と前記算出された目標値に基づいて、前記到達値に到達するような時間関数波形を発生するDCF型補間器と
を備えたことを特徴とする係数補間装置。
A coefficient interpolation device that outputs a time function waveform that reaches a predetermined reached value at a predetermined timing,
And reached values output a reached value for each time interval is equal intervals is a value to be reached, and a time constant, means for receiving,
Means for calculating a target value to be input to the DCF type interpolator so that the output of the DCF type interpolator reaches the reached value based on the equal time interval, the received arrival value and the time constant; ,
A coefficient interpolation device comprising: a DCF interpolator that generates a time function waveform that reaches the reached value based on the time constant and the calculated target value.
所定のタイミングで所定の到達値に達するような時間関数波形を出力する係数補間装置であって、
各到達値について指定可能な任意の時間間隔ごとの到達値であって出力が到達すべき値である到達値と時定数とを、受け取る手段と、
前記任意の時間間隔と前記受け取った到達値と時定数に基づいて、DCF型補間器の出力が前記到達値に到達するように該DCF型補間器に入力する目標値を算出する手段と、
前記時定数と前記算出された目標値に基づいて、前記到達値に到達するような時間関数波形を発生するDCF型補間器と
を備えたことを特徴とする係数補間装置。
A coefficient interpolation device that outputs a time function waveform that reaches a predetermined reached value at a predetermined timing,
And reached values output a reached value of each specifiable arbitrary time intervals for each arrival values is a value to be reached, and a time constant, means for receiving,
Means for calculating a target value to be input to the DCF interpolator so that the output of the DCF interpolator reaches the reached value based on the arbitrary time interval, the received arrival value, and the time constant;
A coefficient interpolation device comprising: a DCF interpolator that generates a time function waveform that reaches the reached value based on the time constant and the calculated target value.
所定のタイミングで所定の到達値に達するような時間関数波形を出力するための係数補間方法であって、
出力が到達すべき値である到達値と目標値を受け取るステップと、
受け取った到達値と目標値に基づいて時定数を算出するステップと、
前記目標値と前記算出された時定数に基づいて、発生する時間関数波形を制御するステップと
を備えたことを特徴とする係数補間方法。
A coefficient interpolation method for outputting a time function waveform that reaches a predetermined reached value at a predetermined timing,
Receiving an attainment value and a target value, which are values that the output should reach,
Calculating a time constant based on the received arrival value and the target value;
And a step of controlling a generated time function waveform based on the target value and the calculated time constant.
JP2001371060A 2001-12-05 2001-12-05 Coefficient interpolation method and apparatus Expired - Fee Related JP3687095B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001371060A JP3687095B2 (en) 2001-12-05 2001-12-05 Coefficient interpolation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001371060A JP3687095B2 (en) 2001-12-05 2001-12-05 Coefficient interpolation method and apparatus

Publications (2)

Publication Number Publication Date
JP2003173189A JP2003173189A (en) 2003-06-20
JP3687095B2 true JP3687095B2 (en) 2005-08-24

Family

ID=19180174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001371060A Expired - Fee Related JP3687095B2 (en) 2001-12-05 2001-12-05 Coefficient interpolation method and apparatus

Country Status (1)

Country Link
JP (1) JP3687095B2 (en)

Also Published As

Publication number Publication date
JP2003173189A (en) 2003-06-20

Similar Documents

Publication Publication Date Title
US5641931A (en) Digital sound synthesizing device using a closed wave guide network with interpolation
JPH07140983A (en) Musical sound generator
JP4205229B2 (en) Effect imparting device
JP3687095B2 (en) Coefficient interpolation method and apparatus
JP2576702B2 (en) Electronic musical instrument
JP2016081043A (en) Content control device and content control program
JPH08123411A (en) Musical sound synthesizing device
JP3844214B2 (en) Modulation waveform generator
JP3116894B2 (en) Electronic musical instrument
JP2876986B2 (en) Music signal synthesizer
JP3871119B2 (en) Modulation waveform generator
JP3484737B2 (en) Tone characteristic control device
US5977470A (en) Electronic musical instrument with independent control of expression and effect
JP2790069B2 (en) Electronic musical instrument
JP2679443B2 (en) Touch response device for electronic musical instruments
JP3282438B2 (en) Music signal synthesizer
JP3727110B2 (en) Music synthesizer
JP3339273B2 (en) Musical sound wave forming device
JP3419174B2 (en) Electronic musical instrument
JP3687097B2 (en) Acoustic signal distortion device
JP2833485B2 (en) Tone generator
JPS6352399B2 (en)
JP3736371B2 (en) Music signal synthesis method, music signal synthesis apparatus and program
JP2002006853A (en) Resonance device
JPH04120596A (en) Musical tone signal generating device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050404

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050529

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20080617

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees