Mercury Live Coding (Browser or MaxMSP)

Hi everyone,

I would like to share with you the Mercury live coding environment that I’ve been working on for the last couple of years. It initially started as an environment running on MaxMSP (still available to use), but is also a browser based version using ToneJS. With Mercury my goal was to create a minimal and human-readable language to be able to express yourself more easily/quickly in a live performance situation and also to have a more entry level environment for teaching creative coding. The concept of the sequencer is inspired by total-serialism, every musical parameter can be expressed as a list of numbers, and every list can be generated/transformed in many different ways (these concepts of course are very much prominent in generative music/live coding, so there is quite some overlap with other language I’m aware).

Feel free to give it a try and report back if you have ideas/suggestions/comments/questions (also via the github issues page is fine):

Browser version:

MaxMSP version:

Or clone it for local use:

Here is a short video showing a few examples (you can also paste your hydra visuals to run in the background while coding/performing):


Really enjoyed playing about with this in Max/MSP last year - barely scratched the surface but plan to dig around a lot more. Amazing stuff.

1 Like

been playing around with the browser version for about half an hour or so, still no idea what I’m doing in any real way but having a great time of it. thanks for this!

1 Like

There is a step-by-step tutorial in the bottom left drop-down-menu. But just playing around trail-and-error style is always a great way to get started!

1 Like

ah yeah, sorry I shouldn’t have said no idea, I did run through the built in tutorials and they were very helpful. Just need to read the documentation and figure out how to start composing the individual ideas :slight_smile:

haha okay, no worries. The tutorials are still a work in progress, at the moment they miss the more “advanced” features on how to generate/transform lists for modulating parameters. The documentation is indeed the best place to read all about those features for now. (sidenote: in the past I used the keyword ring for lists, similar to sonicPi, but you can also type list instead).

1 Like