Podcast player: calmer line-following scroll, and a voice you can pick
"The scrolling works kinda weirdly" + "maybe a less robotic voice, preferably male". Scroll: the transcript now follows by LINE, not by word - words on the same line never move the page (that was the jitter), a line only scrolls once it leaves a comfortable band, small corrections are instant rather than animated, and a wheel/touch/drag on the transcript pauses the following for four seconds instead of fighting the reader. Chapter jumps and word taps re-centre at once. Voice: lib/podcast-voices ranks what the platform installed (natural / neural / online names up, espeak / SAM / compact down, a male name preferred) and the player picks the best one automatically; a new picker in the chrome lists everything in the episode's language, applies it live and remembers the choice per language. A note points at the system settings when only robotic voices exist. The engine takes the chosen voice instead of guessing. podcast-test: 34 checks now (voice ranking, filtered picker, persisted pick, same-line silence, line following, manual-scroll suspension). Version 0.7.4, SW v96.
This commit is contained in:
parent
d95c5c7151
commit
4ec986da12
8 changed files with 684 additions and 46 deletions
11
README.md
11
README.md
|
|
@ -1516,7 +1516,16 @@ Things I chose while building, with the reasoning:
|
|||
contrast, and the scan now covers this screen too. `tests/podcast-test.mjs` (17th suite)
|
||||
stubs both the model and the speech engine: it drives a boundary event, checks the
|
||||
pause/resume word, the chapter jump, the speed change, the stored position and the plugin's
|
||||
400/stream guards (26 checks).
|
||||
400/stream guards. **Follow-up (0.7.4):** the scroll follows by *line*, not by word — words on
|
||||
the same line never move the page (that was the jitter), a line only scrolls once it leaves a
|
||||
comfortable band, small corrections are instant instead of animated, and a manual wheel,
|
||||
touch or drag pauses the following for four seconds instead of fighting the reader; a seek
|
||||
(chapter, word tap) re-centres at once. And the voice is now a choice: `lib/podcast-voices`
|
||||
ranks what the platform has installed (natural/neural/online names up, espeak/SAM/compact
|
||||
down, a male name preferred — "preferably male" was the ask), the player picks the best one
|
||||
automatically and offers a picker for everything in the episode's language, and the choice is
|
||||
remembered per language. The suite grew to 34 checks (voice ranking, the filtered picker,
|
||||
persisting a pick, same-line silence, line following, manual-scroll suspension).
|
||||
|
||||
102. **An API key is not a login.** "When trying to use a different provider on the web app it
|
||||
glitches out completely" — a photo of the first-run gate with iOS's saved-password sheet laid
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue