Algorithmic Reverb for Terrarium

keyth72

Active member
I just finished up a port of Cloud Seed to the Terrarium, and wanted to share. Cloud Seed is an algorithmic (as opposed to convolution) open source reverb plugin, released under the MIT license. I was amazed when I first tried out the plugin, it seems comparable in sound quality to some of the Strymon reverb algorithms. Someone else had already modified the code to work with the Daisy Patch platform, so adapting it to the Terrarium was fairly easy. I tried to make the best use of the 6 knobs and 4 switches, but there are a ton of parameters under the hood that developers could play around with. Here is a demo video of the features and controls:


And here is the code and where you can download the "cloudseed.bin" for uploading to the Daisy Seed.
 
I’ve got a daisy seed ready to go but need to get the terrarium board. I hadn’t seen enough stuff with it that interested me to dive into learning the code but like @Paradox916 - this is exactly what I wanted from daisy. Great work!

I wonder if this code would be a good base to build the paludarium around?
 
Since the 4 switches are used to activate delay lines, can you program them as base 2 markers to get up to 11 delay lines?
0000 / 000X / 00X0 / 00XX /0X00 / 0X0X / 0XXX / X000 / X00X / X0XX / XXXX
 
Since the 4 switches are used to activate delay lines, can you program them as base 2 markers to get up to 11 delay lines?
0000 / 000X / 00X0 / 00XX /0X00 / 0X0X / 0XXX / X000 / X00X / X0XX / XXXX
if the chip supports it you could use that approach for up to 16 delay lines (noting I left off some combinations in the list above)
 
  • Like
Reactions: Nic
if the chip supports it you could use that approach for up to 16 delay lines (noting I left off some combinations in the list above)
5 was the max I was able to run without getting buffer underruns, so it would take some optimizing of the code to run more. That’s a good idea for controlling them though!
 
quite a challenge to translate so many options into the controls on the terrarium but it seems like there is a lot of potential there and you are off to a great start with it.

Instead of using the toggles for changing the number of delay lines, could you use those 16 combinations to create favorite settings for the number or delay lines and controls that are not tied to the 6 control knobs? maybe 4 groups each using 1/2/3/4 delay lines or something like that?
 
At the end you don't want to reinvent the wheel. If you need to change a lot of parameters the display and rotary encoder or push buttons is the way to go. Of course you need to create some UI which is another task on top of all the things.
 
This and your video look awesome @keyth72!!

I downloaded the compiled .bin from github and am getting a pretty intense whine, which I know can happen with the Daisy Seed. Your video sounds awesome though, so I am wondering if you did something special with your build I may not have?

I also cloned the repo and tried to compile my own .bin file but I keep getting errors about there being too much FLASH memory used? Did you ever see or get around this error? It looks like it is trying to fit just 0.7& too much data into FLASH when I build it.
--- EDIT: I fixed this issue by adding a line to the Makefile like suggested here: Daisy Forum.
 
Last edited:
The download worked fine for me so long as you find the file where you click on it and it downloads automatically. I had trouble in the past where right-clicking to save the bin file did not work.

It really opens up the sonic landscape from the Daisy. And putting the Lowtide in front of it is lots of fun too.
 
I downloaded the compiled .bin from github and am getting a pretty intense whine, which I know can happen with the Daisy Seed. Your video sounds awesome though, so I am wondering if you did something special with your build I may not have?

Full disclaimer: I'm an idiot so take with a pinch of salt. Not sure if you fixed the whine but I have it too. From some reading I think that the whine could be something to do with the audio block size - there's a line in the code that's commented out:

// hw.SetAudioBlockSize(4);

I think that with this commented out, it defaults to a larger number and makes audible noise. Haven't spent much time with VS to figure out how to uncomment this line/change to 1 and push to the Daisy/rebuild. Could be nonsense but thought I'd mention it in case anyone else is able to prove or disprove before I get chance :)
 
Full disclaimer: I'm an idiot so take with a pinch of salt. Not sure if you fixed the whine but I have it too. From some reading I think that the whine could be something to do with the audio block size - there's a line in the code that's commented out:

// hw.SetAudioBlockSize(4);

I think that with this commented out, it defaults to a larger number and makes audible noise. Haven't spent much time with VS to figure out how to uncomment this line/change to 1 and push to the Daisy/rebuild. Could be nonsense but thought I'd mention it in case anyone else is able to prove or disprove before I get chance :)
Yes, it defaults to 48 block size, 4 is fairly small. This is the number of samples processed at a time before it converts the digital signal to analog. Usually the smaller the better, as it reduces latency, I just left as the default, I don’t remember if it could handle any lower or not.

For the whine you’re hearing, it may have something to do with having the 48 block size along with the 48kHz samplerate, especially if the whine is around 1000 hz? (48000 / 48). I think I read somewhere that can be an issue, but I don’t hear it on mine. Not sure if it’s related, but what voltage regulator are you using? Is it the smaller L78L05, or the larger L7805, or something else.
 
Thought it was 48 but wasn't sure if I was reading the documentation right on that bit. Near enough dead on 1000hz comparing to a generator by ear (dead scope). I'm currently using the little L05 but will try swapping to the bigger heatsinked version if you think there's potential for that to be contributing.

And thank you, this thing sounds amazing even with me adding in some noise somewhere along the way!
 
I don't think that the regulator is the source of the whine you are hearing, but it would be good to confirm if swapping to a different regulator makes a difference. The patches that changed the block size did a good job of reducing the whine.
 
Thought it was 48 but wasn't sure if I was reading the documentation right on that bit. Near enough dead on 1000hz comparing to a generator by ear (dead scope). I'm currently using the little L05 but will try swapping to the bigger heatsinked version if you think there's potential for that to be contributing.

And thank you, this thing sounds amazing even with me adding in some noise somewhere along the way!
Yeah I'm using the smaller L78L05 regulator too, so probably not the cause. I would be curious to know why some builds have the noise and some don't. Word is that Electro-smith is working on a new revision of the Seed to optimize for guitar input/outputs, so I'll be keeping an eye out for that.
 
Back
Top