Phylo
Create dynamic music as code.
Phylo is a desktop DAW for creating dynamic music as code. Instead of rendering a piece to an audio file, your projecets are exported as files for the web. A finished composition exports as a small web page that performs the music live in the listener's browser. By using generative functionality, the listener can experience the composition differently on every visit. A composition that lasts all day comes out at a few hundred kilobytes rather than the tens of gigabytes of audio it would otherwise be. What makes Phylo usnique is that it achives this via a familiar DAW workflow.
Music as code
Phylo gives an enourmous amount of flexibility on how you want to produce. A phrase is a set of notes with generative fields, so a note's timing, length or velocity can be drawn from a range each time it plays. Instruments are devices are module. A Composition is a series of musical projects sequenced together using tempo tools, fades and effects. A piece of music is called a Movement the same Movement can differ every time within the bounds you set, and be identical when you want it to be, because every random draw comes from generative factors that you control.
Phylo can do things a traditional DAW cannot. A Composition can be anchored to the clock so that playback for the listener is continuous and pickups from the calculated time position. With MIDI2.0 support, a controller can be plugged in and discover a device's controls. Modular devices and Momvements can be versioned.
Compositions and Movements
A Composition is a continuously looping collection of Movements. A Movement is a collection of tracks with musical phrases driving devices.


Compositions
The whole piece: movements in order on a timeline, crossfading into one another, looping as a cycle for as long as anyone is listening, and anchored to the clock so a listener drops into the moment that is playing now.


Movements
A section of a Composition with its own lanes and devices with automation, modulation and generative functions.
Unique production features


Phrases
The notes on a piano roll, each with generative functions. Multiple Variations per phrase, and a rack of note processing devices before they reach an instrument.


Device racks
The instrument and effects a lane plays through, with a modulation patch beside them, controls that can draw their own values, and devices pinned to a set version.


Modular devices
Instruments and effects are patches: modules wired together on a graph, where everything on a cable is a voltage, with a panel of controls you lay out yourself.


MIDI 2.0
Phylo is a MIDI 2.0 device. It publishes each instrument's controls over Property Exchange so a controller maps itself, at 32-bit resolution, and a virtual controller rack stands in for the hardware.


Disruptor and automation
Automation as clips of triggers rather than envelopes, on every track, plus one Disruptor lane above them all whose rows can momentarily reach any control on any track and then allow it to continue on it's original path.


Side effects
Effects racks that lanes route through rather than send to, each lane as its own stream through one set of controls. Realtime batch processing with sidechaining.
Under the hood
The audio engine is written in Rust and compiled twice: natively for the desktop app, and to WebAssembly for the web player. It is one codebase, so what you hear in the DAW is what the listener hears in the browser. Every module control runs at 32-bit MIDI 2.0 resolution, and every device publishes its controls over MIDI 2.0 Property Exchange, so a hardware controller can discover and map them without a setup step. Compositions are stored as plain text in a git repository, so every save is a version and nothing is ever lost.