Audio Capture Pipeline
Two browser APIs capture audio simultaneously: getUserMedia() for the microphone and getDisplayMedia() with audio:true for system audio (which includes the interviewer's voice from the video call). Both streams are mixed client-side using the Web Audio API into a single interleaved stream, downsampled to 16kHz mono PCM — the format Whisper-architecture models expect.
getUserMedia() + getDisplayMedia(audio:true) → Web Audio API mix → 16kHz PCM