给AI主播复刻专属声音:open-yoki豆包声音复刻与语音合成配置教程

【免费下载链接】open-yoki

An AI live-stream host that runs on one server: voice, face, chat, memory, posts. The base yoki runs on. By Jacke_pp · contact: DM @Jacke_pp on X

项目地址: https://gitcode.com/gh_mirrors/op/open-yoki
点击查看 免费下载

open-yoki 是一个"一台服务器就能跑"的 AI 直播主播项目:它会读弹幕、用复刻的声音和数字人形象回答、写日记、自己发动态。这篇文章是声音部分的完整配置教程——教你用火山引擎豆包声音复刻为主播克隆专属音色,再配合**语音合成(TTS)**让她开口说话,全程花费大约只有几块钱。

一、先搞清楚:open-yoki 的声音是怎么工作的

在配置之前,花一分钟理解她的"发声链路",后面填设置就不容易懵:

环节用的是什么源码位置
主力声音火山引擎豆包语音合成 2.0(可用复刻音色)voice.mjs
复刻音色编号控制台"声音复刻"买的槽位,编号 S_ 开头volc-clone.mjs
兜底声音没填豆包钥匙时,自动改用 fal MiniMax 语音voice.mjs

流程其实就四步:买槽位 → 跑一条复刻命令 → 把编号填进设置 → 调语气。下面按顺序来。

二、准备工作:API Key、音色槽位和一段录音

1. 拿两样东西

  1. 在火山引擎控制台开通豆包语音,进入「API Key 管理」创建一把 VOLC_API_KEY。
  2. 在「声音复刻」功能里买一个音色槽位,槽位编号是 S_ 开头的字符串——它就是后面要填的音色 ID。

2. 录一段 10–30 秒的干净录音

复刻效果完全取决于这段录音,照 SETUP.md 的要求准备:

  • ⏱️ 时长 10–30 秒,只有一段话,不用太长
  • 🎙️ 只有本人说话,没有背景音乐、没有回声、没有旁人插话
  • 语气像平时聊天就好,不用播音腔

💡 小技巧:先让主播随便聊几分钟,从里面挑最自然的一两句拼起来,复刻出来会更像"活人"而不是"朗读机器"。

三、一条命令完成声音复刻

进入 app/ 目录,把钥匙临时输入当前终端(不会留在文件里),然后运行官方自带的复刻工具 volc-clone.mjs:

read -s VOLC_API_KEY && export VOLC_API_KEY

node tools/volc-clone.mjs S_<槽位编号> /path/to/录音.wav /tmp/demo.mp3 "大家好,欢迎来我的直播间"

参数对照(完整用法见 app/tools/README.md):

参数含义
S_<槽位编号>第二步买的复刻槽位,就是将来的 DOUBAO_VOICE_ID
录音.wav第二步录的那段干净语音
/tmp/demo.mp3可选:把豆包合成的试听音频存下来
"大家好……"可选:试听时让她念的文案

命令跑完会打印接口返回结果,demo.mp3 也生成好了。把试听音频发给主播本人听——像,就记下槽位编号进下一步;不像,换一段更干净的录音重跑即可(花的就是几分钱)。

四、把声音填进设置:DOUBAO_VOICE_ID

复刻成功只是"造好了嗓子",还要让她在直播时用这个嗓子。

在服务器设置文件 /etc/livehost/livehost.env 中填(模板参考 .env.example):

VOLC_API_KEY=...
DOUBAO_VOICE_ID=S_<槽位编号>
TTS_DAILY_CHARS=
  • DOUBAO_VOICE_ID:必须是第三步复刻用的那个 S_ 槽位,填错就是"声音不对"的头号原因
  • TTS_DAILY_CHARS(可选):每天最多念多少字,用来控制配音花费,默认 60000

启动服务后看日志,出现 voice=true 就说明语音模块已生效;如果是 voice=false,说明钥匙或声音编号没填对。健康检查接口 /api/health 里的 routes.voice 也能随时确认状态。

五、让声音"像她":语气、语速与音色细节

复刻解决了"音色像",config.mjs 里的 doubao 配置段解决的是"说话方式像":

  • context:一句话描述整体语气,比如示例里的"语气自然、轻松,像深夜跟朋友聊天"
  • speed:语速调节,-50(半速)到 100(倍速)
  • tones:按语气细分,比如"吐槽"快一点、"温柔"轻一点、"叹气"先叹一口气再说

想快速对比各种语气的效果,用试听工具 voice-tones-sample.mjs:

DOUBAO_VOICE_ID=S_<槽位编号> node tools/voice-tones-sample.mjs --idol <你的id>

它会用普通语气和配置里的每一种语气各念同一句话,拼成一个 all.mp3,从头听到尾,哪个语气不像就改哪句 context 描述或语速,再跑一遍,直到听起来都是"她"。

另外两个容易忽略但很实用的机制(都在 voice.mjs 里):

  • 多语言自动识别:复刻音色念日韩等外语会自动带"中式口音",程序会按文字自动声明语言,念得又对又像她
  • 双声音彩蛋:支持在台词里用 {东北}…{/东北} 标记切到第二把嗓子,适合"台上人设 + 偶尔露出真我"的主播

六、花费大概多少?

声音这一块是 open-yoki 全项目里最便宜的部分:

项目价格
豆包语音合成约 3 元/万字
复刻槽位按火山引擎控制台标价,一次性购买
一场直播一天配音量受 TTS_DAILY_CHARS 封顶,正常播下来通常几毛钱到几块钱

首包音频约 0.4 秒就能到达,一条 30 字左右的台词大约 1.4 秒出完整音频,直播互动足够跟得上。两场直播之间开电台的场景,另有 RADIO_DAILY_CHARS 单独限电台的配音字数。

七、常见问题快速排查

症状先查这里
完全没声音/api/health 里 routes.voice 的报错;确认 VOLC_API_KEY 有余额
声音不像她DOUBAO_VOICE_ID 是不是复刻用的那个 S_ 槽位
语气太"念稿"改 context 描述和 speed,用试听工具对比
声音突然没了当日字数触顶(daily cap reached),次日自动恢复,或调大 TTS_DAILY_CHARS

更多细节见 SETUP.md 的"常见问题"一节,官方文档也在 docs/ 目录下。

小结

给 AI 主播复刻专属声音的完整路径就是:

  1. 火山引擎控制台拿 VOLC_API_KEY、买一个 S_ 复刻槽位
  2. 录 10–30 秒干净语音,跑 volc-clone.mjs 一条命令完成复刻
  3. 把槽位编号填进 DOUBAO_VOICE_ID,确认日志 voice=true
  4. 在 config.mjs 里调 context/speed/tones,用试听工具反复对比直到"像她"

配好之后,她的直播间里说的每一句弹幕回复、每一声"嗯嗯"、每一次叹气,都会是主播本人的声音。

【免费下载链接】open-yoki

An AI live-stream host that runs on one server: voice, face, chat, memory, posts. The base yoki runs on. By Jacke_pp · contact: DM @Jacke_pp on X

项目地址: https://gitcode.com/gh_mirrors/op/open-yoki
点击查看 免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值