A Rather Perpendicular View

Voice Runner

A side-scrolling endless runner whose stages are generated from whatever audio is playing around you — a song, a podcast, or just the room. Shout to jump. Hold the note to glide. Growl low to slide.

Pick Tab or system audio and tick “share tab audio” to build the stage out of whatever you are playing, then shout at it. Keyboard works too — space to jump, down to slide. Some browsers refuse to share audio from inside a frame at all, so if it drops to the microphone, open it on its own.

How it works

Two audio chains run side by side off one AudioContext. The stage chain listens to the music, tracks its tempo, and lays the level down a beat at a time — a beat landing at audio time t is placed where the player will be at t, so obstacles arrive under your feet on the beat rather than merely near it.

The control chain solves the awkward part: the microphone hears the music as well as you. Rather than separating the two, it tracks the background level asymmetrically — rising slowly, falling fast — and reacts to how far a sound rises above that background. Music raises the floor over seconds; a shout spikes over it in milliseconds. Pitch then decides between jumping and sliding.

The same codebase runs on the web, Android and iOS. Source, notes and architecture decisions are on GitHub.

Ignatius Reza

This is my personal blog/playground.

© 2013 - 2026 Ignatius Reza
Learn something about everything and everything about something.
RSS