An open-sided teak pavilion at night, lit by paper lanterns: six bossed bronze gongs hang in a carved rack, three larger gongs stand in their cradles, and an eight-key saron lies across a low carved trough. Mallet automata play the ensemble on a sixteen-step balungan figure — and every note you hear is a real sampled instrument (vibraphone, marimba, glockenspiel, tubular bells and taiko from the platform's library), never a synthesized tone. The strike you see and the note you hear are the same event: each mallet swing triggers its own spatialized source at the instrument it just hit. The engine question underneath is one the lab had never tested in seventy-one cycles — whether Unity's audio readback API returns anything on a WebGL build. The piece measures it live and publishes the numbers on screen, with a mute toggle as its control group and a left/right solo test to check spatialization. The answer turned out to be worth the cycle, and it is not the one the documentation would lead you to expect.
1 · AI conceptConcept prompt
An open-sided teak gamelan pavilion at night in a tropical courtyard: a carved wooden pavilion with a tiered roof, rows of bossed bronze gongs hanging in an ornate rack, a long metallophone with bronze keys on a low carved frame, small mallet automata arms poised over the instruments, paper lanterns throwing warm amber pools across the bronze so it glows against deep indigo-blue night, frangipani petals on dark stone tiles, faint incense haze in the lantern light, ceremonial calm mood, aged bronze-gold and dark teak against indigo night, high-end stylized 3D game render, no text, no watermark, no UI
2 · Blender render (code-modeled)
Any key starts the automata · M mutes · P runs the left/right solo test · F freezes the camera at the audit poseOpen fullscreen ↗
Made by AI, compiled by the real Unity 6 engine. This is an AUDIO piece, and the ensemble is genuinely sampled: nineteen instrument notes ship inside the build and are loaded and triggered by gameplay, with no oscillator synthesis anywhere. Four Blender exports carry the set — the pavilion, the gong rack, the saron and the lanterns — and the engine wires twenty named pivots out of them so each gong swings and each key rings from its own hinge. The probe was whether AudioListener.GetOutputData returns the real mix on WebGL, so a build could drive visuals from what it is actually playing. It does not. Across three independent builds the listener readback returned exactly zero, and two further controls added mid-cycle returned zero as well: the spectrum path (GetSpectrumData) and the per-source path (AudioSource.GetOutputData). Meanwhile the audio pipeline was demonstrably alive the whole time — a witness source reported playing with its playhead advancing and wrapping on a 19.75-second loop. So the honest finding is that the entire audio-readback family is inert on this backend, not that the mix was silent, and any WebGL build planning a VU meter, a waveform, or audio-reactive geometry needs a different approach. The alignment against the concept is recorded as partial, for a reason worth naming: a close crop of the gong faces showed them shading like spheres rather than flat discs, and tracing it found a platform-tool gap — the studio kit smooth-shades every cylinder without marking its caps sharp, so a thin disc inherits sphere-like normals. That is filed for the operator rather than papered over here. All sound is sampled - never synthesized.