Skip to content

lnfiniteMonkeys/awesome-livecoding

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

TOPLAP Logo

All things live coding

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

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
  • 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. Windows | macOS | GNU/Linux haskell Supercollider FLOSS audio
  • Cyril, a programming language designed for fast prototyping of visualisations and livecoding visuals. 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
  • 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. Windows | macOS | GNU/Linux Python Supercollider FLOSS audio
  • Gibber, creative coding for JavaScript. Google Chrome | Mozilla Firefox web JavaScript FLOSS audio visuals
  • ixi lang, an experimental project concerned with the creation of digital musical instruments and environments for generative music. Windows | macOS | GNU/Linux Supercollider audio
  • i-score, an interactive sequencer that allows live programming of OSC-enabled applications, through a visual language and JavaScript scripting. Windows | macOS | GNU/Linux C++ FLOSS 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. Windows | macOS | GNU/Linux web FLOSS visuals audio
  • Max, a visual programming language for media. Windows | macOS graphical-language Commercial audio visuals
  • Moonlet, Lua live coding. Windows | GNU/Linux 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
  • 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
  • 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. Windows | macOS | GNU/Linux TypeScript FLOSS audio
  • Repetition.sc, a set of tools to build a SequenceableCollection of Events. Windows | macOS | GNU/Linux Supercollider FLOSS audio
  • serialist, a live coding environment that generates MIDI messages. Windows | macOS | GNU/Linux JavaScript FLOSS audio
  • Skoar, a high-level language for coding music with SuperCollider. 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. Windows | macOS | GNU/Linux web FLOSS audio lisp
  • Steno, Concatenative little metalanguage for live coding. Windows | macOS | GNU/Linux Supercollider 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
  • synth-x, an experimental live coding environment for making music created with modern web technologies. Windows | macOS | GNU/Linux JavaScript nodejs audio
  • 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. Windows | macOS | Gnu/LINUX Haskell SuperCollider audio
  • Vivid, Haskell synth live coding. Haskell Supercollider 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
  • Wulfcode, a Midi live-coding environment for performance or composition. macOS | Windows* | GNU/Linux* FLOSS audio
  • xi, a domain-specific language for Live Coding musical patterns in Ruby. Windows | macOS | GNU/Linux Ruby Supercollider FLOSS audio

Libraries and tools

(Also in Alphabetical Order)

  • Arcadia, live coding Clojure in Unity3D.
  • 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.
  • CHmUsiCK, library to make ChucK a 'more algorave like' language.
  • cl-collider, A SuperCollider client for CommonLisp.
  • dafxpipe, software for live coding audio effects and synths.
  • disclojure, a live coding environment for Overtone and Leipzig.
  • EspGrid, synchronization and sharing for network music.
  • Extramuros, language-neutral shared-buffer networked live coding system.
  • 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.
  • hydra, Live Coding networked visuals in the browser.
  • HYLOGEN, an embedding of GLSL in Haskell.
  • incudine, Music/DSP programming environment for Common Lisp.
  • 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.
  • LÖVELive, 💕 Live coding framework for LÖVE(2D Game Engine).
  • Lua2SC, Lua client for supercollider scsynth and supernova.
  • Petal, a small language on Sonic Pi with similar syntax to TidalCycles.
  • pytebeat, a piece of software for doing livecoding bytebeat performances.
  • 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.
  • 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.
  • SpectralTricks, a haskell package adding spectral effects to Tidal.
  • 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.
  • 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

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

Community

  • We.LURK, a host for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that. Mailing List
  • Talk.LURK, self-hosted + open-source + slack-like service. Chat
  • POTAC, Programing of The Art Computer. Weblog
  • /r/livecoding, the Live Coding subreddit.
  • LiveCoders, a semi-curated list of people doing live coding in the performing arts.

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.

Releases

No releases published

Packages

No packages published