Cyrene: a drum sequencer based on Mutable Instruments Grids

And now it’s official! v1.4.0 (f40c693) is out with added Crow support. Available in the Maiden library, or as a direct download

  • Crow support! Inputs modulate params, outputs are envelopes triggered by Cyrene tracks
  • Crow settings are editable from the params menu, including:
    • Cyrene track associated with each crow output
    • Each crow output’s attack and release envelope
    • The param modulated by each crow input

Huge thanks to @mbillz for writing and testing all the Crow support! :tada:


THANK YOU!!! So awesome… Now I get to fill up my modular with another module :slight_smile:

1 Like

I just built a second fates so I can have this running all the time. Thank you so much for this.



I think the new norns update may have broke something in cyrene. When I open it, I can’t get to the first screen (level, BPM, etc), and keys/encoders don’t respond on the pages I am able to see (kick/snare/hat, track 4-7, euclidean).

Maiden puts out this error repeatedly:

lua: /home/we/dust/code/cyrene/lib/ui/details.lua:105: attempt to index a nil value (global ‘mix’)
stack traceback:
/home/we/dust/code/cyrene/lib/ui/details.lua:105: in method ‘redraw’
/home/we/dust/code/cyrene/cyrene.lua:225: in function ‘redraw’
/home/we/dust/code/cyrene/cyrene.lua:165: in field ‘refresh_screen_callback’
/home/we/dust/code/cyrene/lib/ui/util/devices.lua:43: in field ‘event’
/home/we/norns/lua/core/metro.lua:169: in function </home/we/norns/lua/core/metro.lua:166>

hi firmware, norns shield 201115 cyrene shows blackscreen

since I just noticed this same issue on Reels - @21echoes mix has been deprecated.

for scripting, mix is deprecated. please use:

params:set('output_level', value)
params:delta('output_level', delta)

threw in a PR, things are working after two small changes :slight_smile:, should be good to go soon!


Thanks @dan_derks! Merged :smiley:

So: version 1.4.1 (041719b) is out! Available in Maiden, or as a ZIP file

No other changes, just the bug fix to get it running with the latest norns version :+1:


Edit #2: I see crow outputs are envelopes and not triggers? Is there a simple way to change this? If not I’ll use it how it is and make the best of it. :slightly_smiling_face:

Edit: Trying it now the Pluck is triggered and the gate on the 0-coast is just barely triggering but no action on the T-Networks. I think I need to increase the voltage outs a smidge in Cyrene.


I tried using Cyrene with crow. Crow is putting out triggers but the triggers do not trigger any of the modules I am using (0-coast, Pluck, T-Networks ADDAC 103)?

Is the voltage level on the outputs really low? I tried adjusting the attack and release for each output and that didn’t work.

The clock output on crow does trigger the modules.

I have little test jack LED’s so I can see the triggers working coming out of crow but no triggering?

Hey @jasper_ryder! I helped out with the Crow implementation. I can’t remember whether we provided a param for switching between gate and env, but I’ll add it in the next few days if not, and take a look to see if anything is broken re: Crow triggering with the recent Norns updates. Thanks for flagging!

1 Like

Hi @mbillz,

Thanks for the reply. After jamming around more I think Cyrene is working as it should. Which is to say the crow outputs are envelopes.

If there was a future option to have triggers/gates that would be ace! I am having a great jam with Cyrene now as is though.

1 Like

Thanks for following up. That feature makes a lot of sense to me as well (IIRC I originally implemented it as a gate when testing even) and should be a quick addition :slight_smile:

1 Like

Nice! Threw in Pulse X samples and set the bpm to 140, having fun scrolling thru a world of minimal grime tracks now.

Do I understand correctly that you need to use euclidian (or grids which I don’t have) to get tracks 4+ to do anything?


I’m not sure if you know much about the arc implementation? Encoder 1 on arc seems to be frozen and not changing tempo (encoder 2 is working as it should).

Would it be difficult to add arc encoders 3 and 4 to the mix? I was thinking it would be cool it they could do this job:

E2 & E3 control selected values (X/Y, Kick/Snare density, Hat density/Chaos)

1 Like

Thanks Matt! Lmk when it’s ready for review

Yup! Mutable Instruments Grids only provides an algorithm for kick, snare, and hi-hat, which are tracks 1, 2, and 3 in Cyrene. For tracks 4 thru 7 you have to rely on some other way to get the patterns in, and I’ve stuck with euclidean beats & the monome grid for that. Lmk if you can think of something else you’d like!

Probably wouldn’t be that hard, but as I don’t have an arc, I didn’t feel confident putting something out I couldn’t develop on, play with, and test out. If you’d like I could send you some test builds for you to try out and let me know if they work well? DM me so we can coordinate if that sounds good to you :+1:


I’ll see if I can get to those Crow updates tonight. I can look at adding that specific functionality to Arc later this week as well!


hey @jasper_ryder - I’m unfortunately not going to be able to get to those updates until I have a bit of time off later this week. should have an update by the weekend though!


Just replying here to you so you can post in this thread again. :slightly_smiling_face:

Version 1.5.0 (8ab7151) is here! Available in maiden, or as a ZIP file

Two changes, both by @mbillz:

  • Crow’s outputs can now be either gates or envelopes
  • Fix for arc encoder 1 to properly control tempo

I’ve got an arc coming in the mail, so hopefully we can make more arc improvements soon (plus arc support for Pedalboard and Samsara!)


@21echoes I’ve got another PR up to add support for encoders 3 & 4 (per a DM discussion with @jasper_ryder). In the 20 minutes I spent adding this prior to work I noticed there is some lag on the Arc LEDs refreshing on those encoders - perhaps you know why?

I know you are getting an Arc in the next couple of weeks so if you have any bigger plans on how you want to incorporate Arc, feel free to brush this PR to the side. Here it is regardless: