Appearance
9. 语音功能(TTS)
为了避免和其它项目深度绑定,本项目使用的基于 OpenAI 的协议的 TTS 接口,理论上只要 TTS 项目支持这一接口(或者不支持的话也可以让 AI 自己进行改造/写一个接口转换脚本)即可使用。
首先,在
设置->API 设置中打开“启用 TTS API”开关,填入Base URL(Model Name和API Key选填)在需要使用语音功能的人格的编辑界面,在“角色语音”处填入配置好的角色语音
voice名称在聊天气泡旁/Galgame历史记录旁,就能找到语音播放按钮;同时在
设置->通用设置->语音部分也可以配置是否自动播放语音、语音缓存数量上限等等参数
示例:GPT-SoVITS 项目接入人格馆
为了避免大家完全不会用,这里演示一下基于 GPT-SoVITS 的接入教程。
首先打开上方链接进入项目,看不懂英文可以点击 简体中文,然后找到 Windows 整合包链接(中国地区的用户可以在此处下载整合包),点击链接下载整合包,解压后双击 go-webui.bat 即可启动 GPT-SoVITS-WebUI.
然后具体使用教程可以自己搜索相关教程视频,需要自己收集素材训练(从视频中截取)/找别人分享的素材或训练好的模型(B站搜),这里不赘述。
总之当我们拿到一个/一些效果不错的模型之后,下载 这三个文件 放到整合包根目录下。
这个脚本是我让 AI 专门针对多角色多模型、并发推理、流式输出、模型加载速度等进行了深度性能优化,并且使用 OpenAI 协议接口的版本。
原本的
api.py,api_v2.py需要手动切换模型,并且一次只能加载一个模型,模型切换速度非常慢,并且无法同时推理多个模型(可能导致输出串模型)。改进后可以手动配置
performance.vram_reserve_mb控制显存占用上限和performance.max_cpu_voices内存中存储的模型数上限,常用的模型会被保留在显存里加快调用速度,并且即使为了显存卸载模型时也会保留一部分模型常驻在内存中,避免从硬盘加载的缓慢。同时也可以设置启动时就预加载的模型performance.preload_voices避免实际请求时才来加载模型,加快响应速度。
打开编辑 api_v3_config.yaml 这个文件,可以看到有很多配置,我们重点看到 voices 部分,这里已经配置了一个 anon 的语音模型。
yaml
voices:
anon:
gpt: F:/Projects/Python/GPT-SoVITS-v2pro-20250604-nvidia50/GPT_weights_v2Pro/anon-e15.ckpt
sovits: F:/Projects/Python/GPT-SoVITS-v2pro-20250604-nvidia50/SoVITS_weights_v2Pro/anon_e8_s1648.pth
ref_audio: F:/Projects/Python/GPT-SoVITS-v2pro-20250604-nvidia50/素材_MyGO/Anon干声素材/参考音频/うーん、ダメだったか。明日から練習時間増やそうかな。.wav
prompt_text: "うーん、ダメだったか。明日から練習時間増やそうかな。"
prompt_lang: ja
text_lang: auto # zh / en / ja / ko / yue / auto / auto_yue / all_zh / all_ja / all_yue / all_ko
# 以下参数可覆盖 defaults
speed_factor: 1.0
temperature: 0.45
top_k: 15
top_p: 1.0我们可以照着样子进行配置的修改,例如:
anon这是你应该填在人格馆角色voice名称处的值gpt填 GPT 模型的路径sovits填 SoVITS 模型的路径ref_audio填参考音频的路径prompt_text填参考音频的文本prompt_lang填参考音频的语言(zh汉语,en英语,jp日语……)text_lang填你希望生成的音频的语音(保持auto即可)
我们也可以增加更多语音模型,照样子修改参数即可:
yaml
voices:
anon:
gpt: F:/Projects/Python/GPT-SoVITS-v2pro-20250604-nvidia50/GPT_weights_v2Pro/anon-e15.ckpt
sovits: F:/Projects/Python/GPT-SoVITS-v2pro-20250604-nvidia50/SoVITS_weights_v2Pro/anon_e8_s1648.pth
ref_audio: F:/Projects/Python/GPT-SoVITS-v2pro-20250604-nvidia50/素材_MyGO/Anon干声素材/参考音频/うーん、ダメだったか。明日から練習時間増やそうかな。.wav
prompt_text: "うーん、ダメだったか。明日から練習時間増やそうかな。"
prompt_lang: ja
text_lang: auto # zh / en / ja / ko / yue / auto / auto_yue / all_zh / all_ja / all_yue / all_ko
# 以下参数可覆盖 defaults
speed_factor: 1.0
temperature: 0.45
top_k: 15
top_p: 1.0
soyo:
gpt: F:/.../soyo_gpt.ckpt
sovits: F:/.../soyo_sovits.pth
ref_audio: F:/.../soyo_ref.wav
prompt_text: "参考文本"
prompt_lang: zh
text_lang: auto
speed_factor: 1.0
temperature: 0.6最后运行 go-api-v3.bat (或者手动在命令行执行 python api_v3.py -c api_v3_config.yaml)即可启动推理服务
保持这个黑窗口在后台运行,在人格馆设置里填入 Base URL: http://127.0.0.1:9880/v1,在爱音人格处填入voice名称:anon(或者你自己配置的其它名称)即可使用语音功能了。