BTW, this is germane to some work that I have been doing and it just so happens that I have a figure handy.
In the figure are the spectra for two oscillators frequency modulating each other in a tight feedback loop. The first two were made with FM oscillators adapted from Pd's FM example patch. The first spectrum was recorded using block 64 and the second at block 1. The third was made using a dynamical model (which is, incidentally, the principle behind the [bob~] object) of two oscillators in an FM regime. This better approximates 0 time delay. It should be clear how much distortion even 1 sample of delay in the loop causes in this particular situation.
Unfortunately, the answer for how to do this in Pd is 'write an extern' -- hence [bob~]. So far there is no such thing as an unsampled, real-time patching environment.
On 02/25/2016 09:52 AM, martin brinkmann wrote:
On 25/02/16 18:09, Alexandre Torres Porres wrote:
2016-02-25 13:57 GMT-03:00 martin brinkmann mnb@martin-brinkmann.de:
if you want feedback in a complex patch, (like these virtual-virtual-modular-systems) the only thing you can do is to reblock everything to 1, which is not always possible (due to high cpu load, conflicting blocksizes, whatever).
This was addressed only to me, let me reply to the list.
sorry, i pressed the wrong reply button.
I never needed to do it in a super complex patch, but anyway, what you're saying is not true. Here's how you can do it.
Have your crazy complex patch running around all over the place.
Now, for your feedback loop, you need to create a subpatch to "send it".
Make it [pd fb_send]
in it, create a short delay line, give it a cool name like $0-fb, use [block~ 1].
then, for your feedback receive, have another subpatch [pd fb_receive]. In it, use [delread~ $0-fb 0].
would be great if it worked. (i've tried similar tricks...)
voilá...
check my self frequency modulating oscillator patch attached
the delayed signal is not a sine, when the blocksize in the receive is <64.
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list