流水线开跑前先问用户用哪个 TTS。两引擎产出的 audio-manifest.json
结构完全一致,故 timeline_build / subs / 渲染器零改动。
新增
- scripts/tts_volcano.py 接口包,唯一读 tts.env 的地方。零第三方依赖
(只用标准库 urllib),HTTP Chunked 单向流式,
与 edge-tts「发一次收一串」形态同构
- scripts/tts_setup.py 向导:选方案 → 配密钥 → 测连接 → 选音色,
输出 NEXT_ACTION=… 供智能体识别
- tts.env.example 密钥模板(真实 tts.env 已 gitignore)
- references/volcano-tts.md 密钥纪律 / 配置步骤 / 接口规格 / 音色表 / 排查表
安全
- Key 只存 tts.env,只有 tts_volcano.py 读它;异常过脱敏,只抹本次实际
加载的密钥值与 AKLT… 形态,刻意不用「长字符串即密钥」的宽规则
- check_integrity.py 新增密钥防线检查(含「疑似把模板改名」提示)
- package_skill.py 排除 .env / .key / .pem,修掉一个真实外泄口
修复(真机联调暴露,均只在实跑时复现)
- enable_subtitle 必须显式开启,否则 words 恒为空数组且完全不报错,
下游会静默退回按字数插值、字幕开始飘
- usage 挂在结束标记那一行,提前 continue 导致计费恒为 0
- 缓存未存首裁量,命中缓存时 lead_cut_sec=0,重跑字幕比首跑晚一帧
- CLI 把中文音色名原样当 speaker 发出,服务端报 resource ID mismatched
文档
- README 中英双语新增「配音:两个引擎」章节,按用户要求不写命令
(那是智能体的职责),只讲「会问你什么 / 你唯一要动手的地方」
- 疑难排查补 6 条火山症状;lessons 34 → 56 条;流水线图加 tts_setup 节点
23 lines
1.1 KiB
Bash
23 lines
1.1 KiB
Bash
# ---------------------------------------------------------------
|
||
# 火山引擎(豆包)语音合成 2.0 —— 密钥配置【模板】
|
||
#
|
||
# 用法:把本文件复制成 tts.env 再填,不要直接改本文件:
|
||
# cp tts.env.example tts.env # 放到本技能目录,或某个视频项目目录
|
||
# 注意别把本文件「改名」成 tts.env —— 本文件是要留在仓库里的模板,
|
||
# 改名会让仓库少掉模板(check_integrity.py 会报错)。
|
||
#
|
||
# 真实 tts.env 已被 .gitignore 忽略,不会进 git 仓库。
|
||
# ★ agent 不需要、也不应该读取 tts.env;接口包 scripts/tts_volcano.py 会自己读。
|
||
# ---------------------------------------------------------------
|
||
|
||
# 【必填】API Key —— 火山引擎控制台 → 语音技术 → API Key 管理
|
||
# https://console.volcengine.com/speech/new/setting/apikeys
|
||
VOLC_API_KEY=
|
||
|
||
# 资源 ID:seed-tts-2.0 = 预置音色;seed-icl-2.0 = 声音复刻音色
|
||
VOLC_RESOURCE_ID=seed-tts-2.0
|
||
|
||
# 【可选】旧版鉴权:若你拿到的是 APP ID + Access Token 而不是 API Key,填这两项
|
||
VOLC_APP_ID=
|
||
VOLC_ACCESS_KEY=
|