Skip to content

xiewoc/astrbot_plugin_tts_Cosyvoice2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

astrbot_plugin_tts_Cosyvoice2

Astrbot的tts功能补充(使用Cosyvoice2-0.5B本地模型)

配置

Cosyvoice官方文档中的操作做一遍,检查是否有遗漏的库未安装

再使用命令 pip install -r requirements.txt 在shell安装所需库

与官方tts方法一致,配置时用openai_tts_api,api填入127.0.0.1:5050,超时建议在60~90s左右,key随意

使用

eg.

/tts以开启/关闭文字转语音

/tts_cfg(命令组):

/tts_cfg ┒
         ┠set ┰voice    #声音(.wav)
         ┃    ┠dialect  #方言/语言
         ┃    ┖method   #生成方式
         ┖list          #列出所有.wav音源

更新内容

for 1.1.1

添加了精细控制,优化了合并文件的方法,大改结构与传参(详见blame),添加了去除emoji的功能,加入了线程池,将llm的 functioon call 的生成方式改为精细控制

previous versions

更新了指令,更改了路径(./Cosyvoice/pretrained_models/Cosyvoice2_0.5B -> ./pretrained_models/Cosyvoice2_0.5B)、在插件配置中添加:TensorRT开关、fp16开关等

将传参方式大改了一下;重新加回了预加载;更新了/tts_cfg set method xxx指令,用以更换生成方式;支持了分布式部署;支持了function_call功能;优化了整体结构;(1.0.7)

在function_call功能中加入了可调整的方言(即:text: str, dialect: str);在更改方言时自动更改生成模式(只有instruct2支持方言);更改了在使用其他语言时的断句条件(result = re.split(r'(?<!\d)\.(?!\d)|[\n]', text)#其他语种则以'.'断句)(1.0.8)

异步了一下,减少出现目标服务器积极拒绝连接这种情况(1.0.9)

更新了获取.wav文件列表及其相对应的json的方式,优化了llm在使用llm_tool的时候的返回(.mp3->.wav)(1.1.0)

球球了,给孩子点个star吧!

自带音频

目前作者只给了prompt_绯莎.wavprompt_明.wav,后续会持续更新,你们也可以自己创建,构建如下:

语音格式应为wav文件,码率不低于16KHz,创建同名.json文件内容如下(可选):

{
    "text":"语音内容文字(模式若为instruct2则可不填)",
    "form":"语种(方言),目前支持普通话、四川话、上海话、湖北话等(见cosyvoice官方文档)",
    "generate_method":"生成模式(zero_shot或instruct2,如果不填,则为instruct2)"
}

eg.

{
    "text":"相信我吧,我会带你们走向光明",
    "form":"普通话",
    "generate_method":"zero_shot"
}

当然,A lot of codes borrowed from Cosyvoice

About

一个基于Cosyvoice2的TTS插件

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages