Beethoven,
jitter-free.
A real-time audio pipeline on Vectorio Protor that streams Beethoven through up to 10,000 audio nodes — EQs, compressors, reverbs, delays, gates, limiters — without jitter or a single dropped sample.
Real-time audio
at arbitrary scale.
A traditional digital-audio workstation gives up around a few dozen plug-ins per chain before the buffer underruns and you hear a crackle. The whole point of the demo is that Vectorio Protor doesn't.
Beethoven's Ninth is streamed as a WAV file into a typed node graph. The graph is huge by design — up to ten thousand audio nodes wired into one chain. The engine schedules every sample under a deterministic budget; the loudspeaker hears it in real time, every time, and the math is the same on a laptop or a workstation.
For audio engineers, this means the size of your effects chain stops being an engineering constraint — your session never starves for CPU, no matter how many plugins you stack. For everyone else, it's the same point — restated in seconds and frequencies — that Protor makes for trades, satellite tiles, or evidence packs: determinism scales.
The pipeline,
node by node.
Real TypeKeys from E2E Tests/AudioPipeline/beethoven-10node-chain-speaker.viow. Same shape scales to the 10,000-node variant.
Every TypeKey is a real, signed extension. audio.compressor is the same node whether you have one or a thousand on the graph. Add nodes by editing JSON; the runtime reschedules at the next sample boundary.
Eight variants,
same signed binary.
The AudioPipeline folder ships these workflows side by side. Each is a real .viow file you can run.
| Workflow | Nodes | Active EQs | What it proves |
|---|---|---|---|
beethoven-10node-chain-speaker.viow |
10 | 1 | Reference chain — a sane DAW could do this. |
beethoven-1000node-1eq-active.viow |
1,000 | 1 | Measures the cost of inactive nodes — should be near zero. |
beethoven-1000node-5eq-active.viow |
1,000 | 5 | Light load — five EQs doing actual work. |
beethoven-1000node-100eq-active.viow |
1,000 | 100 | Medium load — comparable to a busy mixing session. |
beethoven-1000node-200eq-active.viow |
1,000 | 200 | Heavy load — beyond what a typical DAW will run cleanly. |
beethoven-1000node-333eq-active.viow |
1,000 | 333 | One-third of every node active — torture test for scheduling. |
beethoven-10000node-chain-speaker.viow |
10,000 | configurable | The headline number — still real-time, still no jitter. |
All measured warm, 48 kHz, single .NET process, NEON SIMD on Apple Silicon. The 10,000-node variant ran the entire Ode to Joy excerpt with zero buffer underruns across the benchmark window.
The .viow file.
A workflow is plain JSON — diffable, reviewable, signable. Here is the head of the 10-node reference chain.
beethoven-10node-chain-speaker.viow // AudioPipeline / Beethoven through a 10-node effects chain → speaker { "Engine": "Vectorio.Sync", "Title": "Beethoven · 10-node chain to speaker", "Rate": 48000, "Nodes": [ { "TypeKey": "Vectorio.Audio.File.Subscriber", "Configuration": { "Path": "./data/beethoven-9.wav" } }, { "TypeKey": "Vectorio.Audio.Eq", "Configuration": { "LowGain": 2.0, "MidGain": -1.5, "HighGain": 1.0 } }, { "TypeKey": "Vectorio.Audio.Compressor", "Configuration": { "Threshold": -18, "Ratio": 4.0, "Attack": 5 } }, { "TypeKey": "Vectorio.Audio.Gate", /* … */ }, { "TypeKey": "Vectorio.Audio.Reverb", /* … */ }, { "TypeKey": "Vectorio.Audio.Chorus", /* … */ }, { "TypeKey": "Vectorio.Audio.Delay", /* … */ }, { "TypeKey": "Vectorio.Audio.Limiter", "Configuration": { "Ceiling": -1.0 } }, { "TypeKey": "Vectorio.Audio.Speaker.Publisher", "Configuration": { "Device": "default" } } ] }
Why this matters.
-
Audio engineering on Protor. Mixing engineers, broadcast operators, immersive-audio teams — anyone who has hit a plug-in budget — gets a deterministic alternative on the same hardware.
-
Latency is a property of the engine, not the workload. The same scheduling model that streams an EQ at 48 kHz streams a banking pipeline at line rate. Audio is the easiest sample of it to verify with your ears.
-
Workflow as text. The 10,000-node graph is a JSON file. Diffable. Reviewable. Signable. You can submit a mix as a pull request.
Same engine,
different domain.
All eight remaining sample workflows run on the same Vectorio Protor binary.