Torus Plus ... Torus with delay and random rythm/note generator

Hi,
While learning to program the Daisy Patch, I experimented a few days with Torus (by Ben Sergentanis (Daisy porting) / Émilie Gillet (original Rings)) , and decided to make a “Plus” version adding a delay and a rythm/note generator in order to allow self-patching.
I’m not too thrilled with the result, but I decided to publish it.

Source code/firmware downloadable here: https://github.com/algoritmarte/algodaisy/tree/main/patch_algodaisy/TorusPlus

Still working on it, but let me know if you have some suggestions to improve it.

2 Likes

I’ve tried for 3 day in a row and I like it a lot, yesterday evening I play it also live

the possibility to expand the features gives me a lots of idea unfortunately coding in c++ its impossible for me, but I have some suggestions…

  • adding scale mode selector
  • adding euclidean mode pattern generator a kind of turing machine
  • delay on/off
  • reverb with on/off
  • doubling the pattern generator for interact with other control parameters maybe with a different pattern

I think the internal sequencer and the self patching method its something really interesting

maybe is too much :sweat_smile:

Thank you for the suggestions! (yesterday I made a small correction to the 1v/oct IN handling if you want).

  • adding scale mode selector → yes this is definitely one of the things to add (though the base offset is already a way to switch to another (diatonic) mode; but other non diatonic scales could be interesting
  • adding euclidean mode pattern generator a kind of turing machine → the rythm generator is already a 4 tracks euclidian sequencer (aggregated in pairs), but it is not “editable” and probably there’is not enough space for the editor → I’m working on a separate module “Nautilus” which is focused more on editing/controlling what is generated by the Diasy and has a SD-card sample player, but if there is enough spce I’ll integrate it into TorusPlus
  • delay on/off → actually you can set the mix level to 0 and it should be turned off
  • reverb with on/off → good idea (though rings has by itself a reverb-like effect)
  • doubling the pattern generator for interact with other control parameters maybe with a different pattern → see below

I’m already working on it (based on my needs), and this is probably what it will be added in the next version:

  • CV2 output configurable as: “LFO” (sine) or “random sample and hold” (attached to one of the two rythms) or “bass line” (i.e. an independent melodic line somewhat related to CV1)
  • audio 4: gate2 trigger when CV2 mode is on “bass line” (it seems to work fine)
  • audio 3: will probably no longer be noise (I think it’s unuseful unless associate with an AD envelope that can be fed into the exciter) → still thinking how I can use it profitably :slight_smile:
  • input 3+4: stereo input that can be mixed with the output of the rings before the delay or after the delay
  • non diatonic scales (e.g. pentatonic)

I think the limitations are more on the “flash size” than the power of the Diasy (currently at 55% of the CPU) … but I’m still learning the platform.

This is a small test of CV2 as “bass line” mode (daisy+plaits):

1 Like

nice to hear that its something that could lead to lots of new sonic worlds, I was scrabbing the code in search of that part trying to “put hands on code” but im so noob and I cant spot it.

ok i was thinking about that but thats the point it would be great edit the pattern or just scrolling it, or dunno choosing the number of steps but i clearly just speak as I dont know how much time and effort (in terms of cpu and memory also) it will involve. ohhhhh and what’s Nautilus so?

right stupid question :sweat_smile:

yes I was thinking about that but could it be editable? i mean just a control in the menu like for brigthness

yes I was think so, but you explain it better, I think all the options are great

so great

maybe could be different kind of noise (white, brown, pink) or could be a bytebeat im just wondering, could be more self patchable too putting the noise into the exciter in

could they became cv in? maybe for the delay time or for the pattern generator

ok understand, i would like to say that the sample is good but I dont understand if tehr’s anther osc involved or not

Just released v1.02, check it if you want.

Now I’m at 98,8% of space, but I’ll see if I can pack more stuff … :slight_smile:

1 Like

Yes I’ll do it in minutes im really curious :face_with_monocle:

I will record a test

Another test with the latest version:

1 Like

Torus Plus its gettin better and better, I really love all the features you introduced, I know its pretty full but adding other scales will be something very good. I’m still wondering how to modify the pattern or making more different …

Another great improvement could be save the last setup.

Thanks!

==> What scales do you suggest?

Note that all standard “modes” (Dorian-Phrygian-…Locrian) can be derived from Maj scale by using different offsets (the offset is relative to the Maj scale), and adjusting the KNOB1

Actually the only mode is “randomize” :slight_smile: … I think it’s hard to add the euclidian editor, but definitely it is a direction to work on

… again I think there is no space (unless adopting strange techniques or working hard to optimize the existing code) but I’m experimenting SD-card read/write on a new project.

1 Like

I am wondering what the original hash of the daisy library this was built with as when i try to build it now I am running out of memory even with optimization turned on–would love to get it working! thanks

hey, note of encouragement here @algoritmarte @moo
i’ve just assembled the terrarium kit and i can see that the string_synth_part / note filter will give me some of the frequency detection magic i need for the filters i want to build.
thanks and cheers.
once i have understood the freq detection and filters maybe i’ll include some more of this cool code.