I’m after some suggestions or guidance. I am about to start work on an 8 step GATE/TRIGGER sequencer - (maybe 2.)
There will be NOT be any CV output from this.
It will actually be driving high power LEDs to flash full on/off rather than creating CV sequencers. Its part of my project Photosynthesis where we use light sensitivity for art-wank purposes. Effectively I create ‘Open Vactrols’ from LEDs and LDRs and I just chose where I want a particular LDR pointed. That way, instead of just a patch cable, I interfere via light AND the audience can actually see whats going on, and I can really quickly and easily repatch on the fly by pointing at different stuff…
I’m making a row of 12 high power LEDs doing various things, and one of the things I want to point at is a gate sequencer with a single output…
I wants something simples with stuff I mostly already have in the drawer, so…
Options: Analog or Digital??
Baby8 x 2, all outputs summed and ANDed to incoming clock with a bit of trigger/clock conditioning (aka a buffered cap and a comparator) so I can also set overall gate length for the entire sequence (NOT per step…) Extra ideas without over-loading the feature list welcome…
Arduno based similar thingo, but probably therefor also giving me forward, reverse and ping-pong. found quite a few arduino sketches for CV step seuqncers which I could use with a few mods, so recomendations welcomes.
Please compare and contrast in 1-200 words or less. …
so i watched vid or two and it looks like maybe my best two options might actually be:
baby 8
vs
big button (but just 2 or 4 outputs)
honestly, the bigbutton is so easy for the functions it gives you I can;t see any reason why I wouldnt go that way UNLESS any of you smartypants have got other ideas to confusinate my currently quite simple thinking…
Here is my work in progress on gate sequencer based on arduino, i have different play mode you can copy/past and maybe other functions feel free to take whatever you need =)
The playmodes are in “void next_step()” functions, start at line 505
PS: Atmega’s (Arduino) are quite slow and only have one core so it’s not that good for sequencing and reading input in the same time, but bluepills or teensy are some good choice
I’ve had my Nano based G.E.A.R. sequencer running at up to a few hundred Hz clock speed — and it wasn’t maxing out then, although that was before I added some software switch debouncing that would limit that. I wasn’t working the controls in that test, so it didn’t have to process input and display it on the OLED, but it was reading five analog pins on each loop. Interrupts are used to handle clock events.
Earlier I’d found the user interface bogging down the sequencer speed, but that was before I made some software improvements. In particular I ditched digitalRead and digitalWrite in favor of the DirectIO library and that seemed to make an improvement.
If you manage to prioritize tasks properly, Arduinos are absolutely fine for sequencing. My Evil Eye sequencer runs up to 700 Hz without skipping. Only at audiorates do Teensies become a necessity.
Nice! It irritated me I hadn’t considered putting hardware switch debouncing on the step switch. I think with the software debouncing it’s limited to around 60 Hz or so. I suppose I could kludge hardware debouncing onto a little bit of stripboard but I’ll do that only if I find I need super fast sequencing…
I think in practice, anything above, say, 20 Hz is ‘fast enough’. But yeah, debouncing is a good task to load off to hardware. Another good trick (must admit I didn’t look at your code yes, so unsure whether you already did), is to use interrupts for advancing the sequence. That allows to decouple the sequence clock from other tasks, ie have the sequence running faster than input is read or a display is refreshed.
How nice ! i really should rework on my sequencer, the only thing that didn’t work is controls of gate length per voice but i understand it’s hard to do the math for atmel
Yes, it uses interrupts. I was originally working off someone else’s sequencer code that used interrupts but only to register clock pulses, not to respond to them — which is kind of useless. (Good if you have narrow triggers that might be on and off again between loops, but not useful otherwise.) Putting the clock handling entirely into the interrupt servicer was what sped things up a lot. And DirectIO helped make the clock handling fast enough to do that, along with making sure to do anything that could be done in advance in the loop, so the interrupt work was minimized.
You guys havd posted some excellent options here.
I think plops and the evil eye are great, but over the top for what i am after in terms of knobbage and buttonage.
Analogoutput, have you got a better demo video of your gear sequencer, including the display. Can you actually just omit the display altogether, or is it needed?
Im wondering if maybe i actually do the GEAR and the Big Button, as i do have enough space for them both…
You can, though I think it’d be pretty hard to use without it — very hard to tell what parameters you have dialed in. Unless you replaced the pots with rotary switches, which would require cutting down on the number of possible values for each parameter.