[心得]基于GPT-SoVITS实现小说AI朗读

发布于 2024-07-20  351 次阅读


AI 摘要

该项目基于GPT-SoVITS实现小说AI朗读,需显卡支持。配置工作简单,包括参数调整和音频生成。手机配合TTS配置可实现AI朗读小说。

准备工作

  • 注意,本项目刚需显卡,你需要有一台搭载了独立GPU的电脑。(推荐配置:2070及更高配置)
  • 将电脑和手机连接至同一个网络下。(如果你不想使用内网穿透的情况下)

正式开始

下载项目

这里是Github项目地址,该项目地址只集成了推理和模型管理功能,关于模型训练,请移步原版项目地址。本教程只提供windows系统的教程,其他教程请移步到GPT-soVITS-Inference

这里放上原版项目整合包(模型训练用),如果你打不开GitHub,或者下载不动项目文件,点击此处下载。

这里是原作者打包的整合包GSVI 2.4.3 20240414 fix01,提取码:n9YG。解压即用。

没有夸克网盘的可以看这里~

初始化

解压后,进入根目录,打开文件夹 0 一键启动脚本 ,首次使用,请运行 0 一键更新项目.bat1 一键更新本项目所需要的依赖.bat

参数调试

初始化完成后打开 3 启动GSVI.bat ,等待程序启动后,会自动弹出网页,如果长时间没有弹出,则手动在浏览器里输入127.0.0.1:5000。(如果你不想使用电脑听小说,或者不想调整其它参数,可以忽略下面的内容)界面如下:

输入文本

可以输入你想要试听的文本。

角色

如果你有训练其他模型,或者其他人分享给你的模型,可以在这里切换。(模型文件夹放在根目录下的 /trained 内)

其它设置选项

  • 语速:数值越大语速越快。
  • 文本切割:把长文本分割后来输出,会自动识别句号。
  • Top_P:值越低,答案越准确而真实。更高的值鼓励更多样化的输出。
  • Top_K:值越低,答案越准确而真实。更高的值鼓励更多样化的输出。Top_K会先于Top_P生效,即先根据Top_K值确定所选token范围后再根据Top_P值确定所选token范围。
  • 采样温度:值越低,结果就越确定,因为总是选择概率最高的下一个词/token,为 0 将始终产生几乎完全相同的输出。拉高该值,其他可能的token的概率就会变大,随机性就越大,输出越多样化、越具创造性。
  • 生成音频:请求完整音频会把上面输入所有的文本全部输出后才能听,适合一句话试听效果;流式音频则会先对分割,然后一句一句生成,如果你想直接用电脑实现AI朗读,直接把小说文本复制到上面点击输出就行了。

配置听书

接下来的操作请拿出你的手机。

下载阅读

GitHub项目地址,打不开的可以看这里~

下载TTS

GitHub项目地址,打不开的可以看这里~

配置TTS

  1. 确认你的IP地址: 打开cmd( win + R 后输入 cmd 后回车),输入 ipconfig ,找到 IPv4 地址 ,记住后面一串数字。
  2. 点击右上角加号,选择 添加自定义TTS ,添加名称和采样率,如图所示添加就行了。
  3. url(直接复制冒号后的内容,高亮部分请看下面注释修改):
    http://xxx.xxx.xxx.xxx:5000/tts?cha_name=Hutao&character_emotion=default&text={{java.encodeURI(speakText)}}&top_k=5&top_p=0.8&temperature=0.8&repetition_penalty=1.35
    &speed=1&stream=true&save_temp=true&parallel_infer=true
  4. 配置完后记得把左边方框里的勾点上。
这是注释
http://xxx.xxx.xxx.xxx:5000/tts,  ## 这里面填进去你刚刚记住的IP地址
{
    "method": "POST",
    "body": {
        "cha_name": "Hutao",  ## 模型名字
        "character_emotion": "default",  ## 模型情感(通过添加不同的参考语音来切换情感)
        "text": "{{java.encodeURI(speakText)}}", 
        "save_temp": "true",  ## 这个打开可以加快加载速度,但是语音丰富性会减弱
        "top_k": 5,  ## Top K 数值
        "top_p": 0.8,  ## Top P 数值
        "temperature": 0.8  ## 采样温度
        "repetition_penalty": 1.35  ## 重复惩罚
        "speed": 1.0,  ## 语速
        "prompt_language": "auto",
        "text_language": "auto",  ## 文本语言
        "batch_size": 10,  ## 批处理大小
        "cut_method": "auto_cut",  ## 文本切割方法
        "max_cut_length": 50,  ## 文本切割长度
        "seed": -1,  ## 随机种子
        "parallel_infer": true,  ## 并行推理
    }
}

配置阅读

进入阅读界后,打开菜单,打开朗读功能,在设置里朗读引擎选择TTS Server,然后就可以愉快地听小说了。

免责声明

本文参考于文档GPT-soVITS-Inference,如有侵权,请联系删除。本文所有内容仅供学习,用于传播不当视频、图片、言论或用于商业用途者,后果自负。