Software Projects
Signaletic
Signaletic is an early-stage project to design a new multirepresentational, cross-platform music programming environment in C that supports realtime use on embedded devices such as Eurorack modules, as well as on the Web and desktop. The goal of Signaletic is to support modes of artistic programming where quick sketching and on-the-fly prototyping is not at odds with the reliability, robustness, and performance required for high-stakes performances and long-running installations.
Bubbles
Bubbles is an experimental modulation laboratory for creating multilayer video compositions. Inspired by the analog video processors of Dave Jones and others, Bubbles packages my Aconite and Flocking frameworks into a simple live visual programming environment for layering, colourizing, keying and processing video in realtime.
Flocking
Flocking is an audio synthesis and composition framework designed for creative and experimental Web-based sound projects. Flocking's goal is to support a uniquely community-minded approach to instrument design and composition, providing a long-term infrastructure that interleaves different types of authoring tools and programming experiences, and enables sound artists to freely build from and extend the work of each other.
Aconite
Aconite is a web-based video sequencing and processing framework. It supports the creation of realtime video performances and custom video instruments. Aconite makes it easier to develop video processors using WebGL, to schedule video loops and sequences, and to modulate these processes using signals from Flocking's synthesis environment.
Bergson
Bergson provides a set of software components for developing time-based media programs in JavaScript, including different types of clocks and a scheduler. Bergson is used by Aconite and Flocking.
Infusion
Infusion is a framework, developed by the Fluid community for encoding application structure as JSON in an openly authorable way.
The Nexus
The Nexus is a technology designed to make it easier to connect together components that have been implemented using different programming languages, toolkits, and environments. It provides a means for developers to externalize the complete state of their software, enabling it to be observed and modified by other components—even those that are running in a different process space or have been implemented in a different programming language. Nexus clients can observe and operate upon an application's model as a stream of real-time change events. In this respect, the Nexus can be understood as providing a form of functional reactive programming (FRP) in which models represent time-varying values that can be transformed, aggregated, or reduced using declarative model relay functions. The Nexus has been used to create new collaborative musical instruments and to sonify and visualize data from environmental sensors. The Nexus is developed by the Fluid community and the GPII community.
osc.js
osc.js is the most widely-used JavaScript Open Sound Control implementation. It is fully cross-platform, fast, comprehensive, spec-compliant, tested, modular, and provides a wide variety of transports for sending and receiving OSC data.