The Separator



1 People dig it
filters gain


This is an effect I've always wanted to try that I built on DreamMaker FX. Essentially, the low guitar string notes are filtered and sent through a marching delay line and the higher notes pass through unaffected. You can create an automatic bass line without any controls.

Arduino Code
Knob and button functions
Screen Shot 2020-01-02 at 3.17.41 PM.png

Delay loop time

Low cutoff

Low note gain



The Separator

Copy / paste this code into the Arduino IDE, download and run this effect


#include <dreammakerfx.h>

fx_biquad_filter    low_cutoff(250.0,              // Initial filter cutoff freq
                        1.0,                // Normal resonance
                        BIQUAD_TYPE_LPF,    // Filter type

fx_compressor       compressor(-30,       // Threshold in dB
                                40,       // Ratio
                                20,       // Attack time (ms)
                                1000,     // Release time (ms)
                                1.0);     // Output gain

fx_pitch_shift      pitch_down(0.50);       // Pitch shift down by one octave

fx_delay            bass_delay(3000.0, 0.93);
fx_gain             bass_gain(2.0);

fx_mixer_2          mix2;                   // Mixer utility
void setup() {
  // put your setup code here, to run once:

  pedal.route_audio(pedal.instr_in, low_cutoff.input);
  pedal.route_audio(low_cutoff.output, compressor.input);
  pedal.route_audio(compressor.output, bass_delay.input);
  pedal.route_audio(bass_delay.output, bass_gain.input);
  pedal.route_audio(bass_gain.output, mix2.input_1);

  pedal.route_audio(pedal.instr_in, mix2.input_2);
  pedal.route_audio(mix2.output, pedal.amp_out);

  // Left foot switch is bypass


void loop() {
  // put your main code here, to run repeatedly:
  if (pedal.pot_left.has_changed()) {
    low_cutoff.set_freq(50 + pedal.pot_left.val*300.0);

  if (pedal.pot_center.has_changed()) {
    float steps = round(pedal.pot_center.val * 8.0)/8.0;
    bass_delay.set_length_ms(500 + 2000 * steps);

  if (pedal.pot_right.has_changed()) {
    bass_gain.set_gain(1.0 + pedal.pot_right.val*4.0);

   // Run pedal service to take care of stuff


Rate this effect

Your comment has been submitted

Leave a comment