turns for monome arc


A set of generic modes and utilities for the Monome Arc

(Here is another video showing turns being used to control a granular sampler in Pure Data. The source code, including the turns config and the pd patch, is available.)

Turns is an app for using the arc on your computer in common ways: a level or pan control, a dial, one or several LFOs, simple slewed deltas, etc. Set a configuration (per project or global), start turns, and get back to your project. Supports CV (via jack audio), MIDI, OSC, and exposes the useful bits in the turns-lib Rust library. Thanks to @padenot for the wonderful work on monome-rs which made interfacing with serialosc even easier.

Turns imagines the arc’s encoders as using a set of Modes, optionally in stacked pages. These Modes are independent and continually active even if their page isn’t. So, for instance, you might configure a page full of LFOs and a page full of level controls, then flip between them using OSC, a MIDI controller, or the provided pager terminal interface. When the levels page is active, that’s what you’ll see and interact with on the arc, but your LFOs continue sending output.

Turns currently has the following Modes: level, value, delta, lfo, dual-lfo, quad-lfo, dial, seq.

Turns is still young so there’s a lot to do, but it’s at a point where it’s useful (it’s almost exclusively how I interface with the arc) so I wanted to get it out there and see what uses others might have for it. I’m very open to bug reports and happy to review feature requests and PRs. In addition to a lot of housekeeping, a few features I have in mind for the future are a buffer scrubbing mode (which can represent a potentially changing buffer on the LEDs), more inputs, and a websocket transport with some niceties to optimize talking to crow via druid. You can see more on the repository’s to-do list.

Support: turns is built and tested on 64-bit Linux. I hope to support Windows, Mac, and Raspberry Pi eventually. Theoretically it should already work on Windows & Mac, so if you’d like to try it out you can compile the project with Rust’s cargo (you’ll also need the jack libraries installed). Do let me know if you try this or want to try and need a hand.


arc, a Linux computer (for now) with working serialosc installation.


Full documentation can be found on the turns GitLab repo. The README is pretty complete, but the reference config files in /bin are worth taking a look at.


64-bit Linux builds are available on the repository releases page.


i will keep an eye on this
thanks for sharing!

1 Like

This sounds very interesting. Is it likely to eventually be usable inside of Ableton Live? That would be excellent!

1 Like

Eventually yes, possibly it is already. The goal of turns is that you should be able to use it to send MIDI or OSC (or CV over jack) to any endpoint, including whatever in Ableton listens to those things. I doubt you’ll be able to start it from within Ableton (though I’m not that familiar with Ableton, so maybe?), but turns will almost definitely talk to it.

The only thing keeping me from saying “yes absolutely” right now is that I’m not sure if turns runs on Windows or Mac because I’m not able to try it at the moment.

1 Like