diff --git a/web/chat.html b/web/chat.html index 204c6a8..9bd4811 100644 --- a/web/chat.html +++ b/web/chat.html @@ -232,7 +232,7 @@ —

- a 440/441 Hz stereo carrier is generated locally. each frame swings the + a 440 Hz carrier is generated locally. each frame swings the output gain MARK (0.80) ↔ SPACE (0.20) per bit. the modulated audio is the outbound WebRTC track for every connected peer. mic stays off.

@@ -800,7 +800,9 @@ async function startCarrier() { if (audioCtx.state === 'suspended') await audioCtx.resume(); oscL = audioCtx.createOscillator(); oscR = audioCtx.createOscillator(); oscL.type = 'sine'; oscL.frequency.value = 440; - oscR.type = 'sine'; oscR.frequency.value = 441; + /* same freq on both channels: the codec is mono (G.711), so a 440/441 split + * would downmix into a 1 Hz beat that swamps the amplitude levels. */ + oscR.type = 'sine'; oscR.frequency.value = 440; gainL = audioCtx.createGain(); gainR = audioCtx.createGain(); gainL.gain.value = ZEBRA_VOL_MARK; gainR.gain.value = ZEBRA_VOL_MARK; @@ -1627,7 +1629,7 @@ $('btn-audio').addEventListener('click', async () => { $('dot-audio').className = 'dot on'; $('audio-status').textContent = 'online'; $('btn-audio').disabled = true; - logLine('sys', 'carrier started — modulated stereo at 440/441 Hz'); + logLine('sys', 'carrier started — modulated 440 Hz'); } catch (e) { logLine('err', 'carrier failed: ' + e.message); }