Skip to content

Repository files navigation

LXST-kt

Kotlin audio telephony library for LXST voice calls over Reticulum. Extracted from Columba.

What's in the box

  • audio/ — Full-duplex pipeline: mic capture, speaker playback, mixing, tone generation, packetization
  • codec/ — JNI wrappers for Codec2 (narrowband) and Opus (wideband) with prebuilt arm64-v8a libs
  • telephone/ — Call state machine, profile negotiation (8 quality profiles from 1200 bps to 48 kHz), mute/unmute
  • core/ — Transport-agnostic coordination layer (CallCoordinator, PacketRouter, AudioDevice)

Usage

LXST-kt is consumed by Columba via Gradle composite build:

// columba/settings.gradle.kts
includeBuild("LXST-kt") {
    dependencySubstitution {
        substitute(module("tech.torlando:lxst")).using(project(":lxst"))
    }
}

Build

./gradlew :lxst:compileDebugKotlin        # compile
./gradlew :lxst:testDebugUnitTest          # unit tests

License

MPL-2.0

Third-party libraries

Library License Link
Opus BSD-3-Clause opus-codec.org
Codec2 LGPL-2.1 github.com/drowe67/codec2

Prebuilt shared libraries (libopus.so, libcodec2.so) are dynamically linked. JNI wrappers are MIT.

About

A re-implementation of LXST, built for native Android

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages