Change Ringing

Change Ringing

A sequencer app for max and grid based on historic bell-ringing practice.

Inspired by posts from @infovore, @mzero, and others, I’ve put together an implementation of change ringing for monome grid and max. It outputs MIDI, so could be used to play drums, samples, etc…

Hopefully the video / wikipedia pages give you an idea of what to expect from this. A sequence is played (e.g. 8 bells in descending order of pitch) then a set of rules are applied (e.g., bell 1 and 2 swap places) which change the order of notes in the sequence.

This is the first thing I’ve written in Javascript (in fact in any programming language that isn’t max/graphical) so please be gentle! if you have bugs (or it doesn’t work at all) let me know and I will try to troubleshoot. If anyone has time to give feedback on the code, I’d be really grateful!

Feel free to remix/reuse as you see fit. If it makes its way into any music please let me know!


  1. Max
  2. grid (128 varibright only currently!)


(note, I’m describing this as if the grid is in ‘portrait’ orientation, so ‘rows’ are 8 keys across and ‘columns’ are 16 keys down)


MIDI input - to set pitches, sync to clock, etc.
Norns port (once I get one).

Download (4.7 KB)


that JS file download isn’t working for me, possibly a Discourse error; might want to try attaching a zipfile?

Otherwise - very cool, looking forward to trying this…

1 Like

zipped up! working now?

yep, looks like it’s working now! Will try it out with a grid in due course…