shfts
random sequencer for norns, crow, and grid
[updated Dec. 4 - notes below]
dual-voice binary shift-register sequencer. outputs midi and cv (via crow). single or dual quantizer with presets.
shfts features 2 fully independent voices, each driven by 2 shift registers - 1 register for pitches (behaves like a turing machine), and 1 register for gates (which behaves a little more like Grant Richter’s Noisering, with a dedicated bias control). Independent gate/pitch registers allow for the decoupling of rhythmic and melodic content for more flexible pattern curation, as well as opening up possibilities for direct manual and voltage control.
each voice has a dedicated clock divider and loop length, as well as dedicated controls for:
- trigger bias (more/fewer triggers)
- pitch register change probability
- trigger register change probability
- output octave range (0-4)
- output offset (base midi note)
- clock stop/start
- manual step
historically, this script grew out of a performance at @andrew’s, where I used Marbles to drive two channels of Rene for flexible quantization - this was probably the most fulfilling performance I’ve done in years, but I had some problems with Marble’s insistence on complementarity, and struggled to create negative space; trying to adapt the best parts of that workflow to norns/grid is basically what led to the current design.
I should also acknowledge @dan_derks for leading the way and being an inspiring artist and instrument designer - none of this, especially the crow integration, would have been possible without his work on less concepts.
there’s probably a follow up post to be written on the relationship between shift registers and cellular automata, and corresponding tensions between serendipity and control in creative processes. personally, I can say that embracing generative techniques, and shift registers in particular, has renewed my musical practice over the last year; developing a daily routine that doesn’t demand the focus and intentionality of composition has been life-changing for me.
this script is pretty tied to my own idiosyncratic musical practice and interests, but I have worked to make it adaptable to other settings; if you find it useful, or have ideas for its improvement, I would be delighted to hear about it
Requirements
norns + grid. outputs midi (device and channel selectable per voice) and cv (via crow).
Accepts cv clock input on crow input 2.
I haven’t done a ton of testing on the 2-channel quantizer mode yet; will be improving UX and adding a persistence mechanism in the coming weeks.
Crow integration is still WIP, feedback welcomed.