Generate slide-by-slide voiceovers from YAML speaker notes and embed them into decks.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "tts-voiceover" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/hve-core/main/.github/skills/experimental/tts-voiceover/SKILL.md 2. Save it as ~/.claude/skills/tts-voiceover/SKILL.md 3. Reload skills and tell me it's ready
Use dry-run to check whether the speaker_notes in this content directory generate valid SSML, and list the voice templates for each slide.
Outputs SSML templates for each slide without generating audio files.
Generate per-slide WAV voice-overs from the YAML speaker_notes in this PowerPoint content directory and save them to the voice-over folder.
Produces a WAV voice-over file for each slide.
Embed the audio from the voice-over directory into deck.pptx and export a narrated version.
Outputs a PPTX file with embedded narration audio.
For deck authors who need to turn slide notes into narration quickly. It reads speaker_notes from YAML and generates audio per slide.
Useful for content with acronyms and technical terms. It applies SSML pronunciation control and supports dry-run template checks before synthesis.
For teams that already have slides and matching audio. You can generate WAV files first, then embed them into a PPTX for a narrated version.
This document describes a TTS voice-over skill that reads YAML `speaker_notes` from a PowerPoint content directory, uses Azure Speech SDK and SSML pronunciation control to generate per-slide WAV files, and can embed the audio into a PPTX deck. It also covers prerequisites, two authentication methods, installation, quick-start commands, key parameters, and a note that narration content is sent to the configured Azure region.
Generates per-slide WAV voice-over files from YAML speaker_notes using Azure Speech SDK with SSML pronunciation control.
This skill reads content.yaml files from a PowerPoint skill content directory, extracts speaker_notes fields, applies SSML acronym aliases for correct pronunciation of technical terms, and produces one WAV file per slide. Supports dry-run mode for SSML template verification without Azure credentials.
SPEECH_KEY) or Microsoft Entra ID (SPEECH_RESOURCE_ID).uv for virtual environment management.SPEECH_REGION for synthesis. Operators must pin an approved region and avoid sending regulated or confidential narration.export SPEECH_KEY="your-speech-key"
export SPEECH_REGION="eastus"
Requires a custom domain on the Speech resource and Cognitive Services Speech User role.
export SPEECH_RESOURCE_ID="/subscriptions/.../Microsoft.CognitiveServices/accounts/your-resource"
export SPEECH_REGION="eastus"
Install dependencies:
# run from this skill folder
uv sync
Verify SSML templates without generating audio:
uv run scripts/generate_voiceover.py --dry-run --content-dir path/to/content
Generate voice-over WAV files:
uv run scripts/generate_voiceover.py --content-dir path/to/content --output-dir voice-over
Embed audio into a PPTX deck:
uv run scripts/embed_audio.py --input deck.pptx --audio-dir voice-over --output deck-narrated.pptx
| Parameter | Type | Default | Description |
|---|---|---|---|
--dry-run | flag | false | Print SSML templates without generating audio |
--voice | string | en-US-Andrew:DragonHDLatestNeural | Azure TTS voice name |
--rate | string | +10% | Speech prosody rate |
--content-dir | path | content | Path to slide content directory |
--output-dir | path | voice-over | Path to WAV output directory |
--lexicon | path | (auto-detect) | Custom acronyms.yaml path |
--collapse-newlines | flag | false | Collapse newlines and whitespace runs in speaker notes into single spaces before synthesis |
--verbose / -v | flag | false | Enable verbose (DEBUG) logging output |
Embeds WAV files into corresponding PPTX slides and adds narration timing XML so PowerPoint recognizes the audio for video export via File > Export > Create a Video > Use Recorded Timings and Narrations.
| Parameter | Type | Default | Description |
|---|
…
It generates per-slide WAV voice-overs from YAML `speaker_notes` in a PowerPoint content directory, with SSML pronunciation control. It can also embed the audio into a PPTX.
You need an Azure Speech resource, Python 3.11+, and `uv` for environment management. Authentication can use `SPEECH_KEY` or Microsoft Entra ID; the latter requires a custom domain and the appropriate role.
Yes, it supports `--dry-run`. It prints SSML templates so you can verify the setup without generating audio or consuming Azure speech quota.
Provides the foundational rules and workflow for Design Thinking coaching.
Helps you write cleaner, safer, more maintainable Python code.
Turns Design Thinking outputs into RPI-ready handoff context.
Compress replies to terse, accurate output with selectable intensity levels.
Use a Python CLI to automate reading and writing Mural content.
Review code changes across perspectives and produce structured findings.
Convert text into voiceovers, accessibility reads, and batch audio prompts.
Convert text or transcripts into MP3 audio with free Edge neural voices.
Convert text into high-quality multilingual speech with Azure Speech Services.
Convert text into multilingual neural speech for narration and audio content.
Convert text into natural speech with multi-voice, dialogue, and long-text playback.
Convert text to speech with inline playback and history in MCP hosts.