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

2.1 KiB
Raw Blame History

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 就是这么干的)。
  1. --text-file - 在 cmd /c 下被解释为字面文件 D:\dev\stdinWindows cmd 替换规则)。改成写入临时文本文件再传给 --text-file 才稳,合成完即删。

要听下新版的「带情绪」效果再决定后续吗?或者要我现在帮 voice-gen 仓库把这两个坑打个补丁/PR

  • 把 --text-file - 支持改正(用 TEXTFILE_PLACEHOLDER 写临时文件模式,绕开 cmd 替换)
  • 顺便把 Windows 中文长 payload + .cmd shim 这层兜底显式化