Audio Devices

Configure audio input and output sources for the modem

Audio devices are the physical (or virtual) sound interfaces that graywolf’s Rust modem uses to receive and transmit audio. Each radio channel is bound to an audio device for input and optionally one for output.

Audio Devices page showing configured input and output devices with gain sliders
Audio device cards show direction, path, sample rate, level meters, and gain controls

Source Types

TypeDescriptionUse Case
soundcard System audio device via CPAL (ALSA on Linux, CoreAudio on macOS) Normal operation with a radio
flac FLAC audio file playback Offline testing and benchmarking
stdin Raw signed 16-bit little-endian PCM from standard input Piping audio from another process
sdr_udp UDP listener for SDR audio streams Software-defined radio input

Device Settings

FieldDefaultDescription
name Human-readable label shown in the UI
direction input or output
source_type One of: soundcard, flac, stdin, sdr_udp
source_path Device name (for soundcard) or file path (for flac)
sample_rate 48000 Sample rate in Hz
channels 1 Always mono. If the device only supports stereo, Graywolf opens it in stereo and extracts a single channel automatically.
format s16le Sample format (signed 16-bit little-endian)
gain_db 0 Software gain in dB (−60 to +12, 0 = unity)

Soundcard Setup

For a typical setup with a USB sound card connected to a radio, create an input device and (if transmitting) an output device. The source_path should match the ALSA device name as shown by arecord -l or aplay -l.

Use a dedicated USB sound card rather than your computer’s built-in audio. Devices like the Digirig, SignaLink, or a simple USB dongle provide clean audio isolation between your radio and computer.

Channel Selection

Audio devices are always configured as mono. If your sound card only supports stereo, Graywolf automatically opens it in stereo and extracts a single channel. You can select which channel to use via the input_channel setting on the radio channel (0 = left, 1 = right). This lets you monitor two radios on a single stereo sound card by assigning each radio channel to a different stereo channel.

Software Gain

The gain_db setting applies digital gain to the audio stream before it reaches the demodulator. Use this to compensate for sound cards with very low or very high output levels. Positive values amplify the signal; negative values attenuate it.

Excessive gain can cause clipping, which degrades decode performance. Adjust levels so the audio peaks shown in the dashboard are comfortably below 1.0.

Hot Reconfiguration

Audio devices can be reconfigured without restarting graywolf. After changing device settings in the web UI, use the Reconfigure button (or POST /api/audio-devices/{id}/reconfigure) to apply changes immediately. The modem will briefly pause audio processing during reconfiguration.

API Reference

MethodEndpointDescription
GET/api/audio-devicesList all audio devices
GET/api/audio-devices/{id}Get a single device
POST/api/audio-devicesCreate a new device
PUT/api/audio-devices/{id}Update a device
DELETE/api/audio-devices/{id}Delete a device
POST/api/audio-devices/{id}/reconfigureHot-reconfigure the modem