From 71738f4bfbd9ad5e2a67f4437f63942e7d9eeaaa Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 16 Dec 2020 19:04:12 +0200 Subject: [PATCH] Update README.md --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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: