> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrmagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Voice Interaction

> Talk to your agent with voice input and output.

# Voice Interaction

Communicate with your agent using voice on supported channels.

## Supported Engines

### Text-to-Speech (TTS)

5 TTS engines available for agent voice output.

**Two TTS paths (by design):**

* **Settings > Voice** — channel replies, WebRTC, and IM voice bubbles (5 providers + free Edge fallback, streaming, smart summary)
* **Agent config TTS** — chat command "read this out loud" produces an **Audio artifact** via the `tts_generate` tool (OpenAI/ElevenLabs + Gateway billing)

Both paths are production-tested: 632+ channel voice tests + 23 harness `llms/tts` unit tests (98% coverage).

### Speech-to-Text (STT)

5 STT engines for voice input recognition: Local Whisper (free, privacy-first), OpenAI Whisper, Groq, Deepgram, and xAI Grok STT. Custom OpenAI-compatible endpoints are also supported via the Base URL setting.

### Video Audio Transcription

Video messages (including Telegram circular video notes) are automatically transcribed using the same STT pipeline. The agent understands what is said in video messages without any extra configuration.

### Audio File Upload

Upload audio files directly in the WebUI chat input. **8 formats** supported: mp3, wav, ogg, flac, m4a, aac, wma, opus.

Three upload methods:

* **Click** the attach button to select files
* **Drag and drop** audio files into the chat area
* **Paste** (some formats)

Audio file size limit is **25MB**. Uploaded files are automatically transcribed via the STT pipeline and injected as context for the agent.

The Tauri desktop client also supports audio upload with a native file dialog covering 30+ file formats.

## Voice Modes

Myrm Agent supports **4 voice interaction modes**, selectable in Settings > Voice:

| Mode            | Latency | Tool Calling            | Description                                                                  |
| --------------- | ------- | ----------------------- | ---------------------------------------------------------------------------- |
| Audio Only      | \~1-2s  | Via Agent Bridge        | Standard STT → Agent → TTS pipeline                                          |
| Agent Bridge    | \~1-2s  | Full Agent tools        | Server-side Agent handles the conversation with all capabilities             |
| OpenAI Realtime | \~200ms | Native Function Calling | WebRTC direct connection to OpenAI with tool declarations from Agent Profile |
| Gemini Live     | \~200ms | Native Function Calling | WebSocket to Google Gemini with video multimodal + tool declarations         |

### Native Function Calling (Realtime & Gemini Live)

In Realtime and Gemini Live modes, tool declarations are dynamically injected from the selected Agent Profile. The AI can call tools (web search, memory, file ops, code execution, browser, kanban, background tasks) directly during the voice conversation — without server-side Agent relay. This enables sub-300ms tool-augmented voice interactions.

## Setup

1. Navigate to **Settings > Voice**
2. Select your preferred TTS and STT engines
3. Configure language and voice preferences
4. For custom STT endpoints, set the Base URL field (available for OpenAI and xAI providers)
5. For Realtime mode, configure an OpenAI API key in Settings > Providers
6. For Gemini Live mode, configure a Google API key in Settings > Providers

## Security

All voice data is processed with end-to-end encryption (E2EE). Audio is not stored unless explicitly configured.
