# ggerganov/ggwave

Tiny data-over-sound library

Repository: https://github.com/ggerganov/ggwave
Canonical: https://ross.abutalabs.com/products/ggwave
Homepage: https://youtu.be/Zcgf77T71QM
Language: C++
License: MIT
License Family: permissive
Topics: data-over-sound, sound-library, ultrasound, fsk, ecc, internet-of-things, qrcode, pairing, serverless, python, arduino, modem
Last push: 2026-04-16T08:00:59+00:00

## Health v2 (maintenance only)
Score: 70/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 77, release rhythm 43, longevity 100
- inputs: {"age_days": 2103, "days_push": 139, "days_rel": 165, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7840, forks 466 (observed 2026-08-28T04:10:06.423245+00:00)

## What it is
ggwave is a tiny C++ library that transmits small amounts of data over sound using an FSK-based protocol with error correction, playable and capturable through any audio backend. It supports air-gapped device communication, IoT microcontrollers, audio QR codes, and device pairing, with bindings for Python, JavaScript, and embedded platforms.

## Use cases
- send data between air-gapped devices using sound
- transmit data over audio to microcontrollers like arduino or esp32
- implement audio QR codes for broadcasting small payloads
- pair devices without network connectivity using sound
- share files between devices serverlessly via speakers and microphones
- decode data-over-sound signals in python or javascript

## When to choose
- you need to move tiny payloads (8-16 bytes/sec) between devices with no network
- you want acoustic data transfer on embedded hardware or in the browser
- you need a serverless one-to-many broadcast channel via sound

## When to avoid
- you need to transfer large files or high-bandwidth data
- you require reliable communication in noisy acoustic environments
- you need encrypted or authenticated channels out of the box

## Facets
- artifact type: library
- maturity: active
- function: audio-processing, sdk, serialization, error-handling
- domain: embedded-systems, iot, developer-tools, cross-platform
- platform: cross-platform, python, cpp, embedded, cli
- tags: data-over-sound, fsk, ultrasound, acoustic-data-transfer, audio-qrcode, device-pairing, ecc, modem, arduino, esp32, audio, nodejs, web

## Member repositories
- ggerganov/ggwave (main) score 70

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:06.423245+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:33:57.937370+00:00, confidence not recorded.
  - readme: https://github.com/ggerganov/ggwave (fetched 2026-08-28T04:10:06.423245+00:00, sha 15d0a6011bc0)
  - homepage: https://youtu.be/Zcgf77T71QM (fetched 2026-08-29T08:30:27.452354+00:00, sha d410a61f90b0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
