The main motivation was to keep the values accessible by the pot – a range of 0-1000 would have meant tempo increments of 8 as the pots readings are 7 bits.
Another way to implement this, and it’s indeed on my TODO list, is to add 2x / 4x / 8x modes. The only problem is: where to put it?
Another thing I’m thinking of doing:
Implement a “seq” LFO waveform which just makes the LFO cycle through the step sequence. And then you could set this LFO to 16x to have the step sequence synced to the arpeggiator (as it works now), but also to 4x to have it cycle through the entire sequence every quarter note, or even 1x for super fast modulation and of course to self-clocked rates. You would have this “fractal” behaviour with the step sequence scanned through at sequencer rate and at 1 or even 2 different LFO rates.
Will it be something you would use?
Ah, crap ! 110 bytes too big to fit in firmware… will try to cut some cruft (if any)
74 bytes too big…
Disabled the easter egg, testing!
(temporarily retiring Blit and trying to generate it using another approach)
Done!
I actually killed blit, and resurrected it from a pair of sawtooth’ This eliminated 1.5k of wavetable – enough to put the stuff you wanted, and a surprise!
Internally the tempo is stored on an uint8_t, so it can’t store a large range. The UI handler/editor do not handle any parameter with a range > 256. 8-bits to the core :D I don’t know how the NRPN could make it work (besides writing to 2 addresses everytime the tempo has to be modified with a value above 256).
Git commit:
http://github.com/pichenettes/shruti1/commit/7113b1ea7543f96ba2af7b9c7b6ea04f04935954
Sorry for autogenerated resources.cc/resources.h making it look like a lot of stuff was changed… I don’t think I tweaked more than 100 lines indeed.
Search for tempo, you’ll find the places I have modified… (this also included adding the actual “fast” values as an uint16 lookup table ; and as strings since it was smaller to print it this way than with Itoa!)
I decided to implement additional high values instead of the 2x/4x mode… However, here’s a simple trick to get 2x speed: set the step sequencer pattern length to 1 (with the 4th knob).
Another way to get fast arpeggio-like sounds synced to a slower tempo is by programming a sequence of pitches in the step sequencer, and using it as a LFO waveform, with the LFO speed set to x1 or x2
It looks like you're new here. If you want to get involved, click one of these buttons!