feat(audio): Music becomes a crossfading playlist of 5 mellow synth tracks

Replace the single ethereal loop with the operator's chosen set — Music for
Manatees, Dewdrop Fantasy, Eastminster, Overheat, Concentration (Kevin MacLeod,
CC BY 4.0, drumless). The Music source now plays one track and every 5 min
crossfades to a random OTHER track (pure HEFScrub.pickNextIndex, never an
immediate repeat), altitude-independent, reusing the two audio elements; both
primed in-gesture for Safari. Intervals injectable via window.__hefMusicRotateMs
/ __hefMusicXfadeMs.

Media loudness-normalized + transcoded under the 25MB LFS limit (build_audio_media
MUSIC), committed via LFS; ethereal loop retired. CC-BY attribution added to
credits.html. Docs updated (music-candidate-pool = final set; audio-candidate-pool
ethereal section superseded).

+2 node unit (pickNextIndex), +2 e2e (music-playlist), audio-source spec updated.
40 unit + 49 e2e green; live probe confirms playback + rotation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
BenStullsBets
2026-07-02 16:22:28 -07:00
parent 969236b3f7
commit 4f4f21a767
16 changed files with 246 additions and 56 deletions
+15 -6
View File
@@ -12,13 +12,22 @@ URL). Local review gallery (gitignored, like the other review pages):
**Honesty flag:** licenses + URLs are verified; the "harmony" notes are inferred from
genre/reputation, not a by-ear check — audition before final selection.
## Operator picks & refined brief (2026-07-02)
## FINAL selection — WIRED 2026-07-02
Operator auditioned and **kept `dreamcult` (Dream Culture) + `silverblue` (Silver Blue Light)**
— both Kevin MacLeod, CC BY, drumless cinematic-calm synth. **Rejected everything else** as
"boring OR too much snare drum." So the refined target is **drumless, evolving-chord ambient
synth** in that exact lane — the HoliznaCC0 lo-fi (beat-driven) is OUT. A Round-4 search is
sourcing ~812 more like the two keepers (Kevin MacLeod's Calming/Ambient catalog first).
After a Round-4 drumless pass, the operator's **final Music set = 5 Kevin MacLeod tracks**
(CC BY 4.0), now **shipped as a rotating crossfading playlist**:
**Music for Manatees · Dewdrop Fantasy · Eastminster · Overheat · Concentration**
Wiring: `app.js` `MUSIC_PLAYLIST` — the Music source plays one track and every
`MUSIC_ROTATE_MS` (5 min) crossfades to a random OTHER track (`pickNextIndex`, never an
immediate repeat), altitude-independent, on the two `#aud`/`#aud-b` elements. Files
loudness-normalized + transcoded under the 25MB LFS limit by `build_audio_media.py`
(`MUSIC`), committed via LFS; the single ethereal loop was **retired**. Credited on
`credits.html` (CC BY attribution). Earlier candidates below kept for record.
*(History: the operator first kept Dream Culture + Silver Blue Light, then — after the
drumless Round-4 pass — chose the 5 long-form/floaty tracks above instead.)*
## Two license families