ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

3 步让 dsh-voice-ai-girlfriend 用你喜欢的声音说话:声音克隆参考音频与多音色切换完整指南

3 步让 dsh-voice-ai-girlfriend 用你喜欢的声音说话:声音克隆参考音频与多音色切换完整指南

【免费下载链接】dsh-voice-ai-girlfriend

语音 AI 女友(Voice AI girlfriend for DeepSeek Harness):Whisper 语音输入 + Qwen3-TTS 声音克隆 + 句子级流式朗读 + 数字人动画窗。插话/排队双模式,说话即打断。

项目地址:https://gitcode.com/gh_mirrors/ds/dsh-voice-ai-girlfriend
点击查看免费下载

dsh-voice-ai-girlfriend 是一款为 DeepSeek Harness(DSH)打造的语音 AI 女友插件:她听你说话、陪你聊天,并把回答一字一句念给你听。她的声音不是固定的——核心魔法就是声音克隆:你只需录制一段参考音频,AI 女友从此就用那个音色开口;还能在voices/文件夹里建出多个音色,在工具行一键切换。这篇指南带你完成「准备参考音频 → 配置默认音色 → 多音色库」全流程,全程无需改代码。

dsh-voice-ai-girlfriend 语音AI女友音色克隆效果展示

一、先懂原理:声音克隆靠什么决定音色?

整个链路是:麦克风 → FunASR 语音识别 → DSH 大模型回复 → OmniVoice 声音克隆 TTS → 播放。TTS 引擎默认使用 OmniVoice(支持 600+ 语言,克隆/设计双模式),也可降级到 Qwen3-TTS-1.7B-Base。

她的音色由参考音频决定,项目按文件夹内容自动识别 3 种音色类型(扫描逻辑见 bridge/voice_bridge.py#L687-L743):

音色类型引擎文件夹里放什么特点
克隆音色(默认)Qwen3-TTSref_audio.wav+ref_text.txt开箱即用
克隆音色(高保真)OmniVoiceref_audio+ref_text.txt+omnivoice.txt(空标记文件)比 Qwen3 更保真,出音约 1.3s
设计音色OmniVoice仅design.json(无需音频)用参数"捏"音色:性别/年龄/音调/风格/口音/方言

二、第一步:录制一段 10 秒的参考音频(决定音色上限)

参考音频是整个声音克隆的灵魂,请这样准备:

  • 时长:10 秒左右(5~20 秒均可),单一完整句子,不要跨句截取
  • 质量:干净人声、无背景音乐、无环境杂音
  • 内容:用你自己的话自然朗读即可,说什么都可以
  • 命名:文件叫ref_audio.wav,放到项目根目录(和bridge/同级)

⚠️ 最关键的一点:你还要写一个ref_text.txt,内容必须和录音逐字一致(含标点)——克隆质量高度依赖文本与录音的匹配,错一个字音色都可能跑偏。

三、第二步:配置默认音色(只改 1 个必改项)

在项目根目录复制配置模板:

copy bridge\bridge-config.example.json bridge\bridge-config.json

打开 bridge/bridge-config.json,和音色相关的只有两处:

配置位置改成什么
omnivoice.baseOmniVoice 服务地址(WSL2 IP,如http://192.168.x.x:9877)
persona.default_voice默认音色名,即voices/下的文件夹名

说明两点:

  • tts.ref_audio默认读取项目根的ref_audio.wav,不用动;切回 Qwen3 备选引擎时,tts.ref_text也要填参考音频实际朗读的文本
  • 默认音色的优先级:persona.default_voice指定的音色 → 第一个 OmniVoice 音色 → 第一个 Qwen3 音色,所以只要在配置里写对文件夹名即可

四、第三步:在 voices/ 建多音色库,工具行一键切换

每个子文件夹 = 一个音色,文件夹名即音色名。例如:

voices/ ├── 小雅/ │ ├── ref_audio.wav # 约 10 秒干净人声参考音频 │ ├── ref_text.txt # 音频实际朗读的文本(UTF-8,逐字一致) │ └── omnivoice.txt # 空标记文件:改用 OmniVoice 高保真克隆 └── 成熟男声/ └── design.json # 参数设计音色,无需任何音频

想"捏"一个不用录音的音色?在design.json里写参数即可,支持label、gender、age、pitch、style、accent、dialect等字段,不确定的直接填"Auto"(参数设计细节见 bridge/voice_bridge.py#L394-L401):

{ "label": "成熟男声", "gender": "Male", "pitch": "Low", "style": "Gentle", "lang": "Chinese" }

添加完成后重启桥接(bridge\start-bridge.cmd),新音色会自动出现在 DSH 输入框上方工具行的「🎙️ 音色」按钮列表里:

  • 点一下即可切换,热切换、下一段合成立刻生效,无需重启(接口见 bridge/voice_bridge.py#L1596-L1619)
  • 选择自动记忆在 localStorage,刷新页面不丢失
  • 音色、数字人形象、待机动画三类素材互相独立,随时自由组合

五、验证声音克隆是否成功:一条命令试听

启动桥接后,另开一个终端(venv 已激活)运行官方冒烟测试脚本 bridge/smoke_tts.py:

venv-speech\Scripts\python.exe bridge\smoke_tts.py --text "你好,我是小雅。"

跑完会在项目根目录生成tts_out.wav——播放它,听到的声音就是你的克隆音色,说明 TTS 链路已通。也可以在 DSH 里直接点麦克风说一句话,等回复朗读出来对照听。

六、排错:声音不像参考音频怎么办?

症状原因与解法
音色明显不像最常见:ref_text.txt与录音不逐字一致(标点也要对),重写后重测
输出混入了奇怪的旁白参考音频跨句截取了,换成单一完整句子重录
首次合成很慢(10~60s)正常:模型懒加载 + 预热,之后每句约 0.5s 出音
切到 OmniVoice 音色没反应检查 WSL2 内 OmniVoice 服务是否启动,查看~/omnivoice-wsl/server.log报错
Qwen3 备选引擎不能克隆只有 Qwen3-TTSBase版本支持参考音频克隆,VoiceDesign 版不支持

七、相关文件速查

  • 完整安装与配置说明:README.md
  • 配置模板(含tts.ref_audio/ref_text、persona.default_voice):bridge/bridge-config.example.json
  • 音色扫描与三种引擎识别逻辑:bridge/voice_bridge.py#L687-L743
  • TTS 试听脚本:bridge/smoke_tts.py
  • 插件安装与工具行功能:dsh-plugin/README.md

总结:声音克隆 = 一段 10 秒干净录音 + 逐字一致的朗读文本;多音色 =voices/下建文件夹,重启桥接后工具行一键热切换。配好之后,你的 AI 女友就会用你喜欢的声音,每天开口说话。

【免费下载链接】dsh-voice-ai-girlfriend

语音 AI 女友(Voice AI girlfriend for DeepSeek Harness):Whisper 语音输入 + Qwen3-TTS 声音克隆 + 句子级流式朗读 + 数字人动画窗。插话/排队双模式,说话即打断。

项目地址:https://gitcode.com/gh_mirrors/ds/dsh-voice-ai-girlfriend
点击查看免费下载

相关推荐

上一篇:如何快速上手开源项目caniuse:3步安装caniuse-db,在Node里查询任意浏览器兼容性数据
下一篇:PPPwn_cpp 内建 Web 控制台:从启动到实时监控的完整配置指南

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

返回列表