演示视频:

教程视频:https://www.bilibili.com/video/BV11ByLYMErn/

所用到的所有软件及资源: 链接:https://pan.quark.cn/s/84a54106c488 提取码:hNa7

gpt-sovits整合包来自@刘悦的技术博客,他那也有很多AI相关教程 视频及演示用的语音模型是我自己训练的洛天依的gpt-sovits,可以参看我之前的视频 BV1cpeAesESi

感谢以下开源项目的支持: MIGPT:https://github.com/idootop/mi-gpt/ MIGPT-GUI:https://github.com/lmk123/migpt-cli GPT-SoVITS:https://github.com/RVC-Boss/GPT-SoVITS

下面是文字版教程

一、硬件准备

  • 一台电脑,最好有独显并且显存大于4G
    • 显卡越好语音合成速度越快
    • 理论上核显也可以运行,我没试过,合成速度应该是非常慢的
  • 一个小爱音箱,我们可以到migpt项目页面看看具体支持哪些型号,建议选择支持连续对话的
    • 连续对话就是不用每句话前面都加小爱同学把它召唤出来
    • 如果你还没有小爱的话 ,可以像up一样,上二手平台买一个小爱mini,非常便宜,才30来块钱。
  • 然后将小爱和电脑都连接到同一个网络中,记得把小爱绑定上你的小米账号,接下来要用。

二、配置环境&安装软件

  • 我这里采用的是migpt-gui项目,它需要nodejs环境才能运行,我们先在网上或者在网盘里下载安装包,双击安装即可,我已经安装过就不再继续了。
  • 安装好后,按win+R键打开运行窗口,输入“cmd”调用命令行工具,输入node -version 命令,如果有返回具体版本号即代表安装成功了。
  • 接着我们开始安装migpt项目,打开在线说明,按顺序安装和启动

三、调试&对接大模型

  • 启动后我们可以在浏览器中看到migpt-gui的网页端,这里有一些配置项。
  • 首先是人设,你可以自己填写,也可用up放在网盘里的文件,直接导入进来。
  • 然后是非常重要的一些设置!
    • 首先是你的小米账号ID以及密码,需要在小米账号-个人中心里查看(不是你登录用的手机号邮箱啥的)
    • 再是你的小米音箱的设置,选择音箱类型,输入名字(注意这里是你在米家APP绑定音箱时给它设置的名字,不要填错)
    • 然后是触发AI的关键词,召唤小爱后,需要用关键词+你想说的话才能触发AI对话,比如“请问为什么地球是圆的”,否则还是默认触发小爱的对话。如果是连续对话模式,则只需要第一句话用关键词触发即可。
    • 接着是你的大模型接口的apikey,我推荐使用kimi。如果你还没有,可以去这里注册一个,会送15块钱的token,可以用很久了。不知道怎么注册或者想用别的模型的话,可以看看migpt项目的说明文档,里面有很详细的介绍。
  • 最后是自定义语音合成接口,我们先用默认,稍后再看怎么改成自定义的。先把前面的都填好,运行一下,看看有没有问题
    • 首先看控制台有没有输出音箱连接成功的信息,注意,第一次很可能会连接失败,并弹出需要登录验证的提示,这时我们需要复制控制台输出的一串网址,到浏览器里面打开,它会让我们用手机进行验证,验证后通常需要一小时后再重新运行项目。
  • 出现设备信息和“服务已启动”即代表音箱连接成功,我们呼叫小爱同学,进入AI对话,看看大模型有没有回复,就像这样,说明大模型对接成功了。

四、对接自定义语音(GPT-sovits)

  • 接下来,我们开始对接自定义语音。首先将接口运行起来,如果你是下载的简介里的gpt-sovits整合包,那么直接双击运行 接口_流式.bat文件即可,否则你需要自己配置一下接口调用的模型文件,然后再运行。(如何配置接口,可以看@刘悦的技术博客的这个视频)
  • 接下来我们启动另一个接口,用于给MIGPT调用。打开下载下来的tts文件夹,双击启动.bat运行接口(默认是在7788端口下,你也可以自行修改,查看文件夹内的readme文档,里面有这个项目的一些说明),
  • 接着我们找到本机ip地址(局域网)。在电脑右下角网络这里点击-属性,拉到最下面,复制ipv4地址。然后将其填入migpt网页端的自定义接口中,记得加上端口号,然后重新启动就可以了。

现在,一个接入了自定义AI语音的小爱音箱就配置完成了。

五、常见问题

  • 其他音箱行不行? 目前除了小爱,市面上常见的其他智能音箱,比如天猫精灵,小度音箱,都不支持第三方调用对话接口。

  • 回复速度太慢? 目前速度主要受制于三方面 一是AI大模型回复速度,所以我推荐用国内大平台的接口服务,一般来说是会比本地部署的大模型更快的。 二是AI语音合成速度,这个就看你的设备性能了,显卡越好速度越快。up用的是4070tis,感觉还是挺快的,简短的话一秒左右都能合成完毕。另外up还在接口中做了缓存功能来提速,如果待合成的是同一句话,接口会直接调用缓存,跳过语音合成。 三就是网络速度了,一句话要先由音箱上传到小米,再返回到本地,本地接口处理完再返回给小米,小米再返回给音箱进行输出,确实挺绕的。如果要完全夺舍音箱,绕过小米,得通过烧录固件的方式来root,挺麻烦的。或者也可以用其他的开源音箱项目,比如悟空,完全由自己打造一个智能音箱,up还没仔细研究。

  • 每次召唤前还是得先喊“小爱同学”? 同上,除非root,才能改唤醒词。网上还有一些不用root的魔改操作,不过也都比较麻烦,感兴趣的可以自己搜搜看。

  • 如何换成其他语音? 本教程演示的是洛天依的语音模型,如果你想换成其他的,比如原神的角色语音,可以自行训练,或在网上下载语音模型,具体的操作方法可以在B站搜索gpt-sovits相关视频,公开的教程和模型都有很多。


心如初,不悔梦归处