Repository navigation
feat: pluggable walkthrough voices, with a local Kokoro voice - #4
JamesFranc wants to merge 3 commits into
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Comment |
A free, offline voice beside ElevenLabs, chosen with WALKTHROUGH_VOICE=kokoro. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Shared voice types, cache helpers, SPEED and VoiceError (was TtsError) moved to voice.ts; tts.ts became elevenlabs.ts; voices.ts holds the registry and the one selection used by render and check-tools. WALKTHROUGH_VOICE=elevenlabs is now valid, and only the selected voice reads configured in check-tools. A whitespace-only ELEVEN_LABS_API_KEY counts as unset in both, so it no longer reaches ElevenLabs. The macOS voice from v1.101.0 plugs in through the same registry, and WALKTHROUGH_VOICE=mac selects it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15b91c1 to
22db923
Compare
|
Thank you for this! The idea is being adopted: a local Kokoro voice for walkthrough narration, behind a shared voice interface. This repository is a published snapshot, so changes land in the source repository and reach here with a release. Rather than merging this PR, we re-implemented the idea there:
It will show up here in a future release. Closing this one in favour of that change. |
|
This shipped in v1.102.0. A correction to my earlier comment: the co-author credit is on the commit in the source repository, but the release commit here doesn't carry it. I've added a credit line to the release notes instead, and future releases will keep co-author credit on the release commit. |
What
Adds Kokoro as a local narration voice for architecture walkthrough videos. Kokoro, ElevenLabs and the macOS voice now all plug in through one
Voiceinterface.WALKTHROUGH_VOICEnames the voice:kokoro,elevenlabsormac.ELEVEN_LABS_API_KEYis set to a non-blank value, else the macOS voice whenWALKTHROUGH_MAC_VOICEis set, else a silent video with subtitles.elevenlabswithout a key,macwithoutWALKTHROUGH_MAC_VOICE, or any other value fails the render before any work starts.kokoronarrates throughuv, runningkokoroandsoundfileat pinned versions under Python 3.12.KOKORO_VOICEpicks the speaker (defaultaf_heart). Only American or British English voices (prefixaorb) are accepted, because only those come back with word timings, and the render needs them to time scene cues.walkthrough/voice.tsdefines theVoiceinterface and the pieces every voice shares.elevenlabs.ts,kokoro.tsandmac-voice.tseach implement it.voices.tsholds the registry and the one selection rule that bothwalkthrough renderandcheck-toolsuse, socheck-toolsreports only the voice that will narrate asconfigured.The README covers Kokoro setup and the variables.
skills/architecture/references/walkthrough.mdcovers voice selection and adding a voice.Why
Without an ElevenLabs key or macOS, walkthrough videos render silent, with the narration as subtitles. Kokoro gives narrated videos on any platform at no cost and without a network service. Putting voices behind one interface means adding another is a module implementing
Voice, plus registry,check-toolsand docs entries that the walkthrough reference lists, with no changes to the renderer.🤖 Generated with Claude Code