Protocol 0

Official site: protocol0.live — source code on GitHub .

Protocol 0 is an advanced control script for Ableton Live. Since my side activity is music — and electronic music production in particular (you can listen to my tracks here) — I have spent the last few years building a program that extends the capabilities of my music production software: Ableton Live.

In Ableton’s terminology this is a control script, but it is in fact a complete Python project featuring a backend, a simple command-based communication protocol over MIDI, and scheduling primitives to manage the execution of complex asynchronous tasks (creating tracks, editing notes, changing parameters, etc.)

Overview

I wrote an article explaining some of the project’s technical choices, in particular around the use of object-oriented and event-oriented paradigms: here

Technologies used

  • Python 3.11, FastAPI, Typescript, Rust