speak-summary
Turns text into MP3 audio using the computer's voice. It's useful for those who want to listen to summaries, articles, or any text instead of reading, like during a commute.
What it does
Turns written text into listenable MP3 audio. It rewrites the text to sound natural when spoken before creating the audio, using your own computer.
When to use it
- ✓When you want to listen to a summary of a long text.
- ✓To create an audio version of a document.
- ✓To have a personal 'podcast' of news or information.
Example of what to ask your AI
“Turn this article into audio for me to listen to on my commute.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The AI first adapts the text to sound good when spoken, changing long sentences and explaining acronyms. Then, it uses a program on your computer to turn this adapted text into an MP3 audio file.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill speak-summaryOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/speak-summary/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Speak Summary
Turn written text into audio someone will actually want to listen to.
This skill is deliberately a terminal step in a chain. Another skill (or you)
produces the text; this one makes it listenable. It pairs naturally with
roundup, daily-prep, meeting-minutes, or any summarisation work.
Everything runs locally on CPU. No text is sent to a cloud speech service, which matters when the content is confidential, and it means the skill works in a headless cloud agent or CI container just as well as on a laptop.
Prerequisites
The synthesis engine is Kyutai pocket-tts,
a small neural TTS model designed to run on CPUs.
The bundled script installs it automatically into a cached virtualenv on first use, so usually you need do nothing. To install it explicitly:
pip install pocket-tts # any platform
brew install pocket-tts # macOS, if preferred
pocket-tts requires Python >=3.10 and <3.15. The script searches for a
compatible interpreter rather than assuming python3 is one — worth knowing if
you are on a very new Python, where installation would otherwise fail.
You also need an encoder. ffmpeg is strongly preferred (brew install ffmpeg
or apt-get install -y ffmpeg); on macOS the script falls back to the built-in
afconvert and emits .m4a instead of .mp3.
The first run downloads the model (~1GB) from Hugging Face. After that it is fully offline and synthesises roughly 6x faster than real-time.
The important step: rewrite for the ear
Do not feed written text straight into the synthesiser. Prose that reads well on screen is tiring to listen to. Rewriting it first is what separates a useful audio digest from an unlistenable one.
Produce a spoken script that:
- Opens with orientation. What this is, what it covers, roughly how long it runs.
- Replaces bullets with connective prose. "First… The bigger one is… Finally…" — a listener has no visual structure to lean on, so carry it in the language.
- Expands abbreviations on first use. "PR" becomes "pull request", "CI" becomes "continuous integration". Acronyms that read fine are noise when spoken.
- Speaks dates and numbers naturally. "the twentieth of August", not "2026-08-20". "About three thousand", not "2,847".
- Never reads URLs aloud. Say "linked in the written version" instead.
- Uses short sentences. Split anything past roughly 25 words.
- Signposts transitions. "Turning to the product side…", "Two things need your attention…".
- Ends with the actions. Recap what the listener should do, since that is what they need to retain and they cannot scroll back.
- Drops anything purely visual. Tables, code blocks, and diagrams should be summarised in a sentence or omitted, never read out.
Write this spoken script to its own .txt file. Keep the original written
version with its links intact — the audio is a companion to it, not a
replacement. The user will want to click through later.
Synthesise
./scripts/tts.sh <input.txt> <output.mp3> [voice.safetensors]
The script strips any residual markdown, splits the text on sentence boundaries into ~600 character chunks (quality degrades on long single inputs), synthesises each chunk, and concatenates the result into a mono MP3 at 96kbps — small enough to sync to a phone, good enough for speech.
Environment overrides:
| Variable | Purpose |
|---|---|
SPEAK_TTS_BIN |
Path to a specific pocket-tts binary; skips all auto-detection. |
SPEAK_TTS_HOME |
Where to create/find the cached virtualenv. Default ~/.cache/speak-summary/venv. |
Voices
The default English voice is alba. To use a different one, pocket-tts
supports voice cloning from a short clean audio sample:
pocket-tts export-voice --help
Pass the resulting .safetensors file as the third argument to the script.
Only clone a voice you have the rights to use. Do not clone a real person's voice — colleague, customer, or public figure — without their explicit consent.
Output
- Default to
~/Music/Briefings/unless the user says otherwise; it is easy to point a phone or podcast app at. - Name files
<subject>-<YYYY-MM-DD>.mp3. - Report the path, duration, and size.
- Offer to play it:
afplay <path>on macOS,ffplay -nodisp -autoexit <path>elsewhere.
Length guidance
Aim for 4–6 minutes for a routine digest, which is roughly 600–900 spoken words
…
FAQ
Do I need to pay for any cloud services?
No, everything runs on your own computer. Only an initial download of the audio program is needed.
Can I choose the voice?
Yes, different voices can be used if you have the correct voice files and the rights to use them.
What if the audio cuts off mid-sentence?
This can happen if the sentences in the original text are too long. Try shortening the sentences in the text you want to convert to audio.
Details
Original description by the author
Convert text, markdown, or a summary produced by another skill into a listenable MP3 using local CPU-only neural text-to-speech. Rewrites written prose for the ear before synthesising. Use when the user asks to "read this out", "turn this into audio", "make an MP3", "I want to listen to this", "podcast version", or wants a spoken digest for a commute or breakfast.
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5372
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
intent-driven-development
Helps your agent turn ideas into clear, testable plans. Defines criteria to ensure changes are made correctly and safely.
affaan-m/ECC
product-capability
Guides your agent in turning product ideas into clear plans. It defines what needs to be done, the limits, and decisions before development.
affaan-m/ECC
article-writing
Writes long-form content like articles, guides, and blog posts with a unique style. It's useful when you need well-written texts with a consistent voice and credibility.
affaan-m/ECC