What is KVR Audio? | Submit News | Advertise | Developer Account

Options (Affects News & Product results only):

OS:
Format:
Include:
Quick Search KVR

"Quick Search" KVR Audio's Product Database, News Items, Developer Listings, Forum Topics and videos here. For advanced Product Database searching please use the full product search. For the forum you can use the phpBB forum search.

To utilize the power of Google you can use the integrated Google Site Search.

Products 0

Developers 0

News 0

Forum 0

Videos 0

Search  

Additive Synthesis

DSP, Plug-in and Host development discussion.

Moderator: Moderators (Main)

mystran
KVRAF
 
4234 posts since 11 Feb, 2006, from Helsinki, Finland

Postby mystran; Fri Jan 17, 2014 6:07 am Re: Additive Synthesis

If I'm not mistaken, the "SHO" is an example of semi-implicit euler and it is symplectic but only first-order accurate. It doesn't conserve energy exactly, but IIRC in fixed-point the oscillation does cancel the error accumulation. I seem to remember it doing this in floating-point too, at least assuming a specific rounding mode, but I can't seem to find good reference either way for the floating-point case. [Here's some fun discussion.]

Don't take my word for the following (I didn't verify it in any way) but intuitively, I'd guess the phase-quadrature is essentially off by about half a sample.
Image <- plugins | forum
shabby
KVRer
 
23 posts since 6 Dec, 2013, from The land of confusion

Postby shabby; Fri Jan 17, 2014 6:26 am Re: Additive Synthesis

Interesting stuff mystran. I'm going to look at the phase issue on the weekend, if it's out by .5 sample maybe use v before adjusting it for position:

p+=v;
cosv=v/(dt*2*pi);
v-=p*dts;
mystran
KVRAF
 
4234 posts since 11 Feb, 2006, from Helsinki, Finland

Postby mystran; Fri Jan 17, 2014 6:58 am Re: Additive Synthesis

shabby wrote:Interesting stuff mystran. I'm going to look at the phase issue on the weekend, if it's out by .5 sample maybe use v before adjusting it for position:

p+=v;
cosv=v/(dt*2*pi);
v-=p*dts;


That adjusts the phase by one full sample. :P
Image <- plugins | forum
User avatar
aciddose
KVRAF
 
9122 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Fri Jan 17, 2014 8:47 am Re: Additive Synthesis

It won't stay in-phase with an ideal phase accumulator, there is non-zero error. If you're generating several harmonics this way they will drift out of phase over time as opposed to generating each scaled from a single phase accumulator.

Same issue as rotation matrices, recomputing the matrices from a rotation vector will be stable because error does not accumulate.

Rotations obviously are worse because the error not only accumulates but does so non-linearly, so rotation matrices can "explode". While that doesn't happen in this case you'll still end up out of phase and the error is dependent upon all of frequency, amplitude and phase.
User avatar
Ichad.c
KVRian
 
699 posts since 8 Feb, 2012, from South - Africa

Postby Ichad.c; Fri Jan 17, 2014 10:43 am Re: Additive Synthesis



That's uber-nasty - I like it!
Previous

Moderator: Moderators (Main)

Return to DSP and Plug-in Development