VoxCPM2 本地中文绘本旁白生成流程配图

这次要解决的问题很具体:给儿童绘本短片做中文旁白,而且希望尽量在本机完成,不依赖在线配音服务。之前已经有 Voicebox 这样的图形化语音工具,但这次更看重的是中文旁白的稳定性、可重复生成,以及后续能不能直接接到《琪琪的木床城堡》这类视频项目里。

最终选择了 VoxCPM2,并在 Mac 本地完成部署。现在电脑里已经具备三样东西:VoxCPM 软件、VoxCPM2 模型,以及本地成功生成的测试音频。

1. 为什么要重新搭一套本地语音工具

做儿童绘本旁白时,声音不是越夸张越好。它需要满足几个条件:

Voicebox 的优点是功能完整,有图形界面,能做声音克隆、多角色、音效和长文本项目。但对于这次的目标来说,我更需要一个“固定风格、稳定生成、直接输出 wav”的工具。VoxCPM2 正好适合这个位置。

2. 本地目录规划

这套工具统一放在:

/Users/DELL/AI

里面主要包括:

voxcpm-env/                 Python 运行环境
pretrained_models/VoxCPM2/  VoxCPM2 模型
story_voxcpm.py             最初测试用脚本
make_voice.py               后续常用生成脚本
story_text.txt              每次要朗读的正文
生成语音.command             双击启动文件
test.wav                    测试生成音频
story.wav                   第一次故事旁白音频
story_output.wav            便捷脚本生成结果

这个结构的好处是清楚:环境、模型、脚本、文本和输出都在同一个文件夹里。以后迁移或备份时,只要知道 ~/AI 是核心目录。

3. 环境和模型部署

部署完成后,每次从终端使用时,需要先进入环境:

cd ~/AI
source voxcpm-env/bin/activate

看到命令行前面出现:

(voxcpm-env)

就说明已经进入 VoxCPM2 的运行环境。

模型放在:

./pretrained_models/VoxCPM2

脚本加载模型时使用的是本地路径,不需要每次重新下载:

model = VoxCPM.from_pretrained(
    "./pretrained_models/VoxCPM2",
    device="cpu",
    optimize=False,
    load_denoiser=False,
)

这次是在 CPU 上运行,所以速度不会特别快。短文本也可能需要几分钟,长一点的内容可能要十几分钟。好处是流程稳定,不需要额外显卡配置。

4. 第一次成功生成

最初通过 story_voxcpm.py 测试生成,直接在 Python 文件里写入要朗读的文字:

text="(年轻女性,温柔甜美,语速稍慢,适合儿童绘本旁白,声音清澈,有亲和力。)晚上,房间里的小灯亮起来了。木床城堡安安静静地站在墙边,粉色纱帘轻轻垂下来,像一片柔软的小云。"

运行后成功生成:

story.wav

这一步证明 VoxCPM 软件、VoxCPM2 模型和本机音频写出流程都已经打通。

5. 改成更适合日常使用的方式

直接改 Python 代码不适合长期使用。后面新增了两个文件:

make_voice.py
story_text.txt

新的逻辑是:以后只改 story_text.txt,脚本自动读取文本并生成音频。

make_voice.py 的核心流程是:

story = TEXT_FILE.read_text(encoding="utf-8").strip()

wav = model.generate(
    text=f"({STYLE}){story}",
    cfg_value=2.0,
    inference_timesteps=10,
)

sf.write(OUTPUT_FILE, wav, model.tts_model.sample_rate)

默认声音风格固定为:

年轻女性,温柔甜美,语速稍慢,适合儿童绘本旁白,声音清澈,有亲和力。

默认输出文件是:

story_output.wav

这样就把“技术操作”压缩成了一个简单动作:改文本,运行脚本,拿音频。

6. 不用终端的双击启动方式

为了减少日常使用门槛,又加了一个可双击文件:

生成语音.command

它做的事情很简单:

cd "$HOME/AI"
source voxcpm-env/bin/activate
python make_voice.py

以后不想打开终端时,可以直接在 Finder 里操作:

  1. 打开 AI 文件夹。
  2. 编辑 story_text.txt
  3. 保存。
  4. 双击 生成语音.command
  5. 等待生成 story_output.wav

这不等于 VoxCPM2 变成了一个真正有窗口的软件。它本质上仍然是本地语音模型,只是用 .command 文件做了一个双击启动按钮。

7. 和 Voicebox 的对比

电脑上之前装过 Voicebox,路径是:

/Applications/Voicebox.app

它的定位更像一个完整的语音工作室:支持多种 TTS 引擎、声音克隆、预设声音、后期音效、长文本切段和故事时间线。它适合做复杂语音项目。

但这次绘本旁白更适合先用 VoxCPM2:

所以现在的分工是:VoxCPM2 作为中文绘本旁白主力工具,Voicebox 作为备用的声音工作室。

8. 后续使用流程

日常最简单的流程是:

打开 ~/AI
编辑 story_text.txt
双击 生成语音.command
等待 story_output.wav
把音频放进剪辑软件

如果要用终端,则是:

cd ~/AI
source voxcpm-env/bin/activate
python make_voice.py

长故事不建议一次生成完整音频。更稳的方式是一页绘本一段音频,最后在剪辑软件里拼接。这样如果某一页语气不满意,只需要重做那一页,不会影响整篇。

9. 这次部署的价值

这次部署完成后,《琪琪的木床城堡》这类视频项目有了一个本地可控的旁白生产流程。它不只是生成了一段测试音频,而是把“写文本、生成旁白、进入剪辑”的链路固定了下来。

后续如果要做系列绘本视频,只需要沿用同一个目录和同一个声音风格,就可以保持旁白的一致性。对儿童内容来说,这种稳定的声音识别度比频繁换工具更重要。

← 返回记录列表