/LiteLoaderQQNT-TTS

TTS plugin for LiteLoaderQQNT.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

LiteLoaderQQNT-TTS


LiteLoaderQQNT 文本转语音

基于TTS接口(vits、GPT-SoVITS等),将输入字符转为语音发送。

安装 | Installation

需为LiteLoaderQQNT安装 Euphony 依赖。

手动安装(从 Releases 中下载稳定版)

  • 下载 最新发布版本 中的 text_to_speech.zip
  • 将压缩包中的内容解压到数据目录下的 plugins/text_to_speech 文件夹中
  • 重启 QQ 完成安装

完成后的目录结构应该如下:

plugins (所有的插件目录)
└── text_to_speech (此插件目录)
    ├── manifest.json (插件元数据)
    └── ... (其他文件)

使用 LiteLoaderQQNT-PluginInstaller 插件安装

1. 通过 URL Schemes 跳转 QQ 安装插件

2. 在 PluginInstaller 插件内安装

  • 打开 QQ 的设置页面,切换至 PluginInstaller 标签页
  • 输入下方链接,完成安装
https://github.com/lclichen/LiteLoaderQQNT-TTS/blob/main/manifest.json

使用 | Usage

  1. 打开一个对话界面,在编辑框中键入所希望进行转换的文本,点击编辑框上方的TTS按钮
  2. (Copy From Voice Sender)点击编辑框上方的语音图标,切换到发送语音界面,直接将音频文件拖入聊天窗口即可

注意事项 | Notes

建议用户自行填写TTS接口地址,目前支持类似于simple-vits-api类型的,在请求中发送文本直接获取音频文件的响应。

gptsovits的接口格式根据GPT-SoVITS/api.py中的推理格式构建,请按照该文件中的使用方式启用GPT-SoVITS后端API接口(接口更新请自行同步,目前GPT-SoVITS并没有稳定的接口)。

如果向后端请求的音频格式在silkwav单声道 pcm_s16le文件以外,则需要配置ffmpeg,用于格式转换。 注意,即使后端不解析format参数,也需要保留format参数用于模块解析后端返回的音频格式

自建TTS后端注意事项 | Notes for TTS Server

如果向后端请求的音频格式设置为silk的话:

  1. python环境下如果使用graiax-silkcoder的话建议安装本人修改并重新编译的版本,以支持QQNT的silk格式,并适应音频格式判断方式。
  2. 其他环境请保证接口支持QQNT版本的silk格式输出,否则建议采用其他格式。

依赖

  1. LLAPI>=1.4.0 已经删库,切换消息发送相关依赖到Euphony
  2. 需为LiteLoaderQQNT手动安装Euphony插件。
  3. ffmpeg (包括 ffprobe) 添加至环境变量。

参考

  1. 整体结构参考了DeepL插件
  2. 格式转换参考了Audio-Sender插件

ChangeLog

  1. 解决依赖问题

TODO

  1. 支持调用Windows系统语音
  2. 更合理的配置文件
  3. 在QQ设置中进行动态的配置设置
  4. Mac上的ffmpeg相关问题解决
  5. 自更新功能

交流反馈

点击链接加入群聊【TTS问题反馈与接口交流 857365160】:https://qm.qq.com/q/jMGb3zgiHu