The Separator

By:

Dan

5.0 1 People dig it
filters gain

Tags:

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

Delay loop time

Low cutoff

Low note gain

Bypass

(nothing)

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
                        BIQUAD_ORDER_8);

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.init();

  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
  pedal.add_bypass_button(FOOTSWITCH_LEFT);
    
  pedal.run();

}

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
  pedal.service();

}

© 2020 DreamMaker FX by Run Jump Labs

  • Twitter - White Circle
  • Instagram - White Circle