Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Music
  3. Sardine

Sardine

GPL-3.0Pythonv0.4.0

A Python library for live coding music, enabling algorithmic composition and improvisation via MIDI, OSC, and SuperCollider.

Visit WebsiteGitHubGitHub
313 stars40 forks0 contributors

What is Sardine?

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.

Target Audience

Musicians, live coders, and developers interested in algorithmic music creation, especially those using Python for real-time audio performance and integration with electronic instruments.

Value Proposition

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.

Overview

Python's missing "algorave" module. Live code music with Python using MIDI, OSC and/or SuperCollider.

Use Cases

Best For

  • Live coding musical performances on stage using Python
  • Algorithmic composition and improvisation with MIDI devices
  • Integrating SuperCollider audio engine into Python-based projects
  • Creating reactive audiovisual performances with OSC callbacks
  • Synchronizing multiple computers or instruments via MIDI Clocks or Link Protocol
  • Experimenting with temporal recursion for time-aware music patterns

Not Ideal For

  • Musicians seeking a graphical user interface for music production without coding
  • Projects that rely on pre-composed, static music generation without real-time interaction
  • Environments where Python 3.10 or higher is not supported or preferred
  • Teams needing mature, production-ready tools with extensive community support and stable APIs

Pros & Cons

Pros

Versatile Audio Integration

Seamlessly connects with MIDI, OSC, and SuperCollider, including bindings for SuperDirt, enabling broad compatibility with electronic instruments for live performances.

Time-Aware Programming

Uses temporal recursion to make Python code tempo-aware, allowing precise scheduling of synchronous and asynchronous functions for accurate musical timing.

Custom Data Patterning

Allows customization of Senders and Receivers to pattern any data type, providing flexibility for unique musical expressions and algorithmic control.

Reactive OSC Capabilities

Assigns callbacks to OSC events, turning Sardine into a reactive toolbox for sophisticated audiovisual performances and real-time value monitoring.

Cons

Early Development Stage

The README admits Sardine is in early stages, leading to potential bugs, breaking changes, and incomplete features that may hinder production use.

Complex Setup Process

Installation requires multiple steps and dependencies like SuperCollider and Rust for documentation, which can be daunting for users new to audio programming.

Limited Ecosystem

Compared to established live coding tools like SuperCollider or TidalCycles, Sardine has a smaller community and fewer pre-built patterns or libraries.

Frequently Asked Questions

Quick Stats

Stars313
Forks40
Contributors0
Open Issues16
Last commit1 year ago
CreatedSince 2022

Tags

#audio-synthesis#music#midi#music-programming#open-source#python-library#supercollider#algorithmic-composition#osc#algorithmic-music#live-coding#audio

Built With

m
mdBook
R
Rust
P
Python

Links & Resources

Website

Included in

Music2.3k
Auto-fetched 1 day ago

Related Projects

OvertoneOvertone

Collaborative Programmable Music

Stars6,183
Forks455
Last commit4 months ago
AldaAlda

A music programming language for musicians. :notes:

Stars5,900
Forks311
Last commit11 days ago
OrcaOrca

Esoteric Programming Language

Stars5,003
Forks248
Last commit6 months ago
ChuckChuck

ChucK Music Programming Language

Stars1,015
Forks148
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub