Software Projects

Bubbles GitHub logo

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 GitHub logo

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 GitHub logo

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 GitHub logo

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 GitHub logo

Infusion is a framework, developed by the Fluid community for encoding application structure as JSON in an openly authorable way.

The Nexus GitHub logo

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 GitHub logo

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.