Skip to content

xiewoc/astrbot_plugin_index_tts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

astrbot_plugin_index_tts

前言

本插件是基于index-tts对AstrBot的语音转文字(TTS)补充

建议使用 Conda 构建本插件的虚拟环境

需要FFmpeg在系统路径下

性能要求

建议显卡显存大于4Gib(IndexTTS 1, 1.5),或12Gib(IndexTTS 2)

Tip

建议AMD用户使用WSLLinux以使用torch-ROCm

环境配置

根据Index TTS 官方文档配置环境

...配置虚拟环境...

建议使用官方提供的方式安装

uv sync --extra webui --default-index "https://mirrors.aliyun.com/pypi/simple"

Important

目前还不知道怎么将两个uv的环境合并

故建议如果出现问题先转用分隔式服务

如果发生版本冲突,以报错为准去下载合适版本的库

Tip

若使用 uv 配置环境,则需使用

cd /path/to/AstrBot
uv pip install xxx

现已不推荐使用 Conda 作为虚拟环境

Warning

本插件目前仅在python3.10上测试,如果为Python >=3.11 && <=3.12,可能不稳定

AstrBot 内配置

添加OpenAI的tts适配器

apikey默认1145141919810

超时建议30~60s

其他默认便可

插件自定义

插件目前可自定义:apikey、音频输入文件

音频输入文件在path/to/the/plugin/sounds下,自定义时仅用填文件全名即可

如需修改端口号,可在 main.pyservice.py 中 找到 port = xxx 字样,更改即可,但注意不要更改 port数据类型

使用

正常使用

开启/关闭TTS功能:

/tts

更换源语音文件:

/tts_cfg_it set voice xxx.wav

Note

此处 / 为你的自定义唤醒词,会根据你的自定义而改变

此处使用的xxx.wav不需要带文件路径

作为 LLM Tool 调用

建议在提示词之中加入对于使用LLM Tool(A.K.A. Function Calling) 的提示

其余便不用管了

Note

Index TTS目前仅支持中英两种语言,不支持俄语和日语及其他

如有跨语言需求,请使用其他的TTS模型

后记

时间原因,文档写的较潦草,如有不懂或报错,请issue

本次(1.0.4)更新属实匆忙,如果偶遇任何bug,请issue

如果有想法,也欢迎issue

如果你认为这个插件对你有帮助,请star

版本历史

1.0.0 -> 1.0.1:

(1)添加了LLM工具
(2)使用了线程池进行语音生成
(3)优化逻辑

1.0.1 -> 1.0.2:

(1)添加了随机TTS功能
(2)添加命令以实时更改语音源文件

1.0.2 -> 1.0.3:

(1)添加了预加载模型的功能
(2)优化异步与传参
(3)优化仓库下载逻辑
(4)添加去除emoji和分段的功能
(5)更改临时文件储存地址

1.0.3 -> 1.0.4:

(1)添加了对IndexTTS的支持

Note

对于每次更新,建议将原先版本的配置文件删除后再更新,以防出现错误

TODO

添加GitHub代理

添加对vllm版本的快捷使用

About

基于index-tts对AstrBot的语音转文字(TTS)补充

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages