FreeDV

CMake·FreeDV.FreeDV

Open Source Amateur Digital Voice mode for HF radio.

FreeDV is a suite of digital voice modes for HF radio. Our flagship mode is the Radio Autoencoder (RADE). You can run RADE using a free GUI application for Windows, Linux and macOS that allows any SSB radio to be used for high quality digital voice. FreeDV technology is being developed by an international team of radio amateurs working together on Machine Learning, DSP, coding, design, user interface and testing. The project is managed by a 6 person Project Leadership Team (PLT). Current development is being generously funded by an ADRC grant and our Financial Sponsor is the Software Freedom Conservancy. All software is open source, released under the (a) GNU Lesser Public License version 2.1 (GUI and legacy FreeDV modes) and two-clause BSD license (RADE).

winget install --id FreeDV.FreeDV --exact --source winget

Latest 2.4.0·August 25, 2026

Release Notes

Bugfixes:

  • Hamlib: Allow two timeouts during connection process to allow Icom marine radios to behave better. (PR #1369, #1388)
  • Rename sanitizers.h->freedv_sanitizers.h due to name conflicts. (PR #1372)
  • Fix intermittent non-response to short PTT clicks to stop TX. (PR #1375) - thanks @barjac!
  • Revert to libsamplerate library to fix remaining audio quality issues. (PR #1379)
  • Right-justify SNR column in FreeDV Reporter to improve appearance. (PR #1387) - thanks @barjac!
  • Hamlib: Set frequency again on mode changes. (PR #1395)
  • Consolidate EOO length calculation in freedv-backend to improve callsign decode reliability. (PR #1402)
  • Hamlib: Switch off memory channel before setting frequency/mode. (PR #1403) - thanks @barjac!
  • Hamlib/OmniRig: Round received frequency to nearest 100 Hz. (PR #1373)
  • Tighten remaining audio settings to improve audio drops. (PR #1412)
  • Fix corruption of string config arrays containing commas. (PR #1417) - thanks @barjac!
  • Suppress button flicker in Linux light themes. (PR #1419, PR #1421) - thanks @barjac!
  • Only preserve previously selected tab on TX if it's in the same group as 'From Mic'. (PR #1428)
  • Scalar plot label alignment fix for Y axis of Frm Decoder/Mic/Radio, SNR and Spectrum plots. (PR #1429) - thanks @barjac!
  • Fix window position restore under KWin and labwc (main window + FreeDV Reporter window). (PR #1431, #1433, #1449, #1450) - thanks @barjac!
  • Harden experimental tab layout persistence. (PR #1434) - thanks @barjac!
  • Fix right-click context menus dismissing before they can be read (GTK). (PR #1437) - thanks @barjac!
  • Unconditionally add new station to Heard Station list if first heard. (PR #1444)
  • Fix heard‑stations callsign combo stuck‑highlight, right‑click behaviour, and a stale‑index crash. (PR #1448) - thanks @barjac!
  • Fix crash and long hang on main window close with an unresponsive rig. (PR #1452) - thanks @barjac!
  • Fix Radio Frequency coloring on dark/light mode transition. (PR #1453)
  • Fix FreeDV Reporter column‑order corruption and Last TX column width. (PR #1458) - thanks @barjac!
  • Fix waterfall/spectrum filling solid colour during half‑duplex TX. (PR #1462) - thanks @barjac!
  • Windows/macOS: Zero audio on startup. (PR #1463)
  • Fix issue causing TX thread to use more CPU time than expected with no audio available. (PR #1465)

Enhancements:

  • Add UDP broadcast of received callsigns. (PR #1367)
  • Add Time‑Out Timer (TOT) capability to FreeDV. (PR #1366, #1398, #1405) - thanks @barjac!
  • Load last‑used config file on restarts. (PR #1365, #1371)
  • Add "Set tune output to minimum" to Tune button context menu for safety. (PR #1378) - thanks @barjac!
  • Move Tune button into Control widget for improved usability. (PR #1377) - thanks @barjac!
  • Restore heard station list on launch. (PR #1358) - thanks @barjac!
  • Add momentary PTT option to FreeDV. (PR #1393)
  • Allow 8 k sample rate for 'radio' devices. (PR #1416)
  • FreeDV Reporter: Connect to server via TLS by default. (PR #1422, #1427)
  • Block special characters in recording file name suffixes and default the voice keyer file selector to show .wav and .mp3. (PR #1424) - thanks @barjac!
  • Fix Voice Keyer/PTT context menu positioning under native Wayland. (PR #1438) - thanks @barjac!
  • Automatically start decoding on FreeDV startup. (PR #1436)
  • Remove "Clip" indicator from main window to reduce confusion. (PR #1461)

Build system:

  • Clear CMake deprecation warnings in FreeDV. (PR #1383, #1386)
  • Upgrade Hamlib to 4.7.2. (PR #1413)
  • Update wxWidgets to 3.3.3. (PR #1439)
  • Require C++20 to build FreeDV. (PR #1440)
  • Enable LTO/PGO for macOS .app build. (PR #1456)
  • Enable PGO for Windows builds. (PR #1457)
  • Add support for CCache. (PR #1328)

Other:

  • FlexRadio/KA9Q integrations moved to freedv‑integrations repo. (PR #1368)
  • Improve tab save/load behavior on systems with wxWidgets 3.3+. (PR #1435)

Note: For users with “Enable Experimental Features” turned on, the way that displayed tabs are saved and restored has changed; you may need to reconfigure your main window after upgrading.

Installer type: nullsoft

x64—6BD95C83A9D31D024984943A60143AE6927DF459A398DD0B1218AFEB32358683
arm64—A80957C39826670B78EF655B9739D8814B8BC11D1751A8D993F9B7F89D7099D3

Details

Homepage
https://freedv.org/download/
License
LGPL-2.1
Publisher
CMake
Support
https://github.com/drowe67/freedv-gui/issues
Copyright
Copyright (C) 2026 FreeDV
Moniker
freedv

Older versions (15)

2.3.1
x64—80DA66584FE98DA5424B9A8A17F09655519FAC5F0676A10AE26E5DFC6BD7C367
arm64—2C055E5B4837262FE4CF246599692A8FD8578DCC3FBC19DCEBA39B17E0EC47D2
2.3.0
x64—43F0FC412CA8A93D204F0DBE5083AF58E17411F4FBA2513A5F79C25CD5DA8E2B
2.2.1
x64—CF73280353CC136DB34D458D7C4981BFDBF82DF54EFAF2FE054A9B4AF765C26A
2.2.0
x64—4E4AC6F7332D448C415CBEEAF1EBE13CA32E21E2A488A7A36FECB4A55355F045
2.1.0
x64—B4FC4BEA200F94758714AE645402CB27241E5B9A751880661C07EDF55E66CDD8
1.9.9.2
x86—EE7895CB6C07E00F1729B8B88B16749526C1C761DCBBD59048E2A3AB29115F0B
x64—D7F9B2A11248EA83C2E51C5525C7729B913DD0A430F68D1DB12A6EAFDF5B6995
1.9.9.1
x86—0EFAAC0B391EE609DC43BED537B4C5EBFEDE8F46EDEFF28042F5725C33C190C5
x64—4177C6013376D30F199323D1634F3AB79277B0A711231D4B14492C7FAAF53664
1.9.8
x86—F627682BF101091C1E6590712B2940FC0722E9DB5B2A43092F83DC95BD2BA2D0
x64—28D6F7882231C40E55505102EF3F64D501F49A6F47D840CB77962401ED788DB1
1.9.7.2
x86—F8A1DB9FF6508D4CDC14EEC348A2D674467FC1AF4A494EE10B66B982D68A374B
x64—19759665C9B002334A0B88880A5ECB0D24B5290A6309B76A67D2C9281083672B
1.9.7.1
x86—060A2CF664D01401C338804459D8ABF4AF042CE58E9D5D281055BCDA1A5B173E
x64—B542DDFB5F691EFF8EB8EEB0912AD4D5A7F0D4BFD418E456C7DCFC1B5F6799BD
1.9.7
x86—0642DA3DBCB98D52C8A781A965B08D5D1E742C0C5BAEFDC57EA5FEBA280FCB1E
x64—CC12B5D5261F71F9215197A06F137B8974F16A837D81BF3220D273172454D8DE
1.9.6
x86—9F44E72FC0C3DDB30EDFF764A201A4032F1A50F0F506E8DE9B8A9C5711F97F84
x64—60F613F89DE65EB0C54F921B763F1758528A6F6E4CAD9823EA8345D846DCCC11
1.9.5
x86—0C717B3FC3394295E38623FCFCB0F9B32C72B01EC1F6E760796D6F1E82FDC5AA
x64—3056C1CADBF9B6F4B8CE6B48635404565DC7DACB4220F90D3CF7E6290A24A9A0
1.9.4
x86—2145491BF55758F12A522450943B3ECA1D788207B526299BEBD6574E3E285C4C
x64—A266CCCFDC708423BB3A5DE54903E4B4EBEE32BF05ACC13E9541CB873C961808
1.8.4
x86—F14768BCEA61411A59D7DC36068A9EEE6BBE3736DA4B24CB86A567F0762E2F3A
x64—7E18C5BF90CEB3EC6D715B2E7420A9D97171B067F38E9EB562461B025E2C66F2