From 5128b855fc8a8264bb31118dae35bb34660bb882 Mon Sep 17 00:00:00 2001 From: liehcheng Date: Thu, 8 Oct 2026 20:42:19 +0800 Subject: [PATCH] Add a speech fallback to the audio check Playback noise reduction can suppress a pure test tone while preserving speech. Offer a local speech sample with explicit candidate confirmation so the output check remains useful without relying on external services or changing microphone processing. Closes #44 --- .github/workflows/check.yml | 5 + scripts/browser-check.cjs | 5 +- src/web/assets.rs | 1 + tests/browser/preflight-speech.test.js | 243 +++++++++++++++++++++++++ tests/browser/source.js | 1 + tests/unit/web/assets.rs | 14 ++ web/audio-check.js | 2 +- web/audio/README.md | 22 +++ web/audio/test-voice.wav | Bin 0 -> 174030 bytes web/interview.html | 17 +- web/interview.js | 42 ++++- 11 files changed, 343 insertions(+), 9 deletions(-) create mode 100644 tests/browser/preflight-speech.test.js create mode 100644 web/audio/README.md create mode 100644 web/audio/test-voice.wav diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a064ec36..963f933a 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -850,6 +850,11 @@ jobs: code=$(status "$probe") [ "$code" = 200 ] || { echo "embedded $probe answered $code, not 200" >&2; exit 1; } done + voice_type=$(curl -fsS -o "$empty/test-voice.wav" -w '%{content_type}' \ + http://127.0.0.1:18999/audio/test-voice.wav) + [ "$voice_type" = audio/wav ] \ + || { echo "embedded test voice has type $voice_type, not audio/wav" >&2; exit 1; } + cmp web/audio/test-voice.wav "$empty/test-voice.wav" [ "$(status /.git/config)" = 404 ] \ || { echo "a dotfile was served" >&2; exit 1; } diff --git a/scripts/browser-check.cjs b/scripts/browser-check.cjs index 38d64b5a..8abfedd6 100644 --- a/scripts/browser-check.cjs +++ b/scripts/browser-check.cjs @@ -521,10 +521,7 @@ async function clearMediaGate(page) { await gate.waitFor({ state: "visible", timeout: 30000 }); await page.getByRole("button", { name: "Play test tone" }).click(); await page.getByRole("button", { name: "I heard it" }).click(); - if ( - (await page.locator("#audio-step-output p").innerText()) !== - "Output — Confirmed" - ) { + if ((await page.locator("#audio-output-state").innerText()) !== "Confirmed") { throw new Error("output confirmation did not render immediately"); } const join = page.getByRole("button", { name: "Start interview" }); diff --git a/src/web/assets.rs b/src/web/assets.rs index ae5b1600..f5294813 100644 --- a/src/web/assets.rs +++ b/src/web/assets.rs @@ -498,6 +498,7 @@ pub(crate) fn content_type(path: &Path) -> Option { // served as anything but JavaScript is refused, not sniffed. Some("js" | "mjs") => "text/javascript; charset=utf-8", Some("json") => "application/json", + Some("wav") => "audio/wav", // `WebAssembly.instantiateStreaming` refuses anything that is not // `application/wasm`, and a body with no type at all is a coin toss for diff --git a/tests/browser/preflight-speech.test.js b/tests/browser/preflight-speech.test.js new file mode 100644 index 00000000..8e8bfdd8 --- /dev/null +++ b/tests/browser/preflight-speech.test.js @@ -0,0 +1,243 @@ +// Browser playback cannot prove physical audibility through system effects. +import { after, before, test } from "node:test"; +import assert from "node:assert/strict"; +import { DEFAULT_RUNTIME_CONFIG, startStaticServer } from "./source.js"; + +let browser; +let server; +let base; +before(async () => { + try { + const { chromium } = await import("playwright"); + browser = await chromium.launch({ + args: [ + "--use-fake-device-for-media-stream", + "--use-fake-ui-for-media-stream", + ], + }); + } catch (error) { + if (process.env.CI) throw error; + return; + } + ({ server, base } = await startStaticServer({ + runtimeConfig: DEFAULT_RUNTIME_CONFIG, + })); +}); +after(async () => { + await browser?.close(); + await new Promise((closed) => (server ? server.close(closed) : closed())); +}); + +async function preflight(t) { + const page = await browser.newPage(); + t.after(() => page.close()); + await page.addInitScript(() => { + const capture = navigator.mediaDevices.getUserMedia.bind( + navigator.mediaDevices, + ); + navigator.mediaDevices.getUserMedia = async (constraints) => { + const stream = await capture(constraints); + if (constraints.audio) window.testMicrophone = stream.getAudioTracks()[0]; + return stream; + }; + }); + await page.goto(`${base}/interview.html?problem=chargeback-pair-match`); + await page.waitForFunction( + () => window.testMicrophone?.readyState === "live", + ); + return page; +} + +test("preflight speech replays during capture and still requires the candidate's confirmation", async (t) => { + if (!browser) return t.skip("playwright chromium unavailable"); + const page = await preflight(t); + const response = await page.request.get(`${base}/audio/test-voice.wav`); + assert.equal(response.status(), 200); + assert.match(response.headers()["content-type"], /^audio\/wav/); + const signal = await page.evaluate(async () => { + const response = await fetch("./audio/test-voice.wav"); + const buffer = await new OfflineAudioContext(1, 1, 48000).decodeAudioData( + await response.arrayBuffer(), + ); + let peak = 0; + for (const value of buffer.getChannelData(0)) + peak = Math.max(peak, Math.abs(value)); + return { peak, duration: buffer.duration }; + }); + assert.ok(signal.peak > 0.01, "the shipped speech sample contains a signal"); + assert.ok(signal.duration > 1 && signal.duration < 10); + for (let count = 0; count < 3; count++) { + await page.locator("#audio-test-speech").click(); + await page.waitForFunction( + () => document.querySelector("#audio-test-voice").ended, + ); + assert.equal( + await page.evaluate(() => window.testMicrophone.readyState), + "live", + ); + assert.equal( + await page + .locator("#audio-step-output") + .evaluate((node) => node.classList.contains("done")), + false, + ); + assert.equal(await page.locator("#audio-check-join").isDisabled(), true); + } + await page.locator("#audio-heard").click(); + await page.waitForFunction(() => + document.querySelector("#audio-step-output").classList.contains("done"), + ); +}); + +test("preflight speech reports a rejected play and lets the candidate retry", async (t) => { + if (!browser) return t.skip("playwright chromium unavailable"); + const page = await preflight(t); + await page.evaluate(() => { + document.querySelector("#audio-test-voice").play = () => + Promise.reject(new DOMException("Autoplay blocked", "NotAllowedError")); + }); + await page.locator("#audio-test-speech").click(); + await page.waitForFunction(() => + document + .querySelector("#audio-check-status") + .textContent.includes("Could not play"), + ); + assert.equal(await page.locator("#audio-test-speech").isEnabled(), true); + assert.equal(await page.locator("#audio-heard").textContent(), "I heard it"); + await page.evaluate(() => { + delete document.querySelector("#audio-test-voice").play; + }); + await page.locator("#audio-test-speech").click(); + await page.waitForFunction( + () => document.querySelector("#audio-test-voice").ended, + ); + assert.equal( + await page.locator("#audio-test-voice").evaluate((audio) => audio.error), + null, + ); +}); + +test("preflight retries a failed speech load without confirming output", async (t) => { + if (!browser) return t.skip("playwright chromium unavailable"); + const page = await preflight(t); + let requests = 0; + await page.route("**/audio/test-voice.wav", (route) => { + requests++; + return requests === 1 + ? route.fulfill({ status: 404, body: "not found" }) + : route.continue(); + }); + await page.locator("#audio-test-speech").click(); + await page.waitForFunction( + () => document.querySelector("#audio-test-voice").error?.code === 4, + ); + await page.waitForFunction(() => + document + .querySelector("#audio-check-status") + .textContent.includes("Could not"), + ); + assert.equal(await page.locator("#audio-test-speech").isEnabled(), true); + assert.equal(requests, 1); + await page.locator("#audio-test-speech").click(); + await page.waitForFunction( + () => document.querySelector("#audio-test-voice").ended, + ); + assert.ok(requests > 1, "retry fetches the speech asset again"); + assert.equal( + await page.locator("#audio-test-voice").evaluate((audio) => audio.error), + null, + ); + assert.equal( + await page + .locator("#audio-step-output") + .evaluate((node) => node.classList.contains("done")), + false, + ); +}); + +test("switching to the tone cancels pending speech without reporting a playback failure", async (t) => { + if (!browser) return t.skip("playwright chromium unavailable"); + const page = await preflight(t); + let releaseSample; + const heldSample = new Promise((resolve) => { + releaseSample = resolve; + }); + await page.route("**/audio/test-voice.wav", async (route) => { + await heldSample; + await route.continue(); + }); + try { + await page.locator("#audio-test-speech").click(); + assert.equal(await page.locator("#audio-test-speech").isDisabled(), true); + await page.locator("#audio-test-tone").click(); + await page.waitForFunction( + () => !document.querySelector("#audio-test-speech").disabled, + ); + assert.equal( + await page.locator("#audio-test-voice").evaluate((audio) => audio.paused), + true, + ); + assert.doesNotMatch( + await page.locator("#audio-check-status").textContent(), + /Could not/, + ); + } finally { + releaseSample(); + } +}); + +test("leaving the preflight stops speech before navigation", async (t) => { + if (!browser) return t.skip("playwright chromium unavailable"); + const page = await preflight(t); + let releaseLobby; + const heldLobby = new Promise((resolve) => { + releaseLobby = resolve; + }); + await page.route(`${base}/`, async (route) => { + await heldLobby; + await route.continue(); + }); + try { + await page.locator("#audio-test-speech").click(); + await page.waitForFunction( + () => !document.querySelector("#audio-test-voice").paused, + ); + const stopped = await page.evaluate(() => { + document.querySelector("#audio-check-leave").click(); + const audio = document.querySelector("#audio-test-voice"); + return { paused: audio.paused, time: audio.currentTime }; + }); + assert.deepEqual(stopped, { paused: true, time: 0 }); + } finally { + releaseLobby(); + } + await page.waitForURL(`${base}/`); +}); + +test("starting the interview stops preflight speech while keeping the microphone", async (t) => { + if (!browser) return t.skip("playwright chromium unavailable"); + const page = await preflight(t); + await page.route("**/api/token", (route) => + route.fulfill({ status: 503, body: "local test" }), + ); + await page.locator("#camera-skip").click(); + await page.locator("#audio-heard").click(); + await page.waitForFunction( + () => !document.querySelector("#audio-check-join").disabled, + ); + await page.locator("#audio-test-speech").click(); + await page.waitForFunction( + () => !document.querySelector("#audio-test-voice").paused, + ); + const stopped = await page.evaluate(() => { + document.querySelector("#audio-check-join").click(); + const audio = document.querySelector("#audio-test-voice"); + return { + paused: audio.paused, + time: audio.currentTime, + microphone: window.testMicrophone.readyState, + }; + }); + assert.deepEqual(stopped, { paused: true, time: 0, microphone: "live" }); + assert.equal(await page.locator("#audio-check").isHidden(), true); +}); diff --git a/tests/browser/source.js b/tests/browser/source.js index a734abbe..0b5650f6 100644 --- a/tests/browser/source.js +++ b/tests/browser/source.js @@ -220,6 +220,7 @@ const STATIC_CONTENT_TYPES = { ".html": "text/html", ".css": "text/css", ".wasm": "application/wasm", + ".wav": "audio/wav", }; /// A static file server over `web/`, the way the browser sees it once diff --git a/tests/unit/web/assets.rs b/tests/unit/web/assets.rs index 9974a66c..0a06bef5 100644 --- a/tests/unit/web/assets.rs +++ b/tests/unit/web/assets.rs @@ -5,6 +5,20 @@ use super::{EmbeddedWeb, embedded_etag, is_refused_segment, static_candidates}; +#[test] +fn test_voice_is_served_as_wave_audio() { + assert_eq!( + super::content_type(std::path::Path::new("audio/test-voice.wav")) + .unwrap() + .to_str() + .unwrap(), + "audio/wav" + ); + let sample = EmbeddedWeb::get("audio/test-voice.wav").expect("shipped test voice"); + assert!(sample.data.starts_with(b"RIFF")); + assert_eq!(&sample.data[8..12], b"WAVE"); +} + /// Normalization is tested here rather than through a served request /// because a served request cannot see it. `EmbeddedWeb::get` matches keys /// exactly only in release; a debug or test build reads the same names off diff --git a/web/audio-check.js b/web/audio-check.js index 1c6b4870..eed1e89c 100644 --- a/web/audio-check.js +++ b/web/audio-check.js @@ -124,7 +124,7 @@ export function mediaReadiness({ steps, ready: false, blocker: "output", - message: "Play the test tone and confirm you heard it.", + message: "Play the test tone or voice and confirm you heard it.", }; } return { diff --git a/web/audio/README.md b/web/audio/README.md new file mode 100644 index 00000000..b243840f --- /dev/null +++ b/web/audio/README.md @@ -0,0 +1,22 @@ +# Test voice + +`test-voice.wav` was generated with [TTSMaker](https://ttsmaker.com/) on +2026-10-08, using voice 148, Alayna (US English, female). The downloaded MP3 +was converted to 24,000 Hz, 16-bit mono PCM WAV. + +Spoken text: "If you can hear this voice, your audio is working." + +## Audio usage grant + +The repository's MIT license covers the code. This generated audio is provided +under [TTSMaker's commercial license terms](https://ttsmaker.com/copyright_and_commercial_license_terms). +The redistribution grant below was recorded on 2026-10-09: + +> Users may freely use, modify, reproduce, distribute, and display the audio +> content for both personal and commercial purposes + +TTSMaker grants a non-exclusive, irrevocable, worldwide, perpetual license to +generated audio, with no extra fee or permission needed for those uses. This +is a usage license; it does not transfer copyright ownership or rights to the +underlying technology or voice models. Use must comply with local law and +respect third-party rights. diff --git a/web/audio/test-voice.wav b/web/audio/test-voice.wav new file mode 100644 index 0000000000000000000000000000000000000000..f5fb3470bc87025a8e8ace6abf603845818ac5ea GIT binary patch literal 174030 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�b}?MX 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 literal 0 HcmV?d00001 diff --git a/web/interview.html b/web/interview.html index 914d4234..b6326318 100644 --- a/web/interview.html +++ b/web/interview.html @@ -347,13 +347,16 @@

Media preflight

Output — play a short tone.play a test sound and confirm you heard it.

+
+ +

+ If the tone is silent, try the test voice. Playback noise + reduction or audio enhancements may filter test sounds. If both + are silent, check your output device and volume, or try turning + those effects off in your audio settings. +

diff --git a/web/interview.js b/web/interview.js index 5935ee77..ad2a7b4c 100644 --- a/web/interview.js +++ b/web/interview.js @@ -505,6 +505,8 @@ const nodes = { report: document.querySelector("#report-modal"), audioCheck: document.querySelector("#audio-check"), audioTestTone: document.querySelector("#audio-test-tone"), + audioTestSpeech: document.querySelector("#audio-test-speech"), + audioTestVoice: document.querySelector("#audio-test-voice"), audioHeard: document.querySelector("#audio-heard"), audioMeterFill: document.querySelector("#audio-meter-fill"), audioStatus: document.querySelector("#audio-check-status"), @@ -966,7 +968,7 @@ function paintPreflight(state, hint) { nodes.audioStatus.textContent = hint || state.message; nodes.audioOutputState.textContent = state.steps.output ? "Confirmed" - : "play a short tone."; + : "play a test sound and confirm you heard it."; nodes.cameraState.textContent = state.cameraSkipped ? `Not used (${state.cameraSkipReason}).` : state.steps.camera @@ -988,8 +990,8 @@ function paintPreflight(state, hint) { } /// Resolves once the candidate has proven output, microphone, and camera. -/// The tone doubles as the user gesture browsers require before -/// any audio plays, so confirming it also unblocks the interviewer's voice. +/// Confirming output supplies the user gesture browsers require before +/// the interviewer's voice plays, whether the candidate heard tone or speech. function runAudioCheck() { return new Promise((resolve) => { const mediaDevices = navigator.mediaDevices; @@ -1097,6 +1099,8 @@ function runAudioCheck() { // so a request still pending when this runs never lights the camera. const stopChecks = () => { finished = true; + nodes.audioTestVoice.pause(); + nodes.audioTestVoice.currentTime = 0; meter.stop(); pool.cancelRetry(); faceCheck.close(); @@ -1138,6 +1142,7 @@ function runAudioCheck() { }; nodes.audioTestTone.addEventListener("click", async () => { + nodes.audioTestVoice.pause(); if (!(await unblockOutput())) { showHint("The browser is still blocking audio. Click the tone again."); return; @@ -1154,6 +1159,37 @@ function runAudioCheck() { refresh(); }); + // Playback-side noise reduction can remove a pure tone while preserving + // speech. A local sample needs no interview session or synthesis service, + // and playing it says nothing about whether the candidate actually heard it. + nodes.audioTestSpeech.addEventListener("click", async () => { + nodes.audioTestSpeech.disabled = true; + try { + nodes.audioTestVoice.pause(); + nodes.audioTestVoice.currentTime = 0; + if (nodes.audioTestVoice.error) nodes.audioTestVoice.load(); + await nodes.audioTestVoice.play(); + if (finished) return; + nodes.audioTestSpeech.textContent = "Play speech again"; + showHint('If you hear the test voice, click "I heard it".'); + } catch (error) { + if (!finished && error?.name !== "AbortError") { + showHint( + "Could not play the test voice. Try again and check your audio settings.", + ); + } + } finally { + if (!finished) nodes.audioTestSpeech.disabled = false; + } + }); + nodes.audioTestVoice.addEventListener("error", () => { + if (!finished) { + showHint( + "Could not load the test voice. Try again and check your connection.", + ); + } + }); + // Bound to both events because a mouse click fires each of them and // pointerdown is the earliest gesture available to unblock audio, so the // second call is expected and returns immediately.