TapeDelay is a stereo tape delay module for the Electro-Smith Daisy Patch Submodule, inspired by Gen~ tape delay algorithms. It features:
- Multi-mode tape delay with analog-style feedback, wow/flutter, and tone shaping
- Freeze/Blur (infinite hold) and Reverse Feedback modes
- Clock sync via external gate input
- Visual tempo indication and state via LED
- Gate output for tempo clock
This module is designed for the Daisy Patch SM platform. It uses the following hardware connections:
- Time → ADC 9 (Delay time, or clock divider if synced)
- Feedback → CV 7 (Intensity)
- Mix → CV 8 (Dry/Wet)
- Filter → ADC 10 (Tone)
- Flutter → ADC 11 (Wow/Flutter amount)
- Gate In 1 → Clock input (syncs delay time)
- Audio In → Stereo L/R
- Button D1 → Freeze/Blur toggle (stops input, infinite feedback, stable)
- Button D2 → Reverse feedback toggle
- Gate Out 2 → Tempo clock output (pulses at delay time)
- Audio Out → Stereo L/R
- LED (B8) → Blinks at tempo, solid when Freeze or Reverse is active
- Analog Tape Delay: Modeled feedback, soft saturation, and DC blocking for authentic tape sound.
- Freeze/Blur: Press D1 to hold the current buffer and set feedback to infinite (safe, no runaway gain).
- Reverse Feedback: Press D2 to enable reverse playback in the feedback path for evolving, reversed echoes.
- Clock Sync: Send a clock to Gate In 1 to sync delay time to external tempo. Delay time knob acts as a divider.
- Wow/Flutter: LFO-based modulation for tape-style pitch movement.
- Tone Control: Lowpass and highpass filtering in the feedback path for classic tape coloration.
- Gate Out: Outputs a clock pulse at the current delay time for syncing other gear.
- LED Feedback: LED blinks at tempo, stays solid when Freeze or Reverse is active.
- Power on the Daisy Patch SM with the module loaded.
- Connect stereo audio to Audio In and Out.
- Adjust the five knobs to set delay time, feedback, mix, tone, and flutter.
- To sync to an external clock, send a gate to Gate In 1.
- Press D1 to freeze/blur the buffer (infinite hold, input muted, feedback safe).
- Press D2 to enable reverse feedback (buffer plays backward in feedback path).
- Gate Out 2 will output a clock pulse at the current delay time.
- LED (B8) blinks at tempo, solid when Freeze or Reverse is active.
TapeDelay.cpp— Main firmware source implementing the tape delay logic and controlsREADME.md— This documentation
Algorithm and code inspired by Magnetic M4L device Gen~ tape delay techniques. Hardware and DSP by Electro-Smith Daisy Patch SM and DaisySP.
You might have to adapt the hardware connections to suit for example if you are using a daisy patch init or something else.
Look at hwtest/hwtest.cpp to see how exactly my hardware was wired up.
- Clone this repository into the
./DaisyExamplesdirectory to get./DaisyExamples/tape-delay-daisysm/. - Make sure the
libDaisysubmodule is correctly initialized in./DaisyExamples/libDaisy/. - Open the project in your preferred IDE and build it for the Daisy Patch SM.
-
run
maketo compile the project. -
plug in the Daisy Patch SM via USB and run
make program-dfuto upload the firmware.
- Pray that it works on the first try!