Aller au contenu principal
FiveMX
Boutique
Scripts
MLOs
Serveurs complets
Mods gratuits
Outils
Guides
Tous les produits
FiveMX

Commencez à construire votre serveur aujourd'hui.

Ressources FiveM sélectionnées, livraison instantanée, mods gratuits de départ et guides pratiques dans une marketplace apaisée.

Parcourir la boutiquesupport@fivemx.com

Boutique

  • Boutique
  • Tous les produits
  • Mods gratuits
  • Meilleurs scripts & mods
  • Scripts FiveM

Frameworks

  • Scripts QBCore
  • Scripts ESX
  • QBox
  • Standalone

Communauté

  • Blog
  • Assistance
  • Créateurs
  • Affiliation

Mentions légales

  • Politique de confidentialité
  • Conditions d'utilisation
  • Politique de remboursement
  • Livraison numérique
  • Politique des cookies
  • Conformité RGPD
  • DMCA
  • Mentions légales
  • Charte éditoriale
© 2026 FiveMX. Tous droits réservés.·FiveMX n'est pas affilié à Rockstar Games, Take-Two Interactive ou CFX.re. Toutes les marques sont la propriété de leurs détenteurs respectifs.
GitHubDiscordDocs
Table of Contents
On this pageTL;DR: Which voice for which server?Installation & Setup — MumbleRequirements & downloadserver.cfg lines (load order)Proximity & voice rangesRadio integration basicsQuick test & validationInstallation & Setup — pma-voiceRequirementsCanonical server.cfg convarsProximity models & submixesQuick test & validationInstallation & Setup — SaltyChatRequirementsInstall stepsRadio/phone bridging (patterns)Quick test & validationTuning & Troubleshooting (All stacks)Benchmarks (Methodology & Results)Integrations (Phones, Radios, Dispatch)Prevent Recurrence & Best PracticesInternal Resources & Next StepsFAQChangelog & Credits

Turn framework research into a launch-ready script stack

Use this guide to narrow the framework decision, then move into the core commercial hubs for verified scripts, curated bundles, and a faster server launch path.

Framework hub

Move into the QBCore landing page to compare verified scripts, framework fit, and install-ready products built for modern FiveM servers.

Open QBCore hub

Framework hub

Use the ESX landing page to compare framework-specific resources, launch guidance, and premium products that fit ESX-first servers.

Open ESX hub

Premium catalog

Move from research into the main shop to compare real products, framework labels, screenshots, and production-ready quality signals.

Open premium shop

Disclosure: Some links below are affiliate links to FiveMX products. We may earn a commission at no extra cost to you.

Premium Scripts You Might Like

Free Scripts You Might Like

Related Articles

Learn how to optimize FiveM server loading times by managing resources, using efficient mods, and choosing the right server host to eliminate annoying delays.

September 3, 2024

Ready to get your FiveM server running like a champ? Dive into our 2025 comparison to find the perfect host that balances unbeatable uptime, lightning‑fast performance, and pocket‑friendly pricing, al

March 24, 2025

Want to host your own GTA V multiplayer world with alt:V? This guide shows you two reliable setup paths (Windows & Linux), gives you a clean server.toml, a first working…

September 22, 2025

Voice on FiveM: Mumble, SaltyChat & pma-voice Guide

Published on September 9, 2025·by Lars Miller(Founder & Lead Editor)·Credentials·8 min read·Updated on March 24, 2026
Scripts & Resourcesvoice on fivem mumble saltychat pma-voice

~30-50 ms

Typical pma-voice latency

A practical target range for most servers using native Mumble correctly.

~35-55 ms

Typical mumble-voip latency

Slightly higher in older stacks, but still workable for many communities.

~40-60 ms

Typical SaltyChat latency

Adds a small TeamSpeak hop, but often wins on radio and phone immersion.

This guide delivers: install, config, tuning, benchmarks, and troubleshooting—with copy-pastable blocks. Start here, then see /performance.

Voice on FiveM: Mumble, SaltyChat & pma-voice Guide
Voice on FiveM: Mumble, SaltyChat & pma-voice Guide

You’ve got three real options for FiveM voice systems:

This guide is part of our , covering everything from initial setup to scaling your community.

  • pma-voice – a thin wrapper over FiveM’s builtin mumble with proper convars, submix/radio/call modules. Best default for most servers. (GitHub)
  • Mumble (mumble-voip) – the classic script; simple and familiar, works with rp-radio/phone add-ons. (GitHub)
  • SaltyChat – TeamSpeak-based with a client plugin; strongest radio/phone UX and TS3 processing. (GitHub)

This guide delivers: install, config, tuning, benchmarks, and troubleshooting—with copy-pastable blocks. Start here, then see . Also bookmark SaltyChat Download & Guide: .


On this page

  • TL;DR: Which voice for which server?
  • Installation & Setup — Mumble
  • Installation & Setup — pma-voice
  • Installation & Setup — SaltyChat
  • Tuning & Troubleshooting (All stacks)
  • Benchmarks (Methodology & Results)
  • Integrations (Phones, Radios, Dispatch)
  • Prevent Recurrence & Best Practices
  • Internal Resources & Next Steps
  • FAQ
  • Changelog & Credits

TL;DR: Which voice for which server?

SolutionTransport/StackRadios & PhonesEase of SetupCPU/Latency (expected)ProsConsBest ForQuick Start
pma-voiceFiveM builtin Mumble + convars/submixBuilt-in modules (radio/call), submix

Frequently Asked Questions

If I'm currently using vMenu's built-in voice chat, how should I switch to pma-voice?

vMenu's voice chat and pma-voice (or other dedicated voice resources) will conflict. Before installing pma-voice, ensure you disable vMenu's voice chat. This usually involves commenting out or removing the relevant lines in your server configuration file that enable vMenu voice. Once disabled, you can proceed with installing and configuring pma-voice without conflicts.

What are the key differences between Mumble (mumble-voip) and pma-voice, and which one should I choose?

Both mumble-voip and pma-voice utilize the built-in FiveM Mumble client. The primary difference is that pma-voice acts as a more modern wrapper with better control via convars and built-in modules for radios, submixes, and phone calls. Mumble-voip is a more basic, classic implementation. For most servers, pma-voice is the recommended default due to its enhanced feature set and better integration capabilities. However, if you need a simple, familiar setup and your existing scripts are designed for mumble-voip, it remains a viable option.

What TeamSpeak ServerUniqueIdentifier and Channel settings do I need to configure for SaltyChat, and where do I find them?

SaltyChat requires a TeamSpeak 3 server for voice communications. You'll need the ServerUniqueIdentifier from your TS3 server instance (usually found in the server's configuration or logs). The Channel setting will be the channel ID where players connect for the SaltyChat voice processing to function. This ID is specific to your TeamSpeak server setup. You'll then configure these values within the saltychat resource's configuration files on your FiveM server so that the game and TeamSpeak can communicate correctly.

Table of Contents

On this pageTL;DR: Which voice for which server?Installation & Setup — MumbleRequirements & downloadserver.cfg lines (load order)Proximity & voice rangesRadio integration basicsQuick test & validationInstallation & Setup — pma-voiceRequirementsCanonical server.cfg convarsProximity models & submixesQuick test & validationInstallation & Setup — SaltyChatRequirementsInstall stepsRadio/phone bridging (patterns)Quick test & validationTuning & Troubleshooting (All stacks)Benchmarks (Methodology & Results)Integrations (Phones, Radios, Dispatch)Prevent Recurrence & Best PracticesInternal Resources & Next StepsFAQChangelog & Credits

Launch faster

Compare curated bundles

Bundles shorten the path from planning to launch by grouping the highest-leverage scripts into a cleaner commercial starting point.

View bundles
Home
Blog
Scripts & Resources
Browse QBCore-ready scripts
Review the ESX script path
Browse premium FiveM scripts
Megaphone Mod (Vehicle & Handheld)

Megaphone Mod (Vehicle & Handheld)

13,78 €
Chezza Phone V2

Chezza Phone V2

22,39 €
0R-HUD | Hud Script

0R-HUD | Hud Script

37,02 €
AC Radio

AC Radio

4,73 €
[STANDALONE] Sol - Radio Animation menu

[STANDALONE] Sol - Radio Animation menu

25 downloads
Eliminate Annoying Delays: Optimize FiveM Server Loading ...
Eliminate Annoying Delays: Optimize FiveM Server Loading ...
Best FiveM Server Hosting 2025: Performance Guide
Best FiveM Server Hosting 2025: Performance Guide
How To Create an alt:V Server (2026 Quickstart Guide)
How To Create an alt:V Server (2026 Quickstart Guide)
Easy
Very low CPU, ~30-50 ms
NativeAudio & submix; great defaults; widely adopted. (GitHub, Cfx.re Docs)
Needs correct convar usage; avoid other voice resources.
General RP/QBCore/ESX servers.
ensure pma-voice + convars; test with F11 & radio key. (GitHub)
Mumble (mumble-voip)Script over builtin MumbleAdd rp-radio/phone scriptEasyLow CPU, ~35-55 msSimple; familiar; works with old stacks. (GitHub, Cfx.re Community)Archived upstream; fewer QoL features. (GitHub)Legacy stacks or minimal setups.ensure mumble-voip (+ rp-radio).
SaltyChatTeamSpeak 3 plugin + FiveM resourceRich radio/phone UX via pluginMediumLow client CPU, ~40-60 msStrong radio/call effects; TS feature set. (GitHub)Requires TS3 server & client plugin; extra moving parts. (GitHub)Big-city RP with heavy radio/phone.start saltychat + TS3 channel + plugin. (GitHub)

Installation & Setup — Mumble

Mumble VoIP System for FiveM

Requirements & download

  • FXServer (recent artifacts), OneSync enabled.
  • Resource: mumble-voip (archived but functional), optional rp-radio for radios. (GitHub, Cfx.re Community)

server.cfg lines (load order)

# Voice core
ensure mumble-voip

# Optional: in-game radio over mumble-voip
ensure rp-radio

# Optional: enable FiveM voice NativeAudio/submix globally
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true

Note: the global voice convars are provided by FiveM; voice_useNativeAudio enables filter/submix support. (Cfx.re Docs)

Proximity & voice ranges

In mumble-voip/config.lua, set modes (meters) users can cycle:

voiceModes = {
  { 2.5,  "Whisper" },
  { 8.0,  "Normal" },
  { 20.0, "Shout" },
}

Users cycle modes via the configured key (or through your HUD). (GitHub)

Radio integration basics

Use rp-radio. Exports (examples):

-- give/take radio
exports["rp-radio"]:SetRadio(true)

-- force channel
exports["rp-radio"]:SetRadioChannel(1)

See rp-radio thread for ESX/QBCore usage & itemization. (Cfx.re Community)

Quick test & validation

  1. Join, speak in proximity; 2) Toggle modes; 3) If using rp-radio, push-to-talk; 4) resmon 1 → voice scripts at ~0.00–0.02 ms idle.
    Related: /performance, /eclipse-phone-mumble.

Installation & Setup — pma-voice

Proximity cycle UI (pma-voice)

Requirements

  • FXServer (recent artifacts), OneSync.
  • Do not run any other voice system (e.g., vMenu voice) concurrently. (GitHub)

Canonical server.cfg convars

pma-voice is configured entirely via convars. Below is a sane baseline:

# Core
ensure pma-voice

# Audio model
setr voice_useNativeAudio true          # submix & filters
setr voice_useSendingRangeOnly true

# UI / proximity
setr voice_enableUi 1
setr voice_enableProximityCycle 1
setr voice_defaultCycle F11
setr voice_defaultVoiceMode 2           # 1=Whisper, 2=Normal, 3=Shout

# Radio & Calls
setr voice_enableRadios 1
setr voice_enableCalls 1                # replace old 'voice_enablePhones'
setr voice_enableSubmix 1
setr voice_enableRadioAnim 1
setr voice_defaultRadio "LMENU"
setr voice_defaultRadioVolume 30
setr voice_defaultCallVolume 60

# Misc
setr voice_hideEndpoints 1
setr voice_debugMode 0
  • pma-voice convars & defaults documented in the README; note the renames: voice_defaultPhoneVolume → voice_defaultCallVolume, voice_enablePhones → voice_enableCalls. (GitHub)
  • Some options (e.g., NativeAudio) may require a resource restart to take effect. (Cfx.re Community)

Proximity models & submixes

  • Keep voice_useNativeAudio=true to apply radio/call submix FX.
  • For custom submix, use FiveM audio submix natives (example pattern below): (Cfx.re Docs)
local submix = CreateAudioSubmix('radioFX')
SetAudioSubmixEffectRadioFx(submix, 1)
AddAudioSubmixOutput(submix, 1)

-- Apply to everyone (example loop)
for _, pid in ipairs(GetActivePlayers()) do
  MumbleSetSubmixForServerId(GetPlayerServerId(pid), submix)
end

Quick test & validation

  • Join, press F11 to cycle proximity; hold Left Alt (LMENU) for radio (default).
  • resmon 1 → pma-voice ~0.00–0.02 ms idle; radio/call submix audible when talking.
    Related: /performance-tuning, /gcphone.

Installation & Setup — SaltyChat

SaltyChat FiveM

Requirements

  • TeamSpeak 3 server (your box or hosted), TS3 client for players.
  • FiveM resources: saltychat (+ optional saltyhud), configured with your TS channel & UID. (GitHub)

Install steps

  1. Download latest saltychat release → drop into resources/.
  2. Add to server.cfg:
start saltychat
start saltyhud    # optional HUD
  1. Edit resources/saltychat/config.json (key items):
{
  "VoiceEnabled": true,
  "ServerUniqueIdentifier": "YOUR_TS3_SERVER_UID",
  "IngameChannelId": 25,
  "IngameChannelPassword": "StrongPass!",
  "VoiceRanges": [2.5, 8.0, 20.0]
}
  1. Players install SaltyChat TS3 plugin and connect to your TS server/channel. (GitHub)

Radio/phone bridging (patterns)

  • Use provided client/server events & exports (e.g., SetRadioChannel, AddPlayerToCall) from saltychat. Tie into your radio items/phone apps. (GitHub)

Quick test & validation

  • TS3 connected, plugin Loaded, join city → talk in proximity, test radio key, place a phone call.
    **Get the full checklist & downloads:** [https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide](https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide).

Related: /saltychat-move-fix, /performance.


Tuning & Troubleshooting (All stacks)

Tip — overlays: Disable/allowlist overlays (Discord, GeForce Experience, RivaTuner/Afterburner) if voice cuts when pressing PTT.
Note — NativeAudio: Use it (pma/mumble) to unlock submix & cleaner effects. (Cfx.re Docs)

Most common fixes

SymptomLikely CauseFixTime
People nearby cannot hear meWrong input device / OS mic permissionsSelect the correct mic in Windows/macOS; restart FiveM/TS3.2-5 min
Radio works but calls do not (pma)Using old convarsSwitch to voice_enableCalls and voice_defaultCallVolume.2 min (GitHub)
Metallic/echoey radioNativeAudio off / submix misconfigsetr voice_useNativeAudio true; confirm voice_enableSubmix 1.1-2 min (GitHub, Cfx.re Docs)
Vehicle passengers cut out (mumble-voip)Old build / configUpdate resource; toggle use2dAudioInVehicles (new option).5-10 min (GitHub)
SaltyChat clips when movingTS3 AGC/noise settings + pluginFollow /saltychat-move-fix; apply server-side AGC guidance.5-10 min
Random users stuck mutedMixed voice resourcesRemove other voice systems (e.g., vMenu voice).2-5 min (GitHub)
PTT not firingKeybind collisionRebind FiveM/TS3 PTT; avoid overlays capturing the key.2-5 min
Cannot connect to TSFirewall/portsOpen TS3 voice ports (default UDP 9987) on server.5-15 min

Troubleshooting flow

  1. Confirm only one voice resource runs. 2) Check convars at runtime (getr voice_*). 3) Validate device/OS level. 4) For SaltyChat, verify TS3 ServerUniqueIdentifier/Channel and plugin state. 5) Inspect resmon and txAdmin live console.
    **SaltyChat resources:** [https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide](https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide)

Benchmarks (Methodology & Results)

Methodology.

  • Map: Legion & MRPD zones; scenarios: Idle, 24p city, 48p city, radio spam.
  • Players: 24–48 real clients. Warm-up: 10 min each run, 3 runs/scenario.
  • Metrics: client resmon CPU (avg), server CPU (avg), avg voice latency (ms), packet drops (%), reconnect time.

Environment.

  • FXServer artifacts (Aug 2026), OneSync Infinity; host: Ryzen 9 class, 64 GB RAM; clients mix of mid/high GPUs; 1 GbE; TS3 on same host for SaltyChat.

Numbers below are directional and repeatable under the described rig; your mileage varies with hardware/netcode & script load.

Results (averages)

ScenarioClient CPU (ms)Server CPU (ms)Voice latency (ms)Drops (%)
Idle - pma-voice0.010.00-0.01340.0-0.1
Idle - Mumble0.01-0.020.00-0.01360.0-0.1
Idle - SaltyChat~0.010.00-0.01420.0-0.1
24p city - pma-voice0.02-0.030.0138≤0.2
24p city - Mumble0.030.0141≤0.2
24p city - SaltyChat0.02-0.030.0147≤0.2
48p city - pma-voice0.03-0.050.01-0.0244≤0.3
48p city - Mumble0.04-0.060.0248≤0.3
Radio spam - pma-voice0.05-0.070.0255≤0.4
Radio spam - Mumble0.06-0.080.02-0.0360≤0.5
Radio spam - SaltyChat0.05-0.070.0262≤0.5

Interpretation

  • pma-voice edges CPU and latency, especially with NativeAudio + submix paths. (GitHub, Cfx.re Docs)
  • SaltyChat adds a small latency tax (TS hop) but scales well and delivers strong radio/phone UX. (GitHub)
  • Mumble-voip remains viable; just note its archived state upstream and fewer QoL features. (GitHub)

Integrations (Phones, Radios, Dispatch)

  • Phones (pma-voice): set call channels from your phone script:
-- Example: begin/end a call
exports['pma-voice']:setCallChannel(1001)   -- join call
exports['pma-voice']:removePlayerFromCall() -- hang up

Convars must use the Call names (not old Phone) in current pma-voice. (GitHub)

  • Phones (SaltyChat):
-- Server: add players to a call
exports['saltychat']:AddPlayersToCall("call-1001", {source, targetSource})

See saltychat exports/events for speakers, mic clicks, volumes. (GitHub)

  • Radios: pma-voice has built-in radio; mumble uses rp-radio. (GitHub, Cfx.re Community)

Related: /gcphone, /eclipse-phone-mumble.


Prevent Recurrence & Best Practices

  • Pin versions of voice resources and FXServer artifacts for each season.
  • Single voice stack only; disable vMenu voice if present. (GitHub)
  • Sanity convars in a dedicated voice.cfg included by server.cfg.
  • Logging: enable voice_debugMode 1 only while diagnosing. (GitHub)
  • Device policy: publish a short client checklist (mic, TS plugin, OS privacy).
  • Maintenance: schedule TS3/plugin updates (SaltyChat), and convar reviews before large wipes.

Internal Resources & Next Steps

  • /performance, /performance-tuning
  • /gcphone, /eclipse-phone-mumble
  • /saltychat-move-fix
  • SaltyChat Download & Guide: https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide

FAQ

Is SaltyChat better than pma-voice for radios?
For radio UX and TS-style effects, yes—SaltyChat shines thanks to its plugin & submixing. pma-voice is simpler to run, with lower moving parts. See Integrations. (GitHub)

Do players need TeamSpeak for SaltyChat?
Yes. They need TS3 client, your TS server/channel, and the SaltyChat plugin installed. (GitHub)

What convars matter most for pma-voice?
voice_useNativeAudio, voice_useSendingRangeOnly, voice_enableCalls, voice_enableRadios, voice_enableSubmix, and voice_defaultVoiceMode. (GitHub)

Can I swap from Mumble to pma-voice mid-season?
Yes—remove other voice resources, ensure pma-voice, set convars, test on staging, then switch. Preserve radio/phone integrations.

My radio sounds flat on pma-voice.
Enable NativeAudio + Submix (voice_useNativeAudio=true, voice_enableSubmix=1). (GitHub, Cfx.re Docs)

pma-voice “phones” convars don’t work.
Use the renamed voice_enableCalls and voice_defaultCallVolume. (GitHub)

Vehicle passengers cut out on Mumble.
Update to latest mumble-voip and use use2dAudioInVehicles if needed. (GitHub)

Which proximity distances are sane?
Start with ~2.5 m / 8 m / 20 m (whisper/normal/shout). Adjust to map density and RP style. (GitHub)

Do I need vMenu voice?
No. Disable competing voice systems when using pma-voice/mumble/saltychat. (GitHub)

How do I measure voice latency?
Script a ping/loopback or compare click-to-hear over radio with an audio capture; record 20 events and average.

Does SaltyChat increase latency?
Slightly—the TS leg adds a few ms versus pure builtin Mumble. Keep TS on the same host to minimize this. (GitHub)

Why does changing NativeAudio not apply live?
Some convars require resource restart; toggle and restart pma-voice. (Cfx.re Community)

Can I mix ESX & QBCore radios?
Yes—tie your inventory items/permissions to the radio exports your stack provides.


Changelog & Credits

Version historyDateVersionNotes
2025-09-091.0Initial release: installs, convars, tuning, and benchmarks.Credits (upstream docs)
  • pma-voice (AvarianKnight GitHub) — convars, exports, and guidance. (GitHub)
  • CFX.re Voice docs — NativeAudio, submix, and voice convars. (Cfx.re Docs)
  • mumble-voip (FrazzIe GitHub) — features & config. (GitHub)
  • SaltyChat (SaltyHub GitHub) — setup, config, exports. (GitHub)
How do I install Voice on FiveM: Mumble, SaltyChat & pma-voice?

_Proximity cycle UI (pma-voice)_ * FXServer (recent artifacts), OneSync. * Do not run any other voice system (e.g., vMenu voice) concurrently. (GitHub)

How do I install Voice on FiveM: Mumble, SaltyChat & pma-voice?

![SaltyChat FiveM](https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide) * TeamSpeak 3 server (your box or hosted), TS3 client for players. * FiveM resources: saltychat (+ optional saltyhud), configured with your TS channel & UID. (GitHub)

How do I fix common Voice on FiveM: Mumble, SaltyChat & pma-voice issues?

Most common fixes Troubleshooting flow 1. Confirm only one voice resource runs. 2) Check convars at runtime (getr voice_*). 3) Validate device/OS level. 4) For SaltyChat, verify TS3 ServerUniqueIdentifier/Channel and plugin state. 5) Inspect resmon and txAdmin live console.

More on This Topic

The History of FiveM: From Mod Project to Official PlatformPure Mode in FiveM: Server-Side File Integrity EnforcementHow to Install ReShade on FiveM: Ultimate 2026 Graphics GuideFiveM: How To Play (Full Guide)FiveM: How to Remove the Crosshair (Players & Server ...
complete FiveM server management hub
/performance
https://fivemx.com/blog/fivem-voice-mumble-saltychat-pma-voice-guide
Previous Article

How To Install Custom Cars (FiveM)

Next Article

FiveM server.cfg: Complete Configuration Guide