coda.js is a Javascript library and live-coding environment for designing movement-based interactions in the browser.
coda.js integrates a number of modules for movement sensing (with wrappers for common devices such as the Myo Armband or the Leap Motion), movement signal processing (from low-level analysis blocks and filters to more advanced representations such as the wavelet transform), mapping tools (from direct mapping to machine learning-based recognition and regression), as well as some sound synthesis and effect engines.
- Fully Reactive coda.js relies on the most.js reactive programming library, allowing for easy asynchronous data stream processing.
- Compact Syntax coda.js was designed with a compact syntax allowing for extremely rapid prototyping of movement-based interactions. Multiple Devices coda.js integrates binding to several commercial sensing devices such as the Myo armband or the Leap Motion, and easily communicates with Cycling'74 Max 8
- Low-level Signal Processing
- Movement Data Visualisation
- Interactive Machine Learning
- Sound Synthesis
Just get to https://playcoda.netlify.app and start playing!
Just grab the full library and start playing:
<script src="https://codajs.netlify.app/coda.js"></script>
[TODO]
The coda.js library emerged in the context of the CO/DA research project at LIMSI-CNRS, that focuses on live-coding as a practice for improvisation in interactive dance. The project aims develop a set of tools for prototyping movement-based interactions on the fly, while a dancer is improvising.
CO/DA has been developed at LIMSI-CNRS by Jules Françoise, and is released under the MIT Licence. The CO/DA project is funded by Réseau Francilien en Sciences Informatiques (DIM RFSI) of the French Ile-de-France region (2018).
Contributors:
- Jules Françoise
- Lucie Van Nieuwenhuyze
Coda would not exist without the tremendous work of other open-source contributors. In particular, coda heavily relies on several open-source libraries:
- Most: Monadic Event Stream
- Vue: The Progressive JavaScript Framework
- Waves-LFO: Ircam's Low Frequency Operators
- Tonal: A functional music theory library for Javascript
- complex-js: JavaScript Complex Math
- myo.js: Myo javascript bindings
- Codemirror: a versatile text editor implemented in JavaScript for the browser