Skip to content

The audio path

Each channel owns a clone of Assets/BusTemplate:

flowchart LR
  A[Input] --> B[LowCut] --> C[HighCut] --> D[Gate] --> E[Compressor] --> F[Presence]
  F --> G[Codec] --> H[Distortion] --> I[Limiter] --> J[Mono] --> K[Output]

What makes it sound like MOTOTRBO

Not a toy walkie-talkie. Open each to see why.

Band

A hard 300–3400 Hz band with steep filters. The real vocoder samples at 8 kHz. Slopes come from Config.Dsp.BandLimit.

Silence

The gate sits after the band limit, so gaps are dead silent: no carrier hiss, no squelch tail on digital channels.

AGC

Heavy, fast compression: every talker arrives at one level.

Codec

A faint metallic sheen. Bypass it for a spotless sound.

Access

The talk permit tone and the mic wait Config.Digital.AccessTime for the channel grant. Talk before the tone and it is lost, exactly like the real thing.

Late entry

Arriving on a call already under way stays muted for Config.Digital.LateEntry while the radio syncs.

Fringe

Weak signal breaks up instead of hissing.

Weak-signal and privacy artefacts are played by each client on that radio's Link and Garble nodes, from the RxQuality / RxDigital / RxGarbled attributes the server sets. Nothing is streamed per frame.

Tuning it

The DSP ships as authored instances, not code, so you can hear your changes in the Explorer: open Assets/BusTemplate and tune.

Config.Dsp.ApplyFromConfig = false (the default) means the instance wins over the numbers in the config.

Note

If an engine build lacks one of the newer audio nodes, the server bypasses that node and says so in Output rather than letting it colour the sound.