# Stegophone 3200

Local HTML demo for carrying Codec2 3,200 bit/s speech through the frozen
10-frame neural audio channel and a NumPy turbo code.

From this directory, run:

```sh
./start.sh
```

The app includes its own Python interpreter, standard library, Python packages,
and native audio/math libraries in `runtime/`. It starts offline without pip,
downloads, an activated environment, or the repository's `.venv`.
`python server.py --port 8766 --cores 4` also selects this bundled runtime.
All models, application modules, static assets, and generated runs live inside
this directory; copy the entire directory to move the app.

This bundle targets compatible Linux x86_64 systems. The operating system must
provide the Linux loader and a compatible glibc; it is not a Windows/macOS build.
Exact package versions and build information are in `requirements.lock.txt`
and `runtime/manifest.json`. License notices are retained with the packages.
For maintenance, `bundle_runtime.py` rebuilds the runtime from a prepared Python
environment; it is not run during normal startup.

The launcher defaults to port 11111 and 6 CPU cores. Override these with
`./start.sh --port 8766 --cores 4` when needed.

Then open <http://127.0.0.1:11111/>. The app uses the TorchScript models shipped
in `models/`; it does not download a model. The old app under `../stegophonedemo`
is independent and was left unchanged.

The included 10-second speech experiment is at
[`public/examples/experiment.html`](public/examples/experiment.html). It has
playable source, carrier, and recovered speech plus its measured results. The
example achieved 0 payload-bit errors over 32,000 bits through the saved PCM16
WAV carrier, with 3.35% raw coded-channel BER. This is a measured local example,
not a capacity guarantee.

Codec2 3,200 mode maps 160 samples to 64 bits every 20 ms (50 packets/s).
The custom turbo profile maps each 3,200-bit payload to 6,400 coded bits. Its
code is CCSDS-derived, but this exact block size is not a standard interoperable
CCSDS profile; see [`SPACE_TURBO_SPEC.md`](SPACE_TURBO_SPEC.md).

This demo provides steganographic transport, not encryption. Do not use it to
protect sensitive speech from an adversary.
