Sguenz (embeddable linux-hosted lisp sequencer)

many features basically working after a bit of a hackathon this week! Not ready to release yet, but it will be released as free software as soon as ready enough for basic use - I might make a teaser video today…

but no it won’t run on aleph. USB hub support for aleph is probably never going to happen and I wanted to interface 2x midi i/o + mpd pads + 1 monome grid. My goal since getting the aleph has always been to have a headless system tightly integrating aleph, boomerang pedal, a drum synth & mpc pads…

Also wanted to do a bunch of inherently inefficient/bursty things in my sequencer using naiively-written common-lisp code. So an overpowered embedded linux device is the way to go! Chromebook running emacs/slime with a shuttable lid is good for starters! It will also connect to aleph as a USB device. Already have common lisp code to directly bang & repatch bees net, but seems unlikely I actually use that now…

Need to expand the aleph serial protocol a bit. I’m thinking that the best way to do it will be to give the linux box a set of fixed inputs/outputs in BEES serial operator. That way my linux sequencer/glue-code presents a pretty fixed interface to BEES, then you can use patching to achieve more interesting/experimental things. I don’t want any menus on the sequencer - only a powerful grid app for sequencing. Anything that can’t be reasonably encoded as a monome button-gesture is banned.

For the fixed interface from linux->aleph I’m kind of thinking:

Ins:

  • trig1, trig2, trig3, trig4
    (- midi-forwarding
  • grid-forwarding)

Outs

  • trig1, trig2, trig3, trig4
  • sequencer-controls: enqueue-section, play/rec/mute/del-section, sequence-swing, sequence-length
    (- midi-forwarding
  • grid-forwarding)

Midi/Grid-sharing between aleph & host is totally do-able, since I have native lisp serial drivers for both grid & aleph, but needs a little thought…

4 Likes

weee! Only second time posting any noises on here. It’s only really meant as a preview on the software so I can highlight features & hopefully get some suggestions/feedback from people who’ve owned/designed more/better systems/devices than me.

https://www.youtube.com/watch?v=xcn-YmpTu-Q

2 Likes

it looks like this is meant as a performance tool (from the vid), do you have any compositional features in mind as well?

1 Like

so yes, my intended use is performance - but I also want some simple on-the-fly arranging capabilities. I currently have a 3x8 plot of button-real-estate top-right earmarked for sequential ‘section sequencing’. There are 3 sections each of which can be any length (depending on the length of the active ‘sequences’ in that ‘section’), so you can non-destructively input a looping ‘song structure’ made up of some sequential grid of those three arrangements.

I’m also planning to add operations to layer sequences or append N sequences into a new sequence. So that would provide the ability to splice & dice together existing sequences or sections much in the same way that you do destructive bounces with a four-track recorder to build up longer/more complex sequences that way. My aim is to force final creative decisions to be made as you go along and reward accuracy.

For finer-grained compositional control & unlimited non-destructive editing I hope this software can also play well with a midi-enabled free-software DAW (for example ardour). Seems to me that a ‘real’ computer, (along with mouse and screen) is the best tool for that…

Quick feature update from the remainder of yesterday’s hack session - now there are monome gestures to set loop length, loop beat-divisor (quavers, triplets, semiquavers etc) & swing quantity. And the UI now hints integer beats to the user, both when setting beat-divisor & loop length. E.g if you’re entering quintuplet step sequence (beat-divisor=5), the grid will hint loop lengths of 5, 10 or 15. Similarly if you’re working on a loop of length 12 the grid ‘hints’ beat-divisors of 1, 2, 3, 4 & 6 - that way it’s easier to make the current sequence add up to a whole bar (a sensible default). Vari-bright is essential for this!

Also turns out my boomerang sync code was way more finished than I thought, so now sync-ing to boomerang, with a tap-tempo hinting to sguenz the beat-pulse of your boomerang master loop. When boomerang stops, sguenz stops…

In other words, now I can start jamming on the boomerang with any instrument, layer some parts, then a halfway through a performance, bring in electronic drums in time with what’s already playing. no click track required and stays in time with the 'rang for minutes if not hours! Obviously this all implies a bias towards music being beat-synched and yes, my software pushes you in this direction, but shouldn’t prevent the musician from breaking any easily breakable rules.

TODO:

  • figure out the gestures (and write the logic) for sequence layering/appending
  • add the section sequencer (and a song-mode/section-mode toggle button)
  • merge clock-management & boomerang sync code into an all-powerful ‘timelord’ process, deftly avoiding any ‘clock-source’ UI
  • figure out how to schedule triggering of non-grid sequences (global beat-sync button?)
  • don’t drop midi events that occurred fractionally before hitting record on new sequence. Those events are better shovelled into the one, even if they occured 1/16 of a beat before the one…
1 Like