knowledge-vault/discussions/creative/从想法到作品/口播-ClaudeCode.md

47 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 1
你有一个voice-gen的skill。
项目目录是`D:\AI\ClaudeCode\口播`
先初始化环境看看远程现在的voice id有没有是什么。
# 2
原始文档:
`C:\Users\wangq\Documents\Codex\knowledge-vault\discussions\creative\从想法到作品\成果\01.从想法到作品口播文案.md`
这个内容里是带标题的,所以正式的应该去掉标题吧。
你可以复制这个文件到工作路径的`scripts/`下然后用这个voiceid测试生成这段音频。
# 3
我修改了`voices.json`,这个应该是历史原因造成的。
你现在用这个新的voice id 先做个简单测试。
# 4
测试成功了,现在删除这些测试的临时文件,生成最终的口播音频。
voice-gen gen 这次没成功mmx exited 0 but mp3 was not created但裸 mmx speech synthesize --text-file ...
跑同一份文本成功了。差异主要在 voice-gen 走 cmd /c 包装 + --quietWindows shell
转义/缓冲与长中文文本交互时偶发异常。这是 voice-gen 包装层的问题;以后如果要在这个项目跑 batch可以考虑直接调
mmx或者在 voice-gen 仓库里把 synthesizer.py 的 _run_mmx 改成走 --text-file 而不是 --text把 shell 转义绕开。
直接重生成完整口播 → 改用 --voice BroTsong-Saying-Emotion-2026-07-07
注意传入:--text-file 而不是 --text
MP3的文件名加个区分不要覆盖以前的。
这次踩到的两个坑(已避开,下次可直接复用)
1. mmx 是 .cmd shimPython subprocess.run(['mmx', ...]) 会 WinError 2。要么 cmd /c mmx ...,要么用 shutil.which 定位
+ cmd /c 包装skill 的 _run_mmx 就是这么干的)。
2. --text-file - 在 cmd /c 下被解释为字面文件 D:\dev\stdinWindows cmd 替换规则)。改成写入临时文本文件再传给
--text-file 才稳,合成完即删。
要听下新版的「带情绪」效果再决定后续吗?或者要我现在帮 voice-gen 仓库把这两个坑打个补丁/PR
- 把 --text-file - 支持改正(用 __TEXTFILE_PLACEHOLDER__ 写临时文件模式,绕开 cmd 替换)
- 顺便把 Windows 中文长 payload + .cmd shim 这层兜底显式化