Repository navigation
RX Audio Stream
Related pages:
Modules > External DATA Decode sends software-demodulated receive audio to one or more external clients. The Windows RX Audio Stream Connector plays that stream into a selected Windows audio device. The external application performs the SSTV, modem, or image-packet decoding; the connector does not decode images, packets, or SSDV data.
The module is part of the native IC-9700 experience. It appears in the Modules menu after the radio is configured and connected. The menu is hidden in the Legacy radio experience.
External DATA Decode uses the existing native radio session. It does not create a second radio connection or key PTT. When a client starts the data session, Pi-Sat selects the external data mode and filter on SUB/RX and switches the LAN output from normal AF to IF. Software demodulation then produces framed 48 kHz, mono, signed 16-bit little-endian PCM for connected clients.
The client receives demodulated audio. It does not receive raw IF, I/Q samples, decoded packets, or images.
This changes the shared receive source. Use normal AF for built-in SSTV and WSJT-X. Do not run External DATA Decode at the same time as either of those modules.
The native radio must use [icom] sample_rate = 48000 for this module. Other
sample rates are rejected when Start Stream is selected.
The module page has a read-only Stream control area with Start Stream and
Stop Stream side by side. These controls change the saved
[audio_stream] enabled setting and start or stop the configured listener.
The page does not have host, port, or demodulation entry fields. Those settings come from the local configuration file.
The Stream status panel shows the configured bind address, port, connected client count, client limit, current source, and whether the listener is disabled, ready, active, or unavailable. Stream statistics shows frames, bytes, accepted and refused clients, source drops, queue drops, and the last error.
Edit the local pi-sat-controller.conf under <INSTALL_DIR>. Change
[audio_stream] while the module is disabled, then restart the service.
[audio_stream]
enabled = false
demodulation = FM
bind_host = 0.0.0.0
port = 8765
channel = rightSupported settings:
| Setting | Purpose |
|---|---|
enabled |
Persisted Start/Stop state |
demodulation |
FM or USB software demodulation |
bind_host |
Local listener address |
port |
TCP listener port |
channel |
Legacy compatibility value; this module always selects SUB/RX |
bind_host = 0.0.0.0 listens on all IPv4 interfaces. Binding to one local
interface address limits the listener. Enter the Pi's reachable address in the
Windows connector; 0.0.0.0 is a bind value and is not a destination address.
The TCP stream is unauthenticated and unencrypted. Use it on a trusted station network, restrict the port with the host firewall, and do not expose it directly to the Internet.
- Configure
[audio_stream]and[icom] sample_rate = 48000. - Connect the native IC-9700 from the top toolbar in Home.
- Tune SUB/RX and select the intended FM or USB data mode on the radio.
- Open Modules > External DATA Decode and select Start Stream.
- Start the Windows connector from
<INSTALL_DIR>/external-streamer. - Enter the Pi's reachable address, the configured port, and an output device. To send audio into another program, choose a virtual playback endpoint whose matching capture endpoint is selected by the decoder.
- Select the matching mode in the external program. For packet data, also set the correct symbol rate and framing.
- When finished, stop the Windows client and select Stop Stream.
The connector does not install or configure a virtual audio device. Speakers alone are not a connection to another decoder; the output and input devices must belong to the same audio route.
The connector starts playback after a small amount of buffered audio and uses a bounded queue. If its buffer cannot accept more data, it stops and reports the error instead of silently skipping samples. Its window reports frames, sequence gaps, bytes, queued audio, buffer drops, and output underflows.
Stop Stream ends the current external data session. If the radio is still connected, Pi-Sat attempts to restore LAN AF output and the previous SUB mode/filter. If the operator changed the radio mode after the session started, that intervening mode is retained.
Restoration is not guaranteed after a radio disconnect or command failure. Reconnect the radio, stop External DATA Decode, and verify normal AF output and the intended SUB mode before starting built-in SSTV or WSJT-X.
The enabled setting persists across service restarts. If the page or radio reports an unavailable source, stop the module, correct the configuration or radio connection, and start it again.
- An external SSTV application can use the connector output through its matching audio input. Images remain in that application.
- A compatible external modem can receive the audio and pass decoded packets to an image decoder.
- SSDV support depends on the external modem, symbol rate, framing, and image format. This module does not provide a universal SSDV or telemetry decoder.
Audio delivery proves only that frames reached the client. It does not prove that the external program recognized a tone, packet, or image format.
-
Start Stream unavailable: check
[icom] sample_rate, native mode, and radio connection. - No client connection: verify the bind address, port, Windows firewall, and the address entered in the connector.
- Frames arrive but Windows receives no audio: select a working output device and pair it with the decoder's capture device.
- Source or queue drops increase: resolve the reported source, network, or playback error before restarting the stream.
- Audio arrives but nothing decodes: confirm the external program's mode, symbol rate, framing, and format support.
- Normal AF is missing afterward: stop the module, reconnect the radio, and restore the intended AF mode before using another AF module.
See SSTV logs and General logs on the Monitor page for module diagnostics. Service logs are available with:
journalctl -u pi-sat -n 100 --no-pager