TOPLAP Logo

All things live coding Awesome

A curated list of live coding languages and tools

This list was created with the intention of giving a quick-glance over the many possibilities to engage in this practice. For further information, head over to TOPLAP.

Contents

What is live coding

Quoting Wikipedia

Live coding (sometimes referred to as 'on-the-fly programming', 'just in time programming' and 'conversational programming') is a performing arts form and a creativity technique centred upon the writing of source code and the use of interactive programming in an improvised way.

Websites

  • TOPLAP - The home of Live Coding.
  • LiveCoding.fr - French-speaking information website on Live Coding

Community

Languages

(In Alphabetical Order)

  • afterglow - A live-coding lighting controller, building on the Open Lighting Architecture with Clojure and bits of Overtone.

    Windows | macOS | GNU/Linux lisp FLOSS audio

  • Alda - A music programming language for musicians.

    Windows | macOS | GNU/Linux FLOSS audio

  • Atomiix - A re-implementation and re-invigoration of ixi lang. (inactive)

    Windows | macOS | GNU/Linux JavaScript FLOSS SuperCollider audio

  • Bacalao - A live-coding library for SuperCollider inspired by Tidalcycles syntax.

    Windows | macOS | GNU/Linux SuperCollider audio

  • Cane - A small MIDI sequencer DSL designed around vectors and euclidean rhythms.

    Windows | macOS | GNU/Linux FLOSS audio MIDI Jack

  • ChucK - Strongly-timed, Concurrent, and On-the-fly Music Programming Language.

    Windows | macOS | GNU/Linux FLOSS audio

  • clive - Live-coding audio in C.

    GNU/Linux C FLOSS audio

  • Conductive - A set of Haskell libraries for livecoding and real-time music applications. (inactive)

    Windows | macOS | GNU/Linux haskell SuperCollider FLOSS audio

  • Cyril - A programming language designed for fast prototyping of visualisations and livecoding visuals. (inactive)

    Windows | macOS | GNU/Linux openFrameworks FLOSS visuals

  • Extempore - (Previously Impromptu) A programming language and runtime environment designed to support 'cyberphysical programming'.

    Windows | macOS | GNU/Linux lisp FLOSS audio

  • Facet - An open source livecoding environment in NodeJS with a text editor in the browser.

    Windows | macOS | GNU/Linux NodeJS JavaScript midi Open Sound Control audio synthesis

  • FaustLive - FaustLive is an advanced self-contained prototyping environment for the Faust programming language with an ultra-short edit-compile-run cycle.

    Windows | macOS | GNU/Linux faust llvm FLOSS audio DSP

  • Fluxus - A rapid prototyping, playing and learning environment for 3D graphics, sound and games.

    Windows | macOS | GNU/Linux | Android | PS2 racket-lang lisp FLOSS visuals

  • FoxDot - Live Coding with Python and SuperCollider. See also the pitchglitch actively maintained fork.

    Windows | macOS | GNU/Linux Python SuperCollider FLOSS audio

  • Gibber - Creative coding for JavaScript.

    Google Chrome | Mozilla Firefox web JavaScript FLOSS audio visuals

  • Glicol - A graph-oriented live coding language written in Rust.

    Google Chrome | Mozilla Firefox web Rust JavaScript WebAssembly FLOSS audio visuals

  • gwion - 🎵 strongly-timed musical programming language Windows | macOS | GNU/Linux FLOSS audio

  • hydra - Live Coding networked visuals in the browser.

    Google Chrome | Mozilla Firefox web JavaScript FLOSS visuals

  • Improviz - An environment for using and abusing primitive shapes and animated textures. (inactive/deprecated)

    Windows | macOS | GNU/Linux Haskell FLOSS visuals

  • Iannix - A graphical open-source sequencer for digital art

    Windows | macOS | GNU/Linux JavaScript FLOSS audio Open Sound Control visuals

  • ixi lang - An experimental project concerned with the creation of digital musical instruments and environments for generative music. (inactive)

    Windows | macOS | GNU/Linux FLOSS SuperCollider audio

  • ossia score - An interactive sequencer that allows live programming of intermedia, inter-protocol artworks, through a custom visual language.

    Windows | macOS | GNU/Linux C++ FLOSS audio

  • kilobeat - A collaborative web-based dsp livecoding instrument inspired by bytebeat and Gibber.

    Google Chrome | Mozilla Firefox web JavaScript FLOSS audio

  • Krill - Tidal cycle like live coding in NodeJS / Browser. (inactive)

    Windows | macOS | GNU/Linux NodeJS Browser FLOSS midi

  • Limut - Live code music and visuals in a web browser.

    Google Chrome | Mozilla Firefox | Safari web JavaScript FLOSS audio visuals

  • line - A tiny command-line midi sequencer and language for live coding.

    Windows | macOS | GNU/Linux c++ FLOSS midi audio

  • LiveCodeLab - A web-based language and environment for VJs, musicians and graphic artists. Allows for immediate and engaging run-as-you-type prototyping, also used in education. (inactive)

    Windows | macOS | GNU/Linux web FLOSS visuals audio

  • Max - A visual programming language for media.

    Windows | macOS graphical-language Commercial audio visuals

  • Melrōse - a MIDI producing environment for creating (live) music

    Windows | macOS | GNU/Linux golang web midi MIT

  • Mégra.rs - A high-level, LISP-y live coding language implemented in Rust. Prominently features Markov chains.

    Windows | macOS | GNU/Linux FLOSS audio LISP rust

  • Mercury | Mercury Playground - A highly abstracted minimal language for the live coding of algorithmic music, designed to make code more accessible for both the performer and the audience. Runs in Max or the Browser.

    Windows | macOS Chrome | Firefox audio visuals MaxMSP JavaScript

  • MicroBlocks - A stack VM-based, small, live and concurrent visual programming language for 32 bit microcontrollers inspired in Scratch and Snap!. It includes libraries for interacting with MIDI devices, as well as libraries for musical abstractions.

    Windows | macOS | GNU/Linux | Chromebook | Chrome-based browsers FLOSS graphical-language microcontrollers midi audio

  • Moonlet - Lua live coding. (inactive)

    Windows | GNU/Linux FLOSS audio

  • Mosaic - An openFrameworks based Visual Patching Creative-Coding Platform.

    Windows | macOS | GNU/Linux FLOSS graphical-language audio visuals

  • Motifn - Code music in Javascript that plays in your DAW or browser

    Google Chrome | Mozilla Firefox web JavaScript MIDI audio WebAudio

  • mutate4l - Live coding integrated into Ableton Live's session view.

    Windows | macOS Max for Live C# FLOSS audio

  • Negasonic - Live coding in the browser with Ruby.

    Google Chrome | Mozilla Firefox web Ruby FLOSS audio

  • ORCΛ - An esoteric live coding environment with two-dimensional syntax.

    Windows | macOS | GNU/Linux audio FLOSS

  • OSCII - OSCII is a web software for drawing and live-coding textmode visuals and sounds.

    Google Chrome | Mozilla Firefox web JavaScript FLOSS audio visuals

  • Overtone - An open source audio environment designed to explore new musical ideas from synthesis and sampling to instrument building, live-coding and collaborative jamming.

    Windows | macOS | GNU/Linux SuperCollider lisp FLOSS audio FLOSS

  • PraxisLive - Hybrid visual IDE for live creative coding.

    Windows | macOS | GNU/Linux Java Processing GLSL graphical-language FLOSS visuals audio

  • Pulchra - Live coding language for 3D graphics.

    Google Chrome | Microsoft Edge | etc. Web WebGL visuals

  • Punctual - Browser-based, zero-installation, audiovisual live coding language, built into the Estuary collaborative platform.

    Google Chrome | Mozilla Firefox web WebGL JavaScript FLOSS visuals

  • Pure Data - An open source visual programming language that can be used to process and generate sound, video, 2D/3D graphics, and interface sensors, input devices, and MIDI.

    Windows | macOS | GNU/Linux graphical-language FLOSS audio visuals

  • re<urse - A language for generating musical patterns. (inactive)

    abandoned Windows | macOS | GNU/Linux TypeScript FLOSS audio

  • Renardo - A FoxDot fork bringing new features and functionalities

    Windows | macOS | GNU/Linux Python FLOSS audio

  • Repetition.sc - A set of tools to build a SequenceableCollection of Events. (inactive)

    Windows | macOS | GNU/Linux SuperCollider FLOSS audio

  • Regex - A VCV Rack live coding module generating intricated pitch and rhythm sequences.

    Windows | macOS | GNU/Linux VCV Rack Modular FLOSS audio

  • Sardine A Python based live coding library (MIDI/OSC/SuperDirt).

    Windows | macOS | GNU/Linux Python SuperCollider FLOSS audio midi Open Sound Control

  • sema - Sema – A Playground for Live Coding Music and Machine Learning. (inactive)

    Windows | macOS | GNU/Linux JavaScript FLOSS audio

  • serialist - A live coding environment that generates MIDI messages. (inactive)

    Windows | macOS | GNU/Linux JavaScript FLOSS audio

  • Skoar - A high-level language for coding music with SuperCollider. (inactive)

    Windows | macOS | GNU/Linux SuperCollider Python FLOSS audio

  • Sonic Pi - The Live Coding music synth for everyone.

    Windows | macOS | GNU/Linux Ruby SuperCollider FLOSS audio

  • Speccy - Live code 8-bit algorave in ClojureScript. (inactive)

    Windows | macOS | GNU/Linux web FLOSS audio lisp

  • Steno - Concatenative little metalanguage for live coding. (inactive)

    Windows | macOS | GNU/Linux SuperCollider FLOSS audio

  • Strudel - Live coding (Tidal-style) algorithmic patterns for the web.

    Google Chrome | Mozilla Firefox web JavaScript FLOSS audio

  • SuperCollider - A platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers working with sound.

    Windows | macOS | GNU/Linux FLOSS audio

  • Syntə - A synthesis based live coding language and environment with integrated sound engine.

    FreeBSD | GNU/Linux Go audio synthesis FOSS

  • synth-x - An experimental live coding environment for making music created with modern web technologies. (inactive)

    Windows | macOS | GNU/Linux JavaScript nodejs audio

  • TEXTOR - Textor is a textmode editor and live-coding environement for visuals and sounds.

    Google Chrome | Mozilla Firefox web JavaScript FLOSS audio visuals

  • TidalCycles - Is a language for Live Coding pattern.

    Windows | macOS | GNU/Linxux Haskell SuperCollider FLOSS audio

  • TimeLines - A modular synthesizer for live coding the flow of time. (inactive)

    Windows | macOS | GNU/Linux FLOSS Haskell SuperCollider audio

  • tinyspec - A C++ live-coding environment for overlap-add (re)synthesis. (inactive)

    GNU/Linux C++ FLOSS audio

  • Tinalla - Framework Regex based for language parsing written in javascript. (inactive)

    Windows | macOS | GNU/Linux FLOSS Javascript SuperCollider audio

  • Topos - Web-based live coding environment inspired by the Monome Teletype.

    Google Chrome | Mozilla Firefox FLOSS Javascript audio midi

  • Trane - Browser-based livecoding in Janet

    Mozilla Firefox | Google Chrome web Janet MIDI audio WebAudio FOSS

  • Tweakable - Visual programming for music, sound and video, used by artists and musicians to make interactive art and music on the web.

    Google Chrome | Microsoft Edge PWA web JavaScript MIDI audio visuals WebAudio

  • Vivid - Haskell synth live coding. (inactive)

    Haskell SuperCollider FLOSS audio

  • Vuo - A realtime visual programming language for interactive media.

    macOS visual-language FLOSS | Commercial visuals

  • vvvv - A hybrid visual/textual live-programming environment for easy prototyping and development.

    Windows visual-language Freeware | Commercial visuals

  • WASM-music - A live-coding environment for performance, composition and synthesis in the web-browser.

    Google Chrome | Mozilla Firefox web JavaScript MIDI audio WebAudio

  • Wulfcode - A Midi live-coding environment for performance or composition. (inactive)

    macOS | Windows* | GNU/Linux* FLOSS audio

  • zeroone - Multi-instrumental, polyphonic, "DSLish" API for live coding music in C++.

    macOS | Windows | GNU/Linux FLOSS audio

  • xi - A domain-specific language for Live Coding musical patterns in Ruby. (inactive)

    Windows | macOS | GNU/Linux Ruby SuperCollider FLOSS audio

Libraries and tools

(Also in Alphabetical Order)

  • ANSIedad - Generate visuals through a terminal emulator using ANSI escape codes.
  • Arcadia - Live coding Clojure in Unity3D.
  • Arepl - Live coding Python in VSCode.
  • Automationism - A modular synthesiser that runs in the open source programming language Pure Data.
  • blink - A library which allows you to edit source code of any Windows C++ project live at runtime.
  • Bonzomatic - GLSL and HLSL live coding environment, originally designed for live coding competitions at demoparties.
  • Cascade - A Javascript utility that turns CSS into sound in the web browser, for audio / visual performances.
  • CaosBox - A non-common live coding and algorave sequencer written with SuperCollider.
  • CHmUsiCK - Library to make ChucK a 'more algorave like' language.
  • cl-collider - A SuperCollider client for CommonLisp.
  • Cowbells - A Clojure library for musical experimentation and live coding.
  • dafxpipe - Software for live coding audio effects and synths.
  • diatonic - Diatonic transforms for music making.
  • disclojure - A live coding environment for Overtone and Leipzig.
  • dublang - A multi-language live coding system with support for multiple languages in a single session.
  • essence-of-live-coding - General purpose (console, webservice, audio, graphics) live coding framework in Haskell
  • EspGrid - Synchronization and sharing for network music.
  • Extramuros - Language-neutral shared-buffer networked live coding system.
  • Flok - Web-based P2P collaborative editor for live coding music and graphics.
  • Fragment - Collaborative live GLSL coding environment, additive/spectral/granular synthesizer.
  • The Force - WebGL live coding performance IDE.
  • Gibberwocky - Use Gibber inside Max/MSP and Max4Live.
  • Gideros - Lua 2D game engine with live coding capabilities.
  • glslViewer - Live GLSL coding render for macOS and Linux.
  • hsc3 - A Haskell SuperCollider client.
  • HYLOGEN - An embedding of GLSL in Haskell.
  • incudine - Music/DSP programming environment for Common Lisp.
  • INSTRUMENT - For live coding music and interfacing musical instruments and controllers in SuperCollider.
  • isobar - A Python library for algorithmic composition by expressing and constructing musical patterns.
  • jet-live - A library which implements c++ hot code reload approach for Linux and macOS.
  • KodeLife - Real-time GPU shader editor, live-code performance tool and graphics prototyping sketchpad.
  • LiCK - Library for ChucK, provides intervals, chords, scales, arpeggiators, patterns, effects, etc.
  • Live Coding Toolkit - A suite of Pure Data abstractions (predefined functions) for musical live coding.
  • live coding yotuube - An experimental web project for creating an audiovisual experience from YouTube videos using code in real time.
  • LiveCore - Library for live coding inside Reaktor Core.
  • LÖVELive 💕 - Live coding framework for LÖVE(2D Game Engine).
  • Lua2SC - Lua client for superCollider scsynth and supernova.
  • Motifn - Code music in Javascript that plays in your DAW or browser
  • Petal - A small language on Sonic Pi with similar syntax to TidalCycles.
  • pytebeat - A piece of software for doing livecoding bytebeat performances.
  • P5LIVE - p5.js collaborative live-coding vj environment!
  • p5-live - Live Coding for p5.js.
  • REPL Mode - This mode adds in a Read-Evaluate-Print-Loop console to Processing 3.0.
  • Republic - SuperCollider library for conversational coding.
  • Ronin - LISP repl for graphics livecoding.
  • s2hs2 - An interface between TidalCycles and Processing.
  • Siren - A tracker interface that embodies abstractions where programming is realized as the medium for pattern sequencing in a modular fashion.
  • sonic-pixels - Interactive lighting effects for Sonic Pi.
  • Supriya - A Python API for SuperCollider.
  • tidal-autocode - Auto-generates patterns for TidalCycles (requires Atom editor).
  • tidal-chord - An add-on to the amazing live coding project TidalCycles.
  • TidalFX - A haskell package adding weirder effects to Tidal from non-standard UGens.
  • tidal-maxmsp - Connecting the Tidal live coding environment to MaxMSP.
  • TidalUnity - An interface between TidalCycles and Unity 3D.
  • Tidal-Unity - TidalCycles meets Unity 3D.
  • tida1vm - Another TidalCycles environment inside Docker.
  • tidebox - TidalCycles live coding environment inside a Docker container.
  • total-serialism - A NodeJS package filled with methods designed for algorithmic composition.
  • Troop - Real-time collaborative live coding with FoxDot.
  • VEDA - Real-time GLSL editor for Atom.
  • WavTexture - A Unity example showing how to bake a waveform of an audio clip into a texture and use it in a shader.
  • ZeroBrane Studio - Editor that allows live coding using Lua language.

To Watch

Documentaries and features

Performances, talks, etc

To Read

To Dance

  • Algorave - Embrace the alien sounds of raves from the past, and introduce alien, futuristic rhythms and beats made through strange, algorithm-aided processes.
  • Eulerroom - Algorithmic music streams, mainly live coded and/or algorave but possibly also stranger things.
  • Algorave Guidelines - Guidelines to host an Algorave.

Conferences

  • ICLC - International Conference on Live Coding.
  • FARM - Workshop on Functional Art, Music, Modeling, and Design.
  • ICLI - International Conference on Live Interfaces.
  • NIME - New Interfaces for Musical Expression conference.
  • WAC - The Web Audio Conference.
  • HLCI - Hybrid Live Coding Interfaces: performance and craft.

Related lists

Acknowledgement

This has been brought to you by these contributors.

How to Contribute

  • Fork this repository.
  • Add the changes you feel appropriate (be it a language, something to read, something to watch, a tool, a conf, etc).
  • Create a Pull Request with a description of what you've modified.
  • ???
  • PROFIT !

Here is a friendly guide of how to proceed.

Code of Conduct

This list follows the Contributor Covenant Code of Conduct v1.4.0, available here.

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

TL;DR: Be nice to each other.

License

CC0 This work is licensed under a Creative Commons Attribution 4.0 International License.

To the extent possible under law, Mauro Lizaur has waived all copyright and related or neighboring rights to this work.