Fantastic post. As a mechanical watch collector / enthusiast, I enjoyed reading this.
When you say "phone mic" do you mean the embedded one, or an external one?
I've tried these as apps before, and they never worked that well unfortunately. Perhaps the ticks aren't loud enough, or phone mics aren't that great, or background noise gets picked up as ticks, who knows.
I bought and use the item linked below. It's big, and feels like tech straight out of the cold war era, but works great.
This is a fascinating read but what do you do with this information? Is there a threshold at which you need to take the watch apart and fix something or is this just useful info to know about your watch?
I built an audio timegrapher feature for my watch accuracy app, ChronoLog. Professional timegraphers use a piezo contact sensor and can cost upwards of $1,000. I wanted to do it with a phone mic.
The problem: an iPhone's built-in microphone picks up a mechanical watch's tick at about 1.5 dB SNR. The solution turned out to be epoch folding — the same technique radio astronomers use to find pulsars. Stack 100+ tick periods together and you get +20 dB of effective gain, enough to reliably measure rate and beat error.
The post covers the full DSP pipeline — bandpass filtering, epoch folding, autocorrelation (and why it finds harmonics before fundamentals at low SNR), Kalman filtering for convergence — and what I learned from five rounds of device testing.