This year at the Web Audio Conference in Berlin, Joe Todd will be demonstrating the usage of our new WebAssembly SDK from the 19th — 21st September. The SDK allows web applications to send and receive data using a device’s speaker and microphone, enabling the browser to communicate with other devices within hearing range. It is designed to work across a multitude of different devices, both desktop and mobile.

The demo will be a simple web app that sends/receives text messages using sound. It highlights the simplicity of using sound to transfer data, and aims to ignite some creativity in developers who may find Chirp’s SDKs a useful tool in their arsenal.

The app is written using the hyperapp framework, and is less than 100 lines long. You can view the source code here.

Sending and receiving data can be achieved in just 4 lines of JavaScript. Here is an example of how to send a payload of 1, 2, 3, 4, and log any received data to the console.

ChirpConnectSDK.Chirp({
key: ‘CHIRP_APPLICATION_KEY’,
onReceived: data => console.log(Received ${data})
}).then(sdk => sdk.send([1, 2, 3, 4]))

The WebAssembly SDK makes use of the browser’s access to the microphone using the MediaStream API. Once permissions have been granted by the user, the raw audio data is passed on to the WebAssembly binary to process. The WebAssembly binary is just a compiled version  of Chirp’s core engine, the exact the same source code that has been deployed in nuclear power stations and across thousands of consumer products.

Using the emscripten compiler, the C code can be converted into a wasm binary that the web browser can decode and efficiently execute.


Chirp is a technology company enabling a seamless transferring of information via sound waves, using a device’s loudspeaker and microphone only. The transmission uses audible or inaudible ultrasound tones and takes place with no network connection. To learn more visit chirp.io