LiteLoaderQQNT 文本转语音
基于TTS接口(vits、GPT-SoVITS等),将输入字符转为语音发送。
需为LiteLoaderQQNT安装 Euphony 依赖。
完成后的目录结构应该如下:
plugins (所有的插件目录)
└── text_to_speech (此插件目录)
├── src/ (主要代码文件夹)
├── .../ (其他文件夹文件夹)
├── manifest.json (插件元数据)
└── ... (其他文件)
- 根据 README 安装 LiteLoaderQQNT-PluginInstaller 插件,然后选择以下方案之一
- 根据 README 安装 Protocio 插件,对
URL Schemes
进行解析 - 点击链接,完成安装
- 或者在PluginInstaller的插件列表中寻找需要的插件完成安装
- 打开
QQ
的设置页面,切换至PluginInstaller
标签页 - 输入下方链接,完成安装
https://github.com/lclichen/LiteLoaderQQNT-TTS/blob/main/manifest.json
- TTS功能:打开一个对话界面,在编辑框中键入所希望进行转换的文本,点击编辑框上方的TTS按钮,默认将自动发送转换后的语音。
- TTS发送前预览:在设置中启用TTS预览,生成后将出现一个预览界面(由于前端解码的限制,如果后端返回的音频格式在
wav
、ogg
、mp3
以外,可能无法被播放。) - 音频发送功能:(Copy From Audio-Sender)点击编辑框上方的语音图标,切换到发送语音界面,直接将音频文件拖入聊天窗口即可。
建议用户自行填写TTS接口地址,目前支持类似于simple-vits-api类型的,在请求中发送文本,直接获取音频文件的响应。
例如,gptsovits的接口格式根据GPT-SoVITS/api.py中的推理格式构建,请按照该文件中的使用方式启用GPT-SoVITS后端API接口(接口更新请自行同步,目前GPT-SoVITS并没有稳定的接口)。
如果向后端请求的音频格式在silk
以外,则需要配置ffmpeg,用于格式转换。
注意,source_key参数用于标记文本所对应的键值,在修改配置时需要保留
注意,format参数用于标记后端返回的音频格式,即使后端不解析本参数,也需要保留用于模块解析
- 需安装Euphony插件,用于消息发送。
- 将 ffmpeg (包括 ffprobe) 添加至环境变量,用于将非silk格式音频转换到pcm格式,便于后续编码。
- 整体结构参考了DeepL插件。
- 格式转换参考了Audio-Sender插件。
- 配置文件结构更新,支持快速配置切换
- 增加音频发送前预览功能
- 支持调用Windows系统语音
- Mac上的ffmpeg相关问题解决
- 更人性化的设置界面
- 开放TTS接口,允许其他插件调用
如果向后端请求的音频格式设置为silk
的话:
- python环境下如果使用graiax-silkcoder的话建议安装本人修改并重新编译的版本,以支持QQNT的silk格式,并适应音频格式判断方式。
- 其他环境请保证接口支持QQNT版本的silk格式输出,否则建议采用其他格式。
点击链接加入群聊【TTS问题反馈与接口交流 857365160】:https://qm.qq.com/q/jMGb3zgiHu