This project shows how multiple unsynchronized consumer devices (phones, cameras, recorders) can jointly verify the timing and spatial consistency of real-world acoustic events using physics-based constraints, even when:
- Device clocks are inaccurate or drifting
- GPS is unavailable, jammed, or spoofed
- Audio contains noise, echoes, or reverberation
Core idea:
Phase is locally ambiguous, but globally constrained.
A single recording is never enough.
Multiple recordings must agree with physics.
At room temperature:
c ≈ 343 meters/second ≈ 1125 feet/second
For a representative audio frequency of approximately 1 kHz:
f ≈ 1000 Hz
λ = c / f ≈ 0.343 meters ≈ 1.13 feet
This wavelength is short enough to give fine spatial resolution,
yet long enough to remain stable across consumer microphones.
Each device measures phase, not distance.
A measured phase value φ (between 0 and 2π) corresponds to:
distance = (integer_cycles + fractional_phase) × wavelength
d = ( n + φ / 2π ) × λ
where:
φis the measured phasenis an unknown integer cycle countλis the wavelength
This is the phase wrapping problem:
Phase can be measured precisely,
but the total number of cycles traveled is initially unknown.
With three devices A, B, and C, relative arrival times must be consistent.
In time form:
Δt_AB + Δt_BC ≈ Δt_AC
In distance form:
d_AB + d_BC ≈ d_AC
Incorrect integer cycle choices violate these relationships.
Only one assignment of integer cycles across all devices produces a valid physical geometry.
This is how ambiguity collapses into truth.
File:
bat_crack_to_glove_multidevice_phase_guide.md
- Event 1: Bat strikes ball (“crack”)
- Event 2: Ball reaches glove (“thud”)
- Multiple phones record both events
- Devices are not time-synchronized
For device i:
- Phase at crack: φᵢ,c
- Phase at thud: φᵢ,g
The time difference between events for that device is:
Δt_i = ( n_i + (φᵢ,g − φᵢ,c) / 2π ) × (1 / f)
Each device has its own unknown integer cycle count n_i.
For any two devices i and j:
Δt_i − Δt_j =
( (dᵢ,glove − dᵢ,crack) − (dⱼ,glove − dⱼ,crack) ) / c
All devices must agree on the same ball flight time.
- Wrong cycle counts fail consistency checks
- One configuration satisfies all constraints
- Absolute timing emerges without shared clocks
This is the clean reference case.
File:
Sports Stadium Audio Analysis.txt
- Distances up to ~100 meters
- Crowd noise and PA system echoes
- Multiple candidate acoustic transients
The direct sound path always arrives before reflections:
t_direct < t_reflected
Phase coherence is strongest during this first arrival window.
For devices A, B, and C observing the same event:
| d_A − d_B | ≤ c × | Δt_AB |
Triangle inequality must hold:
d_AB ≤ d_AC + d_BC
- Late echoes violate triangle closure
- Edited or replayed audio introduces inconsistent delays
Even in noisy environments, global geometry still closes.
False positives fail residual checks.
File:
Concert Audio Analysis.txt
- Continuous sound field
- Strong reverberation
- Overlapping frequency content
Instead of relying on a single impulse:
- Extract repeated impulsive micro-events (snare hits, claps)
- Enforce consistency across many events
For event k and device i:
dᵢ,k = ( nᵢ,k + φᵢ,k / 2π ) × λ
Require geometry stability:
dᵢ,k − dⱼ,k ≈ dᵢ,k+1 − dⱼ,k+1
The room does not move.
Cycle assignments implying “moving walls” are invalid.
Precision degrades, but fabricated or edited audio fails quickly.
If device positions are known:
Device i at (xᵢ, yᵢ, zᵢ)
Sound source at (x_s, y_s, z_s)
Distance traveled by the sound wave:
dᵢ = c × ( tᵢ − t₀ )
Also from phase measurement:
dᵢ = ( Nᵢ + φᵢ / 2π ) × λ
Geometric constraint:
sqrt( (xᵢ − x_s)² + (yᵢ − y_s)² + (zᵢ − z_s)² ) = dᵢ
With enough devices:
- Integer cycle counts become fixed
- Sound origin location is solved
- Total travel distance is known
- Emission time emerges automatically
Only one solution satisfies all devices, all cycles, and all distances.
A single recording cannot tell you the truth.
A network of recordings constrained by physics can.
Truth is the solution that survives every constraint.