thunk*
machine

A live-coded visual synth

Write JavaScript. Shape sound into visuals.
Change it all live.

Thunk, a little black character conducting orange waves of sound and motion
A small patch. A whole world.
// Change a number. Change the feeling.
function orbit({ time, audio }) {
  background(12, 12, 12, 40);
  noFill();
  stroke(255, 87, 43);

  const pulse = 1 + audio.bass;
  translate(width / 2, height / 2);

  for (let i = 0; i < 60; i++) {
    rotate(time * 0.002 + 0.1);
    ellipse(0, 0,
      (80 + i * 5) * pulse,
      80 + i * 2);
  }
}
Visual output
Try it

Daniel P. Friedman describes a thunk as β€œan expression and an environment.” I think of it as a little computation, waiting for its moment. Thunk Machine is designed around that idea: small pieces of code you can combine, reshape, and bring to life while the performance keeps running. β€” Eric Freeman