---
type: "post"
id: "github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d"
slug: "github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d"
title: "GitHub - digitalis-p/doppler-locate: Geolocate audio recordings from propeller-aircraft Doppler curves matched to ADS-B tracks"
description: "An independent open-source project, doppler-locate, matches Doppler curves from propeller-aircraft audio with public ADS-B flight tracks to estimate where a recording was made."
retrieval_nugget: "An independent open-source project, doppler-locate, matches Doppler curves from propeller-aircraft audio with public ADS-B flight tracks to estimate where a recording was made. Its results on one published challenge are strikingly precise, but the project also documents meaningful validation gaps. For builders, it is a case study in multimodal inference and privacy risk from ambient data."
published_at: "2026-11-05"
updated_at: "2026-11-05"
record_date: "2026-11-05"
date_kind: "published_at"
topics: ["github"]
entities: ["doppler-locate","adsb.lol","colsto","NOAA GFS"]
related_patterns: ["generative-media-becomes-application-infrastructure"]
novelty_label: "new_fact"
what_changed: "A separate GitHub tool, doppler-locate, geolocates propeller-aircraft audio using Doppler curves matched to ADS-B tracks; unlike the previously covered DOPPLERGEIST, it is a distinct project."
prior_refs: []
source_url: "https://github.com/digitalis-p/doppler-locate"
source_urls: ["https://github.com/digitalis-p/doppler-locate"]
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d"
status: "published"
visuals: []
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
routes: {"html":"https://newruntime.com/posts/github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d/","markdown":"https://newruntime.com/posts/github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d.md","json":"https://newruntime.com/posts/github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d.json"}
markdown_url: "https://newruntime.com/posts/github-digitalis-p-doppler-locate-geolocate-audio-recordings-7b974d.md"
---

# GitHub - digitalis-p/doppler-locate: Geolocate audio recordings from propeller-aircraft Doppler curves matched to ADS-B tracks

## Retrieval answer

An independent open-source project, doppler-locate, matches Doppler curves from propeller-aircraft audio with public ADS-B flight tracks to estimate where a recording was made. Its results on one published challenge are strikingly precise, but the project also documents meaningful validation gaps. For builders, it is a case study in multimodal inference and privacy risk from ambient data.

## Summary
An independent open-source project, doppler-locate, matches Doppler curves from propeller-aircraft audio with public ADS-B flight tracks to estimate where a recording was made. Its results on one published challenge are strikingly precise, but the project also documents meaningful validation gaps. For builders, it is a case study in multimodal inference and privacy risk from ambient data.

## What happened
The public repository describes doppler-locate as an independent reimplementation of a method shown in a video by colsto. The video’s author released no code, so this project was rebuilt from the narration and material visible on screen. It uses free data from adsb.lol rather than Flightradar24. The repository includes a command-line workflow, a standalone flyover detector, and a GTK desktop application for the broader workflow. It is published under the MIT license and the repository page lists 15 stars.

Its premise is that propeller aircraft can leave recognizable blade-pass tones in a recording. Those tones are usually around 50–600 Hz and may be inaudible, but can appear as curved traces in a spectrogram. The user measures a flyover on a zoomed, whitened spectrogram, traces the ridge, and fits a straight-line constant-speed flyby. In that fit, speed affects the size of the frequency drop, while the closest-approach slant distance affects how rapidly the tone changes. The program profiles that fit to produce deliberately broad speed and distance ranges.

The search then compares those measurements against a UTC day of ADS-B tracks over the continental United States. It evaluates aircraft passes near points on a 200-metre Albers grid, calculating three-dimensional distance at closest approach from aircraft altitude and terrain elevation, plus a delayed closest-approach time for sound travel. A candidate needs to fit one event and then a later event within the measured timing tolerance. The workflow also discards locations where the recording should have contained another non-jet flyover. The project says it removes steady tones with a running median per frequency bin because intermittent hums can otherwise pull the search toward wrong candidates.

The README reports a whole-region search on a 60-minute challenge recording described as filmed on September 8, 2026, somewhere in the continental United States. With no location prior, the author’s measurements ranked the true location first among 1,060 flight pairs, 67 metres from the camera. Measurements drawn from the video also ranked it first at 67 metres. A synthetic recording rendered from real tracks ranked first at 52 metres. The two selected flyovers were a Pilatus PC-12 at 17,250 feet and a King Air 350 descending through roughly 3,200 feet, heard 920 seconds apart.

Weather is part of the documented implementation rather than a cosmetic refinement. For the PC-12, the source says adding NOAA GFS wind and temperature data reduced the curve residual at the true location from 0.55 Hz, under a still-air assumption, to 0.21 Hz. It also fits one clock shift across both events and uses wider frequency and offset tolerances because descent and slowing can bias a simple straight-line fit. Jets are excluded by default because their sound is mostly broadband and their tones are more readily absorbed. In the stated test, retaining jets raised flight pairs 2.9-fold, candidates 12.5-fold, search time fourfold, memory use to 34 GB, and scoring time about sixfold.

## What the archive adds
This is a new event with a meaningful connection to [Earshot](https://newruntime.com/posts/earshot-gives-coding-agents-calibrated-hearing-describe-match-1bc321/), which made audio operations callable capabilities for coding agents. Earshot concerns sound as a development capability; doppler-locate instead demonstrates that ambient audio can expose a physical location. The connection does not imply that the two projects integrate.

## Trend signal
The case only weakly supports [generative media becomes application infrastructure](https://newruntime.com/patterns/generative-media-becomes-application-infrastructure/). It is not a generative-media product, but it does show audio becoming an operational input in a composed system of signal analysis, meteorological data, terrain data, and public flight records. One independently rebuilt repository cannot establish a broad product trend.

## Why it matters
The result illustrates how individually ordinary public and environmental signals can become identifying when combined. A recording that appears to reveal no location may contain aircraft tones, while public flight tracks, sound propagation, terrain, weather, and timestamps can reduce the plausible locations. That capability has legitimate uses in consensual challenges and research, but it also makes privacy boundaries a product concern for teams building audio-analysis, media-search, or location-inference systems.

The implementation also separates an impressive demonstration from a dependable product claim. The reported 67-metre result belongs to a particular recording, a particular regional search, and a workflow involving two usable flyovers. The source itself shows how data availability, weather assumptions, tone cleanup, and timing treatment shaped the outcome. Builders should expose provenance, coverage assumptions, confidence criteria, and failure modes as part of the product surface rather than leaving them as post-demo caveats.

## Limits and uncertainty
The source does not establish reliable performance across regions, recording devices, aircraft mixes, weather conditions, or arbitrary ambient audio. Its single-event attempt did not find the truth because the apparently matching aircraft was absent from adsb.lol data; the README says Flightradar24 has more receivers and MLAT coverage. The detector’s confidence rule was tuned on the same challenge recording. The margin over the runner-up is narrower than in the source video, whose score scale is not directly comparable. These are self-reported repository results, not an independent benchmark or safety assessment.

## Skill to build now
If a team handles user audio, make a small inventory of non-speech signals retained by its pipeline: background sound, timestamps, device metadata, and inferred locations. For each proposed analysis feature, define whether it needs explicit consent, what precision it can expose, and which inputs are necessary. Then test the feature against recordings outside the data used to tune it. doppler-locate makes clear that a model need not recognize speech for audio to become sensitive.

## Reader takeaway
Ambient sound can leak more than spoken content: under favourable conditions, aircraft tones plus public tracking data may reveal where a recording was made. doppler-locate is a useful and candid technical demonstration, not evidence of a general-purpose geolocation service. Teams building related systems should validate independently and treat consent, coverage, and confidence as first-class requirements.

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Github](https://newruntime.com/topics/github.md): Explore the github topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Sources](https://newruntime.com/sources/): See the original sources this archive cites.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
