[sharing] Poly~ Recursion (dynamic dsp chain loading)

    Jul 30 2019 | 1:01 pm
    This project is an exploration of the use of the poly~ object for dynamically loading a chain of DSP units. A project i've been working on together with Jordan Stefanelli. This is kind of an etude on the poly~ patcher's dynamic loading capabilities which is very unique to that object. It is still in its developing stage.
    A branch (p_branch~) is replaced by a DSP effect (which is a branch by itself with some additional processing such as an overdrive). For every next effect it is loaded inside the previous effect. Eventually the chain is terminated by a leaf (the p_thru~) and the signal is routed back out through every branch up to the main patcher. A chain can be loaded with presets stored in a json file, but can also be instantiated with a list of symbols containing all the parameters for every effect.
    • main - The top level node of the tree, inputting the signal, setting the fx-chain, adjusting parameters
    • p_loader - Load the patcher in the poly~ object and apply the chosen preset or parameters.
    • p_thru~ - The leaf, a throughput of the input signal, returns the signal to the top level patcher
    • p_branch~ - An empty branch for poly~
    • p_reverb~ - A branch with the yafr2 reverb
    • p_overdrive~ - A branch with a overdrive algorithm in gen~ ported from the DAFX book
    • p_lfo~ - *A branch with an lfo *
    • fx_settings.json - A dictionary filled with some presets