project / audio software
experimentalFF00 Studio
A local-first music-production environment for Waveform, isolated VST3 hosting, deterministic audio tools, and a replaceable local language model. Not ready for use yet.
- Rust
- C++20
- JUCE
- VST3
- Tauri 2
- Waveform
- Ollama
FF00 Studio is the flagship program I am beginning now: a local music-production environment that can inspect a session, discuss direction, preview reversible ideas, and apply only the changes I approve. The first host is Waveform 14.0.49; the first deeply supported synth is Surge XT; local reasoning starts through Ollama but remains replaceable.
It is not ready for musicians to install or use yet. The current work is a pre-alpha engineering foundation, not a release announcement.
Why it exists
The goal is not an unattended DAW robot. I want a system that understands the available tools without inventing capabilities, can work with reference stems without uploading them, and can turn language such as “more metallic” or “shorter” into an inspectable proposal rather than a mysterious mutation.
FF00 Studio separates that work into four boundaries:
- FF00 Rack: the Waveform-facing VST3 and safe audio fallback
- worker: isolated child-plugin and DSP processing outside Waveform
- Master: intent, session context, analysis, previews, and local-model access
- deterministic core: capability truth, graph legality, state revisions, validation, and action reporting
The language model may reason and propose. It does not get to claim that a plugin parameter exists, that an operation succeeded, or that a project is safe to rewrite.
What exists now
- a Rust workspace for authority, protocol, graph, latency, and sidecar contracts
- a JUCE VST3 Rack with a separate development identity and bounded state
- one bundled worker per retained Rack using shared-memory audio/MIDI and named-pipe control
- latency-aligned dry fallback when worker output misses its deadline
- fixed-block component tests from 64 through 1024 samples
- bounded automatic worker replacement, restart limiting, and quarantine
- worker-side Surge XT 1.3.4 hosting with native editor, state, MIDI/audio, and 2,855 host parameters
- a Tauri 2 Master that discovers multiple Racks and enforces Discuss, Preview, Discard, and Apply
- a constrained loopback-only Ollama Discuss provider with schema-validated advisory output
- eleven passing Rust tests plus documentation and source-contract validation
- a pinned JUCE 8.0.13 baseline and a Windows release build of the Master
- an AGPL-3.0-or-later legal and contribution baseline matching the FF00 family
The Rack and Master have now passed a fuller Waveform host session. Surge loaded outside the DAW process; exact parameter Preview, Discard, and Apply worked; committed state survived save/reopen; and two Rack instances remained separately addressable. During playback, killing one exact worker left Waveform and its sibling Rack alive, produced no audible change in the listening check, and triggered bounded replacement. Closing the edit removed every worker and Rack registration. This remains pre-alpha evidence: offline behavior, the full host PDC matrix, current-user pipe ACL proof, the constrained graph, transcription, semantic recipes, and mix/master workflows remain open.
Milestone map
| Milestone | Scope | Current state |
|---|---|---|
| 0 | Contracts, feasibility harnesses, dependencies, legal and safety boundaries | Foundation compiled; Waveform script inventory remains open |
| 1 | Transparent Rack load, state, and Waveform capability proof | Core host proof passed; script capability matrix remains open |
| 2 | Shared-memory worker bridge, reported latency, supervision, and fallback | Core bridge, bounded replacement, quarantine, delayed-dry fallback, and first live recovery pass verified; full host PDC/offline/ACL evidence remains open |
| 3 | Surge XT hosting, plugin state, editor, parameters, and constrained graph | Surge scan, hosting, editor, parameter catalogue, controlled render, state restoration, and host save/reopen verified; graph and sidechain expansion remain open |
| 4 | Master discovery, local protocol, and Discuss / Preview / Apply authority | Multi-Rack discovery, exact parameter Preview/Discard/Apply, stale-state protection, and addressed isolation verified; cancellation and broader operations remain open |
| 5 | Atomic session sidecar, references, generated assets, and read-only Waveform context | Planned |
| 6 | Ollama provider, PluginKnowledge, and curated Surge semantic operations | First loopback-only, schema-validated Discuss path implemented; PluginKnowledge and semantic Preview recipes remain open |
| 7 | Basic Pitch, analysis, MIDI, drums, one-shots, and optional UVR stem import | Planned |
| 8 | Mix/master measurements, packaging, network validation, and staged public alphas | Planned |
Release direction
The first public alpha is deliberately narrower than the final vision: Rack, worker isolation, Surge, a constrained graph, Master control, explicit authority, save/reload, and recovery. Creation tools, reference assistance, and mastering follow only after that foundation survives real host tests.
The repository will become public when the implementation and documentation are sanitized enough to make the public record useful. Until then, this page is a development marker, not a download link.