Locall
Every phone in the room becomes a microphone
Locall turns N iPhones and iPads into a synchronised multi-track recording rig. One device hosts, every device records locally, and the tracks are aligned and merged after the take, peer to peer, with nothing leaving the room.

- Submitted to the App Store
- 0.134 ms, r = 0.9999
- Peer to peer, no server
The problem it solves
Recording several people with one phone gives you one track where everybody is a different distance from the mic. Recording them on several phones gives you several good tracks that will not line up, because two phones started at different moments and their clocks run at different speeds.
Locall is the part in between. Two use cases drove it: interviews and podcasts, where each person's phone becomes their own isolated track; and ambient recording, where devices are placed around a space and optionally combined into one multichannel file.
How the sync works
Discovery and transport run on Apple's Network framework over Bonjour, using `NWListener`, `NWConnection` and `NWBrowser`, in a star topology with one host, and with peer-to-peer requested at every radio call site so the service goes out over AWDL as well as the local network.
Starting is not 'start on receipt', which would inherit the network delay. On connect, each peer does a handful of round trips with the host to estimate its clock offset, mini-NTP style. The host then says 'start at host-time T + 2s'; each peer converts T into its own local time and schedules `AVAudioEngine` using sample time, not a wall-clock timer that would drift.
Two clocks pull apart after that, and both are handled. The host tracks each peer's CPU clock continuously. Each device's audio clock is corrected locally against its own CPU clock, at the rate the codec actually ran, and lands at nine thousandths of a sample where sixty frames of drift were measured uncorrected. As a control, alignment is also measured by cross-correlating the waveforms with vDSP: a real two-device pair lands at 0.134 ms, r = 0.9999.
Where it stands
Built, tested and through App Store submission. 171 unit tests across 10 suites, and the app measures its own alignment on every take. The instrument that proves the sync works ships inside it.


