Repository navigation
Audio Settings
WebSpeak3 transmits voice using either voice activation (it starts sending audio automatically once you speak loud enough) or push-to-talk. This page covers how to set up both, and the other audio options available.
-
Playback device — pick which speaker/headset WebSpeak3 plays audio through. Works even in browsers that don't support
AudioContext.setSinkIdnatively. - Voice volume — overall playback volume, shown in dB.
- Play test sound — plays a short tone through the selected output device, so you can check it's the right one before joining a server.
- Capture device — pick which microphone to use.
- Voice activation threshold — the slider under the mic level bar. Speak normally and watch the live level bar; set the threshold just above your room's background noise level so WebSpeak3 doesn't key up on silence, but does key up as soon as you talk.
- Delay before deactivation (hangover) — how many seconds WebSpeak3 keeps transmitting after your volume drops back below the threshold, so short pauses mid-sentence don't cut you off. Increase it if you're getting clipped; decrease it if your channel hears too much trailing silence after you stop talking.
- Start test button — lets you hear your own mic through your selected output device (with the level bar active) so you can tune the threshold without actually connecting to a server.
- Echo cancellation / Remove background noise / Automatic gain control — standard browser-level audio processing toggles. Turn noise suppression off if it's cutting into your voice or reacting strangely to background sound; turn echo cancellation off only if you're using headphones and it's causing audio artifacts.
- Advanced echo cancellation (Beta) — replaces the browser's echo cancellation with Google's WebRTC AEC3, running inside WebSpeak3. Stronger, especially without a headset, but uses more CPU. While it's on, the normal echo cancellation checkbox is greyed out.
Switch it on under Options → Capture (or Options → Hotkeys), then click the key button and press the key you want. Mouse buttons work too: middle and side buttons can be used, the left button cancels, and so does Esc.
While push-to-talk is on, the toolbar shows a 🗣️ button instead of the activation slider. Hold it (mouse or touch) to talk, which also works on phones.
The key only works while WebSpeak3 is the active window. Browsers don't let websites see keys pressed in other programs, so it won't work while you're in a game. Keys that type text are ignored while you're typing in a text field.
If you use speakers and an open microphone instead of a headset, echo can be harder for the browser to fully cancel — the mic picks up your own speaker output acoustically. A few things to try, in order:
- Keep echo cancellation on (it's on by default) — turning it off will make things worse in this setup.
- Try Advanced echo cancellation (Beta) under Options → Capture. It's built for exactly this case and doesn't depend on how good your browser's own echo cancellation is.
- Try toggling automatic gain control off. AGC re-amplifies your mic signal after echo cancellation has already run, which can bring back faint echo that the canceller mostly removed — some speaker+mic setups sound noticeably cleaner with AGC off, at the cost of your own volume being less automatically leveled.
- Lower your speaker volume, and/or increase the physical distance between your mic and speakers, if possible — this reduces how much echo the AEC engine has to cancel in the first place, which any amount of software-side processing benefits from.
- If it's still not clean enough, a headset remains the reliable fix. Echo with open speakers is a known weak spot of browser-based voice chat in general; see issue #2 for the current state.
Your browser will ask for microphone permission the first time you enable the mic. If you don't see a prompt, or audio never activates:
- Check your browser's site settings for the WebSpeak3 URL — the mic permission may have been previously denied and needs to be reset there.
-
Microphone access requires a secure context. It works on
localhost(and on the official hosted client/demo, which are HTTPS). If you're self-hosting and accessing WebSpeak3 over plain HTTP from another device, the browser will block mic access — put it behind an HTTPS reverse proxy for that.
Safari and Mobile Safari's audio/microphone behavior is still marked experimental — see the beta roadmap for the current status. If something doesn't work as expected there, a bug report with your Safari version and OS is genuinely useful.