TTS

Free TTS Narration

Make long-form narration with free edge-tts sentence by sentence, join it into one file and get a sentence time table.

Free TTS Narration
Works with Claude, GPT and GeminiInstall any one of them in VS Code →ClaudeClaude CodeGPTCodexGeminiAntigravity

How to use

  1. 1

    Download the ZIP

    Get the skill file with the button below. No sign-up.

  2. 2

    Unzip and open

    Unzip it into a folder and open that folder in VS Code.

  3. 3

    Just ask

    Tell your AI agent ‘Run the automation pipeline in this folder’.

When to use it

Try saying

“이 대본으로 무료 TTS 나레이션 만들어줘”Make free TTS narration from this script
“문장별 시간표 뽑아줘”Give me the sentence timing table

What you get

  1. 01One narration wav
  2. 02A sentence start, end and frame table

Tips

Get it free now

No sign-up, just one ZIP. Edit it freely for personal or commercial use.

Download ZIP (2KB)

Installation

Claude.ai / Desktop app (ZIP upload)

  1. Download the ZIP below.
  2. Upload it under Settings → Capabilities → Skills.
  3. Turn the skill on and start a chat with one of the "Try saying" lines.

Claude Code (copy the folder)

  1. Unzip it. You'll get a folder named after the skill.
  2. Put that folder inside ~/.claude/skills/ (or .claude/skills/ for a single project).
  3. Restart Claude Code.

Menu names may differ slightly depending on your environment. If you can't see the menu, check that skills are enabled on your plan.

Files and preview

Included files

SKILL.md
README.txt

Preview of SKILL.md

---
name: free-tts-narration
description: Free long-form narration with edge-tts: one voice, sentence by sentence, joined into one clean wav, plus a sentence time table that cuts and captions follow. 무료 edge-tts 나레이션과 문장별 시간표.
---

# Free TTS Narration

## Before you start
- Install: `pip install edge-tts`, and ffmpeg.
- edge-tts is an unofficial client for a Microsoft online voice service. Whether it may be used in monetised videos is not clearly stated. Tell the user this and let them decide; offer a licensed TTS as the alternative.
- List voices: `edge-tts --list-voices`. Pick one and keep it for the whole series.

## 1. Prepare the text
1. Take the narration from `script.md` and apply the TTS replacement table (digits -> spoken words).
2. Write `narration.txt`: **one line = one sentence**, **empty line = block boundary**.

## 2. Generate sentence by sentence
`edge-tts --voice <voice> --text "<sentence>" --write-media s001.mp3 --write-subtitles s001.vtt`

Generating per sentence makes it easy to redo one sentence and gives clean timings.

## 3. Join
- Put a short silence between sentences and a slightly longer one between blocks.
- Join with the ffmpeg **concat filter** into one wav (`-filter_complex "...concat=n=N:v=0:a=1"`). Do not use the `concat:` protocol on mp3 parts; it produces decoding errors at the joins.

## 4. Timings
- Measure each part's length (`ffprobe`) and add them up to get each sentence's start and end second in the joined file.
- Save a sentence table: sentence | start s | end s | start frame (s x fps + 1).

## 5. Check
- Listen to the first minute and the joins between blocks.
- Total length within the target. If not, change the script, not the speed.

## Output
`narration.wav` and the sentence frame table. Next: `science-scene-design` and `narration-synced-cuts`.

---
만든이: sphereai.work (https://sphereai.work)

You may also like

This skill is a set of instructions Claude loads on its own. You are responsible for how you use the results. The instructions inside the ZIP are written in Korean. Terms of Use