Creative / live coding
- 1 Creative coding
- 2 Live coding
- 2.1 Gibber
- 2.2 Fluxus
- 2.3 Al-Jazari
- 2.4 Tidal
- 2.5 Petal
- 2.6 Livecodelab
- 2.7 Moony.lv2
- 2.8 csynth
- 2.9 protoplug
- 2.10 Wavepot
- 2.11 extramuros
- 2.12 NoiseFunge
- 2.13 Protoplug
- 2.14 Worp
- 2.15 Klangmeister
- 2.16 jazzari
- 2.17 Wulfcode
- 2.18 FoxDot
- 2.19 Fragment
- 2.20 PraxisLIVE
- 2.21 clive
- 2.22 Nannou
- 2.23 dafxpipe
- 2.24 MDAL
- 2.25 dafxpipe
- 2.26 GAmuza
- 2.27 Shaden
- 2.28 Sporth / AudioMasher
- 2.29 Monolith
- 2.30 Mac
- 3 Visuals
- https://en.wikipedia.org/wiki/Creative_coding - a type of computer programming in which the goal is to create something expressive instead of something functional. It is used to create live visuals and for VJing, as well as creating visual art and design, art installations, projections and projection mapping, sound art, advertising, product prototypes, and much more.
- TOPLAP - an organisation founded in 2004, to explore and promote live coding.
- https://github.com/toplap/awesome-livecoding - A curated list of live coding languages and tools
- CCC: Linux Live on Stage - SuperBoucle, Carla, Faust & LV2 Plugins
- Processing.org - a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.
- OpenFrameworks - an open source C++ toolkit for creative coding.
- https://github.com/chaosct/ofxPython - openFrameworks addon to embed Python
- https://github.com/danomatika/loaf - loaf: lua, osc, and openFrameworks
- https://github.com/Akira-Hayasaka/ofxGLEditor - Script editor for oF Live Coding
- https://github.com/ofnode/ofLiveApp - Live coding openFrameworks applications.
- Mosaic - an openFrameworks based Visual Patching Creative-Coding Platform
- Happy Brackets - aims to make creative coding on multiple devices easier. Products like the Beagle Bone and Raspberry Pi herald an exciting new world of computing; they cost very little but are capable of running a full Linux OS, process realtime audio and video, and offer rich networking and IO capabilities. This has opened up a great world of creative possibilities, especially where you have many devices all communicating over a network, gathering sensor data and producing audio-visual outputs. It can be a pain to set-up and configure all of these devices. Development can be slow and debugging confusing. With HappyBrackets, you set them all up once and then remote control them from a single computer. You don’t need to plug your devices into a screen or keyboard, just run them on a disk image set up with the HappyBrackets toolkit. Finding your devices on the network is easy. Then you can write and deploy Java code straight from our special plugin for the popular development environment IntelliJ IDEA. HappyBrackets is an open source project.
- Cinder - a C++ library for programming with aesthetic intent - the sort of development often called creative coding. This includes domains like graphics, audio, video, and computational geometry. Cinder is cross-platform, with official support for macOS, Windows, Linux, iOS, and Windows UWP. Cinder is production-proven, powerful enough to be the primary tool for professionals, but still suitable for learning and experimentation. Cinder is released under the 2-Clause BSD License.
- https://github.com/AVUIs/AdamBrucePiotr - Cinder project with Pure Data
- https://github.com/videodromm/videodromm-livecoding-cinder - live coding environment
- https://github.com/hugoam/two#reflection - c++ toolkit for rapid development of live graphical apps and games
- Audiality 2 - a realtime audio and music engine, primarily intended for video games. While it supports traditional sample playback as well as additive, subtractive and granular synthesis, the distinctive feature is subsample accurate realtime scripting.
- https://github.com/boomlinde/acidforth - Software synthesizer and sequencer programming language. Hard to learn, impossible to master.
- Gibber - a live coding environment for the web browser, using the Gibberish.js audio engine, the CodeMirror code editor library and wrapping Three.js for 3d graphics and shader support. Version 2 of Gibber features a much more efficient audio engine, some interesting mapping abstractions and a server/database backend for publishing and browsing files and collaboratively live coding. In order of preference, Gibber runs in Chrome, Safari, and Firefox.
- Fluxus - a rapid prototyping, playing and learning environment for 3D graphics, sound and games. Extends the Racket language with graphical commands and can be used within it’s own livecoding environment or from within the DrRacket IDE. Fluxus is crossplatform (Linux, Windows, OSX, Android, PS2), and is released under the GPL licence.
- Al-Jazari - livecoded entirely by gamepad, and employs a simple graphical language to allow robots to interact with each other and move over a terrain populated by audio triggers. The running code is displayed and edited in thought bubbles over each robot. For upcoming performance dates see this page. Al-Jazari is written entirely in Scheme, and runs on Fluxus which is a small game/graphical engine which runs on Linux and OSX.
- TidalCycles - or Tidal for short, is a language for live coding pattern. It allows you to make musical patterns with text, describing sequences and ways of transforming and combining them, exploring complex interactions between simple parts. Tidal allows you to express music with very flexible timing, providing a little language for describing patterns as step sequences (which can be polyphonic and polymetric), some generators of continuous patterns (e.g. sinewaves, sawtooths) and a wide range of pattern transformations. Tidal is highly ‘composable’ in that pattern transformations can be easily combined together, allowing you to quickly create complex patterns from simple ingredients.
- https://github.com/musikinformatik/SuperDirt - Tidal Audio Engine
- https://github.com/yaxu/SuperDirt - SuperCollider implementation of the Dirt sampler for the Tidal programming language
- https://github.com/kindohm/vscode-tidalcycles - Support for TidalCycles in VSCode
- https://github.com/siaflab/petal - A small language on Sonic Pi with similar syntax to TidalCycles
- Livecodelab - a special secret place where you can make fancy "on-the-fly" 3d visuals and play awesomely offbeat (literally) sounds. "On-the-fly" meaning: as you type. Type just three letters: "box", and boom! a box appears. No clicking play, no waiting, no nothing. What are you waiting for? Try the magic. Press the button below and play with the examples.
- Moony.lv2 - Realtime Lua as programmable glue in LV2
- https://github.com/jessecrossen/csynth - An LV2 soft-synth instrument where the patches are C++ code.
- protoplug - a VST/AU plugin that lets you load and edit Lua scripts as audio effects and instruments. The scripts can process audio and MIDI, display their own interface, and use external libraries. Transform any music software into a live coding environment!
- http://studio.substack.net/wavepot - old demo
- https://github.com/d0kt0r0/extramuros - language-neutral shared-buffer networked live coding system
- Protoplug - a VST/AU plugin that lets you load and edit Lua scripts as audio effects and instruments. The scripts can process audio and MIDI, display their own interface, and use external libraries. Transform any music software into a live coding environment!
- Worp - an experimental sound / music / DSP engine written in LuaJIT, currently
- Klangmeister - a live coding environment for the browser. It lets you design synthesisers and compose music using computer code - without having to install anything on your own computer. Klangmeister works best in Chrome, because the synthesis features that it relies on have patchy support across the other browsers. 
- Wulfcode - Ostensibly for live-coding, but it’s dramatically simplified compared to the SuperCollider and Csound-based environments used by the live-coding community proper. It’s an object-oriented, text-based MIDI sequencer with its own syntax, and a repertoire of commands and structures that allow interesting looping motifs and polyrythmic phrases to be easily generated and manipulated on the fly.
- FoxDot - a pre-processed Python-based programming language that provides a fast and user-friendly abstraction to SuperCollider. It also comes with its own IDE, which means it can be used straight out of the box and no fiddling around with config files.
- Fragment - a web-based spectral musical instrument driven by real-time visuals generated by its users from shared GLSL scripts.
- https://github.com/grz0zrg/fas - C Pixels-based additive, spectral, granular, subtractive and PM audio synthesizer implemented as a WebSocket server
- https://github.com/grz0zrg/fas_launcher - A wxWidgets launcher for Fragment Audio Server built for the Fragment Synthesizer, a web-based Collaborative Spectral Synthesizer. This program should compile on most platforms. This program is a simple native launcher which provide an easy to use interface to start the Fragment Audio Server, the launcher also provide a convenient way to configure the audio server for individual sessions and provide a direct way to launch the web. application pre-linked with the native audio server by passing ?fas=1 as a web. argument.
Fragment add sine waves together to produce sounds, the software gather frequencies from vertical slices containing the pixels data of a graphical WebGL powered canvas, each horizontal lines of the score is associated to a pure sine wave generator, all the vertical slices are grouped into one before being "fed" to the synthesis engine, the pixels data (red and green channel) determine the amplitude of the associated sine wave for each audio channels (it is stereophonic) and the vertical position of the pixel determine which sine wave generator is active, the synthesizer is mainly controlled by the visuals generated from the GLSL script.
The synthesizer support the WebMIDI API which is only supported by Chrome and Opera at the moment, it is possible to assign controllers to widgets and controls the GLSL script "uniform" variables.
- PraxisLIVE - an open-source hybrid visual environment for live creative coding. Praxis LIVE mixes intuitive real-time visual node editing, with a range of built-in components for audio, visual & data processing, together with an embedded compiler and editor for live-coding Processing, Java and GLSL. While including specific support for audio and video processing, Praxis LIVE is designed to support other forms of cyber-physical coding.
- Nannou - An open-source creative-coding framework for Rust.Nannou is a library that aims to make it easy for artists to express themselves with simple, fast, reliable code. Whether working on a 12-month laser installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.
- https://github.com/nwoeanhinnogaehr/dafxpipe - Software for live coding audio effects and synths in Python.There's also some libraries for doing STFT and phase vocoder stuff.
- MDAL - a veritable, text-based audio programming language specifically tailored for use with sound drivers operating on low-level devices such as sound chips and simple DACs.While traditional low-level music description languages such as ABC or the Music Macro Language are essentially abstractions of western sheet music notation, MDAL instead has strong roots in tracker music. The MDAL syntax adheres to several key elements of tracker modules: Song structure is broken down into patterns, which are linked via a sequence matrix. Time flow is represented vertically. The concept of measures and note values has no direct representation in MDAL, instead note length is measured in steps and ticks.MDAL is a language without a pre-defined nomenclature. Aside from a rudimentary set of structural conventions, there are no fixtures - the entire instruction set is customizable. Customization is provided through standardized configuration files, which are parsed and interpreted by an MDAL compiler at runtime. This enables programmers to adapt both user input and data output to the specific needs of their sound drivers/player routines.
- https://github.com/nwoeanhinnogaehr/dafxpipe - Software for live coding audio effects and synths.
- GAmuza - made with OF, inspired by Processing, binding the (almost) entire OF language v.0.8.4 with his official addons included, the entire OpenGL 1.1 language, a bunch of other addons , and the small GAmuza framework of functions and GUI modules to make creative coding a lot more easier, all of it embedded into a slight modified Lua scripting environment.
- https://github.com/brettbuddin/shaden - A modular audio synthesizer.
Sporth / AudioMasher
- Sporth - SoundPipe fORTH, is a small stack-based audio programming language.
- AudioMasher - Live, in-browser audio and music programming environmentBased on the amazing Sporth audio programming language
- Monolith - the name of an interactive computer music ecosystem that I have written for myself. Features: On-the-fly Audio Live Coding Scheme REPL support; Stack-based approach to audio; Support for Monome Grid + Arc; Support for Griffin Knob; State saving/loading (via sqlite); Pre-built interactive pages utilizing interfaces; Offline video generation (via x264); OSX/Linux SupportMonolith is mainly a bunch of C components built to be controlled inside of a fork of s9 scheme. The s9 REPL is then set to spawn inside of emacs scheme interpretor. From there, the rest of the workflow is controlled via emacs.
- ixi lang v3 - an extremely simple and visual live coding environment, presenting a high entry level control over synth definitions and samples in SuperCollider. The core idea is to represent events in a spatial layout, thus merging musical code and musical scores. The score is active, i.e., if a method is performed upon the score, it changes in real time.. The development of ixi lang is part of a research involving human-machine interaction, the philosophy of technology and the culture of software use in music. In return for this free software we would like to ask you few questions regarding your experience of the software.
- https://github.com/thormagnusson/ixilang - currently Cocoa only.
- Impromptu - an OSX programming language and environment for composers, sound artists, VJ's and graphic artists with an interest in live or interactive programming. Impromptu is a Scheme language environment, a member of the Lisp family of languages. Impromptu is used by artist-programmers in livecoding performances around the globe.