TTS

무료 TTS 나레이션

무료 edge-tts로 문장마다 나레이션을 만들어 한 파일로 잇고, 컷과 자막이 따라갈 문장별 시간표를 뽑아요.

무료 TTS 나레이션
Claude · GPT · Gemini 모두 사용 가능VS Code에 셋 중 하나만 설치하면 돼요 →ClaudeClaude CodeGPTCodexGeminiAntigravity

사용법

  1. 1

    ZIP 받기

    아래 버튼으로 스킬 파일을 내려받아요. 가입은 필요 없어요.

  2. 2

    폴더에 풀고 열기

    원하는 폴더에 압축을 풀고 VS Code에서 그 폴더를 열어요.

  3. 3

    말로 시키기

    AI 에이전트에게 ‘이 폴더에 있는 자동화 파이프라인 진행해줘’라고 말하면 돼요.

이럴 때 써요

이렇게 말해 보세요

“이 대본으로 무료 TTS 나레이션 만들어줘”
“문장별 시간표 뽑아줘”

이런 결과를 받아요

  1. 01나레이션 wav 한 개
  2. 02문장별 시작·끝 시간과 프레임 표

잘 쓰는 팁

지금 무료로 받아 보세요

가입 없이 ZIP 하나면 끝이에요. 개인·상업 용도로 고쳐 써도 돼요.

ZIP 받기 (2KB)

설치 방법

Claude.ai / 데스크톱 앱 (ZIP 업로드)

  1. 아래 ZIP을 내려받아요.
  2. 설정 → 기능(Capabilities) → 스킬에서 ZIP을 업로드해요.
  3. 스킬을 켜 두고, 아래 "이렇게 말해 보세요" 문장 중 하나로 대화를 시작해요.

Claude Code (폴더 복사)

  1. ZIP을 풀면 스킬 이름의 폴더가 나와요.
  2. 그 폴더를 ~/.claude/skills/ 안에 넣어요. (프로젝트 전용이면 .claude/skills/)
  3. Claude Code를 다시 시작해요.

이용 환경에 따라 메뉴 이름이 조금 다를 수 있어요. 메뉴가 안 보이면 요금제에서 스킬 기능이 켜져 있는지 확인해 주세요.

파일 구성과 미리보기

들어 있는 파일

SKILL.md
README.txt

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)

함께 보면 좋은 스킬

이 스킬은 Claude가 알아서 불러 쓰는 지침서예요. 사용 결과에 대한 책임은 사용자에게 있어요. 이용약관