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.
Source Types
| Type | Description | Use 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
| Field | Default | Description |
|---|---|---|
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
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/audio-devices | List all audio devices |
| GET | /api/audio-devices/{id} | Get a single device |
| POST | /api/audio-devices | Create a new device |
| PUT | /api/audio-devices/{id} | Update a device |
| DELETE | /api/audio-devices/{id} | Delete a device |
| POST | /api/audio-devices/{id}/reconfigure | Hot-reconfigure the modem |