Live coding for Web
Switch branches/tags
Nothing to show
Latest commit 3fb77f4 May 31, 2013 @automata starting vivace-gibber
Failed to load latest commit information.
media vivace_off for offline version. version 0.0.4 launch Sep 24, 2012
vivace-gibber starting vivace-gibber May 31, 2013
Procfile adding Procfile to heroku Sep 24, 2012 better README to gh-pages Sep 24, 2012
dat.gui.min.js starting vivace-gibber May 31, 2013
index.html Adicionado GUI para controles de mixagem Jan 20, 2013
server.js menu vivace Oct 9, 2012
server_heroku.js heroku server file, first attempt to add filters on voices Jan 21, 2013
vivace.jison mudada tecla de eval, adicionadas novas vozes depois da inicializacao Sep 11, 2012
vivace.js mudada tecla de eval, adicionadas novas vozes depois da inicializacao Sep 11, 2012
vivace_exec.js minor fix: onkeyup Jan 21, 2013


Live coding is an alternative way to compose and play music (or other media) in real-time. The performer/composer plays on a computer device and shows your screen to the public, making them part of the performance and at the same time demystifying what the musician is really doing to generate that weird sounds. Live coders commonly use general domain languages or create their own computer music languages.

Vivace is a live coding language that runs on Web using the Web Audio API for process audio and the HTML5 video tag to play videos. The language parser is built using the awesome Jison.

For now, just Chrome and Safari implements Web Audio API, so you have to run vivace on it.

Try vivace right now clicking here!. You can even play together with others, just share this URL with them and try typing and evaluating (ctrl+x).

The language

The language is not complete. We have a draft specification here. Feel free to suggest your own commands/syntax/grammar to us!

For now you can basically use vivace as a "sampler language". You can specify which audio or video file you want to play and hack some of its parameters on-the-fly.

Running your own vivace

You can use vivace just loading this demo app. But if you want to run your own vivace on your computer/server, follow these next steps.

Clone this repos:

$ git clone git://

Download nodejs and install it:

$ wget -c
$ tar -xvzf node-v0.8.9.tar.gz
$ cd node-v0.8.9/
$ ./configure
$ make
$ sudo make install

Install vivace dependencies:

$ cd vivace/
$ npm install


$ node server.js

Open http://localhost:5000 on your Chrome or Safari browser. You can even share this URL with others and live code together.

Using your own audio/video files

Copy some audio (wav, mp3, ogg) or video (mp4, webm, ogv) to media/:

$ cp *.wav vivace/media/

And edit file vivace_exec.js, to map variable names to your files:

var files = [{name: 'a', fileName: 'kick.wav', type: 'audio'},
             {name: 'b', fileName: 'foo.mp4', type: 'video'}]