sonic_explorer
Active member
I took the MultiDelay effect @tcpoint ported over from the DaisyExamples and turned it into a rhythmic delay which has 4 individual delays with a fixed spacing and a single global delay time control. Each delay can be individually turned on/off with the switches. The delays still sound digital and don't have the feel/mojo of the Echorec delays, but the spacing is the same (1/16 note, 1/8 note, dotted 1/8 note, 1/4 note). Here is the code directory which includes a compiled .bin file in the build subdirectory you can just flash to the board without having to compile the program yourself.
I marked this as an example because I included a lot of comments in the code to explain what was happening (.....mostly for myself as a novice C++ user). I used a few of the DaisyExamples modules that I think are going to be useful for future projects:
- Crossfade: The wet/dry mix uses the crossfade function so that a constant volume is maintained throughout the mix sweep.
- LED objects: I used led objects which do a lot of the led initialing for you and I find nicer to work with than the longer dsy_gpio_XXX commands. With led objects you can set the brightness of a led with led1.Set(brightness_value).
I list a few easy & advanced ways to modify this delay in the README file, but suggestions are very welcome too.
I have a version of this delay that has a tone control for the repeats and where the second footswitch causes runaway feedback while pressed, but I am still tweaking it a bit.I will post a comment on this thread when it is a bit more done. It is posted here now, but is still a work in progress. (This more featured version uses the Tone (low pass), ATone (high pass), and Balance DaisyExample modules which work well.)
One thing I found extremely helpful while debugging the program was using the JTAG pins on the Daisy via a STlink-mini-V3 and openocd to quickly flash the program to the Daisy. The super useful part of this is the very last line on this page on the Dasiy wiki. When you have the STlink-mini-V3 connected you can just type 'make program' (at least on linux/OS) to flash a program to the Daisy without having a separate micro-USB hooked up to the Daisy or have to press the reset & reboot buttons. This also allows the Daisy to be flashed within an enclosure with just a small slot filed away from the enclosure lid for the JTAG ribbon cable. I have included pictures below showing this.
I marked this as an example because I included a lot of comments in the code to explain what was happening (.....mostly for myself as a novice C++ user). I used a few of the DaisyExamples modules that I think are going to be useful for future projects:
- Crossfade: The wet/dry mix uses the crossfade function so that a constant volume is maintained throughout the mix sweep.
- LED objects: I used led objects which do a lot of the led initialing for you and I find nicer to work with than the longer dsy_gpio_XXX commands. With led objects you can set the brightness of a led with led1.Set(brightness_value).
I list a few easy & advanced ways to modify this delay in the README file, but suggestions are very welcome too.
I have a version of this delay that has a tone control for the repeats and where the second footswitch causes runaway feedback while pressed, but I am still tweaking it a bit.
One thing I found extremely helpful while debugging the program was using the JTAG pins on the Daisy via a STlink-mini-V3 and openocd to quickly flash the program to the Daisy. The super useful part of this is the very last line on this page on the Dasiy wiki. When you have the STlink-mini-V3 connected you can just type 'make program' (at least on linux/OS) to flash a program to the Daisy without having a separate micro-USB hooked up to the Daisy or have to press the reset & reboot buttons. This also allows the Daisy to be flashed within an enclosure with just a small slot filed away from the enclosure lid for the JTAG ribbon cable. I have included pictures below showing this.
Last edited: