Museum audio test

Follow these 6 steps

Steps 1, 2 and 4 are the important ones and need one phone, about three minutes, and no recording. Steps 3 and 5 are longer: step 5 wants two phones side by side and a third one recording. No equipment, no Wi-Fi needed.

Step 1 of 6

1. Name this test

Type the same word on both phones — anything, e.g. “pizza”. It only exists so the two result files can be paired up afterwards.

2. Turn the sound on

Turn the volume most of the way up. Disconnect Bluetooth earbuds — this test is about the phone's own speaker.

Phones refuse to make sound until you tap something, so this button is the tap.

3. Memory test

Finds the longest track this phone can hold. About a minute. Do this on each phone separately — it needs nobody else.

Keep the screen on and do not reload. The page may go blank or restart by itself: that is the answer we are looking for, not a mistake. If it happens, open this page again and it will tell you what it found.

4. Clock check — this phone on its own

This is the one that explains the half-second gap you heard. It needs only this phone — no second phone, nothing to record, no listening on your part.

It plays two short bursts of clicks, about 40 seconds each, and watches whether the phone's audio clock keeps up with its ordinary clock. Keep the screen on and leave the page in front. You will hear clicks twice; you do not need to judge them.

5. Clicking test — both phones at once

Lay both phones side by side, speakers facing up. Start a voice recording on the third phone and hold it near them.

Then press the button on both phones. Being a few seconds apart does not matter — both aim at the same moment on the clock, which is the whole point of the test.

6. Send the results

Save the file on each phone and attach it to SPA-15. If you did step 5, attach the audio recording too — but the file on its own is already worth sending.

Expert controls — run any single measurement

SPA-15 instrument for the SPA-13 contract. Sections 1–6 need no network; section 7 measures the network itself. The 100 ms skew target covers built-in and wired output only (decided 2026-10-08) and is stated per device with a separate fleet coverage threshold (decided 2026-10-09), so one weak phone is a coverage data point rather than a failed system. Full run sheet: device-test-protocol.md.

Status: not started — tap “Unlock audio” first.

1. Device identification

Filled into every exported log; without them the measurements are unattributable. Visitors bring their own phones, so label each one.

2. Gesture unlock

Measures the gap between the tap and a running AudioContext, and records the reported output latency — the amount by which audible onset trails the scheduled audio-clock time.

3. Format decode (FLAC / WAV)

Advisory canPlayType is recorded alongside the authoritative decodeAudioData result. Only a real decode marks a device playable.

4. Decoded-audio ceiling

Generates WAV in memory and decodes it, climbing 1, 2, 5, 10, 20, 30 minutes and stopping at the first failure — no asset, no network. The tab may be killed on the failing rung; that is the result, recovered from storage on reopening, which also reports whether the tab was terminated (real), unloaded itself (you reloaded), or frozen (screen locked — ambiguous). Do not reload by hand during the ramp.

5. Scheduled start — shared wall-clock epoch

Both devices arm against the same absolute wall-clock instant, so a single microphone recording measures pairwise acoustic onset skew. Tapping “arm” at slightly different moments does not change the target.

6. Audio-clock drift (F17)

Two matched runs on this device alone — no second phone, no recording. Each anchors the audio clock against the wall clock, waits out an arming lead, plays a short click train, and samples the gap every 100 ms. The second run holds an inaudible source open throughout. If the drift is present in the first and absent in the second, the client fix is one node; if it is present in both, a scheduled start has to be re-anchored immediately before it fires. About 75 seconds.

7. Background and resume

Arm the train, then lock the screen or switch apps and come back. The sampler records every context state change and whether the audio clock kept running while hidden.

8. Network throughput

What the access point in this room delivers to this phone, and whether the whole group could download the exhibit asset inside the pre-tour window — the F12 rule, pre-registered. Needs the hosted page, not file://.

9. Export

Log