chirpfile uses ggwave to encode data as sound. Below are all 12 protocols the library supports - from audible chirps to inaudible ultrasound. Tap play to hear each one.
edit to test
Loading ggwave…
How data becomes sound
Audible
Encodes data using frequencies between ~1.5–6.5 kHz - clearly audible, like a modem handshake. Fast and reliable, but everyone nearby can hear it.
Dual-Tone (DT)
Sends two frequencies simultaneously per symbol, similar to how phone dial tones work (DTMF). More bandwidth per time slot, shorter transmissions.
Mono-Tone (MT)
One frequency per symbol. Simpler signal, easier for low-quality microphones to decode. Good for noisy environments.
Ultrasound
Uses frequencies above ~15 kHz - inaudible to most humans. The default mode for chirpfile. Silent transfers, but requires devices with speakers and mics that support high frequencies.
Which does chirpfile use?
By default, chirpfile uses ULTRASOUND_FAST - inaudible and reliable across most devices. You can switch to AUDIBLE_FASTEST with the sound-mode toggle in the app if ultrasound doesn't work on your hardware.
The key payload is always short (8–12 characters), so even the "normal" speed protocols complete in under 2 seconds.