Narrated progress report β piper-tts π§ Narrated tab#144
Merged
Conversation
Builds on the narration-script builder (#143). Adds the generator + playback: - scripts/narrate-report.mjs (npm run dashboard:narrate / make dashboard-narrate): gathers REAL data β newest unified runs across both repos, recently-shipped commits, live perf metrics, the feature-tour clips β feeds buildNarration, then renders each segment to audio with piper-tts (high-quality female voice, en_US-lessac-high) + ffmpeg, plus a combined track and a narration.json manifest. - server.mjs: GET /api/narration (manifest) + GET /narration/<file>.mp3 (path-safe, mp3-only, HTTP Range); factored streamFile() shared with media serving; mp3 MIME. - app.mjs + page.mjs: a "π§ Narrated" tab β plays each segment's audio while the synced media (trend chart / live video clip / screenshot) shows above and the transcript below, auto-advancing; live run updates no longer disturb the player. Voices + audio live under the already-gitignored test-artifacts/. Verified: 39 unit tests; manifest 14 segments / ~2.5 min; mp3 served with Range; traversal + non-mp3 rejected (400); browser playback renders chart + video media, survives a server poll cycle, 0 console errors. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
π§ͺ Comprehensive Test Suite
Full-stack smoke gate runs in the CI workflow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A narrated walkthrough of progress in the live dashboard, building on the narration-script builder (#143).
npm run dashboard:narrate(make dashboard-narrate) βscripts/narrate-report.mjs: gathers real data (newest unified runs across both repos, recently-shipped commits, live perf metrics, feature-tour clips), renders each segment with piper-tts (high-quality female voiceen_US-lessac-high) + ffmpeg, writes audio + anarration.jsonmanifest + a combined track.GET /api/narration+GET /narration/<file>.mp3(path-safe, mp3-only, HTTP Range; sharedstreamFile).Voices + audio are under the gitignored
test-artifacts/. Verified: 39 unit tests; manifest 14 segments/~2.5 min; mp3 Range serving; traversal/non-mp3 β 400; browser playback renders chart + video, survives a poll cycle, 0 console errors.π€ Generated with Claude Code