← All the evidence

hearing-step1.md

SHA-256 001f8186a00c5c13b0d74b86c40ba41882e71c2ae608e0c75e164fa7fb55c676 · download the original

# hearing, step 1: the e's, the first live bet, voices with no labels

Written 2026-10-23 02:09, before any code. His go, on the proposal in `~/Code/notes/sentinel/equation-qa.md` q76: "if u truly belive your capable at making some godly wights that learn on steriods be my guest" (q77).

## what it is

Sentinel hears by betting on the next number of the sound, and knows a sound by what came after it before. Step 1 is the bottom of that, live from the mic, every 10 ms:

1. The bottom bet. Each next number of the sound (48,000 a second) is guessed from the 48 before it. The guess is a set of e's, each a spin (a frequency) that grows or fades at its own rate: a throat, a door or a string ringing. What the guess misses is kept as the miss. Bets and misses together are the sound, exactly, so nothing is thrown away.
2. The first live bet. The next 10 ms of e's (as their smooth outline, the cepstrum, plus loudness) is guessed from the last 30 ms by a learner that updates on every 10 ms (recursive least squares, forgetting over about 10 s). How far off the guess was, against how far off it usually is, is the surprise.
3. Voices with no labels. Every stretch of voice of 1 s or more (the panel's voice rule: 8 readings in a row with steadiness under 0.15 and pitch 70 to 400 Hz, held 1.2 s) is compared with the places made so far. It joins the place that could most likely have made it (the usual model-comparison test, BIC, with its standard weight of 1, on the outline and the pitch of its voiced readings) or starts a new place.

None of it is borrowed: our own math and code, no weights from anyone.

## pass rules, fixed now

1. Rebuild. From the bets and the misses alone, the kept sound of 10-23 from 01:30 to 02:10 is rebuilt exactly, every sample.
2. Voices. Stretches of his voice and stretches of other voices played from the iPhone through the Mac's speakers, labeled him, other or mixed by me from a transcript before the sorting is run (mixed ones left out): at least 80% of his stretches land in one place, and at most 10% of the other voices' stretches land in that place.
3. Bets break at the gaps between words. Inside continuous speech (two words less than 100 ms apart), the surprise at the boundary between the words beats the surprise at a random moment inside a word at least 65% of the time, and at least 10 points more often than with the boundaries shuffled in time inside the same speech (the placebo). Measured on his three talks of 10-23 (01:32, 01:35, 01:41) and on minutes 5 to 15 of his 10-01 memo. The word boundaries come from a forced alignment made by a borrowed model in a scratch folder: a measuring tool only, never part of sentinel.

How rules 2 and 3 are measured, fixed now too. Times in this file are BST (UTC+1).

- Rule 2 uses the kept sound of 10-23 from 01:30 to 02:10. If fewer than 10 of his stretches or 10 of the other voices' stretches are found there, rule 2 is not scored and the results say so.
- Rule 3: a boundary is the midpoint between the end of one word and the start of the next, for every pair less than 100 ms apart. Its surprise is the highest surprise among the readings within 30 ms either side. For each boundary one random moment is drawn inside a word of the same talk (or the same memo minute), at least 30 ms from that word's edges, and its surprise is taken the same way. The boundary wins when its surprise is higher; a tie counts half. The placebo draws each boundary's time at random between the same talk's first word start and last word end and compares it with the same random moments. Draws use a fixed seed, 1. Fewer than 100 boundaries in all and rule 3 is not scored.

Cost, live: at most 3% of one core averaged over an hour, at most 20 MB more memory, no sound dropped.

Development data, where tuning is allowed and written down here before the tests run: minutes 0 to 5 of the 10-01 memo, and the kept sound of 10-23 from 00:58 to 01:30. The voice place weight stays at the standard 1, untuned.

Held out: his reading to it from the "read to it" panel (after 02:40 on 10-23) is not used in step 1 at all, for tuning or testing. It is kept for step 2.

Kill: a fail on rule 2 or 3 is recorded as a fail, and that layer is rethought before step 2. Nothing is tuned on the test data. A fail on rule 1 is a bug.

Not claimed: words. Step 1 knows no words.

## after this file

This file is not edited once frozen. What is tuned on the development data goes in `docs/hearing-step1-tuned.md`, frozen before the tests run. Results go in `docs/hearing-step1-result.md`.