Coupon WELCOME disponibile Usa il codice WELCOME al checkout entro il 31 luglio 2026. WELCOME

Voice on FiveM: Mumble / SaltyChat / pma-voice (Setup, Tu…

pma-voice, Mumble and SaltyChat quick answer

Use one voice stack at a time. Most modern FiveM servers should start with pma-voice unless they need a TeamSpeak-based SaltyChat workflow.

  • Do not run pma-voice, mumble-voip, and SaltyChat together on the same live server.
  • Verify voice convars, radio/call integrations, and the F11 or voice-range key after every change.
  • Test proximity, radio, phone calls, reconnects, and permissions with normal player accounts.

Related shop paths: Script telefono | Strumenti di amministrazione | FiveM Scripts

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

  • pma-voce – un sottile involucro sopra il built-in di FiveM borbottare con convar appropriate, moduli submix/radio/call. Miglior impostazione predefinita per la maggior parte dei server. (GitHub)
  • Mumble (mumble-voip) – lo script classico; semplice e familiare, funziona con i componenti aggiuntivi rp-radio/telefono. (GitHub)
  • SaltyChat – Basato su TeamSpeak con un plugin client; UX radio/telefono più potente ed elaborazione TS3. (GitHub)

Questa guida fornisce: installare, configurazione, messa a punto, parametri di riferimento, E Risoluzione dei problemi—con blocchi copiabili e incollabili. Inizia qui, poi vedi /prestazioneAggiungi anche ai preferiti Scarica e guida SaltyChat: https://fivemx.com/saltychat-download/.



TL;DR: Quale voce per quale server?

SoluzioneTrasporto/PilaRadio e telefoniFacilità di installazioneCPU/Latenza (prevista)ProfessionistiControIdeale perAvvio rapido
pma-voceMumble integrato FiveM + convar/submixModuli integrati (radio/chiamata), submixFacileCPU molto bassa, ~30–50 msNativeAudio e submix; ottimi valori predefiniti; ampiamente adottati. (GitHub, Documenti Cfx.re)Richiede un corretto utilizzo di convar; evitare altre risorse vocali.Server RP/QBCore/ESX generici.garantire pma-voice + convars; test con F11 e tasto radio. (GitHub)
Mumble (mumble-voip)Script su Mumble integratoAggiungi script rp-radio/phoneFacileBassa CPU, ~35–55 msSemplice; familiare; funziona con vecchi stack. (GitHub, Comunità Cfx.re)Archiviato a monte; meno funzionalità QoL. (GitHub)Stack legacy o configurazioni minime.garantire mumble-voip (+ rp-radio).
SaltyChatTeamSpeak 3 plugin + risorsa FiveMUX radio/telefono avanzata tramite pluginMedioBassa CPU client, ~40–60 msPotenti effetti radio/chiamata; set di funzionalità TS. (GitHub)Richiede il plugin server e client TS3; parti mobili aggiuntive. (GitHub)Gioco di ruolo ambientato in una grande città, con radio e telefono pesanti.inizia saltychat + Canale TS3 + plugin. (GitHub)

Installazione e configurazione — Mumble

mumble FiveM

Requisiti e download

  • FXServer (artefatti recenti), OneSync abilitato.
  • Risorsa: mumble-voip (archiviato ma funzionante), facoltativo rp-radio per le radio. (GitHub, Comunità Cfx.re)

server.cfg linee (ordine di caricamento)

# Voice core assicura mumble-voip # Facoltativo: radio in-game su mumble-voip assicura rp-radio # Facoltativo: abilita la voce FiveM NativeAudio/submix a livello globale setr voice_useNativeAudio true setr voice_useSendingRangeOnly true

Nota: le variabili vocali globali sono fornite da FiveM; voice_useNativeAudio abilita il supporto filtro/submix. (Documenti Cfx.re)

Prossimità e portata vocale

In mumble-voip/config.lua, imposta le modalità (contatori) che gli utenti possono selezionare:

voiceModes = { { 2.5, "Sussurro" }, { 8.0, "Normale" }, { 20.0, "Urlo" }, }

Gli utenti cambiano le modalità tramite il tasto configurato (o tramite l'HUD). (GitHub)

Nozioni di base sull'integrazione radio

Utilizzo rp-radio. Esportazioni (esempi):

-- esportazioni radio give/take["rp-radio"]:SetRadio(true) -- esportazioni canale force["rp-radio"]:SetRadioChannel(1)

Vedere il thread rp-radio per l'utilizzo e la suddivisione in dettagli di ESX/QBCore. (Comunità Cfx.re)

Test e convalida rapidi

  1. Partecipa, parla in prossimità; 2) Cambia modalità; 3) Se usi rp-radio, premi per parlare; 4) resmon 1 → script vocali a ~0,00–0,02 ms di inattività.
    Imparentato: /prestazione, /eclipse-phone-mumble.

Installazione e configurazione — pma-voice

Requisiti

  • FXServer (artefatti recenti), OneSync.
  • Non eseguire contemporaneamente qualsiasi altro sistema vocale (ad esempio, la voce vMenu). (GitHub)

Canonico server.cfg convars

pma-voice è configurato interamente tramite convar. Di seguito è riportata una baseline valida:

# Core assicura pma-voice # Modello audio setr voice_useNativeAudio true # submix e filtri setr voice_useSendingRangeOnly true # UI / prossimità setr voice_enableUi 1 setr voice_enableProximityCycle 1 setr voice_defaultCycle F11 setr voice_defaultVoiceMode 2 # 1=Sussurro, 2=Normale, 3=Urlo # Radio e chiamate setr voice_enableRadios 1 setr voice_enableCalls 1 # sostituisce il vecchio '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 documentati nel README; notare il rinomina: voice_defaultVolume telefonovoice_defaultCallVolume, voice_enableTelefonivoice_enableCalls. (GitHub)
  • Alcune opzioni (ad esempio, NativeAudio) potrebbero richiedere un riavvio delle risorse per avere effetto. (Comunità Cfx.re)

Modelli di prossimità e submix

  • Mantenere voice_useNativeAudio=true per applicare radio/chiamata sottomiscela Effetti speciali.
  • Per i submix personalizzati, utilizzare i submix audio nativi FiveM (esempio di schema di seguito): (Documenti Cfx.re)
submix locale = CreateAudioSubmix('radioFX') SetAudioSubmixEffectRadioFx(submix, 1) AddAudioSubmixOutput(submix, 1) -- Applica a tutti (ciclo di esempio) per _, pid in ipairs(GetActivePlayers()) do MumbleSetSubmixForServerId(GetPlayerServerId(pid), submix) end

Test e convalida rapidi

  • Unisciti, premi F11 per ciclare la prossimità; tenere premuto Alt sinistro (LMENU) per la radio (predefinito).
  • resmon 1pma-voce ~0,00–0,02 ms inattivo; submix radio/chiamata udibile durante la conversazione.
    Imparentato: /ottimizzazione delle prestazioni, /gcphone.

Installazione e configurazione — SaltyChat

SaltyChat FiveM

Requisiti

  • TeamSpeak 3 server (il tuo box o ospitato), client TS3 per i giocatori.
  • Risorse FiveM: chat salata (+ facoltativo saltyhud), configurato con il tuo canale TS e UID. (GitHub)

Passaggi di installazione

  1. Scarica l'ultima versione chat salata rilasciare → rilasciare risorse/.
  2. aggiungere a server.cfg:
avvia saltychat avvia saltyhud # HUD opzionale
  1. Modificare risorse/saltychat/config.json (elementi chiave):
{ "VoiceEnabled": true, "ServerUniqueIdentifier": "YOUR_TS3_SERVER_UID", "IngameChannelId": 25, "IngameChannelPassword": "StrongPass!", "VoiceRanges": [2.5, 8.0, 20.0] }
  1. I giocatori installano Plugin SaltyChat TS3 e connettiti al tuo server/canale TS. (GitHub)

Ponti radio/telefono (schemi)

  • Utilizzare gli eventi client/server e le esportazioni forniti (ad esempio, Imposta canale radio, AggiungiGiocatoreAChiamata) da saltychat. Collegalo ai tuoi dispositivi radio/app del telefono. (GitHub)

Test e convalida rapidi

  • TS3 connesso, plug-in Caricato, unisciti alla città → parla nelle vicinanze, prova la chiave radio, effettua una chiamata telefonica.
    Ottieni la checklist completa e i download: https://fivemx.com/saltychat-download/.
    Imparentato: /saltychat-move-fix, /prestazione.

Ottimizzazione e risoluzione dei problemi (tutti gli stack)

Suggerimento: sovrapposizioni: Disattiva/consenti le sovrapposizioni (Discord, GeForce Experience, RivaTuner/Afterburner) se la voce si interrompe quando si preme PTT.
Nota — NativeAudio: Usalo (pma/mumble) per sbloccare effetti submix e cleaner.Documenti Cfx.re)

Le soluzioni più comuni

SintomoProbabile causaAggiustareTempo
Le persone vicine non possono sentirmiDispositivo di input errato/autorizzazioni microfono del sistema operativoSelezionare il microfono corretto in Windows/macOS; riavviare FiveM/TS3.2–5 minuti
La radio funziona ma le chiamate no (pma)Utilizzo di vecchie convarPassa a voice_enableCalls E voice_defaultCallVolume.2 minuti (GitHub)
Radio metallica/echeggianteNativeAudio disattivato / configurazione errata del submixsetr voice_useNativeAudio true; confermare voice_enableSubmix 1.1–2 minuti (GitHub, Documenti Cfx.re)
I passeggeri del veicolo sono stati interrotti (mumble-voip)Vecchia build/configurazioneAggiorna risorsa; attiva/disattiva use2dAudioInVehicles (nuova opzione).5–10 minuti (GitHub)
SaltyChat si blocca durante lo spostamentoImpostazioni AGC/rumore TS3 + pluginSeguire /saltychat-move-fix; applicare la guida AGC lato server.5–10 minuti
Utenti casuali bloccati in modalità silenziosaRisorse vocali misteRimuovere altri sistemi vocali (ad esempio, la voce vMenu).2–5 minuti (GitHub)
PTT non si attivaCollisione dei tasti di scelta rapidaRiassociare FiveM/TS3 PTT; evitare che le sovrapposizioni catturino il tasto.2–5 minuti
Impossibile connettersi a TSFirewall/porteAprire le porte vocali TS3 (UDP 9987 predefinita) sul server.5–15 minuti

Flusso di risoluzione dei problemi

  1. Confermare che venga eseguita solo una risorsa vocale. 2) Controllare le convar in fase di esecuzione (ottenere voce_*). 3) Convalida il livello del dispositivo/sistema operativo. 4) Per SaltyChat, verifica TS3 ServerUniqueIdentifier/Canale e lo stato del plugin. 5) Ispezionare resmon e la console live txAdmin.
    Risorse di SaltyChat: https://fivemx.com/saltychat-download/

Benchmark (metodologia e risultati)

Metodologia.

  • Mappa: zone della Legione e del MRPD; scenari: Inattivo, città 24p, città 48p, spam radio.
  • Giocatori: 24–48 clienti reali. Riscaldamento: 10 minuti per ogni esecuzione, 3 esecuzioni/scenario.
  • Metrica: cliente resmon CPU (avg), CPU del server (avg), avg latenza vocale (ms), pacchetto gocce (%), tempo di riconnessione.

Ambiente.

  • Artefatti FXServer (agosto 2025), OneSync Infinity; host: classe Ryzen 9, 64 GB di RAM; client con GPU di fascia medio-alta; 1 GbE; TS3 sullo stesso host per SaltyChat.

I numeri sottostanti sono direzionali e ripetibili con l'attrezzatura descritta; il risultato varia in base all'hardware/netcode e al carico dello script.

Risultati (medie)

Scenario →CPU client (ms)CPU del server (ms)Latenza vocale (ms)Gocce (%)
Inattivo — pma-voice0.010,00–0,01340,0–0,1
Inattivo — Mumble0,01–0,020,00–0,01360,0–0,1
Inattivo — SaltyChat~0.010,00–0,01420,0–0,1
24p city — pma-voice0,02–0,030.0138≤0,2
Città 24p — Mumble0.030.0141≤0,2
Città 24p — SaltyChat0,02–0,030.0147≤0,2
48p city — pma-voice0,03–0,050,01–0,0244≤0,3
Città da 48 pence — Mumble0,04–0,060.0248≤0,3
Spam radiofonico — pma-voice0,05–0,070.0255≤0,4
Spam radiofonico — Mumble0,06–0,080,02–0,0360≤0,5
Spam radiofonico — SaltyChat0,05–0,070.0262≤0,5

Interpretazione

  • pma-voce CPU e latenza dei bordi, in particolare con percorsi NativeAudio + submix. (GitHub, Documenti Cfx.re)
  • SaltyChat aggiunge una piccola imposta sulla latenza (TS hop) ma è ben scalabile e offre una solida esperienza utente radio/telefonica.GitHub)
  • Mumble-voip rimane valido; basta notare il suo stato archiviato a monte e meno funzionalità QoL. (GitHub)

Integrazioni (telefoni, radio, dispatch)

  • Telefoni (pma-voice): imposta i canali di chiamata dallo script del tuo telefono:
-- Esempio: inizia/termina una chiamata exports['pma-voice']:setCallChannel(1001) -- unisciti alla chiamata exports['pma-voice']:removePlayerFromCall() -- riaggancia

Le convar devono usare il Chiamata nomi (non vecchi Telefono) nella voce pma corrente. (GitHub)

  • Telefoni (SaltyChat):
-- Server: aggiungi giocatori a una chiamata exports['saltychat']:AddPlayersToCall("call-1001", {source, targetSource})

Vedere le esportazioni/eventi di SaltyChat per altoparlanti, clic del microfono, volumi. (GitHub)

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


Prevenire la recidiva e le migliori pratiche

  • Versioni pin di risorse vocali e artefatti FXServer per ogni stagione.
  • Stack di voce singola solo; disabilita la voce vMenu se presente. (GitHub)
  • Convars di sanità mentale in un dedicato voce.cfg incluso da server.cfg.
  • Registrazione: abilitare voice_debugMode 1 solo durante la diagnosi. (GitHub)
  • Criteri del dispositivo: pubblicare una breve checklist del client (microfono, plugin TS, privacy del sistema operativo).
  • Manutenzione: pianificare gli aggiornamenti di TS3/plugin (SaltyChat) e le revisioni di Convar prima di grandi cancellazioni.

Risorse interne e prossimi passi


Domande frequenti

SaltyChat è migliore di pma-voice per le radio?
Per l'esperienza utente radiofonica e gli effetti in stile TS, sì: SaltyChat eccelle grazie al suo plugin e al submixing. pma-voice è più semplice da usare, con meno parti mobili. Vedi Integrazioni. (GitHub)

I giocatori hanno bisogno di TeamSpeak per SaltyChat?
Sì. Devono essere installati il client TS3, il server/canale TS e il plugin SaltyChat.GitHub)

Quali convar sono più importanti per pma-voice?
voice_useNativeAudio, voice_useSendingRangeOnly, voice_enableCalls, voice_enableRadios, voice_enableSubmix, E voice_defaultModalità vocale. (GitHub)

Posso passare da Mumble a pma-voice a metà stagione?
Sì, rimuovi altre risorse vocali, garantire pma-voice, imposta le convar, esegui il test in staging, quindi cambia. Mantieni le integrazioni radio/telefono.

La mia radio suona piatta con la voce pma.
Abilita NativeAudio + Submix (voice_useNativeAudio=true, voice_enableSubmix=1). (GitHub, Documenti Cfx.re)

Le convar "phones" pma-voice non funzionano.
Utilizzare il rinominato voice_enableCalls E voice_defaultCallVolume. (GitHub)

I passeggeri del veicolo sono stati eliminati da Mumble.
Aggiorna all'ultima versione di mumble-voip e usa use2dAudioInVehicles se necessario. (GitHub)

Quali distanze di prossimità sono ragionevoli?
Inizia con ~2,5 m / 8 m / 20 m (sussurro/normale/urlo). Adatta alla densità della mappa e allo stile RP. (GitHub)

Ho bisogno della voce vMenu?
No. Disattivare i sistemi vocali concorrenti quando si utilizza pma-voice/mumble/saltychat. (GitHub)

Come si misura la latenza vocale?
Crea uno script per un ping/loopback o confronta il clic per ascoltare via radio con una cattura audio; registra 20 eventi e calcola la media.

SaltyChat aumenta la latenza?
Leggermente: la funzionalità TS aggiunge qualche ms rispetto al Mumble integrato. Mantenere TS sullo stesso host per ridurre al minimo questo problema.GitHub)

Perché la modifica di NativeAudio non viene applicata in tempo reale?
Alcune convar richiedono il riavvio delle risorse; attiva e disattiva e riavvia pma-voce. (Comunità Cfx.re)

Can I mix ESX e QBCore radios?
Sì, collega gli oggetti/permessi del tuo inventario alle esportazioni radio fornite dal tuo stack.


Changelog e crediti

Cronologia delle versioni

DataVersioneNote
2025-09-091.0Versione iniziale: installazioni, convar, ottimizzazione e benchmark.

Crediti (documenti upstream)

  • pma-voce (AvarianKnight GitHub) — convars, esportazioni e guida. (GitHub)
  • Documenti vocali CFX.re — NativeAudio, submix e conversioni vocali. (Documenti Cfx.re)
  • mumble-voip (FrazzIe GitHub) — caratteristiche e configurazione. (GitHub)
  • SaltyChat (SaltyHub GitHub) — installazione, configurazione, esportazioni. (GitHub)
Luca
Luca

Mi chiamo Luke, sono un giocatore e amo scrivere di FiveM, GTA e giochi di ruolo. Gestisco una community di gioco di ruolo e ho circa 10 anni di esperienza nell'amministrazione di server.

Articoli: 436