ggerganov/ggwave

Tiny data-over-sound library

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 39 minutes ago
Added to GitGenius on September 8th, 2026
Created on November 29th, 2020
Open Issues & Pull Requests: 65 (+0)
GitHub issues: Enabled
Number of forks: 466
Total Stargazers: 7,859 (+0)
Total Subscribers: 72 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

ggwave is a data-over-sound library that encodes and decodes small amounts of data as audio waveforms for transmission between air-gapped devices.

The library solves the problem of communicating across devices that lack network connectivity by implementing an FSK-based transmission protocol that modulates data into sound. It generates and analyzes raw audio waveforms that can be played through speakers and captured by microphones, leaving the choice of audio backend to the integrator. Error correction codes improve robustness of demodulation. The bandwidth is between 8-16 bytes per second depending on protocol parameters.

The tool suits projects involving microcontrollers, IoT devices, and scenarios where audio is the only available communication channel. It works on Arduino, ESP32, and RP2040 platforms as well as general-purpose computers. The library is particularly useful for serverless file sharing, device pairing and contact exchange, audio QR codes, and authorization flows. A waver application is provided for testing the library across multiple platforms without requiring custom integration.

Development activity shows consistent engagement with the project through examples covering diverse use cases including microcontroller implementations, PC speaker transmission, and interactive button-based interfaces. The maintainer has documented multiple real-world applications and maintains a discussion forum for community questions about implementation approaches.