‹ 首页

video-voiceover

@worldwonderer · 收录于 1 周前

Synthesize Chinese narration audio (TTS voiceover) from a timestamped narration.json. Use to turn a written narration script into per-segment speech audio, with MiMo TTS (mimo-v2.5-tts), dynamic speed fitting, and loudness handling. Part of the video-recap bundle: consumes narration.json (output-timeline time), produces tts_segments + tts_meta.json. In the legacy direct-cut path, narration_mapped.json may be passed explicitly instead. 触发词: 配音, 语音合成, TTS, 解说配音, voiceover, text to speech, 旁白配音.

适合你,如果正在制作视频需要自动生成中文解说音频

/ 下载安装
video-voiceover.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add worldwonderer/video-recap-skills/video-voiceover
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- worldwonderer/video-recap-skills/video-voiceover
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify worldwonderer/video-recap-skills/video-voiceover
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
377GitHub stars
~764最小装载
~4.8K含声明引用
~15.8K文本包总量
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 288951a
What this does

Reads a timestamped narration script and synthesizes one audio clip per segment, fitting speech to each segment's time slot (dynamic rate), then records placement metadata. The only engine is MiMo TTS (mimo-v2.5-tts).

Requirements
export MIMO_API_KEY=***         # MiMo TTS (or a TTS-specific MIMO_TTS_API_KEY)
Input contract

work_dir/narration.json — segments with start / end / narration (+ optional pause_after_ms, overlaps_speech). Times are the output-timeline seconds the audio will be placed at. In the orchestrated cut-mode flow, the agent writes narration.json directly against the output timeline, and the orchestrator passes it here. In the legacy direct-cut path, narration_mapped.json may be passed explicitly instead.

Running the scripts below — the scripts/… paths are relative to this skill's own directory (the folder containing this SKILL.md). Claude Code runs commands from there, so they work as written. If your harness runs commands from the project root instead (opencode / Codex / OpenClaw commonly do), prefix this skill's absolute directory — e.g. <skill-dir>/scripts/…, using the directory your harness reports when it loads the skill. The scripts self-locate from their own path, so once started by the correct path they resolve their sibling skills and assets regardless of the working directory.
Run
python3 scripts/voiceover.py --work-dir <work_dir> --narration <narration.json> [--mimo-voice 冰糖]

For direct one-off use, omitting --narration reads work_dir/narration.json. Pass --narration work_dir/narration_mapped.json explicitly only for the legacy direct-cut path; the video-recap orchestrator always passes narration.json.

Output contract
  • tts_segments/*.wav — one synthesized clip per narration segment.
  • tts_meta.json{segments: [...], engine, narration} where each segment carries its audio_path, timing, pause_after_ms, and placement fields consumed by video-assemble. When --allow-partial-tts lets a run continue past failed segments it also carries partial: true and failures: [{index,start,end,text,error}] so missing lines stay visible (a clean run carries partial: false and failures: []).
Notes
  • Re-runs safely reuse only matching per-segment audio; edited narration or TTS settings regenerate the affected WAVs.
  • TTS_WORKERS, TTS_TIMEOUT, TTS_RETRIES, ALLOW_PARTIAL_TTS tune throughput/robustness.
  • Dub mode has its own deterministic gate: dub_lint.json blocks empty/overlapping/out-of-range translation lines BEFORE voiceclone spend, and dub_review.json scaffolds fidelity/tone/timing/ platform-fit review. dub.py --stage lint|review and dub.py --print-schema expose them directly.
What this skill does NOT do
  • Does NOT write or edit narration text.
  • Does NOT mux, duck, or render subtitles — that is video-assemble.
  • Does NOT analyze the video or choose timestamps — it voices the segments it is given.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。