A Python library for live coding music, enabling algorithmic composition and improvisation via MIDI, OSC, and SuperCollider.
Sardine is a Python library for live coding music, enabling algorithmic composition and improvisation by turning Python code into a musical instrument. It integrates with MIDI, OSC, and SuperCollider to map melodic and rhythmic patterns in real-time, solving the need for a Python-based tool in the live coding music scene. The library provides time-aware functions and synchronization protocols for seamless performances.
Musicians, live coders, and developers interested in algorithmic music creation, especially those using Python for real-time audio performance and integration with electronic instruments.
Developers choose Sardine for its hackable design, deep integration with popular audio engines like SuperCollider, and its focus on making Python a first-class citizen in the live coding music community, offering unique features like temporal recursion and customizable data patterning.
Python's missing "algorave" module. Live code music with Python using MIDI, OSC and/or SuperCollider.
Seamlessly connects with MIDI, OSC, and SuperCollider, including bindings for SuperDirt, enabling broad compatibility with electronic instruments for live performances.
Uses temporal recursion to make Python code tempo-aware, allowing precise scheduling of synchronous and asynchronous functions for accurate musical timing.
Allows customization of Senders and Receivers to pattern any data type, providing flexibility for unique musical expressions and algorithmic control.
Assigns callbacks to OSC events, turning Sardine into a reactive toolbox for sophisticated audiovisual performances and real-time value monitoring.
The README admits Sardine is in early stages, leading to potential bugs, breaking changes, and incomplete features that may hinder production use.
Installation requires multiple steps and dependencies like SuperCollider and Rust for documentation, which can be daunting for users new to audio programming.
Compared to established live coding tools like SuperCollider or TidalCycles, Sardine has a smaller community and fewer pre-built patterns or libraries.
Collaborative Programmable Music
A music programming language for musicians. :notes:
Esoteric Programming Language
ChucK Music Programming Language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.