Is zero-delay only for filters?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Is zero-delay only for filters?

How about zero-delay feedback FM?

How about one of these patches?
Osc A --> Osc B Frq CV
Osc B--> Osc A Frq CV

Osc A --> Osc B hard sync input
Osc B --> Osc A hard sync input
Osc A --> Osc B Frq CV

Post

FM may benefit a lot from zero delay feedback. However, it's probably not as obvious as in filters. In filters, an artificially added unit delay in the feedback path can make the algorithm instable. That's probably not as likely in oscillators. Not sure.

Post

The preferred discretization method will be most probably different. Not trapezoidal integration, which is used for filters because it results in nice transformation of the frequency response. For the oscillators the best is probably just to sample the analytic solution of the differential equation system and apply antialiasing. Besides zero delay, this also means that the modulation will not be applied sample-by-sample, but continuously.

Post

Z1202 wrote:For the oscillators the best is probably just to sample the analytic solution of the differential equation system and apply antialiasing.
why would i have to deal with a differential equation (system)? if i consider just a single feedback-fm oscillator, i would think, i have just a regular (albeit implicit) equation for my output signal y(t), like:

Code: Select all

y(t) = sin(w*t + k*y(t))
i guess, i could apply fixed-point iteration to that or perhaps some other root-finding algorithm. for 2-operators, i'd write down a system (omitting the (t)), like:

Code: Select all

y1 = sin(w1*t + k11*y1 + k12*y2)
y2 = sin(w2*t + k21*y1 + k22*y2)
and maybe just hope that my iterative root finder translates well into multiple dimensions. this approach would presumably alias as hell, though - so i would perhaps have to apply oversampling ...in which case a one-sample delay inside the feedback path would shrink by the oversampling factor as well, so the advantage of the zero-delay approach would possibly not be worth the trouble of invoking the root-finder. dunno :P
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Music Engineer wrote: why would i have to deal with a differential equation (system)? if i consider just a single feedback-fm oscillator, i would think, i have just a regular (albeit implicit) equation for my output signal y(t), like:

Code: Select all

y(t) = sin(w*t + k*y(t))
This is phase modulation. For frequency modulation you'll need to integrate the frequency to obtain the phase, hence differential equations.

Post

Not about oscillators, but at least two recent threads were about non-filter problems which might benefit from zero-delay feedback. One thread about feedback compression, and the other about global feedback surrounding "a very complicated process" (specific details about the process not discussed).

Post

Z1202 wrote:
Music Engineer wrote: why would i have to deal with a differential equation (system)? if i consider just a single feedback-fm oscillator, i would think, i have just a regular (albeit implicit) equation for my output signal y(t), like:

Code: Select all

y(t) = sin(w*t + k*y(t))
This is phase modulation. For frequency modulation you'll need to integrate the frequency to obtain the phase, hence differential equations.
ah - yes, thanks. i'm spoiled by the sloppy usage of the term in the industry - and now i was perpetuating such sloppiness myself - shame on me. :dog:
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

how about my famous chaos patch? Edit: Also, I think phase modulation is more useful for everything, but I am using FM because it was simple to code.

osc a --> lowpass filter --> highpass filter --> osc b frq cv
osc b --> optional highpass filter --> osc a frq cv
*all filters are non-resonant, all osc are sine.

here's a demo of this setup (skips to the more exciting parts):
https://www DOT youtube.com/watch?v=qBN5GHBd-jM&feature=youtu.be&t=1m20s
https://www DOT youtube.com/watch?v=mxozhdDjUAM&feature=youtu.be&t=2m10s
(suppressing kvr big f***ing video window, replace DOT with .)

of course it's using a 1-sample delay which causes a limitation in usefulness (since it sounds different at different sample rates and I think also suffers from instability due to the delay which limits its usable parameter ranges).

Post Reply

Return to “DSP and Plugin Development”