Skip to content

AudioModem

Experimental open-source audio data link. Transfer text and files as sound through lossless WAV files today, then through speakers, microphones, audio cables, radio interfaces and OS-managed Bluetooth routes as the project matures.

English (canonical) · Русский

AudioModem separates a versioned data object from the path that carries its PCM signal. The same ADLP object can be exported as WAV for a reproducible hand-off, sent over a future speaker-to-microphone path, connected to a line-level cable, or routed through external radio equipment. The repository contains a Rust protocol/core, a Flutter application surface and a public specification.

Status

AudioModem has verified Rust ADLP/WAV codecs, a native Flutter↔Rust bridge, and local WAV import/export. Two controlled WAV carriers are available: deterministic bootstrap and experimental Acoustic-1 B-FSK. The verified paths are text → ADLP v1 object → selected WAV carrier → ADLP v1 object → verified text. Live capture/playback, Bluetooth audio routing, radio interfaces, encryption, application-level file payload workflow and release artifacts are not implemented. See the roadmap for the intended order of work.

Area Current status Read more
ADLP v1 container Implemented and tested in Rust Protocol
Bootstrap WAV codec Implemented for deterministic 48 kHz mono PCM WAV round trips Quick start
Flutter client Native Rust bridge plus local WAV import/export; web honestly reports native codec as unavailable Bridge architecture
Acoustic-1 carrier Experimental B-FSK controlled PCM/WAV codec with framing, Hamming(7,4), bounded sync and golden vectors; no live-route claim Acoustic-1 RFC
Live acoustic modem Not implemented: no capture/playback route adapter or device acceptance result Audio routes
Encryption and verified identity Future RFC work Security

Quick start: a reproducible WAV round trip

Install a stable Rust toolchain, clone this repository, then run the diagnostic CLI from the workspace root.

cargo run -p adlp-cli -- encode-text hello.wav N1 "Hello from AudioModem" reliable
cargo run -p adlp-cli -- decode hello.wav

The command writes a lossless mono 48 kHz, signed 16-bit PCM WAV file and decodes the same object. This bootstrap symbol mapper is deliberately simple; it is not a robust over-the-air modulation scheme. The quick-start guide explains the guarantee and its limits.

For a controlled experiment with the separate experimental carrier, use the explicit Acoustic-1 commands. A successful WAV round trip proves only this codec contract; it does not demonstrate a speaker-to-microphone link.

cargo run -p adlp-cli -- encode-acoustic1-text acoustic1.wav N1 "Controlled test" balanced
cargo run -p adlp-cli -- decode-acoustic1 acoustic1.wav

Documentation

English (canonical) Russian translation Purpose
Documentation index Индекс документации Navigation and language policy
Quick start Быстрый старт Reproducible WAV workflow
Audio routes Аудиомаршруты WAV, live PCM, cable, radio and Bluetooth boundaries
Protocol v1 Протокол v1 ADLP object and bootstrap WAV carrier
Acoustic-1 RFC Acoustic-1 RFC на русском Experimental B-FSK carrier and compatibility boundary
Platform support Поддержка платформ Target runners and feature status
Transmission presets Пресеты передачи Reliable, Balanced, Fast and Narrowband IDs
Troubleshooting Диагностика Observable failures and useful reports
Roadmap Дорожная карта Verified work versus planned work

The English source is canonical for protocol compatibility, release commitments and implementation decisions. Russian documents are maintained translations; each Russian file links to its English counterpart and records the synchronization date.

Repository map

crates/                 Rust protocol, container and codec crates
apps/audio_modem/       Flutter application for Android, iOS, desktop and web runners
tools/adlp-cli/         Diagnostic CLI for ADLP/WAV workflows
spec/                   Versioned protocol specifications
docs/                   English-first contributor and technical documentation
site/                   Static GitHub Pages source
fixtures/               Small synthetic test assets only
.github/                Issue forms, ownership and automation

Contributing and security

Read CONTRIBUTING.md before opening a pull request. Protocol, DSP and cryptographic changes begin with the RFC process described in GOVERNANCE.md. Use SECURITY.md for private security reports; do not publish vulnerabilities in an issue.

License

Code is dual-licensed under MIT OR Apache-2.0. Documentation is CC-BY-4.0 unless stated otherwise. See LICENSE-MIT and LICENSE-APACHE.

About

Open-source audio data modem for text and files over speakers, cables, radios, Bluetooth audio routes and WAV.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages