Skip to content

Tommy's Radio

tRadio

tRadio runs its own voice server and encodes speech with P25 Phase 1 IMBE, the standard full-rate P25 vocoder.

Channels, trunking, codeplugs, a dispatch panel, 911 calls, 3D audio, station alerting and GPS ship in one resource. One config file, no port to open, nothing to sign up for.

Compare to Sonoran Radio · Compare to SCNP25 · Compare to Zerio Radio

the standard full-rate P25 vocoder
P25 IMBE
less bandwidth than Opus
4.8×
frameworks auto-detected, or run standalone
6
radio models included
11
restarts to change a setting
0

The bandwidth figure compares tRadio's own two encodings. A P25 IMBE frame is 16 bytes of parameter data every 20 ms — 6.6 kbps once packet overhead is counted — against the 32 kbps tRadio configures for its Opus capture on analog channels.

Requirements

RequirementDetail
FiveMArtifact 4752 or newer. Run version in your server console
tLibv1.1+ for 7.1 and newer, v1.0+ for 7.0 and older. Free — download. No other dependency
OneSyncon. Positional features silently do nothing without it
Web access7.1+: nothing to open — the panels answer on the FiveM server port, and tLib's port is optional for the full-capability panel. 7.0 and older: open tLib's port
FrameworkOptional. ESX, QBCore, QBX, ND_Core, ox_core and nat2k15 auto-detect; standalone works
VoiceRuns alongside pma-voice or Mumble. It does not replace proximity voice

Install

  1. Extract tLib and tRadio into resources/
  2. Add ensure tLib then ensure tRadio to server.cfg
  3. Restart the server
  4. Join as police, sheriff, ambulance or fire, press F6, hold B

A new install is not empty: three zones, twelve channels, a working codeplug, four alerts and job mappings for those four jobs ship preconfigured.

Try it first

All three are live now, on one server, and none need a purchase.

  • The dispatch panel

    The real panel, running against that server. Talk to the players on it from your browser.

    141
    Open the panel
  • The admin panel

    Every setting a server owner touches — zones, channels, codeplugs, audio, alerts, speakers, towers. Change one and it reaches every connected client instantly.

    141
    Open the admin panel
  • Or get in the game

    Press F8 in FiveM, paste the line below, press enter. Once you spawn in, press F6 and key up on a channel with the dispatchers above.

    connect fivem.timmygstudios.com
    Connect in FiveM

Features

Radio that sounds like radio

A real P25 Phase 1 vocoder (IMBE), with M17's Codec 2 selectable per channel. P25 is set per channel, so a digital dispatch channel and an analog tac channel live on the same radio, with an analog FX chain on top of either.

Conventional and trunked channels

Conventional is one shared frequency. Trunked assigns units to sub-frequencies by location, so crews across the map stop stepping on each other. Patching bridges channels on the fly and survives a restart, and a floating channel list shows who is on with you and who is transmitting.

Patching two channels from the panel

Codeplugs — one radio per department

A codeplug is a radio personality: which channels a unit may transmit on, which it may only scan, which models it may carry, what its emergency button does, and whose GPS blips it sees. Map jobs to codeplugs in one table, optionally per rank. Unmapped jobs get no radio.

lua
leo              = { jobs = { police = 0 } },
['leo-command']  = { jobs = { police = 8 } },
Building a codeplug

A dispatch panel that dispatches

A browser panel plus a Windows app with global push-to-talk and auto-updates. Transmit to any channel, patch frequencies, arm announcement groups, trigger alerts, answer 911 calls, replay buffered traffic and assign callsigns.

Speakers you can place, tones you can drop

Stand where you want a speaker, run /tradio_debug coords, and paste the position into Coverage → Speakers with a radius and an optional prop. A dispatcher picks a tone and presses a speaker or group; it plays at those coordinates in 3D. Nobody outside the radius hears it.

A working 911 line

Players dial /911, or 911 on their LB Phone, and land in a queue with their number, unit ID, location and message. Callers speak hands-free over voice activation and press ESC to hang up. No radio or codeplug is needed to call. It ships off — turn it on in Settings → General → 911 Calling. See 911 calls.

Radio in 3D space

Players near a talker hear their radio at their position — voice, tones, the siren loop, rotor noise and gunshots fired mid-transmission. A player wearing earbuds is heard by nobody around them — their radio audio goes to their ears — and a configured earpiece item switches earbuds on for them. See 3D audio.

A radio that lives in the dash

A streamed prop with a live display mirroring the player's own radio. Walk away and it takes over as the audio source at extended range. Place it per vehicle in game, with 3D Prop Editor in /tradio's sidebar.

Dash-mounted radio heads at night

Coverage you can plan — and lose

Signal towers go in at coordinates you pick, and strength falls off with distance. Turn on degradation and a weak signal chews up the audio. Geo zones switch a unit to a local channel as they walk in, opt-in per player.

Tune every knob, live

The admin panel covers the FX chain, coverage, half-duplex bonking, 3D ranges, GPS blip rate, man-down timers, 911 cooldowns, keybinds and default layouts. Changes broadcast to every client instantly.

Details that sell the illusion

Battery drains on foot and charges in any vehicle, chirping under 50% and cutting out at zero. Man-down escalates from a warning tone to a full emergency. Keying over another transmission earns a bonk, with a double-tap override. Every one is a toggle, and every player-facing string is translatable.

Built to be customized

Radio models are HTML and CSS folders in layouts/ — eleven ship. Thirty-nine tone slots remap globally or per model. A full Lua export surface, a REST API and a Socket.IO stream cover anything the UI does not.

Make the dispatch panel yours

Five themes ship built in. Beyond that: recolor with design tokens, restyle with CSS, replace individual components, or rebuild the console with a declarative template. See theming.

Retheming the dispatch panel

One click, no code, no restart

Radio UIs, dispatch themes and tones install from Admin Panel → Marketplace and appear in every player's style picker the next time they open the radio. No file transfer, no restart.

Drive it from a Stream Deck

Our own plugin turns an Elgato Stream Deck into a live radio panel: channel and zone on the key, signal bars, who is talking, panic in red, the 911 queue count. It drives both the in-game radio and the panel, with no companion app. Free with the resource. See Stream Deck.

Plays well with your stack

Auto-detects six frameworks; access refreshes the moment a job changes. Discord OAuth gates the panels by role. Optional integrations mirror 911 calls into six CAD and MDT systems, hook dialing into LB Phone, and surface status in LB Radio. Satellite mode federates several servers onto one radio network.


Specifications

Compatibility

FiveM artifact
4752 or newer
Frameworks
Standalone, ESX, QBCore, QBX, ND_Core, ox_core, nat2k15 — auto-detected
Dependencies
tLib v1.1+ for 7.1 and newer, v1.0+ for 7.0 and older (free). Nothing else
Voice
Runs alongside pma-voice / Mumble, does not replace it
Ports
7.1+: none required — the panels answer on the FiveM server port, with tLib's port optional for the full-capability panel. 7.0 and older: tLib's port must be open
Multi-server
Satellite federation onto one shared voice server and panel
Connected users
No limit

What stays open

Protection
FiveM Asset Escrow
Editable, unencrypted
config.lua, cl_functions.lua, sv_functions.lua, locales.json, layouts/, data.json
Framework hooks
All of them, in sv_functions.lua and cl_functions.lua
Extension points
Lua exports, REST API, Socket.IO events, theme SDK

What is included

Radio models
11, plus marketplace installs
Tone slots
39, 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
First-party 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

Questions people actually ask


IMBE and AMBE are trademarks of Digital Voice Systems, Inc. P25 and Project 25 identify the public-safety radio standards this product simulates. Stream Deck is a trademark of Elgato Systems GmbH. TIMMYG Studios LLC is not affiliated with, endorsed by, or sponsored by Digital Voice Systems, Inc., APCO International, the Telecommunications Industry Association, or Elgato Systems GmbH.

How it compares

Sourced comparisons against other scripts in the same category. Every claim about them is quoted from their own public pages.

Still stuck? Support can answer it directly.

Was this page helpful?