Sialkbeta · macOS · free
runningstartingexamples/glsl-raymarch

Your work, on a stage, playing.

Sialk takes a sketch you already made in the browser and makes it an instrument. It hears the room, it runs at frame rate, and it is still yours afterwards.

01What you do tonight instead

  1. Render it to video

    The work stops being live. Whatever happens in the room, the screen has already decided what it is going to do.

  2. Chain OBS to Spout to a media server

    What people actually do, and documented broken from 2017 to 2025: judder on WebGL, audio that fails silently, a black frame with no error. It still reproduces on current hardware.

  3. Rewrite it in TouchDesigner

    Abandon the language and the ecosystem the work was made in. Most people look at the cost and stop.

02It has been broken the whole time

  1. 2017
    BrowserSource component very laggy and overload CPU for canvas or WebGL renderer. Maintainer reply: there is nothing that can be done about that.
    obsproject.com, thread 69768
  2. 2020
    It has been this way for a very long time. Even on the most powerful Macs Apple currently offers.
    obsproject.com, thread 133655
  3. 2023
    I cannot hear them and neither can the stream, but they show the visuals and light up on the volume mixer.
    obsproject.com, thread 171175
  4. 2023
    It is black. No feed is coming through. Then a feedback loop, then judder from a hidden frame-rate mismatch. Silent failure, no error.
    spout.discourse.group, thread 522
  5. 2025
    The same performance collapse on an RTX 3070, OBS 31.0.1. It is CPU related, yeah.
    obsproject.com, thread 184305

03The room reaches the artwork

The room reaches your sketch through a published contract: three bands, onset, tempo, level. Version 1 is frozen. Fields are only ever added, so a sketch written against it tonight still compiles in five years.

Read the contract · frozen at v1 · additive for ever

04Measured, with the conditions

A raymarched GLSL scene holds frame rate
119.1 frames per second, one dropped in 422, at 1280×720 on an M3 Max.
Two runtimes composite together
A GLSL layer and a p5 layer at 120.1 frames per second, nothing dropped.
The audio contract reaches the artwork
Read out of a live shader's uniforms, not from a mock.

05Tell me when it is ready.

We store your address and the date you gave it, and nothing else. One email when Sialk is ready, then never again unless you ask.