^^ crow 2.0.0

crow 2.0.0

Inputs, outputs and careless whiispers – Version two has it all!

crow now analyzes all kinds of inputs, making it easy to build modal behaviours (window), track envelopes (volume, peak), and move to quantized sequences (scale). Set them up just like stream or change and you can write some very powerful 20 line scripts.

Outputs are now musically aware, able to squeeze any voltage into a dynamic musical scale. Scales can be microtonal, n-TET, non-octave, 1.xV/octave, with up to 24 notes per ‘fold’. Or you can just use a standard major scale as simply as output[1].scale{0,2,4,5,7,9,11}. These scales work in conjunction with ASL, so you can automagically turn a linear slope into a scale or arpeggio run.

ii support has been further refined to reduce dropouts, and make queries more useful (hello telex-I & faderbank). A number of small bugfixes in existing module support, as well as the new JF4.0 and W/2.0 (in beta).

To update crow, follow the instructions on the update page.

For those using crow with norns, you’ll need the 200712 release or later to take advantage of these improvements.

druid 1.0

Alongside crow 2.0, @csboling has greatly enhanced the druid experience with some slick autocompletion, filesystem navigation and scrollbar! The last file you ran is now remembered (thanks @jwhiles) so there’s a lot less typing necessary to get things moving.

Get it from the terminal with pip install --upgrade monome-druid.

NB: Requires python 3.6

max for live + max 2.0

Meanwhile… @dan_derks has refactored & extended & redressed & documented the max integration for crow! There’s a few new max for live devices, and in general everything is working smoothly & crash free. It feels solid, but even moreso, ~fluid~.

So good it has me using Live again after a years long break!

crow 2.0.0


  • BREAKING metro no longer runs immediately after activation or modification
  • BREAKING ii getters that take params, return them (ii…event functions have changed)
  • NEW output ‘scale’ settings for quantizing CV outputs
  • NEW input mode: ‘window’
  • NEW input mode: ‘scale’
  • NEW input mode: ‘volume’
  • NEW input mode: ‘peak’
  • NEW ii support for Mannequins W/2.0 beta (likely to change)
  • NEW ii support for BPC Telex-O module @nordseele
  • NEW ii support for 16n faderbank (all 16 faders are now supported) @discohead
  • NEW ii support for monome ansible (up to 4 simultaneous devices)
  • NEW ii support for Mannequins Just Friends v3.2 features (multiple addresses & getters)
  • FIX after a bad ii get request, the ii bus now recovers
  • FIX after failed ii messages, crow reports debugging suggestions
  • FIX errors in init() correctly reported
  • FIX frozen scripts now timeout @csboling
  • FIX when running out of memory, Lua errors rather than crow crashing @csboling
  • FIX crow.reset() now sets input & ii-follower callbacks to default valules (fixes norns-clock bug)
  • FIX input/output calibration allows more dramatic offset correction
  • NEW errors now provide a traceback @csboling
  • NEW basic reporting of CPU utilization cputime()
  • CHANGE two additional metros / delays available (8 total)

NB: The default git branch from which releases are built is now known as main .

Reference documentation has all the new details.


crow is quite possibly my favorite module. Amazing work here.


no hesitation

it’s become my fav and i will continue building my system around as many of em as i can afford

massive source of inspiration for me


First “mint” module I bought and has been an inspiration (along with the arc) to learn Lua and Max programming. In effect, the crow is so inspiring, I’m taking the leap to learn things I’ve put off for many years.


I’m so stoked for this! Absolutely crow is an inspiration. I’m excited about the input modes, and using them with my guitar and field recordings to trigger all types of good-ness.


Time to get back to it ! Well done !

1 Like

:partying_face: :partying_face: :partying_face: Great work @Galapagoose!

1 Like

Woah, didn’t even think about that potential…

On the scale input mode, is there any potential to analyze pitch of incoming audio, and spit out V/O in order to replicate a RS-35 or MS20 External Audio processor?

I’m not sure about pitch, but I think it can measure parts of an envelope——not sure how to code it but I think you could trigger things based on the force of an attack. I’ve been experimenting some with this using the Ears module envelope out and my guitar.

1 Like

@Galapagoose Can you advise it it is possible to interpret pitch from the input? Thanks for all the work on this!!

There’s an issue tracking audio rate processing. It’s been considered but still needs some design and is tied up with some other issues. Note that currently the input sample rate is 1.5kHz. It is also currently possible to do pitch tracking on norns using polls.


I have a working zero-crossing based pitch detector (ie ‘frequency counter’). It needs more testing, but fundamentally is only useful for tracking single-cycle waveforms – it will not work for general audio signals. The main use is as a tuner, or part of a volt-per-octave calibration system. This works up to ~20kHz as it has a dedicated digital input.

In terms of a general pitch tracking system, I don’t have the knowledge to build a smarter system. The 1.5kHz sample rate is likely the main limitation, but also, processing power isn’t limitless. I’d be very happy if someone with those DSP chops has the interest & time to add this feature!


Awesome. Thanks for the clarification, and moreover continuing to develop this amazing module!

1 Like

This is a “wow!” release!

Thanks to everyone who contributed to this awesomeness!

1 Like

I’m Pumped this is great :+1:

Not sure which Crow thread to put my appreciation in, but I’ll start with this one!

  • Received the Crow, today, here in London, having been sent on 14th, two days ago! And however the DHL works, I was able to pay the customs charges online so no delay because of that. Thanks @tehn for that!

  • Updated to the JF 4.0 Firmware, super easy

  • Connected all the I2C

  • Installed Python, Druid etc

  • Installed the M4L devices (thanks @dan_derks)

This took me less than 20 minutes in total, everything works perfectly, the module is perfect, adds a tremendous amount to the my rack. So thanks all.

Oh - and I should have understood this, but it was a nice surprise to be able to use the JF Synth device, and the Dual M4L devices simultaneously. Presumably the JF is just a pass through on the I2C bus.


Don’t worry, I saw it


I just received a Disting EX. Can someone point me in the right direction to work on adding ii support on crow? What do I need to do beyond creating a Lua file like the following?

Creating a .lua file is all you need to do.
The name of the file must match the module name. disting.lua for example
Then you add each commands and arguments with their types (s8 etc.)

There’s detailed instructions here, but all that’s required is the lua descriptor file. We generate all the ‘real’ code from that file.

If you don’t want to set up the build system, you can open a github PR with the monome/crow project, and your changes will be compiled (or compilation errors will be shown), and a .zip ‘Asset’ will be created.

1 Like