WaveShark

VHF and UHF · recorded and transcribed

Monitor a radio network and read it back later

DMR, TETRA, P25, NXDN, M17 and plain FM channels with who called whom, every over recorded as Opus and a local speech model writing down what was said.

Every voice protocol lands in one call list: the caller, the group, the length and the channel, whether the transmission was DMR, TETRA, P25, NXDN, M17 or an analogue repeater. Clear TETRA calls are heard as speech, and a call several sites carry is one row. On an analogue channel the DTMF unit number and the CTCSS tone or DCS code say which radio keyed up and which group it belongs to, and the noise blanker and noise reduction on the strip take the edge off a weak one.

Turn on Record and each over is kept as Opus. A timeline under the call list draws the recordings against the clock with the quiet marked, so an afternoon can be dragged out as one file, and the recordings table filters by talkgroup, caller, system or frequency.

The transcript view is a Whisper or Qwen3-ASR model on this machine reading everything on the audio bus, on the CPU or on a card, with low-confidence lines flagged rather than quietly wrong. Nothing leaves the machine.

$ waveshark --tune 446.09375 --mode nfm --calls

Reverse engineer a remote, sensor or alarm

Capture the burst, see its envelope, timings and bits, replay it into new decoders as often as you like, and key it back out from a Flipper .sub file.

Read that one