feat(dmr): decode and route AMBE voice

This commit is contained in:
2026-07-14 18:55:28 +03:00
parent e0e74b5337
commit 28c434d9a7
7 changed files with 231 additions and 10 deletions
+8 -4
View File
@@ -11,7 +11,11 @@ cmake -S native/dmr -B build/dmr -DCMAKE_BUILD_TYPE=Release
cmake --build build/dmr
```
The current ABI implements the stateful AMBE+2 vocoder boundary. The burst/FEC
layer will feed its row-major `char[4][24]` output to this library. Keep the ABI
versioned: the GUI and daemon must remain usable when the optional library is
not installed.
The Pascal burst/FEC layer extracts three row-major `char[4][24]` AMBE+2
frames from each selected voice-slot burst and feeds them through this ABI.
Decoded 8 kHz mono PCM is resampled to EWSDR's 48 kHz speaker/web route.
For a build-tree run, either copy `libewsdr_dmr.so` beside the EWSDR executable
or add `build/dmr` to `LD_LIBRARY_PATH`. `cmake --install build/dmr` installs the
adapter system-wide. The GUI and daemon remain usable (with metadata but no
voice) when this optional library is absent.