6.4.10. RNBO Delay Tutorial #3 – Stereo Flanger with Crossfeed¶

Fig. 6.105 Stereo flanger patch with crossfeed in RNBO¶
The above patch expands once more on the previous patch, adding crossfeed functionality to the flanger. While this tutorial only adds one parameter to the overall effect, it is a slightly more complex use of the param object than has been explored previously.
Download the maxpat file here: Stereo Flanger with Crossfeed.
6.4.10.1. Crossfeed¶
When working with stereo delay effects, crossfeed refers to the process of routing the output of a delay line to the input of the opposite channel’s delay line. This differs slightly from a typical delay line structure, which looks like this:

Fig. 6.106 Block diagram demonstrating a stereo delay with feedback¶
Both delay lines act independently of each other, with their own feedback loops. Crossfeed effectively allows the delay lines in a stereo delay to interact with one another by crossing signal into each other’s feedback loops (hence crossfeed). A stereo delay with crossfeed can be represented by the following:

Fig. 6.107 Block diagram demonstrating a stereo delay with crossfeed¶
Crossing feedback lines helps create rich stereo textures that cannot be achieved with a typical delay line structure. When also used in conjunction with modulation, the possibilities may seem endless.
6.4.10.2. Implementing Crossfeed in RNBO¶
The process for implementing crossfeed in a RNBO patch mostly involves the use of *~ objects, and the addition of a single param object. For the purposes of this patch, crossfeed will be a singular parameter which controls both the amount of left channel delay which is crossed to the right, and the amount of right channel delay which is crossed to the left (Independent control of crossfeed for each channel can be implemented very similarly).

Fig. 6.108 Crossfeed param controls four *~ objects simultaneously, maintaining a balance between feedback and crossed feedback¶
The crossfeed param controls four separate *~ objects. The two *~ objects on the bottom control the amount of crossfeed, while the two on top control the amount of regular feedback. Let’s look a little closer at the param object itself.

Fig. 6.109 Crossfeed param object¶
Some basic operations are applied to the param immediately upon output. This is to ensure that the percentage of crossfeed and the percentage of regular feedback always sum to 100%. Similarly to the wet and feedback controls introduced in the first Delay Tutorial, the crossfeed output is scaled by 0.01 so that the user may control crossfeed in terms of percentages.

Fig. 6.110 UI shown in Emote¶
Upon exporting to Emote, the above menu will be displayed to the user. With the addition of one parameter, the basic Stereo Flanger has been upgraded beyond the essentials. When working in RNBO, building basic, tried and tested effects is a great way to become acquainted with the patching environment and hone your Max/MSP skills. With some practice, these basic effects can be updated and modified with more complex functionality. The only limit is your imagination.