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.
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 |
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.wavThe 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| 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.
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
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.
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.