Watch Timegrapher

Hold a mechanical watch near your microphone and measure its rate (seconds fast/slow per day) and beat error (ms) from the sound of its ticking — using a real audio signal-processing pipeline that runs entirely in your browser.

100% on-device — audio never leaves your browser Rate & beat error from real DSP Free · no account

Test your watch

Hold the watch as close to the mic as possible, in a quiet room, and keep it still — handling noise and background sound both reduce accuracy. Longer, quieter captures give a more stable rate reading.

📋 Session log — compare multiple positions (Pro)

Watchmakers typically test rate/beat error in several positions (dial up, crown up, crown down…) and compare them. to keep every reading from this session in one table, labeled by position, and export it as a CSV.

How this timegrapher works

A mechanical watch's balance wheel swings back and forth at a fixed frequency — its "beat rate," stated in vibrations per hour (bph) — and each swing produces an audible tick from the escapement. This tool listens through your microphone, isolates those ticks from background noise, measures the precise timing between them, and compares that timing to what the watch's stated beat rate predicts. The signal chain is: microphone input → a high-pass filter (removes low-frequency room rumble and voices, keeping the sharp click of the tick) → a rectify-and-smooth envelope follower (turns the raw waveform into a loudness contour) → adaptive peak detection (finds the exact moment of each tick against a threshold that adjusts to the room's noise floor) → interval math that turns those tick timestamps into the numbers below.

Rate (seconds/day)

The tool measures the actual average time between ticks and compares it to the theoretical interval for your watch's selected beat rate (for example, a 28,800 bph movement should tick every 125 milliseconds). If ticks are happening slightly faster than that, the watch is running fast; slower, and it's running slow. That per-tick difference is extrapolated to a full day to give the familiar "+8 seconds/day" style reading. Longer capture windows average out more measurement noise and give a more stable number — a few seconds of ticks can be noisy; 15+ seconds is much more reliable.

Beat error (ms)

A healthy escapement should produce evenly spaced "tick" and "tock" sounds — the gap from tick-to-tock should equal the gap from tock-to-tick. Beat error is the difference between those two alternating gaps, in milliseconds. A well-regulated watch typically shows well under 1ms; several milliseconds or more usually points to an escapement that needs adjustment by a watchmaker.

Amplitude — an approximate indicator only

Professional timegrapher machines measure true angular amplitude (how many degrees the balance wheel swings) using calibrated acoustic sensors clamped directly to the watch. A phone or laptop microphone, picking up sound through open air at an unknown, uncontrolled distance, cannot reproduce that — there is no reliable way to convert "how loud the tick sounded to this mic" into "how many degrees the balance swung" without proper calibration. So this tool shows only a relative loudness indicator for the ticks it detected in a session — useful for comparing "louder vs. quieter" across two recordings of the same watch in the same position, but not a calibrated amplitude measurement, and it is labeled as experimental in the results.

Getting a good reading

FAQ

Does my audio get uploaded anywhere?
No. The microphone is accessed via getUserMedia and every stage of analysis — filtering, envelope detection, peak picking, and the rate/beat-error math — happens locally in your browser. See the privacy policy for full details.
Is this as accurate as a real timegrapher machine?
No — a real timegrapher clamps a calibrated microphone directly to the watch case in a controlled way. This tool uses whatever mic is built into your device, picking up sound through open air, so expect more noise in the reading, especially for amplitude. Rate and beat error are the more reliable numbers here.
Why does it say "not enough ticks detected"?
Background noise is likely drowning out the tick, or the watch is too far from the mic. Move to a quieter spot and hold the watch closer.
What beat rate should I select?
Check your watch's specifications — most modern mechanical watches run at 28,800 bph (4 Hz). Many vintage and some current watches use 18,000 or 21,600 bph; a few high-beat movements run at 36,000 bph.
My rate reading changes a bit between tests — is that normal?
Yes, to a degree. Real mechanical watches genuinely vary rate slightly by position and over time, and microphone-based measurement has its own noise floor. Treat a single reading as a rough estimate and a few readings averaged together as more trustworthy than any one alone.
Can I keep a record of multiple tests to compare positions?
A single test is free and unlimited. Keeping a running session log of every test (labeled by position) and exporting it as a CSV file is a Pro feature ($8.99 one-time) — click "Go Pro" above the results.