sonic_explorer
Active member
I have updated the Rhythmic Delay program and added a few new features. I posted some ramblings about the new version here, but there is a summary below also. The gitHub link to the code and a compiled .bin (in the build directory) are here. I hope to make a demo showing some sounds in the next few days.
Like the original Rhythmic Delay, this version uses the Binson Echorec as inspiration, but is not trying to perfectly mimic it....because I have never played a real Echorec. This version has the same controls as v1 (Delay Time, Mix, Feedback, Tone), but adds 2 more controls and gets rid of the 1kHz whine. The program can do normal delay sounds, but I think it really shines with more space filling / full sounding / washed out sounds.
In tests with my Terrarium builds (and those who volunteered to help test) the 1kHz whine seems to be gone with this program. I did two things to help mitigate the whine:
- Set blocksize=1 with the samplerate=48kHz, which puts the whine frequency ( = samplerate/blocksize) at 48kHz, which is well above the range of human hearing.
- Break ProcessAudio down into 4 parts where a max of 1 part is called during an AudioCallback to minimize processing.
v2 added controls are Age and Swell. Age adds subtle modulation on the left half of the control and adds something that feels like degradation (to me at least) on the right half of the control. The Swell control mixes in a faux reverb sound that consists of sending the delayed repeats back through a 4 head delay with all heads on (and same head spacings and the normal delay). I also changed the right footswitch to set the feedback to 0.95, which creates really long (but not infinite) repeats to produce kind of a sound-on-sound feel. The right LED also shows the delay time of the longest delay (head 4).
I tried to add a lot of comments to the code, but if people have questions about specific parts let me know. I am happy to hear suggestions for the program, but also one of the great things about making the code public is anyone can take a stab at tweaking things to their own taste. A few very easy things to tweak if people want to get their feet wet is adjusting the maximum amplitude of the modulation and what value the feedback goes to when the second footswitch is engaged.
A special thank you to those who helped confirm that the 1kHz whine was eliminated with their setups: @Dali, @Gordo, @bretvh, @untamedfrontier.
EDIT: Here is a short demo of the program.
Like the original Rhythmic Delay, this version uses the Binson Echorec as inspiration, but is not trying to perfectly mimic it....because I have never played a real Echorec. This version has the same controls as v1 (Delay Time, Mix, Feedback, Tone), but adds 2 more controls and gets rid of the 1kHz whine. The program can do normal delay sounds, but I think it really shines with more space filling / full sounding / washed out sounds.
In tests with my Terrarium builds (and those who volunteered to help test) the 1kHz whine seems to be gone with this program. I did two things to help mitigate the whine:
- Set blocksize=1 with the samplerate=48kHz, which puts the whine frequency ( = samplerate/blocksize) at 48kHz, which is well above the range of human hearing.
- Break ProcessAudio down into 4 parts where a max of 1 part is called during an AudioCallback to minimize processing.
v2 added controls are Age and Swell. Age adds subtle modulation on the left half of the control and adds something that feels like degradation (to me at least) on the right half of the control. The Swell control mixes in a faux reverb sound that consists of sending the delayed repeats back through a 4 head delay with all heads on (and same head spacings and the normal delay). I also changed the right footswitch to set the feedback to 0.95, which creates really long (but not infinite) repeats to produce kind of a sound-on-sound feel. The right LED also shows the delay time of the longest delay (head 4).
I tried to add a lot of comments to the code, but if people have questions about specific parts let me know. I am happy to hear suggestions for the program, but also one of the great things about making the code public is anyone can take a stab at tweaking things to their own taste. A few very easy things to tweak if people want to get their feet wet is adjusting the maximum amplitude of the modulation and what value the feedback goes to when the second footswitch is engaged.
A special thank you to those who helped confirm that the 1kHz whine was eliminated with their setups: @Dali, @Gordo, @bretvh, @untamedfrontier.
EDIT: Here is a short demo of the program.
Last edited: