Transfer files via sound — screenshot of quiet.github.io

Transfer files via sound

Quiet.js enables in-browser data transfer via sound, using either audible or imperceptible ultrasonic frequencies. It's a JavaScript binding for libquiet, leveraging Web Audio for sound card-based communication, offering a unique method for short-range data exchange.

Visit quiet.github.io →

Questions & Answers

What is Quiet.js?
Quiet.js is a JavaScript library that enables transmitting and receiving data directly within a web browser using a device's sound card. It functions as a binding for libquiet, utilizing Web Audio API for sound-based data communication.
Who would use Quiet.js?
Quiet.js is designed for developers and applications requiring a novel method of short-range data transfer without relying on traditional network connectivity. It is suitable for scenarios like device-to-device communication in close proximity or local data exchange.
How does Quiet.js compare to other data transfer methods?
Unlike Wi-Fi, Bluetooth, or wired connections, Quiet.js transmits data by encoding it into sound waves, which can be sent via speakers or a 3.5mm cable. This offers an air-gapped or localized communication channel, independent of network infrastructure.
When is it practical to use sound for data transfer with Quiet.js?
It is practical when network connectivity is unreliable or unavailable, or for applications where very short-range, local, or air-gapped data exchange is preferred. Examples include transmitting text or small images between nearby browsers or devices.
What are the technical capabilities of Quiet.js regarding sound transmission?
Quiet.js can transmit data at 44.1kHz and supports various transmission profiles, including an ultrasonic mode around 19kHz, which is imperceptible to human hearing. It uses modulation schemes like GMSK and is built upon the liquid DSP library for signal processing.