Version 1.2.4
Portable audio recorder for DXLog.net
Author: Sergey Zimin (RK3TD)
DXLog QSO Recorder automatically saves an audio fragment for every new QSO received from DXLog.net through its UDP XML broadcast.
The application is designed for Windows 10 and Windows 11 and is distributed only as a portable application. It does not require installation and does not use the Windows Registry.
-
DPI-safe station conflict dialog with readable buttons.
-
Station selection is requested only once per Start/Stop recording session.
-
automatic session-based filtering by DXLog
stationid; -
the first valid QSO establishes the active station;
-
a 20-second warning when another station is detected;
-
options to keep the current station, switch station, or record all stations;
-
the station choice remains active until Stop is pressed;
-
the recording browser, search, player, and portable SQLite index remain available.
Before MP3 encoding, the selected source is normalized to 24,000 Hz and 16-bit PCM. Channel handling is automatic:
- one-channel sources remain mono;
- two-channel sources remain stereo;
- sources with three or more channels use channels 1 and 2 only and are saved as stereo.
This preserves left/right SO2R audio while preventing unsupported multichannel formats from being passed to LAME. No continuous channel-level analysis is performed.
If MP3 encoding fails for any reason, the original recording is preserved as a WAV file.
Recordings are grouped by the DXLog contest name:
Recordings/
CQ-M/
CQ WW CW/
Russian DX Contest/
Unknown/
The directory name is taken from the contestname field. Characters not allowed in Windows file names are replaced with underscores. If the contest name is missing, the Unknown directory is used.
File names use the following format:
yyyyMMdd_HHmmss_MYCALL_CALL_BAND_MODE.mp3
- Windows audio capture-device selection;
- circular pre-buffer from 1 to 600 seconds;
- post-buffer from 0 to 600 seconds;
- MP3 output at 32, 48, or 64 kbps;
- 24 kHz, 16-bit PCM normalization with mono/stereo preservation;
- first-two-channel extraction for sources with three or more channels;
- automatic WAV fallback;
- DXLog
contactinfoXML reception; - default bind address
127.0.0.1; - portable settings, logs, packets, temporary files, and recordings;
- no automatic deletion of recordings.
Configure DXLog.net to send contactinfo UDP XML broadcasts to:
Address: 127.0.0.1
Port: 12060
Use the same values in DXLog QSO Recorder.
- Install the .NET 8 SDK.
- Extract the source archive.
- Run:
build-portable-win-x64.cmd
Alternatively, run from PowerShell:
powershell.exe -ExecutionPolicy Bypass -File .\build-portable-win-x64.ps1The output is created in:
publish\win-x64
The first build requires internet access to download the NAudio and NAudio.Lame NuGet packages.
At runtime, all data is stored relative to the application directory:
Data/settings.json
Logs/recorder.log
Packets/
Temp/
Recordings/
- NAudio — MIT License
- NAudio.Lame — .NET wrapper for LAME
- LAME MP3 Encoder — GNU LGPL
See THIRD_PARTY_NOTICES.txt for details.
Sergey Zimin
Callsign: RK3TD
© 2026 Sergey Zimin
Version 1.2.0 added a searchable recordings library. The application builds a portable SQLite index at Data/recordings.db, scans existing MP3/WAV files, and supports filtering by callsign and contest. Double-click a result or use the Play button to listen without leaving the application. The index can be deleted safely and is rebuilt from the Recordings folder.
During each recording session, the first QSO packet with a non-empty DXLog stationid becomes the active station. If a later QSO arrives from another station, the recorder shows a 20-second warning with three choices:
- keep recording the original station (default);
- switch to the newly detected station;
- record QSO events from all stations.
The choice is kept only until Stop is pressed.