Advanced Timegrapher
Non-invasive acoustic analyzer and modern software timegrapher for mechanical and quartz watches. Measures Rate (s/d), Beat Error (ms), and Amplitude (°) in real time through decoupled digital signal processing (DSP), with dynamic sound card clock drift calibration.
High-Fidelity Horological Engineering
Engineered from first principles with strict separation of concerns: lock-free audio capture, pure NumPy mathematical core, and total algorithmic transparency without black boxes.
Pure NumPy Acoustic DSP Core
Digital signal processing 100% written in Python/NumPy without runtime dependencies on SciPy or C++ extensions. Lock-free SPSC (Single-Producer Single-Consumer) ring buffer with absolute sample indexing synchronized to the ADC hardware clock.
index_abs = total_samples + write_head
residuals = t_host - (n / f_s)
- Dedicated child process for audio capture (native PortAudio).
- GUI operations never delay or block audio sample ingestion.
- Automated buffer overwrite detection (`SamplesOverwritten`).
Swiss Lever Tri-Pulse Analysis
Precise acoustic identification of the three discrete physical events produced during each alternation by the balance wheel, pallet fork, and escape wheel. Sub-sample temporal resolution with automatic noise floor rejection.
A = LA / (2 · sin(π · f · t_lift))
- P1 (Unlocking): Impulse pin enters the fork notch.
- P2 (Impulse): Escape tooth slides over pallet impulse face.
- P3 (Drop & Lock): Tooth hits locking face and fork hits banking pin.
Weighted Parity Regression
Rate and beat error calculation using robust linear regression weighted by tic/tac parity with 5σ trimming (MAD outlier filter), eliminating false deviations from external ambient shocks.
Rate = (P_nom / P - 1) · 86400 [s/d]
Beat Error = 2·|c| [strictly evaluated at P1]
- Beat error measured at P1 for pure balance symmetry isolation.
- Independent tracking of mean amplitude, tic amplitude, and tac amplitude.
- Sliding measurement windows from 10 s to 60 s with 4 Hz telemetry refresh.
ADC Clock Drift Compensation
Consumer USB sound card crystal oscillators carry tolerances of ±30 to ±100 ppm (where 1 ppm = 0.0864 s/d). Advanced Timegrapher measures and eliminates this systematic hardware bias.
+35 ppm uncorrected = +3.02 s/d false reading
Theil-Sen lower envelope estimator (Confidence 0-3)
- Support for external GPS PPS reference (NEO-6M at 4 kHz).
- Automatic device-specific calibration persistence.
- Zero systematic drift distortion in reported watch daily rate.
Continuous Virtual Paper Tape
Faithful digital recreation of legendary laboratory timegrapher tape rolls. Individual dots for every beat categorized by parity (tic/tac), where trace slope translates visually to rate in ms.
1-px non-antialiased peak downsampled paths
0 GUI stutters (GUI latency < 33 ms @ 30 FPS)
- Dynamic oscilloscope focused on P1 / P2 / P3 acoustic gates.
- Paper tape history with auto-scale and 1×, 2×, 4× zoom levels.
- Capture health indicator and real-time clipping detection.
Quartz Mode & Caliber Presets
Dedicated diagnostic mode for stepper quartz watches (1 to 16 pulses per second). Integrated watch movement database (`watch_db.csv`) with verified factory parameters.
Miyota 9015: LA 51° · 28.8k · Seiko 4R36: LA 53°
Seagull ST1901: LA 47° (Verified Weishi 1900 benchmark)
- 24-bit FLAC audio recording with Vorbis / ICMT metadata.
- Export sessions to CSV for positional delta diagnostics (DU, DD, etc.).
- Universal support for USB piezo clamp mics (CM18) and studio mics.
The Three Acoustic Impulses (P1, P2, P3)
In every half-oscillation, the escapement produces three sequential acoustic transients. Measuring the sub-millisecond interval between P1 and P3 is the physical foundation required to calculate the balance wheel amplitude without invasive optical teardowns.
The balance wheel impulse pin strikes the fork notch and moves the pallet to release the locked escape tooth. This is the only sound directly produced by balance wheel inertia. For this reason, true horological Beat Error is measured strictly at P1.
The escape tooth slides along the impulse face of the pallet jewel, transferring energy to maintain oscillation. It is an irregular acoustic glide that laboratory Witschi meters omit when computing the lift angle window.
The escape wheel tooth drops onto the opposing pallet stone and the pallet fork hits the banking pin. This is acoustically the most energetic impact shock wave, serving as the timing anchor in detection.
Project Roadmap & Future Capabilities
Strategic milestones driving Advanced Timegrapher from initial community validation into a professional-grade laboratory horological diagnostic instrument.
Acoustic Benchmark & Normalization
Cross-validation against physical Witschi Chronoscope and Weishi 1900 reference hardware. Normalized cross-correlation on live templates to prevent lobe jumps in noisy calibers (e.g. Seiko 4R36).
GPS PPS & Hardware PLL/FLL
Sub-microsecond synchronization using NEO-6M GPS 1-PPS pulses with a 4 kHz acoustic buzzer. Proportional-Integral (PI) NTP-style PLL/FLL loop to correct sound card crystal drift block-by-block.
Long-Term Spectral Analysis
Teager-Kaiser nonlinear energy operator combined with FFT and Lomb-Scargle periodograms to diagnose cyclical gear train defects (escape wheel eccentricity @ 7.5 s, fourth wheel @ 60 s).
Live Regulation Assistant
Real-time interactive guidance for watchmakers adjusting the regulator curb pins and balance spring stud holder, providing directional visual cues for instantaneous beat error and rate centering.
Quick Installation
Native standalone installers for desktop operating systems or direct pure Python pip deployment.
Universal `.dmg` Bundle
Native macOS bundle packaged with PyInstaller, bundled PortAudio, and Retina display support.
Installer `.exe` / Inno Setup
Setup wizard or portable `.zip` binary with WASAPI / MME PortAudio low-latency drivers.
Pip or RPM Package
Standard install on any modern distribution (Debian, Ubuntu, Fedora, Arch) with Python ≥ 3.12.