Four allpass filters in a row, all sweeping together, added back to the sound they came from. Where the two disagree they cancel, so notches move up and down the spectrum — the sweep you hear is those notches, not the filter. Centre is where the sweep sits and Depth how far either side of it, in cents, so the sweep is even to the ear at any centre and cannot be driven below nothing. Dry and Wet are a half each: equal parts cancel completely, which is what makes the notches deep, and the two together never come to more than what came in. Rate is an input as well as a knob. There is no resonance control, because returning the last stage to the first is a feedback loop with no delay in it, which the module rules refuse and Web Audio cannot run.
Four notes played on Keys, passing through it on their way out.
‘in’: audio input · port in · into ‘dry’ · into ‘ap1’
‘dry’: Gain · into ‘out’ · level turned by ‘Dry level’
‘ap1’: Filter · filter type all-pass · into ‘ap2’ · cutoff turned by ‘Centre (Hz)’
‘ap2’: Filter · filter type all-pass · into ‘ap3’ · cutoff turned by ‘Centre (Hz)’
‘ap3’: Filter · filter type all-pass · into ‘ap4’ · cutoff turned by ‘Centre (Hz)’
‘ap4’: Filter · filter type all-pass · into ‘wet’ · cutoff turned by ‘Centre (Hz)’
‘wet’: Gain · into ‘out’ · level turned by ‘Wet level’
‘lfo’: Oscillator · wave sine (knob ‘Shape’) · into ‘depthgain’ · rate turned by ‘Rate (Hz)’
‘depthgain’: Gain · modulates the cutoff shift of ‘ap1’ · modulates the cutoff shift of ‘ap2’ · modulates the cutoff shift of ‘ap3’ · modulates the cutoff shift of ‘ap4’ · level turned by ‘Depth (cents)’
‘ratein’: audio input · port rate · into ‘ratedepth’
‘ratedepth’: Gain · modulates the rate of ‘lfo’ · level turned by ‘Rate amount (Hz)’