This project started out as a modular synthesiser built in Max/MSP, primarily as a means for me to reacquaint myself with the software, with the intention of being able to better support students who were also using Max. As modules were built and connected , I decided to create a sort of performance environment, inspired by an old Korg EMX-1 which I used to own. This afternoon I opened this patch back up, and made a demo video which not only shows off the main features of the patch, but also demonstrates the use of the Euclidean Sequencer found in the bottom left corner.
As is often the case with reopening old Max patches, I would be lying if I said that I understood everything I had programmed back then, but a look into the back end of the Euclidean Sequencer module does give an overview of how things all fit together.
The Presentation View of my Euclidean Sequencer module. The Divisor function at the top changes how the sequencer responds to incoming clock data, effectively halving/quartering the tempo. Note that individual steps cannot be clicked on or off – all input is done by changing the values at the left of the device.Moving to Patch View reveals a bit of monster! Thankfully I was reasonably good with keeping things neat and organised, but this is still quite tricky to read. A closer inspection shows that this is mainly comprised of four copies of the same code – one for each lane of the sequence. The boxes to the bottom right are just parts of the user interface. Boxes which start with a “p” are subpatchers, shown below.These three subpatchers allow sections of code to be hidden from the main view, streamlining things and allowing for easier editing of the patch. They also allow the same process to be used in multiple places without having to rewrite the code each time. Of particular interest is ‘p euclidean.division’, shown on the right in this image, which does the all-important job of taking our input values and converting them into a Euclidean rhythm, which can then be displayed and played back by other parts of the patch.