Skip to main content
Lightning Jar - Web Studio Lightning Jar Wordmark

Findings No. 3

Turning off the voice processors is a request, not a result

Request echoCancellation, noiseSuppression, and autoGainControl off, then read track.getSettings() and treat that as the truth. Chrome on macOS leaves them on.

Stem Shovel Web Audio verified Chrome on macOS (open bug); Safari

Recording an instrument means turning off the three voice processors built for meetings: echoCancellation, noiseSuppression, and autoGainControl. The trap is that requesting them off is not the same as getting them off. Chrome on macOS has an open bug that leaves them on. Safari ignores your channelCount request when cancellation is off and may omit the sample rate and channel count from the settings it reports back.

The honest pattern: request the constraints, then read track.getSettings() and treat that as the truth. Our recorder's format line reports what the track actually gave, not what was asked for, so a user can see when a take went through a voice processor despite the app's request.

Receipt: Stem Shovel (DemoRecorder.svelte format line; docs/demo-recording.md "Capture"; docs/multitrack-recorder.md research notes).

Ask Eljay

Ask about the studio's work, research, packages, or writing. A few starters:

Answers come from this site's own content and link their sources. For anything that matters, email hello@lightningjar.com.