【免费下载链接】dsh-voice-ai-girlfriend
语音 AI 女友(Voice AI girlfriend for DeepSeek Harness):Whisper 语音输入 + Qwen3-TTS 声音克隆 + 句子级流式朗读 + 数字人动画窗。插话/排队双模式,说话即打断。
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-TTS | ref_audio.wav+ref_text.txt | 开箱即用 |
| 克隆音色(高保真) | OmniVoice | ref_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.base | OmniVoice 服务地址(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 声音克隆 + 句子级流式朗读 + 数字人动画窗。插话/排队双模式,说话即打断。
相关推荐
10秒参考音频克隆你的声音:dots-tts-mlx-mf-int8零样本音色克隆实战指南
10秒参考音频克隆你的声音:dots tts mlx mf int8零样本音色克隆实战指南 dots tts mlx mf int8 是一款面向 Apple S
KoboldCpp OuteTTS 声音克隆(Voice Cloning)完整实战指南:从预置音色到自制克隆声线
KoboldCpp OuteTTS 声音克隆(Voice Cloning)完整实战指南:从预置音色到自制克隆声线 本篇技术指南以 KoboldCpp 内置的 O
人工智能大模型模型推理服务本地部署AI 应用Windows 11 任务栏改不回去?ExplorerPatcher 完整指南:从构建号选包到卸载一次讲清
Windows 11 任务栏改不回去?ExplorerPatcher 完整指南:从构建号选包到卸载一次讲清 ExplorerPatcher 是一个把 DLL 注
桌面应用逆向工程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考