Yeah, this has been covered here before. Look up "DSP loops" in the archives. In short, you can't ask a subpatch/abstraction/whatever to compute output based on it's input simultaneously. Unlike analog electronics, where electrons move almost simultaneously, in DSP it's logically impossible. So your feedback loop must contain a one block delay. [send] and [receive] do that.
However, if your problems are with something like a delay line or filter inside [blackbox~] saturating and "blowing up", then you might look at some kind of limiter, waveshaper or clipper to keep the incoming audio within certain limits.
HTH, d.
Damian Stewart wrote:
hey pd,
i'm trying to do feed forward in pd. i think i'm tired and not thinking this through...
so, i have a [blackbox~] that does stuff to the audio. it uses feedback internally and is currently a bit unstable. can i make it more stable by going like this:
[...] [r~ fb] | | | [*~ -0.1] | ______/ |/ [blackbox~] |______ |
| [s~ fb] | [...]is there some funky combination of delays i can achieve this? i get the feeling this only works in analog electronics because you can say that on some level everything happens at exactly the same time - the delays inherent in digital systems mean that this doesn't work...
what alternative DSP techniques are there for damping unstable feedback loops?
thanks d