Personal tools
You are here: Home documentation FAQ for Pd What's a "DSP-loop"?
Document Actions

What's a "DSP-loop"?

Up to Table of Contents

I get the message "error: DSP loop detected (some tilde objects not scheduled)" when I click "Audio ON", and the sound is not working!

In an analog electronic system, you can easily connect the output of a mixer back to one of the inputs, turn up the channel and get feedback. This is because everything in an analog system happens pretty much simultaneously.

Computers do not work like this, however, and therefore you cannot ask a Pd patch to compute results based on its own simultaneous output.

Pd works in what are called blocks (i.e. a group of samples, such as the default number of 64 samples), and all the samples in each block must be computed before they are output.

So a DSP loop occurs when a patch needs information which is calculated inside the same block in order to create output.

You can use the "Find last error" function under the "Find" menu to track down which objects are causing the DSP loop.

The easiest way around this problem is to create at least a one block delay between the objects which are connected together. The objects [send~] and [receive~] are useful for this, because they have a built-in delay of one block.

To change the number of samples computed in each block, you can use the [block~] object.

this FAQ was originally published under the GPL at Pd's FLOSSmanual

by IOhannes m zmoelnig last modified 2014-01-22 11:33 AM

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser