Repository navigation
Voice codecs
OnAir does not ship patented codecs. You provide the ones you may use, and OnAir loads them.
Your responsibility. Whether you may install or use these codecs is up to you: follow the patent and radio-listening law where you live.
Every mode that needs a codec has a small ? button. It shows whether the library was found and where, the exact file names OnAir looks for, the folders it searches, an Open codecs folder button (it makes the folder if it is missing) and Look again (no restart needed).
| Mode | Codec | Library |
|---|---|---|
| DMR, P25 Phase 1, NXDN, dPMR | AMBE+2 / IMBE (patented) | mbelib |
| D-STAR | AMBE (patented) | mbelib |
| FreeDV 700D / 700E / 1600, M17 | codec2 (open, LGPL) | codec2: comes with OnAir |
| FreeDV RADE | RADE neural modem (open) | optional librade, not codec2 |
| TETRA | its own speech codec | nothing (not decoded) |
| DAB, DRM, TV, FM | MP2, AAC, H.264 and others | nothing: FFmpeg is inside OnAir |
| ATSC 3.0 | Dolby AC-4 (patented) | optional libavcodec and libavutil from an FFmpeg with an AC-4 decoder; without it the AC-4 sound is left out, picture and AAC / AC-3 sound still play |
| HD Radio | HDC (patented) | none: no sound; use nrsc5 |
| CDR | DRA+ (patent and licence status unclear) | the DRA+ add-on (libonair_dra) that you build yourself; no sound until you do, the services and data work, and you can save the stream |
codec2 does not help DMR, P25, NXDN or dPMR. If a digital-voice mode says "mbelib not found", you need mbelib.
DMR, P25, NXDN, dPMR and D-STAR voice is silent until you install mbelib yourself. From 0.2.6 OnAir does not include it, because the AMBE / IMBE vocoders are patented. Calls, IDs and data are shown without it. Put the library in the codecs folder (the ? next to the sound has an Open codecs folder button), then press Look again.
- The
DECT2_MBELIB_PATH/DECT2_CODEC2_PATHenvironment variable (a full path), if set. - The OnAir codecs folders.
- The libraries that ship with OnAir: the program's own folder (Windows: next to
OnAir.exe; Linux: next todect2,../lib/onairand../lib; macOS: inside the app). A copy in a codecs folder wins over the shipped one. - The system: Windows
PATH; macOS/opt/homebrew/lib,/usr/local/lib,/opt/local/lib; Linux/usr/local/lib,/usr/lib,/usr/lib64.
| Library | Windows | macOS | Linux |
|---|---|---|---|
| mbelib |
mbelib.dll, libmbe.dll
|
libmbe.dylib |
libmbe.so |
| codec2 |
codec2.dll, libcodec2.dll
|
libcodec2.dylib |
libcodec2.so |
| OS | Next to the program | In your user folder |
|---|---|---|
| Windows |
codecs\ next to OnAir.exe
|
%LOCALAPPDATA%\OnAir\codecs\ |
| macOS |
codecs/ next to OnAir.app
|
~/Library/Application Support/OnAir/codecs/ |
| Linux |
codecs/ next to dect2
|
~/.local/share/onair/codecs/ |
mbelib decodes AMBE / IMBE, which are patented in some countries. Source: github.com/lwvmobile/mbelib. Check your local law first.
# Linux
sudo apt install git cmake build-essential
git clone https://github.com/lwvmobile/mbelib
cd mbelib && mkdir build && cd build
cmake .. && make && sudo make install && sudo ldconfig
On macOS the same with brew install cmake git, then copy libmbe*.dylib into ~/Library/Application Support/OnAir/codecs/. On Windows use MSYS2 (mingw-w64-x86_64-gcc, cmake, make), build with -DBUILD_SHARED_LIBS=ON and copy libmbe.dll (and libgcc_s_seh-1.dll, libwinpthread-1.dll if OnAir says it does not load) into %LOCALAPPDATA%\OnAir\codecs\. Then press Look again. The full walkthrough is in docs/CODECS.md.
Encrypted P25, NXDN and DMR calls are only reported as encrypted; OnAir never decrypts.
codec2 is open (LGPL-2.1) and comes with OnAir as a separate shared library that is loaded at run time: FreeDV and M17 speech work after the download. Put your own build in the codecs folder, or set DECT2_CODEC2_PATH, to use it instead. If the ? says codec2 not found, the copy of OnAir is incomplete: unpack or install the whole package again.
- HD Radio (HDC): stations, data and pictures are shown; use nrsc5 for sound.
-
CDR (DRA+): services are listed; the sound needs the DRA+ add-on you build yourself (the CDR panel shows an amber ! notice with a How to install button until it is found). Save stream writes the raw audio to
audio-streams/for FFmpeg builds that have DRA. - DTMB in China (AVS+, AVS2, AVS3, DRA): OnAir plays what its built-in FFmpeg decodes.
-
Inmarsat Aero voice (AMBE): P channel data only. Iridium voice: counted, not decoded; Save for iridium-toolkit writes a
.bitsfile.
Getting started
Using OnAir
Tools and guides (0.2.7)
- Band survey
- Message database
- Watchlists
- TV recorder
- Time machine
- Pass scheduler
- Plugin SDK
- Headless server
- All guides
Radios
Modes by group
- TV
- Broadcast radio
- Aviation
- Maritime
- Satellite & navigation
- Two-way radio
- Cellular & rail
- Pagers
- IoT & sensors
- Weather & science
- Amateur: digital
- Amateur: voice & packet
- HF utility
- General & tools
Tutorials
- DVB-T2 TV with a HackRF
- FM radio with RDS
- Aircraft with ADS-B and the map
- Ships with AIS
- DAB+ digital radio
- Weather satellite images
- HF digital: FT8 and WSPR
- Digital voice: DMR, D-STAR, P25
- Pagers: POCSAG and FLEX
- Time stations and the clock
- Record IQ, then the Signal workbench
- The signal sample library
- Control a rig with Hamlib
- Two receivers and the multi-decoder
Reference
Help
Legal and privacy
More