tRadio
$19.99/mo
BuyTommy's Radio
Real P25 radio for FiveM — dispatch panel, trunking, and 3D audio
Tommy's Radio Overview
1 / 19
or $19.99/mo
One-time purchase — lifetime access to this product, for as long as we continue to offer it.
Powered by Tebex. Instant delivery to your Cfx.re account. Refund policy.
Roadmap
View board- 5Planned
- 6In Progress
FiveM usage
| Day | Servers |
|---|---|
| 12 Oct 2026 | 522 |
| 13 Oct 2026 | 522 |
| 14 Oct 2026 | 511 |
| 15 Oct 2026 | 505 |
| 16 Oct 2026 | 520 |
| 17 Oct 2026 | 518 |
| 18 Oct 2026 | 507 |
- 507
- Servers
- 1,455
- Players
- #1,036
- Rank
Description
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. No port to open, one config file, nothing external to sign up for.
- the vocoder real public-safety radios use
- P25 IMBE
- less bandwidth than Opus
- 3.7×
- frameworks auto-detected, or run standalone
- 6
- radio models included
- 11
- restarts to change a setting
- 0
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. - No port to open. The radio runs over the FiveM connection players already have. A public port is tLib's, and only if you additionally publish the dispatch and admin panels to a browser or host a federation.
- tLib v1.0 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.
Open the panel141The admin panel
Every setting a server owner touches — zones, channels, codeplugs, audio, speakers, towers. Change one and it reaches every connected client instantly.
Open the admin panel141Or 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.
Connect in FiveMconnect fivem.timmygstudios.com
What you get
Radio that sounds like radio
A real P25 Phase 1 vocoder (IMBE) running in WebAssembly. 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. It ships off, so a server that does not want a 911 line never has one.
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. A unit wearing earbuds is heard by nobody around them — the audio goes to their ears instead of their radio's speaker — and a configured earpiece item switches earbuds on 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; eleven ship. Twenty-seven 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
- FiveM artifact
- 4752 or newer
- Frameworks
- Standalone, ESX, QBCore, QBX, ND_Core, ox_core, nat2k15 — auto-detected
- Dependencies
- tLib v1.0+ (free). Nothing else
- Voice
- Runs alongside pma-voice / Mumble, does not replace it
- Ports
- None for the radio itself. tLib's port only to publish the panels to a browser or host a federation
- Multi-server
- Satellite federation onto one shared voice server and panel
What stays open
- Protection
- FiveM Asset Escrow
- Editable, unencrypted
config.lua,cl_functions.lua,sv_functions.lua,locales.json,layouts/- Yours, never shipped
data.json— created on first start, never included in an update- Framework hooks
- All of them, in
sv_functions.luaandcl_functions.lua - Extension points
- Lua exports, REST API, Socket.IO events, theme SDK
What is included
- Radio models
- 11, plus marketplace installs
- Tone slots
- 27, remappable globally or per model
- Dispatch themes
- 5 built in, more from the marketplace
- Dispatch app
- Browser panel + Windows desktop app with global PTT
- Stream Deck
- Official plugin, free with the resource
- Marketplace
- One-click UIs, themes, and tones from the admin panel — no restart
- Preconfigured
- 3 zones, 12 channels, a working codeplug, 4 alerts
Buying it
- Updates
- Included, forever, on both the one-time and monthly options
- Support
- Discord, with a purchase-linked role
- Refunds
- 7-day money-back guarantee on the one-time purchase
- Test server
- Public, permanent, no purchase needed
Questions people actually ask
No. The radio, the voice and the dispatch panel in game all work with nothing opened. A port — tLib's, default 7777 — is only wanted if you want to reach the dispatch panel from a browser outside the server, connect the desktop app to it, or host a federation. The installation guide covers it for Windows, Linux and the common hosts.
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.
Yes. The resource is escrow-encrypted, but config.lua, both function-hook files,
locales.json and layouts/ ship unencrypted and stay yours. data.json — your zones,
channels, codeplugs, alerts and admin settings — is not in the download at all; the server
creates it on first start and nothing in an update touches it. Framework integration is a Lua
function you write. Nearly everything else is a setting in the admin panel, applied live.
The AI dispatcher as a whole is experimental, and running its models locally rather than on hosted API keys is the roughest part of it. The scanner is experimental too — one model, handheld only, no favorites yet — and is handed out as a codeplug, so an unmapped one never reaches a player. Transmission playback and the LB Phone / LB Radio integrations are also marked experimental. Trunked channels cannot be patched.
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.
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.
TIMMYG Studios