The recording is a set of moments, not a map.
A single microphone hears a propeller aircraft as a low-frequency pattern: blade-pass frequency, harmonics, Doppler shift, and the slow envelope of the pass. The recording tells you when the aircraft was audible and roughly what it sounded like. It does not tell you where it was.
PropBrains adds the missing half: a day of real flight tracks. If a candidate aircraft was in the right place at the right time, its track can be tested against the recording. The job is to reduce thousands of aircraft to the few that could produce the signal.
Lay a timeline of evidence.
The lab shows the recording as a 5–800 Hz spectrogram. The user lays a sequence of sections across it. A silence section says there was no propeller aircraft in that interval. A curvesection marks a Doppler pass and carries an editable bezier shape. Anindifference section says the interval is unlabelled or uncertain.
- Import an audio file and choose the channel to analyse.
- Place sections at the playhead and drag the dividers to set their extent.
- Shape each Doppler curve, then export the label timeline as JSON.
The sequence is the input to every later stage. Silence becomes a hard exclusion; curves become matching targets; indifference is ignored.
Silence is a timing constraint.
A single curve is weak: many aircraft could have been somewhere in the sky at that moment. A silence section is much stronger. If curve A ends at 20 seconds and curve B starts at 140 seconds, the aircraft heard at curve A must be gone for the 120-second silence, and the aircraft heard at curve B must be a different airframe.
That silence rules out every aircraft that cannot leave the scene and every aircraft that cannot arrive in time. The lab searches the day’s non-jet tracks — propeller and turboprop aircraft first — and keeps the candidates whose timing survives.
The stage 02 groundwork in the lab takes the confirmed country and window plus the daily country export as a local file. The jsDelivr fetch and the real matcher are the next pass.
If the track fits, the sound has to fit too.
Timing narrows the field; it does not pick a winner. For each remaining aircraft, the lab synthesizes the expected low-frequency signature along its track and compares it with the curve sections. The best match is the aircraft whose motion, distance and orientation explain the recording.
The simulator is where the acoustic model lives: blade-pass frequency, harmonic structure, Doppler, propagation and the microphone’s response. The shell does not pretend to have that yet.
Altitude is a position, not a detail.
A track gives latitude, longitude and altitude, but the acoustic path depends on the ground between the aircraft and the microphone. The final stage adds a heightmap so terrain and altitude can correct the match instead of being ignored.
The UK is a forgiving first region — relatively flat, dense with general aviation, and covered by the companion data pipeline — but the heightmap still belongs in the model.
What the current model assumes.
- The recording has a usable clock; the user selects the analysis channel.
- The source is a propeller or turboprop aircraft, not a jet.
- A sequence of curve and silence sections is enough to constrain the search.
- The day’s non-jet flight tracks are a complete-enough candidate set.
- The first region is the UK and the terrain model can start simple.
These are the working assumptions the next stages will test. The input layer is deliberately simple so the label format can stay stable while the matcher is built.