Sardine
: A Hackable Live Coding Library for Python
Hi everyone. I am rather silent reader of this forum. I discovered many great tools here so I guess that time has come to contribute and share with you my current project! This is both a research project and a passion project. I am now using my software to do live performances so why not everybody else!
Here comes the elevator pitch
taken from GitHub:
Sardine is a versatile and hacker-friendly Python library designed for musical improvisation, algorithmic composition, and beyond. It transforms your standard Python interpreter into a powerful music instrument, enabling you to create and map melodic and rhythmic patterns to any electronic instrument (MIDI, OSC, and SuperCollider). With Sardine, you can:
-
Unleash your musical creativity on stage, in the studio, or for personal enjoyment
- Seamlessly communicate with any MIDI/OSC device and the SuperCollider audio engine using Sardine.
- Utilize bindings for SuperDirt, a widely recognized synthesis engine embraced by live coders globally.
-
Empower your Python code with time-aware capabilities
- Employ temporal recursion to make any Python code time and tempo aware.
- Accurately launch synchronous or asynchronous functions with time-specific results.
- Customize your own Senders or Receivers to pattern any desired elements!
-
Develop intricate audio/visual installations with MIDI and OSC I/O
- Assign callbacks to any OSC event, transforming Sardine into a sophisticated reactive toolbox.
- Monitor changing values and incorporate them into your musical patterns or code.
-
Synchronize with other computers and musical instruments
- Synchronise your hardware with MIDI Clocks.
- Synchronize effortlessly with other tools or players using the Link Protocol.
Requirements
- Very recent Python version (3.10 or 3.11 are mandatory requirements).
- SuperCollider and SuperDirt if you want to gain access to the audio backend.
- A configurable text editor or IDE.
- Time to install and setup the whole thing
Documentation
- The Sardine Website is the main source of information. It features installation instructions and a full documentation of all the features. Of course it can be better. Feel free to add to it by contributing.
Download
- GitHub repository.