Skip to main content

In this article

tts-voiceover

tts-voiceover
FieldValue
Kindskill
Source.github/skills/experimental/tts-voiceover
InvocationInvoked directly as /tts-voiceover, or loaded on demand by referencing agents
InteractiveNo

What it does​

Text-to-speech voice-over generation from YAML speaker notes using Azure Speech SDK with SSML pronunciation control, or an offline Piper engine that needs no credentials

When to use it​

Use this skill to produce per-slide WAV narration from PowerPoint content YAML's speaker_notes, with SSML aliases for technical terms. Choose dry-run to inspect SSML without Azure credentials or audio generation. Live synthesis requires Python 3.11+, uv, an Azure Speech resource, authentication, and an approved region.

Speaker notes are transmitted to the configured SPEECH_REGION. Do not send confidential or regulated narration, and keep authentication values out of chat. Use demo-video to assemble audio with visuals after narration is ready.

Example usage​

Ask: /tts-voiceover Dry-run the synthetic speaker notes in content/ using content/acronyms.yaml. Inspect SSML only; do not synthesize audio. Provide slide directories such as slide-001/content.yaml with nonempty speaker_notes and a lexicon mapping CI/CD to a spoken alias. Expect SSML with the intended voice, rate, and substitutions. Success at this stage is correct template output, not a generated WAV or verified pronunciation.

After region and authentication are configured separately, an authorized synthesis request can produce matching slide-NNN.wav files. Listen for pronunciation and pauses; --collapse-newlines is useful when block-scalar wrapping should not become spoken pauses. Embedding into a separate narrated PPTX is another step: the script replaces existing timing and disables click advancement, so review animations and playback rather than overwriting an authored deck without checking.