Choosing a Lavalink Region for the Lowest Audio Latency
Where to place your Lavalink node for the best-sounding music — how Discord voice regions work, why the node belongs near listeners, and strategies for global bots.
On this page
You can have the fastest bot and a well-tuned Lavalink node and still get complaints about laggy, stuttery music — because the node is on the wrong side of the world. Audio quality in Discord depends heavily on geography. This article explains the path audio takes and how to choose a region.
Three connections, three different jobs
A music bot involves three separate network paths:
- Bot ↔ Discord gateway/API. Commands and events. This should be short, which is why bots are best hosted near Discord’s US East infrastructure — see why Discord bot latency matters.
- Bot ↔ Lavalink node. Control messages: “play this”, “pause”, “skip”. Tiny amounts of data. Latency here only affects how quickly controls respond.
- Lavalink node ↔ Discord voice server. The actual audio: a continuous stream of Opus packets, about 50 per second, per player. This is the path that determines audio quality.
The third path is where distance hurts. Every packet crosses it, and delays, jitter and packet loss on a long route are heard as stutters, dropouts and robotic audio.
How Discord chooses a voice server
Voice channels connect to regional voice servers. By default, Discord picks the region automatically, generally near the people in the call; server admins can also override the region per voice channel. When your bot joins a channel, Discord tells it which voice server to use, and your client forwards that to Lavalink, which then connects to it directly.
So the voice server is near your listeners, not near your bot. For the best audio, the Lavalink node should be near that voice server — which means near your listeners too.
The rule of thumb
Host the bot near Discord’s API (US East). Host the Lavalink node near your listeners.
| Most of your listeners are in | Place the node in |
|---|---|
| India / South Asia | Mumbai or Delhi |
| Southeast Asia | Singapore or Johor (Malaysia) |
| Europe | Frankfurt or Nuremberg |
| US East / Canada | Virginia, Ashburn, Washington DC, New York or Canada |
| US Central | Kansas City |
| US West | Los Angeles |
| US Southeast / Latin America | Miami |
Those are the 14 regions where Kerit Cloud runs Lavalink — Mumbai, Delhi, Virginia, Ashburn, Washington DC, New York, Kansas City, Los Angeles, Miami, Canada, Frankfurt, Nuremberg, Singapore and Johor — each on AMD EPYC with NVMe storage and up to 10 Gbps network throughput. See the managed and self-managed plans.
What about the audio sources?
Lavalink also downloads audio from sources like YouTube and SoundCloud. Those services use global content delivery networks with servers in most regions, so a node in Mumbai or Frankfurt usually fetches audio from a nearby edge. Source latency matters much less than the voice path, because Lavalink buffers several seconds of audio ahead.
Occasionally regional differences matter: some content is region-restricted, and a video available in one country may not play from a node in another. If users report “unavailable” errors for particular tracks, region can be the reason.
Does bot-to-node distance matter?
Much less than you might think. Control messages are small and infrequent. A bot in Virginia controlling a node in Mumbai adds a few hundred milliseconds to “skip” taking effect — noticeable if you look for it, but not harmful. The audio itself never passes through the bot.
The one thing to watch is reliability of that link: if the bot loses its WebSocket to the node, players can’t be controlled until it reconnects. Session resuming in your client library covers brief drops.
Strategies for a global audience
One region for one community
If your bot serves a single community or country, pick the region closest to it. Simple and effective.
The “centre of gravity” node
For a spread-out but concentrated audience — say, mostly Europe with some India — pick the region that serves the largest group well. A single well-sized node in the right place beats a small one in the wrong place.
Multiple nodes, chosen per guild
Large global bots run nodes in several regions and choose a node for each player based on where the voice server is. When your bot receives a voice server update, the endpoint Discord provides generally indicates the voice region; map that to your nearest node when creating the player. Some client libraries support region-aware node selection directly; others let you pass a custom node resolver. Running multiple Lavalink nodes covers the mechanics.
A practical middle ground: nodes in US East, Europe and India/Southeast Asia cover most of the world’s Discord users well.
Testing your choice
Numbers beat guesses:
- Ask listeners. “Does it stutter?” is the real test.
- Watch
frameStatsin/v4/stats. Rising frame deficits suggest the node struggles to deliver audio — CPU or network. See how much RAM Lavalink needs. - Ping voice regions from the node. Measuring latency from the node to a few Discord voice endpoints gives a rough picture of distance.
- Compare. Run a test node in a second region for a week and compare complaints and frame stats.
Common mistakes
- Putting the node next to the bot by default. Convenient, but wrong if your listeners are elsewhere.
- Choosing the cheapest far-away region. Saving a little on hosting and losing listeners to stuttering audio is a poor trade.
- Ignoring voice region overrides. If a server forces its voice channels to a particular region, the best node for that server follows the override.
- Blaming the region for CPU problems. An overloaded node stutters everywhere. Check CPU and frame stats before moving regions.
Summary
Audio quality depends on the path between the Lavalink node and Discord’s voice server, and voice servers sit near listeners. Host the bot near Discord’s US East API, and host the node near your audience — Mumbai or Delhi for India, Singapore or Johor for Southeast Asia, Frankfurt or Nuremberg for Europe, and the matching US or Canadian region for North America. For global bots, run nodes in a few regions and pick one per guild based on the voice server.