Skip to content

Start in 30 seconds

Open Studio and explore the room in one smooth sweep.

The room where the family plays

STUDIO

The house where the family plays. There's a pool (of instruments).

13 instruments · 1 clock · 1 mix

13 daring browser instruments, living side by side in one tab, locked to a master clock we open-sourced. Play them in concert and make sounds people haven't heard yet. Capture the result as a stereo mix with 13 stems and export, or easily share the URL, it's your save file as you edit your compositions.

Free in browser · no account to make a sound

13 instruments, one clock.

clock: 1 writer · N readers · seqlock

Studio loads the whole family - Timbre, Poles, Braids, Wavefunction, Resonance, Strands, Murmur, Gasman, Pollen, Exciton, Mantle, Bassic, Breezaphone - into one browser tab and binds them to a single master clock. One Play, one tempo, everyone locked.

Hit record and the room prints to a stereo file - plus a separate stem for every instrument, for 13 instruments total, frame-aligned so they drop straight back into any DAW.

The signal path

13 players. One clock. No drift.

13 rings feed the mixer, which writes the master bus and records to mix + stems.

13 rings → Σ → master bus → mix + 13 stems

Each instrument runs in its own sandbox, yet they sum to one bus without a click of drift. The trick is the transport underneath - lock-free shared memory, not message passing.

Studio's signal flow13 instrument iframes on the left - Timbre, Poles, Braids, Wavefunction, Resonance, Strands, Murmur, Gasman, Pollen, Exciton, Mantle, Bassic, Breezaphone - each writes audio into a lock-free single-producer single-consumer ring. One mixer worklet in the centre drains all rings, sums them sample-accurately, and feeds a master bus on the right that goes to the output and a multitrack recorder capturing a stereo mix plus 13 stems. A single master clock at the top is written by the mixer and read by every instrument, keeping the whole room locked in time.master clockSAB · seqlock · 1 writerwritesTimbreiframe · workletPolesiframe · workletBraidsiframe · workletWavefunctioniframe · workletResonanceiframe · workletStrandsiframe · workletMurmuriframe · workletGasmaniframe · workletPolleniframe · workletExcitoniframe · workletMantleiframe · workletBassiciframe · workletBreezaphoneiframe · worklet13 × lock-free SPSC ringmixerworklet · Σgain · pan · mute · solomaster busoutputAudioContext · your speakerszero added latencyrecorder14 rings · frame-alignedmix.wav+ 13 stems
  • lock-free SPSC ring
  • seqlock clock · 1 writer → 13 readers
  • sample-accurate sum
  • mix + 13 stems

Under the hood

The open-source spine under the room.

13 instruments travel through webgpu-audio-bridge using SharedArrayBuffer and lock-free transport.

webgpu-audio-bridge · SharedArrayBuffer · lock-free

Summing 13 sandboxed instruments without a click of drift is a hard problem - and it's a problem with a name. webgpu-audio-bridge is the lock-free shared-memory transport that does it: open source, MIT-licensed, and built to move audio between threads without locks, copies, or glitches.

Timbre, Poles, Braids, Wavefunction, Resonance, Strands, Murmur, Gasman, Pollen, Exciton, Mantle, Bassic, Breezaphone

voicering occupancyflowpllclk skews/tpushed
Timb0/16×1.00+0.0 ppm0/00
Pole0/16×1.00+0.0 ppm0/00
Brai0/16×1.00+0.0 ppm0/00
Wave0/16×1.00+0.0 ppm0/00
Reso0/16×1.00+0.0 ppm0/00
Stra0/16×1.00+0.0 ppm0/00
Murm0/16×1.00+0.0 ppm0/00
Gasm0/16×1.00+0.0 ppm0/00
Poll0/16×1.00+0.0 ppm0/00
Exci0/16×1.00+0.0 ppm0/00
Mant0/16×1.00+0.0 ppm0/00
Bass0/16×1.00+0.0 ppm0/00
Bree0/16×1.00+0.0 ppm0/00

press play in the mixer above to stream the rings →

Two transport tiers

Turbo over SharedArrayBuffer for sub-frame latency; Standard over MessageChannel where isolation isn't available.

Phase-locked clocks

A PLL corrects drift between each producer and the audio thread - the lock and drift-ppm you see ticking above are real.

Lean hot path

WASM-SIMD decode, adaptive backpressure, and zero-allocation ring reads keep the audio thread honest under load.

GPU-native

It can pull synthesis straight off a WebGPU buffer into audio - that's the webgpu in the name.

The family already rides it. Wavefunction streams its evolving quantum field to audio across the Bridge; Gasman synthesizes voices on the GPU and pushes them through it. Studio is moving its whole transport onto the same spine - so the room you just heard becomes the Bridge's flagship demo: every instrument on one open, observable, lock-free clock.

How it works

Three moves. One take.

Load all voices, lock the timebase, then print a take.

01

Open the room

iframe × 13 · same origin

Launch Studio and all 13 instruments load side by side in one tab. Each keeps its full identity, and each is ready to play.

02

Set the clock

play · bpm → sampleCounter

One Play, one tempo. Every instrument slaves to the master sample counter, so a key struck in any of them lands exactly in time with the rest.

03

Mix & capture

REC → mix.wav + 13 × stem

Balance the room with faders, mutes, and solos. Hit record and the take prints to a stereo mix plus a frame-aligned stem for every instrument, sample-accurate.

The cast

13 voices, and the room that holds them.

Each instrument is its own full thing with its own door. In Studio they become a band, and the room adds the two pieces every band needs.

Plus the room itself

Master clock

1 writer · 13 readers

One canonical sample counter, written every audio quantum and read by every instrument. Start them together; they never drift apart.

Multitrack recorder

mix + 13 stems · frame-aligned

One REC button captures the whole room: a stereo mix and a separate stem per instrument, sample-locked so they drop straight back into any DAW.

What you can make

Four ways into the room.

Each pattern is a live room setup built to show how fast you can move from idea to take.

A generative ambient bed

ResonanceWavefunctionPoles

Slow the clock right down. Resonance holds a pad, Wavefunction shimmers over it, and Poles drops the occasional bell - a bed that never quite repeats.

Quantum-driven percussion

WavefunctionTimbre

Let Wavefunction's collapses trigger the hits and Timbre lay down the pattern around them. Rhythm with a little genuine randomness in its bones.

Braided counterpoint

BraidsPoles

Braids weaves two lines that trade places; Poles answers each crossing with a struck tone. Two voices that keep handing the melody back and forth.

A whole track

TimbrePolesBraidsWavefunctionResonanceStrandsMurmurGasmanPollenExcitonMantleBassicBreezaphone

Bring the whole family in, balance the room, and hit record. Out comes a stereo mix and 13 stems - finish it wherever you finish tracks.

Share a session by link - permalinked compositions, coming soon

Short story

13 instruments, one room. It works when now is in time.

The Studio family: Timbre, Poles, Braids, Wavefunction, Resonance, Strands, Murmur, Gasman, Pollen, Exciton, Mantle, Bassic, Breezaphone

Try it first, own it later

One room, three doors.

Choose the plan that fits your flow. All Studio recordings stay time-locked and import-ready.

Free Web

$0

The whole room in your browser with all 13 instruments, the master clock and mixer, and recording to a stereo mix plus 13 stems. No install, no account.

Open Studio

Desktop

$19.99

The native Ephemera app: Studio plus the full DAW, offline, with file save and load, audio + MIDI export, VST3 hosting, and lifetime updates.

Get the desktop app

Ephemera Premium

Included

Studio and every instrument ship with Ephemera Premium, the whole family in one subscription, always up to date.

See Ephemera

One-time purchase · no subscriptions for the desktop app · free forever in the browser

FAQ

Questions, answered.

Start with the live behavior first; these answers are mirrored in page-level JSON-LD.

Studio loads all eight Ephemera instruments (Timbre, Poles, Braids, Wavefunction, Resonance, Strands, Murmur, and Gasman) into one browser tab, bound to a single master clock. You play them together, balance them on a master mixer, and capture the result as a stereo mix plus a separate stem for every instrument.

Ready to begin

Open the room.

Play instantly in the browser, or open the full Ephemera desktop app when you're ready to go deeper.

load / clock / mix / capture

13 instruments in one tab, one master clock, and one room. Play them together and keep the take.