配音
变量 VV、PY 与 videomotion 技能中相同。
运行
"$PY" "$VV/tools/voice/voice.py" <项目> > <项目>/voice.log 2>&1
如果脚本长度超过1分钟,则在后台运行。当日志中出现 VOICEDONE 时表示完成。所有生成的音频均根据内容缓存:修改 script.json 中的某句后重新运行,只会重新生成该句。
读取结果
- 每句输出
score <id>: <分数> ok|WEAK | <Whisper听到的内容>。 - 运行一次即可。分数仅用于筛选,无需追求高分。因 Whisper 听错英文名称(如“Claude”变成“Clock”,“code”变成“cốt”)导致的 WEAK 并非发音错误。
- 真正的 WEAK(读错、吞字、数字读错):按以下顺序修正
- 重写句子,使其包含越南语主语,避免少于5个词的短句或以英文名称开头;
- 在
script.json的"pron"字段中添加条目,例如"MCP": "em xi pi"(键若包含大写字母,则匹配时区分大小写); - 使用参数
--candidates 4重新运行。
- 需要跨项目修正的词:添加到
~/.motionfly/pron.json。
声音
默认声音为 Ngọc Huyền(女声,北方口音)。部分可用声音:Ngọc Huyền、Mai Anh(新闻播报)、Trúc Ly、Thùy Dung(男声,新闻播报)、Hải Đăng、Thiện Minh(讲故事)、Quang Sơn 和 Ngọc Trân(中部口音)。查看全部25种声音:
"$PY" -c "from vieneu import Vieneu; [print(v[0]) for v in Vieneu().list_preset_voices()]"
在 script.json 的 "voice" 字段中设置声音。
输出
voice.wav:48 kHz 单声道,包含静音间隔:开头0.5秒,句间0.35秒,|符号0.55秒,场景间0.7秒,结尾0.8秒。words.json:包含total、scenes(每个场景的起止时间)、segments(每个句子、分数、weak标志)、words(每个显示的词及其start、end时间戳)。显示的单词保持与脚本原文一致,即使实际发音已通过pron修改。