---------------------------- Original Message ----------------------------

Subject: Re: [music-dsp] Time-variant 2nd-order sinusoidal resonator

From: "Andrew Simper" <a...@cytomic.com>

Date: Wed, February 20, 2019 9:20 pm

To: "Robert Bristow-Johnson" <r...@audioimagination.com>

"A discussion list for music-related DSP" <music-dsp@music.columbia.edu>

--------------------------------------------------------------------------



> This looks pretty good to me, and I like the amplitude adjustment g[n] term

> :)
well, then let's integrate that into your code.


>

> Depending on the situation you may want to modulate the frequency of the

> oscillator pretty fast, so it can help to use a tan approximation function

> and then a division and a few other operations to get your cos (w) and sin

> (w) rotation terms from that single approximation. I've called the rotation

> terms g0 and g1, and c and s are the output cos and sin quadrature

> oscillator values

>

> init:

> c = cos(2*pi*startphase)

> s = sin(2*pi*startphase)

� �gain = 1

� �adaptationspeed = 0.5� � �// this could be made smaller, but must be positive

>

> set frequency:

> g0 = cos(2*pi*frequency/samplerate)

> g1 = sin(2*pi*frequency/samplerate)

>

> or

>

> g = tan(pi*frequency/samplerate);

> gg = 2/(1 + g*g)

> g0 = gg-1

> g1 = g*gg

>

> tick:

> t0 = g0*c - g1*s

> t1 = g1*c + g0*s

� c = gain*t0

� s = gain*t1

� gain = 1 + adaptationspeed*(1 - c*c - s*s)
�
--



r b-j� � � � � � � � � � � � �r...@audioimagination.com



"Imagination is more important than knowledge."

�
�
�
�
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to