ClockDrift is an app for Android devices, designed as a quick and simple tool to measure the relative recording and playback drift between devices. It can be used to measure sampling rate deviations of ADCs/DACs and determine the compatibility of devices for parallel recording and synchronization. This helps in selecting compatible devices for live recording sessions or determining speed correction factors for post-production for devices that drift apart.
Measuring the drift between two devices works like this: One device plays a test tone, and the other device captures and analyzes the test tone. The app supports both roles and can be used on both devices, but only the analyzing device requires it. The playback device can either use the app’s integrated test tone generator, any other signal generator, or simply play a prepared audio file generated by the app on another device.
The measurement method is simple but accurate enough for typical use cases. The test tone is a sine wave at a known frequency, which the app identifies and isolates from the captured signal to conduct a precise frequency measurement. The difference from the expected nominal frequency is then displayed in terms of drift units. A detailed description of the measurement procedure can be found in the linked publications.
Originally developed as a research tool, the app was also designed to collect drift measurements from its users and build a user-generated database of device drifts. However, this functionality was later removed.
The detailed list of features includes:
- Real-time drift analysis
- Chart with current, running average, and total average drift
- Units: ms/min, ppm, ms/h, s/h, Hz, %
- Results storage with detailed reports
- Test signal generator
- Support for any test frequency
- Presets: 440 Hz (A440), 1 kHz (SMPTE), 20 kHz (ultrasonic, imperceptible)
- Rendering to PCM WAV for use on (non-Android) devices
- Quick analysis with NFC
- Hold devices together to launch the app and start analysis
- Drift analysis for video files
- Record test signal on video and load into the app to detect separate video clock and video drift
- Self-analysis
- Test whether the device uses separate ADC and DAC clocks