# How Voice Relay carries Discord voice

Source: https://www.nocapbots.com/docs/voice-relay/how-it-works
Last updated: 2026-11-06

> Discord only sends your voice to the channel you are in, and a bot can hold one voice connection per server. So the Callout bot listens in your caller's channel and one speaker bot per party channel plays what it hears. Audio is forwarded without re-encoding, adding about 0.1–0.3 seconds.

## Why it takes bots

Discord sends your voice only to the voice channel you are sitting in, and a bot account can hold exactly one voice connection per server. Reaching six party channels at once therefore takes six bots in voice, plus one more listening to the callers. On the hosted service those bots are ours; if you run it yourself, each is its own Discord application — see [self-hosting](https://www.nocapbots.com/docs/self-hosting.md#bots).

- The **Callout bot** sits in the shot caller channel, undeafened, and listens to the callers.
- One **speaker bot** per party channel plays whatever the callers say.
- Players stay in their own party and talk like normal; the caller comes through on top.

## The audio path

When one person is talking to a channel — the common case — their Opus audio packets are forwarded exactly as their Discord client encoded them. Nothing is decoded or re-encoded, so there is no quality loss and almost no processing. Only when several voices reach the same channel at once (two [voice teams](https://www.nocapbots.com/docs/voice-relay/voice-teams.md) callers, or several leaders using [talk back](https://www.nocapbots.com/docs/voice-relay/talk-back.md)) are they decoded, mixed and encoded once.

A short jitter buffer smooths out Discord's bursty packet delivery so callouts don't stutter.

## Latency

Expect about a tenth to three tenths of a second between the caller speaking and the parties hearing it. Over a second is not normal — see [troubleshooting](https://www.nocapbots.com/docs/voice-relay/troubleshooting.md).

## Who is heard where

| Setting | Effect |
| --- | --- |
| Voice priority filtering | Only people with the primary or backup caller role are relayed; primaries pre-empt backups. |
| Voice teams | A channel on a team hears that team's callers; a channel on no team hears every caller. |
| Talk back | A party leader's priority key reaches the callers; other parties don't hear it. |
| Cross-server | The starting server's callers reach the speaker channels of both allied servers. |

## Related guides

- [Set up Voice Relay from an empty Discord server](https://www.nocapbots.com/docs/voice-relay/getting-started.md): Set up a Discord voice relay in about ten minutes: make the channels and a caller role, invite the bot, pick roles and speaker channels, then type /start.
- [Configure roles, channels and voice priority](https://www.nocapbots.com/docs/voice-relay/configuration.md): The Voice Relay configuration page explained: starter role, shot caller channel, primary and backup caller roles, and the four things /start needs.
- [Talk back: let party leaders reach the caller](https://www.nocapbots.com/docs/voice-relay/talk-back.md): Set up Discord Priority Speaker so party leaders can talk to the caller with a priority push-to-talk key while their normal key stays in their squad.
- [Voice teams: run several callers at once](https://www.nocapbots.com/docs/voice-relay/voice-teams.md): Use Voice Relay's voice teams to run attack and defense callers at the same time, each heard only by their own speaker channels.
