Send data over sound
Open-source SDKs for ultrasonic data exchange between nearby devices. No Bluetooth, no WiFi, no pairing.
How it works
Three simple steps. No hardware, no pairing, no setup.
Encode
Turn any data payload into an audio signal — audible or ultrasonic.
Sound
The encoded signal travels through the air via the device speaker. No network needed.
Decode
A nearby device picks up the audio with its microphone and extracts the original data.
Use cases
Any scenario where two devices need to exchange small data payloads nearby.
Proximity sharing
Share links, contacts, or tickets with people nearby — just play a sound.
Device pairing
Pair devices instantly by playing a short audio handshake. Works with any speaker.
IoT provisioning
Configure smart devices by sending Wi-Fi credentials or setup data over sound. No app pairing flow.
Live events
Push interactive content to every phone in the venue simultaneously via the PA system.
3 lines of code
SDKs for every platform. Same API everywhere.
final beeping = Beeping(mode: BeepingMode.cloud);
final audio = await beeping.encode("a1b2c");
await audioPlayer.play(audio);val beeping = Beeping.Builder()
.mode(BeepingMode.CLOUD)
.build()
val audio = beeping.encode("a1b2c")let beeping = Beeping(mode: .cloud)
let audio = try await beeping.encode("a1b2c")
try await player.play(audio)const beeping = new Beeping({ mode: "cloud" });
const audio = await beeping.encode("a1b2c");
audioContext.play(audio);Your choice. Same API.
Every SDK supports both modes. Switch at runtime with one line.
Cloud mode
API key- Zero setup — just add your API key
- Encode & decode via HTTP API
- Usage dashboard in developer portal
- Auto-scaling, zero infrastructure
Local mode
On-device- beeping-core embedded natively
- Works offline — no network needed
- Full privacy — data never leaves device
- Lowest latency possible
