Skip to content

Configuration audio modem (ADSSS)

Encoder path

Decompiled from the Android client: AdsssJni.encodeFromMemory(byte[], float[]) accepts JSON bytes and a reference float-PCM buffer. It builds a ReferenceSource at the expected sample rate, an Encoder, serializes the payload, and calls Encoder::Go.

The app loads reference4_10sec.pcm from assets and returns a new float array. A wrapper adds a WAV header before playback.

WAV format

The produced file is:

Property Value
Container RIFF/WAVE
Encoding IEEE float, format tag 3
Channels 1
Sample rate 16,000 Hz
Bits per sample 32
Reference payload 161,600 samples / 646,400 bytes
Duration 10.1 seconds

The reference PCM is normalized and preprocessed by the native library. The encoded output is not a generic beep pattern: it is an ADSSS-modulated data stream.

Native implementation

libADSSS.so includes the JNI entry point plus ADSSS::Encoder, ReferenceSource, FFT/FIR helpers, randomization, and Reed–Solomon support. An x86-64 build is included in the APK, so exact app-compatible audio can be generated off-device.

The modulation is independent of VK login. It transports env, Wi-Fi country/SSID/PSK, xToken, and optional account ID.

Validation

A local shim reproduced the JNI call with the original reference PCM and generated a valid 16 kHz mono IEEE-float WAV. Playback through ordinary audio hardware works; speakers must be close enough for the Mini's microphone to decode it. Headphones placed directly on the Mini also work.