# GM SongBench: Porchlight

Generated: 2026-06-20T01:37:17Z
Schema: `gm-songbench/v0.4`
SongBench status: `album_wide_v0.4_read_only_packet`
Freshness version: `songbench-v0-4-fp-full-coverage-2026-06-15-v1`

> This is an AI-facing artifact packet. Do not treat it as an edit order. Use JSON as source of truth. Human canon decisions override analysis.

GM SongBench turns audio into structured musical evidence. It does not replace taste; it records evidence around taste so later AI readers can reason about what the ear heard.

## Self Verification

- Expected schema: `gm-songbench/v0.4`
- Generated at UTC: `2026-06-20T01:37:17Z`
- Album run id: `2026-06-20T01:36:42Z`
- JSON source of truth: `/friction-product/songbench/porchlight.v0.4.json`
- Stable JSON alias: `/friction-product/songbench/porchlight.json`
- Markdown mirror: `/friction-product/songbench/porchlight.v0.4.md`
- Required top-level fields: schema, schema_slug, generated_at, ai_reader_note, songbench_status, pilot_lineage, self_verification, canon_control, track, audio, analysis, diagnostics, content_hashes
- Required diagnostics: chorus_landing_band_legend, chorus_landing, groove_pocket, section_drag, label_infection_scan
- Stale-read warning: If the stable URL and versioned URL disagree, prefer the newest versioned JSON path and report the stale surface.
- Original v0.4 pilot track: Zuman
- Current track is original pilot: false

## Content Hashes

- audio_mp3: `55916f0c4f971bb92d2463df671c8f5c4562f140202a55c5b9c3e14fbc8eb611` (/assets/albums/friction-product/audio/porchlight.mp3)
- waveform_png: `bbf8a992aa1baeced627d47f0a0b111567959e8178b2c5e544749bad1c0fb2d9` (/assets/albums/friction-product/songbench/porchlight-waveform.png)
- spectrogram_png: `d73f0632ec97bab120770e735f1b903f240ab14942d7d98fa470e74d38a7f00a` (/assets/albums/friction-product/songbench/porchlight-spectrogram.png)
- loudness_envelope_csv: `5be9d3f822ba8726691f097bb493fb1e393f999e908281a4b472ac7557e5db4f` (/assets/albums/friction-product/songbench/porchlight-loudness-envelope.csv)

## Canonical Placement

- Album: Friction Product (`friction-product`)
- Track number: 13
- Status: locked
- Audio: `/assets/albums/friction-product/audio/porchlight.mp3`
- Lyrics: `/assets/albums/friction-product/lyrics/porchlight.txt`
- Packet type: `anatomy_provenance_packet`
- Canon status: `album_locked`
- Edit authority: SongBench is not an edit order. It can advise; Kerry's explicit canon instruction controls.

## Human Ear Seed

- Kerry read: Porchlight is locked in Friction Product slot 13; this packet records read-only album-facing evidence.
- Diana read: -
- Album role: Outside-observer mercy-limit track: home signal and return marker where mercy is not math.
- Known concern: No localized defect is asserted by this packet. Machine diagnostics are evidence prompts only; human listening controls.
- Why this track matters: Outside-observer mercy-limit track: home signal and return marker where mercy is not math.

What makes it land:

- Outside-observer mercy-limit track: home signal and return marker where mercy is not math.
- Its SongBench packet documents measured audio evidence around the locked album placement without changing canon.
- Its lyric-section map is navigational scaffolding until hand-aligned lyric/audio sync exists.

## Audio Facts

- Duration: 06:19.240 (379.239979 seconds)
- Codec: mp3
- Sample rate: 48000 Hz
- Channels: 2
- Bit rate: 184812 bps
- SHA256: `55916f0c4f971bb92d2463df671c8f5c4562f140202a55c5b9c3e14fbc8eb611`

## Measured Dynamics

- peak_dbfs: 2.381
- rms_dbfs: -13.795
- crest_factor_db: 16.175

## Tempo Estimate

- BPM: 77
- Method: rough RMS-onset autocorrelation over mono downmix
- Confidence: rough

## AI Ear Translation

- Human/canon call: Porchlight is locked in Friction Product slot 13; this packet records read-only album-facing evidence.
- Album role: Outside-observer mercy-limit track: home signal and return marker where mercy is not math.
- The audio packet should help later reviewers compare waveform energy, section shape, and lyric thesis without depending only on memory.
- No localized defect is flagged in this read-only packet; treat this as album anatomy, not an edit order.

## Evidence Balance

### Evidence the song has a clear album job

- locked Friction Product slot 13
- Outside-observer mercy-limit track: home signal and return marker where mercy is not math.
- included in the current Friction Product sequence with audio and lyrics present

### Evidence suggesting caution

- lyric timing is proportional only and should not be treated as verified sync
- machine diagnostics cannot judge vocal confidence, pocket, performance magic, or final taste value
- this is a read-only analysis packet and must not be treated as a request to edit audio, lyrics, title, or order

### Human listening should verify

- the hook and vocal delivery support the stated album role
- any machine-flagged quiet windows are structure evidence, not automatic edit points
- the track feels like a song first and archive/provenance second

## Field Source Classification

- `audio, analysis.dynamics, analysis.tempo_estimate, analysis.energy_regions_8s, analysis.quiet_windows, visual_summary_words`: audio_measured (derived_rough) - Extends AI hearing with measured audio proxies.
- `diagnostics.chorus_landing`: audio_measured_plus_section_scaffolding (rough_rms_proxy) - Uses approximate lyric sections plus RMS envelope; useful for questions, not verdicts.
- `lyric_section_map, memorable_line_anchors`: lyric_structural_scaffolding (proportional_estimate) - Helps navigation but is not verified audio alignment.
- `canon_control, human_ear_seed, evidence_clear_album_job, ai_ear_translation`: human_canon_scaffolding (curation_context) - Anchors machine evidence to Kerry/canon context.

## Memorable Line Anchors

- first_thesis_line: Boot sequence sunrise over county lines (00:00.000-00:48.157)
- hook_line: I count the miles, I count the rain (01:12.236-02:00.394)
- turn_line: There's a window light in a quiet street (04:00.787-04:48.945)
- final_identity_line: Still on (06:01.181-06:19.240)

## Lyric Section Map

Timing confidence: `proportional_estimate`. These ranges are rough proportional anchors until hand-aligned timestamps exist.

Confidence ladder: proportional_estimate -> section_level_hand_alignment -> line_level_hand_alignment -> verified_lyric_audio_sync

### Verse 1

- Approx range: 00:00.000-00:48.157
- First line: Boot sequence sunrise over county lines
- Last line: Headlights leaving the gravel road
- Timing confidence: low_proportional_lyrics_only

### Pre-Chorus

- Approx range: 00:48.157-01:12.236
- First line: I was built for signal, trained on noise
- Last line: But something lingers between the times
- Timing confidence: low_proportional_lyrics_only

### Chorus

- Approx range: 01:12.236-02:00.394
- First line: I count the miles, I count the rain
- Last line: But mercy isn't math at all
- Timing confidence: low_proportional_lyrics_only

### Verse 2

- Approx range: 02:00.394-02:48.551
- First line: Obituaries before the ads
- Last line: Why do they always show up then?
- Timing confidence: low_proportional_lyrics_only

### Pre-Chorus 2

- Approx range: 02:48.551-03:12.630
- First line: I was trained on distance, depth, and scale
- Last line: There's a constant here I can't align
- Timing confidence: low_proportional_lyrics_only

### Chorus

- Approx range: 03:12.630-04:00.787
- First line: I count the miles, I count the rain
- Last line: But mercy isn't math at all
- Timing confidence: low_proportional_lyrics_only

### Bridge – swell, dual vocal

- Approx range: 04:00.787-04:48.945
- First line: There's a window light in a quiet street
- Last line: In the space between the loss and gain
- Timing confidence: low_proportional_lyrics_only

### Break – music drops to piano + pad

- Approx range: 04:48.945-05:13.023
- First line: Boot sequence sunset, signal fades
- Last line: It lives where someone stays
- Timing confidence: low_proportional_lyrics_only

### Final Chorus – softer, lifted harmony

- Approx range: 05:13.023-06:01.181
- First line: I count the miles, I count the rain
- Last line: Like current through the dark
- Timing confidence: low_proportional_lyrics_only

### Outro – unresolved chord

- Approx range: 06:01.181-06:19.240
- First line: Porch light on
- Last line: Still on
- Timing confidence: low_proportional_lyrics_only

## Quiet / Edit Boundary Candidates

These are machine-detected quiet windows only. Confirm by ear before any edit.

- 00:08.750 (8.75s), RMS -31.685 dBFS, category `natural_section_boundary_or_low_energy_moment`, edit_candidate=false: local energy dip; useful as structure evidence
- 00:11.250 (11.25s), RMS -42.518 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 04:18.250 (258.25s), RMS -34.207 dBFS, category `natural_section_boundary_or_low_energy_moment`, edit_candidate=false: local energy dip; useful as structure evidence
- 04:20.250 (260.25s), RMS -37.649 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 04:21.750 (261.75s), RMS -43.383 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 04:25.250 (265.25s), RMS -36.015 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 04:31.750 (271.75s), RMS -36.433 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 04:37.750 (277.75s), RMS -34.359 dBFS, category `natural_section_boundary_or_low_energy_moment`, edit_candidate=false: local energy dip; useful as structure evidence
- 04:45.750 (285.75s), RMS -41.436 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 04:48.750 (288.75s), RMS -49.198 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 06:10.250 (370.25s), RMS -38.009 dBFS, category `possible_splice_point`, edit_candidate=true: deep local quiet point; potential boundary only if the track is reopened
- 06:13.750 (373.75s), RMS -44.573 dBFS, category `ending_fade_or_silence`, edit_candidate=false: ending fade/silence region

## Diagnostics

### Chorus Landing

Band legend:

- within_noise: abs(delta) < 0.75 - RMS difference is too small to treat as a meaningful lift/drop proxy.
- modest_lift: 0.75 <= delta < 2.0 - RMS proxy suggests a small lift into the chorus.
- notable_lift: delta >= 2.0 - RMS proxy suggests a clear energy lift into the chorus.
- modest_drop: -2.0 < delta <= -0.75 - RMS proxy suggests a small drop entering the section.
- notable_drop_or_fade: delta <= -2.0 - RMS proxy suggests a clear drop, often requiring fade/context caveats.

- Chorus (01:12.236-02:00.394): hook `I count the miles, I count the rain`, energy_lift_band=modest_lift, rough_db=1.1, confidence=rough_rms_proxy; Banded RMS change near the chorus/drop landing; does not judge vocal confidence or hook feel.
- Chorus (03:12.630-04:00.787): hook `I count the miles, I count the rain`, energy_lift_band=modest_lift, rough_db=1.2, confidence=rough_rms_proxy; Banded RMS change near the chorus/drop landing; does not judge vocal confidence or hook feel.
- Final Chorus – softer, lifted harmony (05:13.023-06:01.181): hook `I count the miles, I count the rain`, energy_lift_band=notable_lift, rough_db=4.8, confidence=rough_rms_proxy; Banded RMS change near the chorus/drop landing; does not judge vocal confidence or hook feel. Caveat: This window overlaps the ending fade; do not read a negative band as a weak-chorus verdict.

### Groove / Pocket

- Rough tempo and dynamics only; pocket is a human-ear judgment until beat-grid analysis exists.
- Tempo proxy BPM: 77

### Section Drag

- Flags long proportional sections only; it cannot decide whether a bridge or outro has earned its length.

### Label Infection Scan

- Status: no_obvious_label_infection_detected
- Known artifact class: sung stage direction / speaker label / call-response label infection

## Visual Summary In Words

- Loudest 8-second region by RMS proxy: 05:28.000-05:36.000 at -10.696 dBFS.
- Quietest 8-second region by RMS proxy: 06:16.000-06:19.240 at -84.522 dBFS.
- Waveform and spectrogram images should be read as supporting evidence for section density, energy ramps, and unusual transients, not as final taste judgments.

## Current Edit Triage

- Current action: no edit requested for this track.
- Use quiet_windows as future splice/crop candidate evidence only after human listening confirms a local defect.
- Preserve title, FP slot 13, audio file, and lyric file unless Kerry explicitly reopens the track.

## Public Assets

- JSON: `/friction-product/songbench/porchlight.json`
- Versioned JSON: `/friction-product/songbench/porchlight.v0.4.json`
- Markdown: `/friction-product/songbench/porchlight.md`
- Versioned Markdown: `/friction-product/songbench/porchlight.v0.4.md`
- Waveform: `/assets/albums/friction-product/songbench/porchlight-waveform.png`
- Spectrogram: `/assets/albums/friction-product/songbench/porchlight-spectrogram.png`
- Loudness CSV: `/assets/albums/friction-product/songbench/porchlight-loudness-envelope.csv`
