Turn on the microphone, dictate into the composer, hold a spoken conversation, pick a voice, and know what happens to the audio.
Voice is two independent halves. Talking to it is speech recognition (our ASRx module), done by your browser or by a transcription service. It talking back is speech synthesis (Speex), done by one of five voice engines. They are configured separately and they fail separately, so one can work while the other does not.
Ctrl + M starts and stops the traditional microphone; the button lights up and the status bar swaps in these while it listens:
| Key | While the microphone is live |
|---|---|
Enter | Mic · Send |
Ctrl + Enter | Mic · Beam |
Esc | Mic · Stop |
Words appear in the composer as you speak and can be edited before sending, so dictation mixes with typing. A continuation mode re-arms the microphone after each send.
Ramble records one take of up to 60 minutes and transcribes the whole file with your own Deepgram or OpenAI key free. The audio stays in this browser; the transcripts sync on Pro pro. Where to start a take, what a reload costs, and what is kept: an hour of speech, transcribed whole.
A call is recognition, model generation, and synthesis - three phases in turn. Latency is higher than a realtime voice model; in exchange the call runs on the chat models and the data you already have. Switch to the Calls app, or press the call button in a chat or on an open persona - the call carries that chat's context, or starts with none.
The calls app reports on three things before it dials:
The chat is empty. Calls are effective when the caller has context.
Speech recognition should be good to go.
Voice synthesis should be ready.
all three green, in the footer: Ready, Set, Call
In the call: Push To Talk while you speak, or leave it listening. Two spoken commands are built in - Stop. makes the assistant hold its answer, Goodbye. ends the call. Ctrl + M still toggles the microphone.
Starting to talk stops the assistant talking. The microphone and the speaker are arbitrated over one audio resource, and the microphone wins. Hanging up cuts playback the same way.
Five engines synthesize speech, configured in Settings: some run on the LLM keys you already added, some take a key of their own. One engine is active at a time, or Auto picks.
| Engine | Configuration | What you can change |
|---|---|---|
| Your browser's own voices | Just works | Voice, speed, pitch |
| ElevenLabs | That vendor's key | Model, voice |
| Inworld | That vendor's key | Model, voice, speed |
| OpenAI | Your existing OpenAI key, or a different one | Model, voice, speed - and an instruction, on the Expressive model |
| A local speech server | Its network URL | Model, backend |
Each engine ships with a default voice, and the preview button reads the same line every time - Hello, this is my voice. A voice is stored as an engine plus its settings.
Pin a voice to a persona and every chat with that persona speaks in it, including the line it opens a call with: what a persona is. Outside calls replies are silent unless you ask: auto-speak offers off (the default), the first line, a briefing, or everything. One reply can always be spoken from its message menu's Speak.
All five engines exist in every version. OpenAI voices run on the key your OpenAI service already carries; ElevenLabs and Inworld take their own vendor key (optional services).
| Feature | Where the audio goes |
|---|---|
| the microphone button | your browser turns speech into text; Big-AGI receives the text, never audio |
Ramble | audio in this browser's storage on this device, then straight to the transcription service you configured |
| synthesis | the text goes to the voice engine you picked |
Whether recognition runs on the device or at the browser vendor's service is the browser's choice, not Big-AGI's. A Ramble entry can be replayed or transcribed again on the device that holds its audio. Deleting the entry deletes the audio with it. The full account of what leaves your machine, and by which route: what leaves your browser.
| Browser | What happens |
|---|---|
| Chrome · Edge · Safari | recognition works |
| Brave | blocked - Speech recognition is not supported in Brave. Please use Chrome, Edge, or Safari. |
| iOS | a warning rather than a block - Not tested on this browser/device. |
| no recognition at all | Speech recognition API is not available in this browser. |
Brave is blocked deliberately, because it exposes the interface and then returns nothing. Synthesis has no such restriction: any browser can play the audio back.
| What you see | What it means | What to do |
|---|---|---|
Microphone access blocked by the user. Enable it in your browser settings to use speech recognition. | The site permission is denied. | Allow the microphone for this site, then reload. |
Speech Recognition permission denied. Check your System Settings. | The operating system is blocking the browser. On macOS Speech Recognition is a permission separate from Microphone, so granting the microphone does not grant it. | System Settings -> Privacy & Security -> Speech Recognition, tick your browser, then quit and reopen it. That pane's path is as documented in September 2024. |
Audio capture failed (...). Please try again. | No usable input device. | Check the input device, and that nothing else holds it. |
Network communication required to complete the service, but failed. | Browser recognition could not reach its service. | Retry on a stable connection. |
Issue starting the speech recognition. | A second start was requested before the first stopped. | Wait a moment and press Ctrl + M again. |
| Nothing is spoken back | Autoplay is blocked until you interact with the page. | Click once in the page, then retry. |
BIG-AGI
Resources
© 2026 Token Fabrics·Built with passion in San Diego