Creative / live coding
- 1 General
- 1.1 OpenFrameworks
- 1.2 Gibber
- 1.3 Happy Brackets
- 1.4 Cinder
- 1.5 Fluxus
- 1.6 Impromptu
- 1.7 ixi
- 1.8 Tidal
- 1.9 Livecodelab
- 1.10 Al-Jazari
- 1.11 Moony.lv2
- 1.12 Wavepot
- 1.13 extramuros
- 1.14 NoiseFunge
- 1.15 Protoplug
- 1.16 Worp
- 1.17 Klangmeister
- 1.18 jazzari
- 1.19 Wulfcode
- 1.20 FoxDot
- 1.21 Vult
- 1.22 Fragment
- 1.23 Praxis Live
- 1.24 clive
- 1.25 Nannou
- 1.26 dafxpipe
- 1.27 MDAL
- 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.
- CCC: Linux Live on Stage - SuperBoucle, Carla, Faust & LV2 Plugins
- OpenFrameworks - an open source C++ toolkit for creative coding.
- Gibber is a creative coding environment for audiovisual performance and composition. It contains features for audio synthesis and musical sequencing, 2d drawing, 3d scene construction and manipulation, and live-coding shaders.
- 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.
- 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.
- 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.
- ixi lang v3 live coding environment is an extremely simple and visual system, 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.
- 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.
- 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.
- 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.
- Moony.lv2 - Realtime Lua as programmable glue in LV2
- 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!
- http://worp.zevv.nl - Worp is an experimental sound / music / DSP engine written in LuaJIT, currently
- Klangmeister is 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. 
- Echolevel - Wulfcode - a MIDI live coding language and environment. The current release is written in Java and runs on MacOS, Windows and Linux, but I'm working on a new version that runs in a cross-platform Electron shell and uses Web Audio API and Web MIDI API - follow its progress here.
- https://github.com/echolevel/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 is 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.
- Praxis LIVE - 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.