@alexandros said:
But if you think, the execution order goes like this: the object that sends audio to its outlet does its computations before the object that receives the audio signal. If you make a feedback connection, which object is supposed to make its computations first?
To achieve this you have to send the output of [cos~] to a [tabsend~] (don't disconnect it from [*~ 0.4]), and connect a [tabreceive~] to [delwrite~]. Also, if you want feedback in your delay, you'll need to do this in the same way, so use another pair of [tabsend~]/[tabreceive~] to connect the output of [delwrite~] back to its input.
By using a [delwrite~] [delread~] or [delread4~] pair, the DSP loop is already detached, - you won't need [tabsend~] [tabreceive~] additionaly. You can use either or to break the loop.
Make sure that the whole chain feeding (and including) [delwrite~] is written in the .pd file before [delread4~],
(Check .pd file in a text editor. In Pd you can select > cut > paste parts of the patch, to change the order) -
then you will be able to go as low as min 1 sample delay.
You can measure latency with this latency-tester2.pd
https://forum.pdpatchrepo.info/topic/13814/catch-would-like-to-set-the-name-programmatically/20
A thread on this topic:
https://forum.pdpatchrepo.info/topic/6185/feedback-fm-algorithm