A video of Facet in action, controlling parameters of both sound and video.
Facet is a flexible live coding system for controlling and applying synchronized algorithmic transformations to a Max patcher from a web browser. Any patcher can connect to Facet as long as you're running Max 8, and it can connect to Max for Live devices, too!
The language is similar to other live coding environments like TidalCycles and Hydra where simple commands are chained together to create complex patterns. The patterns can be scaled, offset, modulated, shuffled, duplicated, and more into any range or scale.
Facet runs with minimal CPU overhead in Max, allows for sample-accurate parameter modulation up into the audio rate, and can produce both precise and surprising patterns for Max, Jitter, or anything else you might want to control with Max.
Facet leverages Node for Max as a middleware between the browser and Max, where both systems can send data back and forth synchronously. There is also a series of utility objects and examples in the Facet repository to help you get started.