Feature Overview
Voice Chat (Hands‑Free)

Voice Chat (Hands‑Free)

Voice Chat lets you speak to RealTimeX continuously instead of typing each message.

Start it from the microphone control in the chat composer.

What Voice Chat depends on

Voice Chat uses the live Speech to Text provider configured in Settings > Voice & Speech.

The current chat voice stack supports:

  • Web Speech API
  • Whisper
  • Groq

Replies are then spoken back through your configured Text to Speech provider.

Start and control a session

When Voice Chat opens, the current panel can:

  • show readiness and calibration status
  • listen continuously for your speech
  • let you mute or unmute the microphone
  • let you end the session
  • show an audio visualizer while the mic is active

The current status flow includes states such as:

  • Ready
  • Calibrating
  • Listening
  • Transcribing
  • Microphone muted
  • Web Speech unavailable
  • Microphone blocked

Input language

Voice Chat includes an input-language selector in the live panel.

You can:

  • leave language on auto-detect
  • pick a specific language when recognition is drifting
  • see when a model is effectively English-only

In the current Whisper flow, some model choices are English-only. When that happens, the panel reflects that limitation instead of pretending multilingual input is available.

Choose the right speech provider

  • Use Web Speech API for browser-native recognition when your browser supports it.
  • Use Whisper when you want local transcription behavior.
  • Use Groq when you want fast cloud transcription.

If the panel says Web Speech unavailable, switch to Whisper or Groq in Settings > Voice & Speech.

Troubleshooting

  • Microphone blocked Allow microphone access in the browser or desktop runtime, then reopen Voice Chat.
  • Web Speech unavailable Your browser does not support that provider for this session. Switch to Whisper or Groq.
  • Replies are silent Check the Text to Speech provider and your audio output device.
  • Recognition is inaccurate Try setting an explicit input language instead of auto-detect.