package icon

SyncRecord

Create synchronised ad-hoc microphone arrays using multiple smartphones.
New in version 1.1.0
- Initial release of SyncRecord.
- Synchronised audio recording across multiple devices.
- Automatic calibration and inter-device distance estimation.
- Support for cloud and local server deployments.
- MIT Licensed and privacy-focused.
SyncRecord is an open-source Android application designed to transform a group of spatially distributed smartphones into a single, synchronised, ad-hoc microphone array. This tool addresses the high cost and scalability limitations of traditional hardware microphone arrays, offering a low-cost solution for acoustic research, sound source localisation, and multi-device audio acquisition.

Core Functionality The system achieves temporal alignment and spatial localisation by utilising audible pseudo-random binary sequence (PRBS) signals. Devices emit these sequences, and the system employs cross-correlation techniques on the captured audio to extract propagation delay information. Under test conditions, this approach reduces temporal misalignment across recordings to within 52 samples at 48 kHz (approx. 42 µs) and estimates inter-device distances to within 14mm.

Key Features:
- Ad-hoc mic array creation: Easily initiate a session with a master device and invite other participants via a unique alphanumeric session ID (UID).
- Synchronised Recording: Captures raw, unprocessed audio (using MediaRecorder.AudioSource.UNPROCESSED) from all devices simultaneously.
- Automatic calibration: Performs server-side signal processing to estimate inter-device distances and correct time offsets automatically.
- Flexible deployment: Connects to a cloud-based demonstration server or allows users to deploy their own locally-hosted server instance. Local deployment minimises latency and provides full control over data handling.
- Privacy first: Prioritises transient data handling. In cloud mode, audio data is deleted immediately after the session ends. No user logins are required.

Operational modes:
1. Synchronised recording: Combines localisation and recording, delivering time-aligned, multi-channel audio archives ready for further analysis.
2. Localise array devices: Determines the geometric layout of devices without storing continuous audio streams.
3. Unsynchronised recording: Standard multi-channel capture without automatic synchronisation.

Technical details and requirements:
- Server architecture: This app requires a backend server component for signal processing and session management. You can use the public demonstration server (syncrecord.eu:3000) or deploy your own local instance using the Node.js and Python scripts available in the repository. A docker container is also available.
- Hardware: Requires support for unprocessed audio capture. Note that built-in smartphone microphones are directional; for optimal performance, position devices within audible range and orient them towards the centre of the array.
- License: Source code is available under the MIT License.

Learn more: For detailed methodology, signal processing equations, and evaluation results, please read our pre-print research paper: https://zenodo.org/records/20398119
Repository with server-side files: https://github.com/PadraicMCE/SyncRecord

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.1.0 (2) suggested Added on Aug 23, 2026

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • app.mcevoy.syncrecordapp.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 3 MiB PGP Signature | Build Log