→ all versions of this pipeline

Shmili bedtime stories · story 6 · TLV Mall 19

The remaster is ready. Does it sound right to you?

READY TO SHIP

What the pipeline concluded

Six checks now, not five. The five that measure quality all pass, and a sixth was added after the last review: it checks that the new file is the same episode, whole, with nothing missing. The comparison against the version this would replace found nothing that got worse. That comparison is a hard rule in the pipeline: it refuses to ship a file that scores lower than the one already published, even if the new file passes on its own.

PASS
Overall volume on target -16.5 LUFS as heard target -16.0, allowed to miss by 1
PASS
Peaks stay below the ceiling -2.7 dBTP must stay under -1
PASS
No sudden jump that wakes a child 4.5 LU above the average limit is 5
PASS
File made the way we intended mp3, 48 kHz, mono, 96 kbps one encode, no re-encoding after it
PASS
Nothing slammed into the maximum 0 samples at full scale any at all would be audible crunch
PASS
It is the same episode, whole, nothing missing 557.238 s against 557.264 s, a difference of -0.026 s must match within 0.5 s

Every one of those numbers is measured on the actual delivered mp3 file, after encoding, not on the working audio inside the pipeline.

The seven missing seconds are found, and they are now in the file. The last version of this page ended with an open question: the published episode ran about seven seconds longer than anything in the archive, and nobody knew what was in them. They were the show's opening. The pipeline was building the episode without one and every quality check still passed, because a missing opening is not a quality fault — the file is simply the wrong artifact. That gap in the checks is closed. The pipeline now attaches the opening, and the sixth check above would refuse to ship an episode that lost it again.

The opening, and the fault the audit exists to catch

This is the part that is genuinely new since you last looked.

Which opening, and how that was settled rather than guessed

A replacement episode has to open the way the published one opens. That is a fact to read off the published file, not a choice to make again. So the head of the published episode was compared against every opening in the library, and the answer was not close: the Sting matched at 1.00 out of a possible 1.00, and the other two scored below zero, meaning they do not resemble it at all. The bar for accepting a match without asking you is 0.80. Anything under that and the pipeline stops and hands the choice to you, because a wrong opening is exactly the kind of mistake that ships quietly.

Sting this is the one
+1.0000
Voiced opener
-0.1116
Series opener
-0.1356

The score is a correlation: 1.00 means the two shapes rise and fall together perfectly, 0.00 means no relationship, and a negative number means they move against each other. It compares the loudness shape over time rather than the raw waveform, so a difference in level or in mp3 encoding between the two files cannot throw it off.

The opening is now audited before it is allowed anywhere near an episode

This run it passed. Its last fraction of a second measures -54.8 dBFS — quiet, but real sound, a room rather than nothing.

That check is not routine paranoia. The sting in the old library ends in 522 milliseconds of digital zero: not a quiet room, literally no signal at all. The voiced opener had that trimmed off years ago; the sting never was, and it rode into every episode built from it. You can hear the consequence in the file that is live today, and you can hear that it is gone in the new one, two paragraphs down. The pipeline now reads from a repaired copy of the opener library, so this episode needed no patching — the fault was fixed at the source rather than papered over once per episode. The audit stays in place because an asset used eighty times carries its defect eighty times, and the cheapest place to catch that is before it is used, not after.

What this run did repair: the story's own first 27 milliseconds

The raw recording begins with a sliver of digital silence before the first sound — 27 milliseconds of true zero, sitting inside a 55 millisecond stretch that reads as silence to the detector. Completely harmless for as long as it is the first thing in the file, because nobody can hear silence before the audio starts. The moment an opening goes in front of it, that same silence lands in the middle of the episode, between the sting and the first word, and becomes audible. It was filled with room tone taken from the quietest half-second of this same episode, measured at -58.8 dBFS. Room tone is the specific hiss of one room, one microphone and one evening, so a stock hiss underneath a specific recording would be heard immediately as a join.

The result, and the bit you can actually hear

In the published file the opening's silent tail and the story's silent head sit back to back, and together they make one continuous 680 millisecond hole starting at 6.50 seconds — a square-edged one, where the sound stops dead instead of fading. In the new master that region measures zero holes and zero milliseconds of digital zero. So does every other second of the file.

Published today
New master
4 s7 s10 s

The pale blue block is the opening. The red block on the top row is the 680 millisecond hole in the file that is live today. The green sliver on the bottom row is the filled head of the story in the new master. There is nothing else marked on the bottom row because there is nothing else to mark.

Listen to the handover from the opening into the first words, in both files. Each button plays about six seconds.

On a phone speaker in a noisy room this may be hard to catch. On headphones it is the moment where the room disappears completely for two thirds of a second and then snaps back as the first word arrives.

The opening was kept out of the volume setting

The opening arrives already mastered to the level it was designed at. If it were included when the episode's overall volume is set, every correction would quietly drag the opening away from that level. So the levelling stage works on the story only, and the final audit then measures the whole episode, opening included, because that is the file people get.

Listen to the whole thing

Three versions of the same episode. Play any of them straight through.

New master
What this review is about. 9:17.2 long: 7.03 seconds of opening followed by 9:10.2 of story.
Previous, the one already published
Made with Auphonic. This is what the new master would replace. 9:17.3 long — the same episode, the same opening, within 0.026 of a second.
Raw original
Straight off the phone, untouched, 2022-08-28. 9:10.2 long, with no opening on it. Both masters were built from this.

The 28 loud moments, one tap each

These are the spots where a sudden peak, mostly one of the children shouting or laughing, was held down so it would not jolt a child who is already drifting off. Nothing was ever pushed up, only held down, and never by more than 6 dB. Together they cover 49.5 seconds, which is 9.0 percent of the story.

0:00where they fall across the episode9:17.2

The pale blue block at the left edge is the opening, the first 7.03 seconds. No moment falls inside it.

Each button plays only that moment, with 2 seconds of run-up so you hear what leads into it, and stops half a second after it ends. The third button plays the new version and then the old one back to back, which is the fastest way to tell whether you can hear the difference at all.

The times shown are positions in the new master, so they include the 7.03 seconds of opening at the front. The pipeline's own record lists these moments against the raw story instead, which is why every time here is 7.03 seconds later than the number in the record further down the page. When you press "hear it before", the old file is seeked further on again, because its copy of the story sits later inside it — usually by 0.08 of a second, but not everywhere, so the seek for each of these 28 moments was measured separately rather than assumed. The five moments where the two files are further apart than usual say so above their buttons.

"Up to" is literal. The volume slides down over 0.6 seconds, sits at the stated depth across the middle of the moment, then slides back up over 0.6 seconds. Only the middle is held by the full amount, which is exactly why the change itself does not register as an event.

1 0:08.6 → 0:09.4 0.8 s long held down up to 1.0 dB
2 0:12.8 → 0:13.7 0.9 s long held down up to 1.8 dB
3 0:21.6 → 0:22.2 0.6 s long held down up to 0.6 dB
4 0:24.2 → 0:25.2 1.0 s long held down up to 2.0 dB
5 0:26.5 → 0:28.5 2.0 s long held down up to 3.0 dB
6 0:29.5 → 0:32.0 2.5 s long held down up to 4.2 dB
7 1:11.7 → 1:13.8 2.1 s long held down up to 4.0 dB
Here the published file has slipped 0.48 seconds behind, not its usual 0.08. "Hear it before" already allows for that.
8 1:39.2 → 1:40.0 0.8 s long held down up to 1.0 dB
9 1:45.4 → 1:47.7 2.3 s long held down up to 3.8 dB
10 2:51.1 → 2:52.7 1.6 s long held down up to 4.0 dB
11 2:56.7 → 2:57.8 1.1 s long held down up to 1.7 dB
12 3:23.1 → 3:24.2 1.1 s long held down up to 2.1 dB
13 6:42.1 → 6:43.3 1.2 s long held down up to 3.1 dB
Here the published file has slipped 0.24 seconds behind, not its usual 0.08. "Hear it before" already allows for that.
14 6:43.4 → 6:45.0 1.6 s long held down up to 3.7 dB
Here the published file has slipped 0.24 seconds behind, not its usual 0.08. "Hear it before" already allows for that.
15 6:57.0 → 6:58.0 1.0 s long held down up to 1.4 dB
16 6:58.1 → 7:00.7 2.6 s long held down up to 3.5 dB
17 7:14.5 → 7:16.6 2.1 s long held down up to 2.6 dB
18 7:19.1 → 7:19.3 0.2 s long held down up to 0.3 dB
19 7:21.4 → 7:21.6 0.2 s long held down up to 0.3 dB
Here the published file has slipped 0.19 seconds behind, not its usual 0.08. "Hear it before" already allows for that.
20 7:47.9 → 7:51.2 3.3 s long held down up to 4.2 dB
Here the published file has slipped 0.19 seconds behind, not its usual 0.08. "Hear it before" already allows for that.
21 7:51.7 → 7:53.4 1.7 s long held down up to 6.0 dB
22 8:03.1 → 8:03.9 0.8 s long held down up to 0.7 dB
23 8:07.2 → 8:08.1 0.9 s long held down up to 1.4 dB
24 8:08.5 → 8:10.1 1.6 s long held down up to 5.8 dB
25 8:37.0 → 8:37.8 0.8 s long held down up to 1.2 dB
26 8:52.9 → 8:54.2 1.3 s long held down up to 2.9 dB
27 8:56.4 → 8:57.4 1.0 s long held down up to 1.5 dB
28 9:08.7 → 9:09.7 1.0 s long held down up to 1.6 dB

What actually changed

In plain words, comparing the three files.

The original recording arrived clean. The audit of the raw phone recording found exactly one flaw in nine minutes: a 55 millisecond gap of silence right at the top, before the recording properly starts — the one the head fill above dealt with. Nothing else. No dropouts, no clicks, no repeated fragments. That is why the repair stage had nothing to do and did nothing. A second, entirely separate detector built by other people, Essentia 2.1b6.dev1389 (standard mode), was run over the same recording as a check on our own detector, and it reached the same conclusion: independent detector agrees the recording is clean. It found zero clicks and zero dropouts of its own. It does not see our gap at the top, which is expected, because that one sits before the recording starts rather than inside it. The pipeline treats that second opinion as advice, never as a gate.

The published version has real damage in it. Running the same detector over the Auphonic file that is live today turns up 396 holes of digital silence where the room tone vanishes completely, 9.0 seconds of pure zero in total. 74 of those have square edges, meaning the sound stops dead rather than fading, which is the kind you can actually hear as a small click or a hiccup. It also has 6 duplicated fragments, short pieces of audio repeated — and every one of them repeats at the same 0.43 second distance, which is the signature of a misaligned paste rather than of somebody genuinely saying something twice. Plus 3 further micro gaps. Pointing the independent Essentia click detector at it turns up 5 click hits, but they cluster at only two distinct places, 0:32.4 and 7:04.0 — the rest are the same instant reported more than once. The same detector finds 0 in the new master and 0 in the raw original.

Silence holes, new master
0
across the whole file, opening included
Silence holes, published version
396
74 of them with hard square edges
Clicks in the new master
0
Essentia click detector, an outside tool
Clicks in the published version
5
at two places only, 0:32.4 and 7:04.0

The figures for the raw original come from the pipeline's own record. The ones for the new master and for the published version were measured while this page was being built, by running the pipeline's own detector and the Essentia detector over both files, because the pipeline only ever compares delivery checks against the published file and does not audit it for damage. One caveat the pipeline itself records: a raw hole count overstates audible damage, because most holes are gated near-silence sitting inside a pause. The number that matters is the square-edged subset, 74.

The life in the recording survived. Loudness range, a measure of how much the volume moves between the quiet parts and the loud parts, measured in LU or loudness units, is the number that tells you whether a story still breathes or has been ironed flat. The raw recording measures 12.2. The new master delivers 10.8. The published Auphonic version was squashed to 6.8, close to half the movement. That difference is the reason to replace it.

Loudness range, raw original
12.2
how it came off the phone
Loudness range, new master
10.8
measured on the delivered mp3, opening included
Loudness range, published version
6.8
flattened, the quiet and loud pulled together
Rumble removed below
120 Hz
the voice carries essentially nothing down there

Volume is set for Apple Podcasts. The new master delivers −16.5 LUFS as heard. LUFS is the standard unit for how loud something actually feels to a listener rather than how big the waveform is, and Apple asks for −16.0 give or take 1, so this sits inside the window. "As heard" matters here: the file is mono, and a mono file played through two speakers sounds about 3 dB louder than the meter reading for one channel, so the pipeline measures it the way it will be heard rather than the way it is stored. The file-only reading is −19.6.

Nothing is near the ceiling. True peak is −2.7 dBTP. dBTP means decibels true peak, that is, the highest level the sound reaches once it is turned back into an actual waveform in the listener's player, including the little overshoots that mp3 encoding creates but a plain waveform view never shows. The ceiling for this pipeline is −1.0, and −2.7 leaves comfortable room. Zero samples hit full scale.

The lengths, if you want to check the arithmetic. The raw story is 550.208 seconds. The opening is 7.03. Together that is exactly 557.238, which is the length of the new master. The published file is 557.264, so the two differ by 0.026 of a second — that residue is mp3 encoder padding, the few silent samples an encoder adds at the edges, and it is far inside the 0.5 second tolerance the check allows. Same episode, same opening, same length.

The old file's timeline does not run straight. Lining the two files up against each other two seconds at a time, the published one normally carries the story 0.08 of a second behind the new one, steadily, for about 84 percent of the episode. In three stretches it does not. In each one it slips further behind, holds there for around half a minute, and then snaps back:

1:02.0 to 1:32.0
+400 ms
extra slip, on top of the usual 80 ms
6:20.0 to 6:50.0
+160 ms
extra slip, on top of the usual 80 ms
7:20.0 to 7:50.0
+115 ms
extra slip, on top of the usual 80 ms
Everywhere else
0 ms
flat at 80 ms, no wander at all

The biggest of them covers almost exactly the span where all six duplicated fragments were found, between 1:06.4 and 1:34.0 of that file, and its size is close to their shared repeat distance of 0.43 seconds. Read together that is not a mystery: audio was pasted into that stretch of the published file, pushing everything after it late, and taken back out at the end of it. It is the same class of fault as the holes, seen from a different angle. The new master does not do this — checked at 54 points spread across the episode it tracks the raw recording at a flat 7.03 seconds throughout, never out by more than 0.167 of a millisecond.

Measured while this page was built, by sliding an eight second window along both files and finding, at each step, the shift that makes their loudness shapes line up best. Inside those stretches the match at the usual 80 ms collapses to almost nothing while the match at the value shown stays above 0.9, so these are real displacements in the file, not the measurement wandering.

Why the loud moments needed two passes

The holding down was not done in one shot. It was measured, applied, then measured again.

Before anything was touched, the loudest three second stretch of the episode sat 7.0 LU above the episode's own average level. The bedtime limit is 5. After the 28 holds were applied, the same measurement came back at 4.6, inside the limit, so no second round of cuts was needed.

Setting the overall volume afterwards also took two goes. The first raised it by 3.1 dB and landed at -16.2 LUFS, which is 0.2 off target. The second used 3.3 dB and landed exactly on -16.0. Encoding to mp3 shifts it a further 0.5, which is why the delivered file measures −16.5 rather than −16.0, and the pipeline checks that after encoding rather than before.

The full record, every step

45 events, in order: what happened, where in the audio, when it ran, which tool did it and which version of that tool, and the exact settings it used. Swipe the table sideways on a phone to reach the later columns. The wording in the "what happened" column is the pipeline's own, written as it ran, not rewritten afterwards; anything in it that reads as code is explained in the glossary below.

One thing to know about the "where" column. The pipeline records most of its work against the story, which is how it was working at the time, before an opening existed. Those positions are shown here converted to where they land in the delivered file, which is 7.03 seconds later, with the number the pipeline actually wrote underneath.

#What happenedWhere in the delivered file When (UTC)ToolSettings used
1 sha256 of preservation_master Fingerprinted the file worked whole file 2026-08-07 12:53:30 python 3.14.6 algorithm SHA-256
2 preservation_master matches Checked the file had not changed worked whole file 2026-08-07 12:53:30 python 3.14.6
3 baseline audit of the raw capture Checked the audio worked whole file 2026-08-07 12:53:35 python 3.14.6 findings hole 1
loudness integrated lufs -18.3, lra lu 12.2, true peak dbtp -0.3, max short term lufs -11.3, max momentary lufs -7.1, dualmono yes
damage found here belongs to the recording, not to us
4 second opinion from Essentia: independent detector agrees the recording is clean Checked the audio worked 2026-08-07 12:53:41 Essentia 2.1b6.dev1389 (standard mode) ran yes
tool Essentia 2.1b6.dev1389 (standard mode)
gaps ours 1, theirs 0, agreed 0, only ours 1, only theirs 0
clicks ours 0, theirs 0, agreed 0, only ours 0, only theirs 0
verdict independent detector agrees the recording is clean
advisory only — a disagreement is never a gate
5 accepted-residuals register read: 0 entries for t06, 0 findings marked ACCEPTED-DO-NOT-REFLAG Made a decision worked 2026-08-07 12:53:41 python 3.14.6 register /Users/amitmdev/VoiceLab-PVC/shmili-catalog/accepted-residuals.json
entries for episode 0
findings suppressed 0
accepted none
contract only Amit reopens an entry
6 1 findings recorded before planning Checked the audio worked 2026-08-07 12:53:41 python 3.14.6 classes hole
7 fix plan written Made a decision worked 2026-08-07 12:53:41 python 3.14.6 batches 1
queued for amit 0
8 denoise gate: run Made a decision worked 2026-08-07 12:53:41 python 3.14.6 source rms dbfs -22.73
threshold -28
why below the threshold the full denoise over-cleans
9 rumble cut at 120 Hz (whole file) Changed the audio worked 2026-08-07 12:53:42 ffmpeg 8.0.1 filter highpass=f=120
why the voice carries essentially nothing below it
10 combined-file check Checked the audio worked 2026-08-07 12:53:45 python 3.14.6 findings before hole 1
findings after hole 1
untouched identical not recorded
11 startle: held a loud moment down by 1.0 dB Changed the audio worked 0:08.6 → 0:09.4
recorded as 1.6–2.4 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
12 startle: held a loud moment down by 1.8 dB Changed the audio worked 0:12.8 → 0:13.7
recorded as 5.8–6.7 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.8
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
13 startle: held a loud moment down by 0.6 dB Changed the audio worked 0:21.6 → 0:22.2
recorded as 14.6–15.2 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -0.6
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
14 startle: held a loud moment down by 2.0 dB Changed the audio worked 0:24.2 → 0:25.2
recorded as 17.2–18.2 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -2
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
15 startle: held a loud moment down by 3.0 dB Changed the audio worked 0:26.5 → 0:28.5
recorded as 19.5–21.5 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -3
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
16 startle: held a loud moment down by 4.2 dB Changed the audio worked 0:29.5 → 0:32.0
recorded as 22.5–25 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -4.2
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
17 startle: held a loud moment down by 4.0 dB Changed the audio worked 1:11.7 → 1:13.8
recorded as 64.7–66.8 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -4
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
18 startle: held a loud moment down by 1.0 dB Changed the audio worked 1:39.2 → 1:40.0
recorded as 92.2–93 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
19 startle: held a loud moment down by 3.8 dB Changed the audio worked 1:45.4 → 1:47.7
recorded as 98.4–100.7 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -3.8
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
20 startle: held a loud moment down by 4.0 dB Changed the audio worked 2:51.1 → 2:52.7
recorded as 164.1–165.7 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -4
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
21 startle: held a loud moment down by 1.7 dB Changed the audio worked 2:56.7 → 2:57.8
recorded as 169.7–170.8 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.7
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
22 startle: held a loud moment down by 2.1 dB Changed the audio worked 3:23.1 → 3:24.2
recorded as 196.1–197.2 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -2.1
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
23 startle: held a loud moment down by 3.1 dB Changed the audio worked 6:42.1 → 6:43.3
recorded as 395.1–396.3 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -3.1
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
24 startle: held a loud moment down by 3.7 dB Changed the audio worked 6:43.4 → 6:45.0
recorded as 396.4–398 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -3.7
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
25 startle: held a loud moment down by 1.4 dB Changed the audio worked 6:57.0 → 6:58.0
recorded as 410–411 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.4
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
26 startle: held a loud moment down by 3.5 dB Changed the audio worked 6:58.1 → 7:00.7
recorded as 411.1–413.7 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -3.5
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
27 startle: held a loud moment down by 2.6 dB Changed the audio worked 7:14.5 → 7:16.6
recorded as 427.5–429.6 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -2.6
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
28 startle: held a loud moment down by 0.3 dB Changed the audio worked 7:19.1 → 7:19.3
recorded as 432.1–432.3 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -0.3
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
29 startle: held a loud moment down by 0.3 dB Changed the audio worked 7:21.4 → 7:21.6
recorded as 434.4–434.6 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -0.3
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
30 startle: held a loud moment down by 4.2 dB Changed the audio worked 7:47.9 → 7:51.2
recorded as 460.9–464.2 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -4.2
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
31 startle: held a loud moment down by 6.0 dB Changed the audio worked 7:51.7 → 7:53.4
recorded as 464.7–466.4 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -6
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
32 startle: held a loud moment down by 0.7 dB Changed the audio worked 8:03.1 → 8:03.9
recorded as 476.1–476.9 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -0.7
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
33 startle: held a loud moment down by 1.4 dB Changed the audio worked 8:07.2 → 8:08.1
recorded as 480.2–481.1 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.4
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
34 startle: held a loud moment down by 5.8 dB Changed the audio worked 8:08.5 → 8:10.1
recorded as 481.5–483.1 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -5.8
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
35 startle: held a loud moment down by 1.2 dB Changed the audio worked 8:37.0 → 8:37.8
recorded as 510–510.8 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.2
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
36 startle: held a loud moment down by 2.9 dB Changed the audio worked 8:52.9 → 8:54.2
recorded as 525.9–527.2 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -2.9
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
37 startle: held a loud moment down by 1.5 dB Changed the audio worked 8:56.4 → 8:57.4
recorded as 529.4–530.4 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.5
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
38 startle: held a loud moment down by 1.6 dB Changed the audio worked 9:08.7 → 9:09.7
recorded as 541.7–542.7 s of the story
2026-08-07 12:53:48 ffmpeg 8.0.1 cut db -1.6
ramp s 0.6
reduction only yes
max cut allowed db 6
likely a child yes
why bedtime gate: a jump after quiet narration wakes a child
39 opener asset audit (opening-sting-96k_-3.0dB.mp3): clean Checked the audio worked 2026-08-07 12:53:52 ffmpeg 8.0.1 opening opening-sting-96k_-3.0dB.mp3
duration s 7.03
tail peak dbfs -54.8
head peak dbfs -12.4
tail is digital silence no
integrated lufs -21.8
true peak dbtp -11
pass yes
why a digital-silence tail in this asset once propagated into 66 masters; the asset is checked, not just the episodes
40 filled 27 ms of silence at the start of the story Changed the audio worked 0:07.0 → 0:07.1
recorded as 0–0.027 s of the story
2026-08-07 12:53:52 ffmpeg 8.0.1 filled yes
head silence s 0.027
room tone rms dbfs -58.8
why inaudible while it is the head of the file; becomes a dead spot between the opening and the first word once an opening is attached
41 levelled to -16.0 LKFS (measured dual-mono, as heard) Set the overall volume worked 2026-08-07 12:54:04 ffmpeg 8.0.1 measured before lufs -19.1
target -16
final gain db 3.3
dualmono measurement yes
peak ceiling dbfs -2.5
why limiter a flat trim would drop loudness by the same amount and miss the target
rounds round 1, gain db 3.1, limiter engaged yes, measured lufs -16.2, error lu 0.2, peak dbfs -2.5 / round 2, gain db 3.3, limiter engaged yes, measured lufs -16, error lu 0, peak dbfs -2.5
42 sha256 of delivered Fingerprinted the file worked whole file 2026-08-07 12:54:08 python 3.14.6 algorithm SHA-256
43 delivered audit: all checks pass Checked the audio worked whole file 2026-08-07 12:54:08 ffmpeg 8.0.1 bitrate 96k
PASS loudness target: measured lufs as heard -16.5, measured lufs file only -19.6, target -16, tolerance 1
PASS true peak: measured dbtp -2.7, ceiling -1
PASS startle: max short term lufs -12, over integrated lu 4.5, limit lu 5
PASS encode: codec mp3, sample rate 48000, channels 1, bit rate kbps 96
PASS clipping: samples at full scale 0
44 sha256 of production_master Fingerprinted the file worked whole file 2026-08-07 12:54:09 python 3.14.6 algorithm SHA-256
45 refuse-to-ship-lower comparison Made a decision worked 2026-08-07 12:54:11 python 3.14.6 comparable yes
previous loudness target yes, true peak yes, startle yes, encode yes, clipping yes
new loudness target yes, true peak yes, startle yes, encode yes, clipping yes
regressions none
structural previous duration s 557.264, new duration s 557.238, difference s -0.026, tolerance s 0.5, pass yes, why same length, so it is the same episode
ship yes

The files this record covers

Each one fingerprinted with SHA-256, a checksum that changes completely if even one byte of the file changes, so it can be proved later that the file is the same one.

FileWhat it isSizeFingerprint
preservation master
TLV Mall 19.m4a the story only, as recorded, with no opening in front of it
aac, 48 kHz, mono, 550.208 s 4,715,678 bytes 223cc397051bb344…
delivered
ep-t06.mp3 the opening and the story together, the file that would be published
mp3, 48 kHz, mono, 557.238 s 6,687,692 bytes 8da862236865666d…
production master
t06-production-master.wav the levelled story at full quality, kept without the opening on it
pcm_s24le, 48 kHz, mono, 550.208 s 79,230,054 bytes 7a23422797075b33…

One run, opened 2026-08-07 12:53:30 UTC and closed 2026-08-07 12:54:11 UTC, on Amits-Mac-mini.lan, operator amitmdev. The record follows the PREMIS vocabulary, a standard used by archives and libraries for describing what was done to a preserved file and by what. The "new master" player at the top of this page is byte for byte the delivered file listed above (checked, they match).

Two small gaps in the record, worth knowing rather than worth worrying about. The join itself — the moment the opening and the story became one file — has no entry of its own; it happens inside the delivery step, so the record shows the repair and then the delivered file, without a line for the handover between them. And the production master kept for later is the story on its own, without the opening, so rebuilding a different delivery from it would mean attaching the opening again.

Every unit on this page, in plain words
dB (decibel)
A step in loudness. 6 dB down is roughly "half as loud" to the ear. The deepest hold on this episode is 6 dB, and that is the hard limit the pipeline allows itself.
LUFS
Loudness units relative to full scale. The standard measure of how loud a whole programme feels to a listener over its length, not how tall its waveform is. Apple Podcasts asks for −16.
LU
Loudness unit. The same size step as a dB, used when comparing one loudness measurement to another. "4.5 LU above the average" means the loudest stretch sits four and a half steps above the episode's overall level.
Loudness range (often written LRA)
How much the volume moves across the episode between its quiet parts and its loud parts, in LU. High means the story still breathes. Low means it has been ironed flat.
dBTP (decibels true peak)
The highest level the sound actually reaches in the listener's player, including the small overshoots that appear when a compressed file is turned back into a waveform. It can be higher than anything visible in the file itself, which is why it is measured separately.
dBFS (decibels full scale)
Level measured against the loudest value the file format can hold. 0 is the maximum, and everything real is a negative number. A reading like −240 is not a quiet sound, it is what a meter says when there is no sound at all.
Short term loudness
The loudness of a three second window. This is the one that matters at bedtime, because a child is woken by a sudden jump, not by the average level of nine minutes.
mp3, 96 kbps, 48 kHz, mono
The delivered file format. 96 kilobits per second is the amount of data used per second of audio, 48 kilohertz is how many times per second the sound was sampled, and mono means one channel rather than left and right.
Hole
A stretch where the audio drops to complete digital silence, so even the room tone disappears. A "square edge" one stops dead instead of fading, and that is the kind you can hear.
Square edge
The sound cuts off instantly rather than fading over a few milliseconds. Instant cuts are what the ear registers as a click.
Digital zero
Not quiet — nothing. Every sample is the number zero. A real room always has some hiss, so a stretch of digital zero in the middle of a recording is heard as the world switching off and back on.
Room tone
The sound of a room with nobody speaking: the air, the fridge, the street outside, the microphone's own hiss. It is a fingerprint of one room on one evening, which is why a gap has to be filled with tone from the same recording rather than from a stock file.
Sting
A short piece of music or sound used to open a programme. It is the opening this episode carries, 7.03 seconds long.
Asset audit
Checking the opening itself, as a file, before it is joined to anything. A shared piece used across many episodes carries its faults into all of them, so it is cheaper to check it once at the source than to find it in each episode.
Encoder padding
An mp3 encoder works in fixed-size blocks, so it adds a few silent samples at the edges to make the audio fit a whole number of them. That is why two files holding the same audio can differ by a few hundredths of a second in length.
Duplicated fragment
A short piece of audio that appears twice, because a copy was pasted slightly out of position during editing. When several of them share the same repeat distance, that is a machine's mistake rather than a person repeating themselves.
Startle gate
The bedtime rule in this pipeline: no three second stretch may sit more than 5 LU above the episode average, so nothing jumps out at a half asleep child.
Ramp
How long the volume takes to slide down into a hold and back out of it. Here it is 0.6 seconds each side, slow enough that the change itself is not audible as an event.
Limiter
A safety catch that only touches the very tops of the peaks, so the overall level can be raised to target without the loudest instants going over the ceiling.
Correlation score
How closely two sounds move together over time, on a scale where 1.00 is identical movement, 0.00 is no relationship and a negative number means they move opposite ways. It is what identified which opening the published episode carries, and what lined the three files up against each other.
SHA-256
A fingerprint of a file. Change one byte anywhere and the fingerprint changes completely, which is how the record proves a file was not altered.
Preservation master
The raw original, exactly as recorded, never edited. Everything else is derived from it and it is kept forever.
Production master
The full quality working file the delivered mp3 was made from, kept so a different delivery can be made later without redoing the work.
Delivered
The mp3 that would actually be published. It is the one the checks are run against.
Structural check
The sixth check, added after the last review. It asks whether the new file is the same episode as the one it replaces, by comparing their lengths, and refuses anything that differs by more than half a second. It exists because an episode missing its opening passed all five quality checks.
Accepted residuals register
A list of flaws you have listened to and decided to live with, so the pipeline stops raising them at you on every run. Only you can put something on that list or take it off. For this episode the list is empty.
Denoise gate
A rule that decides whether to run noise cleaning at all. If a recording is already quiet, cleaning it strips the room away with the noise, so below a set level the pipeline declines to clean. This recording sat above it, so a rumble cut was applied and nothing more.
PREMIS
The vocabulary archives and national libraries use to describe what was done to a preserved file. The record above uses it so the steps mean the same thing to anyone else who reads them.
Essentia
An independent audio analysis toolkit built by other people. It is used here as a second opinion, so the click count does not depend on this pipeline's own detector agreeing with itself.
Auphonic
The online service that produced the version currently published. It is what the new master would replace.