Skip to content

tmiw/freedv-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freedv-backend

This repository contains a series of static libraries used by other FreeDV repositories (such as freedv-integrations) to support various functions:

  1. RADE encode and decode.
  2. Audio processing (e.g. resampling, AGC and RNNoise, among other actions).
  3. FreeDV Reporter/PSK Reporter handling (TCP/IP, callsign encoding/decoding in RADE transmissions)

This is intended to be used as a Git submodule, i.e.

project/src$ git submodule add https://github.com/tmiw/freedv-backend backend
...

# inside src/CMakeLists.txt
add_subdirectory(backend)

with required libraries linked in as needed.

Compiling standalone

This project can be compiled standalone by running cmake:

$ mkdir build
$ cd build
$ cmake ..
$ make

To enable unit tests, you can pass -DBUILD_BACKEND_UNITTESTS=1 to cmake:

$ cmake -DBUILD_BACKEND_UNITTESTS=1 ..
$ make
$ ctest -V

It's highly recommended to also set up a Python venv so that the "loss" tests can be executed (see RADE README):

$ python3 -m venv rade-venv
$ . ./rade-venv/bin/activate
$ pip install torch matplotlib
$ mkdir build
$ cd build
$ cmake -DRADAE_PYTHON_EXECUTABLE=$(pwd)/../rade-venv/bin/python3 -DBUILD_BACKEND_UNITTESTS=1 ..
$ make
$ ctest -V

Getting Support

Please create a GitHub issue if you find a problem with this repository.

About

Common backend code shared by FreeDV projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors