Vectorio Project · 01 · Audio
Projects · 01 · Audio · Beethoven

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.

Nodes · max
10,000
in one workflow
Active EQs
1,000
simultaneously
Audio rate
48kHz
16-bit stereo
Jitter
0samples
measured · warm

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.

ingestaudio.file.subscriber
toneaudio.eq
dynamicsaudio.compressor
gain stageaudio.gain
noise gateaudio.gate
spaceaudio.reverb
widthaudio.chorus
timeaudio.delay
peakaudio.limiter
emitaudio.speaker.publisher

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. USE · live broadcast · post-production · immersive · audio research
  • 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. PRINCIPLE · single binary · same runtime · deterministic budget
  • Workflow as text. The 10,000-node graph is a JSON file. Diffable. Reviewable. Signable. You can submit a mix as a pull request. FORMAT · open · text · git-native · signed

Same engine,
different domain.

All eight remaining sample workflows run on the same Vectorio Protor binary.

All eight sample projects on the landing page →