Turn your Android phone into real VHF/UHF Walkie-Talkie (requires additional digital radio hardware/software modem)
Go to file
sh123 378fe88e7d
Update README.md
2024-10-20 17:22:51 +03:00
.github/workflows Create main.yml 2020-12-10 13:40:27 +02:00
codec2talkie Increase version 2024-10-18 13:57:03 +03:00
gradle/wrapper Updates 2024-10-16 22:30:10 +03:00
images Added modems image 2023-03-17 20:37:15 +02:00
libcodec2-android Set the same cmake_minimum_required for all subprojects and add --build-id=none flag for linker 2024-10-18 13:26:20 +03:00
libopus-android Set the same cmake_minimum_required for all subprojects and add --build-id=none flag for linker 2024-10-18 13:26:20 +03:00
.gitattributes Update .gitattributes 2022-07-07 15:08:02 +03:00
.gitignore Added .gitignore 2021-01-24 11:09:08 +02:00
LICENSE Initial commit 2020-12-06 11:08:09 +02:00
README.md Update README.md 2024-10-20 17:22:51 +03:00
build.gradle Updates 2024-10-16 22:30:10 +03:00
buildconfig.default.properties Integrate libcodec2-android into the repo 2020-12-05 18:46:15 +02:00
gradle.properties Initial commit 2020-11-28 16:47:52 +02:00
gradlew Initial commit 2020-11-28 16:47:52 +02:00
gradlew.bat Initial commit 2020-11-28 16:47:52 +02:00
settings.gradle Initial version of OPUS 2023-12-08 22:22:32 +02:00

README.md

CI

Introduction

Turn your Android phone into real Amateur Radio HF/VHF/UHF APRS enabled Codec2/OPUS DV (digital voice) and/or FreeDV handheld transceiver.

Requires additional hardware (e.g. AFSK/LoRa), software (e.g. Direwolf) radio modem or analog transceiver with USB audio + VOX/USB CAT PTT control, such as MCHF or ICOM

For more information about FreeDV and Codec2 visit https://github.com/drowe67/codec2

For more information about OPUS codec visit https://opus-codec.org/

For detailed information about project Wiki

alt text

alt text alt text

Short Description

What you can do with this app:

  • Voice communication:
    • Send and receive Codec2 voice over FreeDV modes
    • Send and receive Codec2/OPUS voice over KISS
    • Send and receive Codec2/OPUS voice encapsulated into APRS UI frames
  • Data communication
    • Use APRS over FSK 300 (HF, TX only), AFSK1200 (VHF), FreeDV OFDM (HF) or APRS-IS (Internet)
    • Send and receive APRS position reports
    • Send and receive APRS messages
    • APRS log with raw APRS data
    • APRS station hub with stations grouped by callsign and their log
    • APRS map with ability to see station info, station track with information about each geo position
    • Use application as APRS digirepeater
    • Use application as APRS-IS RX/TX iGate to forward packets to/from APRS-IS (Internet)
    • Use application as APRS-IS internet tracker to send/receive APRS data over Internet
    • Send and receive text packets in lora-aprs format over KISS
  • Integrate with hardware/software
    • Use it with your KISS Bluetooth/BLE/USB/TCPIP hardware modem, such as LoRa/FSK/AFSK/etc, control its parameters by using "set hardware" KISS command
    • Use it with KISS software modem using TCPIP, such as Direwolf
    • Use it with your HF/VHF/UHF transceiver as a sound modem
    • Use your phone as a software sound modem by using external USB OTG audio adapter (voice + data) or built-in phone speaker and mic (only data)
    • Use your phone for FreeDV protocol voice communication together with HF transceiver, which supports USB OTG audio
    • Control your external transceiver PTT by using USB serial CAT (or VOX if CAT PTT is not supported)

Requirements

  • Android 7.0 (API 24) or higher
    • Application could also be used with your Android network radio, such as Inrico TM-7, apk just needs to be installed over USB, see Discussion
  • Modem, radio module or transceiver which supports KISS protocol or can process KISS or raw Codec2 audio frames over serial Bluetooth, BLE, USB or TCP/IP
  • Analog transceiver with built-in or external USB audio adapter and VOX or USB CAT PTT control (such as MCHF or iCom IC-7x00 series)

Dependencies

Building

  • Building from command line:
    ANDROID_HOME=<android dir> JAVA_HOME=<java home dir> ./gradlew <command>
    For example:
    # ANDROID_HOME=~/Android/Sdk JAVA_HOME=~/.jdks/jbr-21.0.4 ./gradlew assembleRelease
    
    Welcome to Gradle 7.0.2!
    
    ... compilation output ...
    
    > Task :codec2talkie:lintVitalRelease
    No issues found.
    
    BUILD SUCCESSFUL in 2m 2s
    111 actionable tasks: 40 executed, 71 up-to-date
    

Other similar or related projects

Prototypes used with this application

alt text