diff --git a/README.md b/README.md index 636b94d..c5a69d7 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,20 @@ Tiny data-over-sound library. + ## Details This library allows communicating small amounts of data between air-gapped devices using sound. It implements a simple FSK-based transmission protocol that can be easily integrated in various projects. The bandwidth rate is between 8-16 bytes/sec depending on the protocol parameters. Error correction codes (ECC) are used to improve demodulation robustness. This library is used only to generate and analyze the RAW waveforms that are played and captured from your audio devices (speakers, microphones, etc.). You are free to use any audio backend (e.g. PulseAudio, ALSA, etc.) as long as you provide callbacks for queuing and dequeuing audio samples. +**Mobile examples:** + +Download on the App Store +Get it on Google Play + **Browser demo:** https://ggwave.ggerganov.com -**Mobile demo:** - -Download on the App Store | *(Android coming soon)* - ### Modulation (Tx) The current approach uses a multi-frequency [Frequency-Shift Keying (FSK)](https://en.wikipedia.org/wiki/Frequency-shift_keying) modulation scheme. The data to be transmitted is first split into 4-bit chunks. At each moment of time, 3 bytes are transmitted using 6 tones - one tone for each 4-bit chunk. The 6 tones are emitted in a 4.5kHz range divided in 96 equally-spaced frequencies: