Communitygithub.com

voice-over:自然的中文配音軌,每句附長度

把旁白與角色台詞合成為一句一個 wav 並標好長度的 Agent 技能,直接拿去對齊字幕與畫面。有 DASHSCOPE_API_KEY 就用阿里雲百煉的通義語音,其次用 HyperFrames 託管配音,否則用 macOS 內建的免費中文語音,全程不停下來發問。

voice-over:自然的中文配音軌,每句附長度 是什麼?

講解影片配方第 2 步(配音),來自 ymybxx/SoloMCN(MIT,2026-10-09 建立),一個以 Claude Code 為核心的短影音工作室,README 開頭有示範影片與工作台截圖。voice-over 內嵌在 SoloMCN 的 make-video 與 revise-video 流程中,也能單獨用來試音色。它依序使用第一個可用的方式:通義 TTS(附腳本,可從 TSV 批次合成,語速 0.9 到 1.15,輸出含秒數與每句結束時間的 JSON),已登入且有額度時用 HyperFrames 託管配音,接著是 macOS say 轉 48 kHz wav 並以 ffprobe 讀長度,最後都不行就做純字幕版並寫明原因。它提醒本機 Kokoro 念中文錯誤很多,每個角色固定一個聲音,只用合成音色、不複製也不模仿真人,難念的縮寫與數字改寫後再合成而字幕保留原文,本機有 whisper-cli 時會回聽抽查。在這個配方裡,它給出的每句秒數就是 khan-explainer 真人音訊模式的 at 時間點。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ymybxx/SoloMCN/tree/HEAD/defaults/skills/voice-over

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

配音

把台词合成成 wav 文件,每段一个,并给出每段的时长,交给做视频的流程登记进 audio_meta.json、对齐字幕。全程无人值守时,不提问、不等回复,用得上哪种方式就用哪种,在制作备注里写清楚。

1. 选哪种方式(用第一个能用的)

  1. 通义语音(中文最自然,有很多音色):环境变量 DASHSCOPE_API_KEY 有值就用它。
    • 批量:把旁白写成 编号<TAB>台词 的 tsv,运行 node <本技能目录>/scripts/tongyi-tts.mjs --voice <音色> --lines voice/lines.tsv --outdir voice
    • 单句:node <本技能目录>/scripts/tongyi-tts.mjs --voice <音色> --text "台词" --out voice/line-01.wav
    • 每句输出一行 JSON,含时长 seconds 和每个句子的结束时间 sentences[].end_s,用它们对齐字幕。
    • 语速用 --speed(默认 1.0,0.9–1.15 之间调),一般不用改。
  2. HyperFrames 托管配音:没有通义 key、HyperFrames 已登录(npx hyperframes auth status)而且还有额度时,用 /faceless-explainer 里的托管配音。
  3. macOS 系统中文语音(免费、本地、发音准):say -v "<音色>" -r <语速> -o voice/line-<编号>.aiff "<台词>",再用 ffmpeg -i …aiff -ar 48000 -ac 1 …wav 转成 wav,用 ffprobe 读时长。语速 -r 默认约 180,语气急的角色可以调到 200–220。
  4. 都不行:做成无配音、字幕承载台词的版本,在备注里写明原因。

不要用 HyperFrames 自带的本地 Kokoro 念中文:中文发音错得很多,基本听不懂;纯英文台词可以用。

2. 选音色

  • 先用内容所属系列(或账号)设定的音色:get_item 返回的 account.voice。
  • 没设定就按人设从本技能目录下的 voices.json 挑:engine 是 tongyi 的要有通义 key 才能用,macos 的随时能用。设定的是通义音色、但现在没有 key,就挑一个性别和年龄接近的系统语音。
  • 多个角色各用一个声音,全片保持一致;旁白用最稳的那个。
  • 只用合成音色,不克隆、不模仿任何真人的声音。

3. 合成之后

  • 用 ffprobe 读每个文件的时长,按 /faceless-explainer 里处理已有配音文件的方式登记进 audio_meta.json(文件放在项目里,标明来源),再跑时长同步和字幕。
  • 念错的词(英文缩写、数字、多音字)改写成好念的说法再合成那一句;字幕仍显示原文。本机有 whisper-cli 的话,回听抽查几句。
  • 在制作备注里写明:用了哪种方式、哪些音色,退到下一种方式的原因。

4. 配置通义的 key(给用户看的)

这个技能不经过工作台的设置。要用通义,在项目的 .claude/settings.local.json(不进 git)里加:

{ "env": { "DASHSCOPE_API_KEY": "你的通义 key" } }

想所有项目都用,就写在 ~/.claude/settings.json 里。也可以直接在 Claude Code 里说「帮我配一下通义配音的 key」。key 在阿里云百炼控制台申请。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能