Most FiveM radio scripts add channel routing and an audio filter on top of pma-voice. Tommy's Radio runs its own voice server and encodes speech with P25 IMBE — the same vocoder real public-safety handhelds use. The radio sound is the codec, not an effect painted over your voice.
Channels, trunking, codeplugs, a dispatch panel, 911 calls, 3D audio, and GPS all ship in one resource. One port, one config file, nothing external to sign up for.
- P25 IMBE
- the vocoder real public-safety radios use
- 3.7×
- less bandwidth than Opus
- 6
- frameworks auto-detected, or run standalone
- 10
- radio models included
- 0
- restarts to change a setting
Will it run on your server?
The answer is almost always yes, but this is the part worth checking first.
- FiveM artifact 4752 or newer. Type
versionin your server console to check. - One free TCP port, default
7777, reachable from the internet. It cannot share FiveM's 30120. - tLib v0.6 or newer — free, and the only dependency.
- A framework is optional. ESX, QBCore, QBX, ND_Core, ox_core, and nat2k15 are auto-detected. Standalone works.
- It does not replace your proximity voice. tRadio captures its own microphone stream and runs beside pma-voice or Mumble, not instead of it.
Try it before you buy it
All three are live right now, on the same server. None of them ask for an email.
The dispatch panel
The real panel, running against that server. Talk to the players on it from your browser.
Access code
The admin panel
Every setting a server owner touches — zones, channels, codeplugs, audio, speakers, towers. Change one and it reaches every connected client instantly.
Password
Or just get in the game
Press F8 in FiveM, paste the line below, and press enter. Once you spawn in, press F6 to open a radio and key up on a channel with the dispatchers above.
What you get
Radio that sounds like radio
A WebAssembly build of op25's IMBE encoder. Your voice is encoded once and decoded by every listener — in game, on the dispatch panel, and by bystanders standing next to you. P25 is set per channel, so a digital dispatch channel and an analog tac channel live on the same radio.
Conventional and trunked channels
Conventional is one shared frequency: everyone on it hears everyone else. Trunked splits units onto sub-frequencies by location, so units spread across the map stop stepping on each other — and dispatch still reaches all of them. Patch any two channels together on the fly, and the patch survives a restart.
A dispatch panel, and a working 911 line
Browser panel plus a native Windows app with global push-to-talk. Dispatchers transmit to any channel, patch frequencies, arm announcement groups, replay a transmission they missed, and set callsigns.
Players dial /911 — or 911 on their LB Phone — and land in a queue with their number, location, and message. The dispatcher accepts and they talk, hands-free, ESC to hang up. No radio or codeplug needed to call.
Speakers you can place, tones you can drop
Grab a coordinate in game with one command, paste it into the admin panel with a radius and an optional prop, and group speakers by station. A dispatcher picks a tone and a target, and it plays at those coordinates in 3D — station alerting, tone-outs, PA stingers. Everyone inside the radius hears it positioned. Nobody outside does.
Everyone nearby hears your radio
Stand next to a unit taking a call and you hear their radio at their position — voice, tones, the siren behind them, rotor wash, gunshots fired mid-transmission. Earbuds gate your outgoing broadcast, and a configured earpiece item enables them automatically.
A radio that's really in the dash
Not a screenshot taped to the dashboard. It is a streamed prop with a live display — zone, channel, signal bars, status LEDs — rendering the same thing the player's radio shows. Walk away from the car and it takes over as the audio source at longer range.
Placement is per vehicle model, done in game: sit in the car, open the editor, and drag it into place with a Three.js gizmo. Save, and every client sees it immediately.
Codeplugs — one radio per department
The same thing real agencies program into their fleets. A codeplug decides which channels a unit can transmit on, which it can only scan, which radio models it may carry, and whose GPS blips it sees. Map jobs to codeplugs in one table, optionally per rank, so a sergeant's radio carries channels a patrol officer's does not.
Coverage you can plan — and lose
Put signal towers at coordinates you pick. Strength falls off with distance from the nearest one, and with degradation on, a weak signal audibly chews up the audio — the edge of the county sounds like the edge of the county.
Geo zones work the other way: a coordinate and a radius around the mall or the prison, and a unit walking in switches to that area's channel and back out again.
Built to be taken apart
Radio models are HTML and CSS folders; ten ship. Twenty-five tone slots. Five dispatch themes, plus a four-tier theming SDK — recolour with tokens, restyle with CSS, swap individual components, or rebuild the console from a declarative template. None of it needs JavaScript.
One click, no code, no restart
Radio UIs, dispatch themes, and tones publish to the tMarketplace. Find one, press install in Admin Panel → Marketplace, and it shows up in every player's style picker the next time they open the radio. No file transfer, no restart tRadio, no editing anything.
Live today: extra handhelds, a car radio, a tone pack, and a full dispatch-console theme. Because layouts and themes are just HTML and CSS, anyone can build one — and publishing needs no review queue.
Also included
- A live admin panel. Every audio knob, FX setting, signal curve, and timer, pushed to every connected client instantly.
- Alerts and panic. Coloured banners with activate, repeat, and clear tones, plus man-down escalation and announcement groups.
- An official Stream Deck plugin. Free, and it works with Stream Deck Mobile and OpenDeck.
- Details that sell it. Battery drain, bonk tones, spoken zone and channel announcements. All optional.
- Multi-server federation. Satellites share one voice server and one dispatch panel.
- Integrations. LB Phone, LB Radio, ImperialCAD, and Discord OAuth for panel access.
- An API. Lua exports, a REST API, and a Socket.IO event stream.
- Translatable. Every player-facing string lives in one JSON file.
Specifications
Compatibility
7777, internet-reachableWhat stays open
config.lua, cl_functions.lua, sv_functions.lua, locales.json, layouts/, data.jsonsv_functions.lua and cl_functions.luaWhat is included
Buying it
Questions people actually ask
Do I really have to open a port?
Yes, and it is the step that goes wrong most often. tRadio runs its own voice server inside the FiveM process, and that server needs one TCP port reachable from the internet. Most hosting panels expose extra ports on request. The installation guide covers Windows, Linux, and the common hosts.
Will it fight with pma-voice?
No. Radio PTT uses tRadio's own microphone capture on its own server, so your proximity voice keeps working exactly as it does now. The only place tRadio touches in-game voice is 911 calls, which use voice activation.
It says Escrow. Can I still configure it?
Yes. The resource is escrow-encrypted, but config.lua, both function-hook files,
locales.json, layouts/, and data.json ship unencrypted and stay yours. Framework
integration is a Lua function you write. Nearly everything else is a setting in the admin panel,
applied live.
What is still rough?
The 911 system works end to end but is still settling, and can be switched off from the admin panel without affecting anything else. Transmission playback and the LB Phone / LB Radio integrations are also marked experimental. Trunked channels cannot be patched.
One-time or monthly?
Both get every update and the same support. Buy once and it is yours; subscribe if you would rather spread the cost, and cancel any time from your account.
Can I get a refund?
7 days on the one-time purchase, after you have given support a shot at the problem. Subscriptions are not refundable, but cancelling stops the next renewal immediately and you keep access to the end of the period. Full terms: refund policy.
Still not sure?
Ask before you buy. The Discord is the fastest route, and the entire documentation is public — configuration, API, and troubleshooting included. Read it before you spend anything.
