✨ NoneBot2 Plugin for GPT-SoVITS ✨
Project description
NoneBot-Plugin-GPT-SoVITS
介绍
NoneBot-Plugin-GPT-SoVITS 是一个 NoneBot2 插件,用于对接 GPT-SoVITS,并依赖 nonebot-plugin-alconna 支持了多平台适配。该插件实现了 TTS(文本到语音)的功能,并能将语音消息发送到多个平台。
功能
- 对接 GPT-SoVITS,生成 TTS 语音,并发送语音消息
使用方法
指令说明:
{gpt_sovits_command} [text] [-e emotion] [-l language]
- 生成语音,支持可选情绪和语言gptsovits帮助
- 显示帮助信息
示例:
{gpt_sovits_command} 你好
- 生成语音{gpt_sovits_command} 你好 -e 1
- 使用情绪编号 1 生成语音{gpt_sovits_command} hello -e 1 -l en
- 以情绪编号 1 生成一段英文语音
可选语言:中文、英文、日文、中英混合、日英混合、多语种混合
gpt_sovits_command
和emotion
参数取决于配置文件中的设置
安装方法
通过 nb-cli 安装
在 NoneBot2 项目的根目录下打开命令行,输入以下指令安装插件:
nb plugin install nonebot-plugin-gpt-sovits
通过包管理器安装
在 NoneBot2 项目的插件目录下,打开命令行,根据你使用的包管理器,输入相应的安装命令:
pip
pip install nonebot-plugin-gpt-sovits
pdm
pdm add nonebot-plugin-gpt-sovits
poetry
poetry add nonebot-plugin-gpt-sovits
conda
conda install nonebot-plugin-gpt-sovits
然后,打开 NoneBot2 项目根目录下的 pyproject.toml
文件,在 [tool.nonebot]
部分追加:
plugins = ["nonebot_plugin_gpt_sovits"]
配置
在 .env
文件中添加以下配置:
配置项 | 默认值 | 说明 |
---|---|---|
GPT_SOVITS_API_BASE_URL | http://127.0.0.1:9880 | 可选。GPT-SoVITS API 的 URL |
GPT_SOVITS_API_V2 | True | 可选。是否使用 GPT-SoVITS API v2。注意:API 是否为 v2 不取决于你使用的 GPT-SoVITS 模型版本,而是由你运行的 API 脚本决定。api_v2.py 为 API v2,api.py 为 API v1 |
GPT_SOVITS_COMMAND | tts | 可选。触发 TTS 的命令,可自定义为 GPT-SoVITS 角色名 |
GPT_SOVITS_CONVERT_TO_SILK | False | 可选。是否将生成音频转换为 SILK 格式发送 |
GPT_SOVITS_EMOTION_MAP | 无默认值 | 必填。配置情感映射 |
GPT_SOVITS_ARGS | 无默认值 | 可选。传递给 GPT-SoVITS 的额外参数,如 {"temperature": 0.9} |
GPT_SOVITS_EMOTION_MAP 示例配置:
[
{
"name": "平静",
"sentences": [
{"text": "示例文本1", "language": "zh", "path": "路径1"},
{"text": "示例文本2", "language": "zh", "path": "路径2"}
]
},
{
"name": "激动",
"sentences": [
{"text": "示例文本3", "language": "zh", "path": "路径3"}
]
}
]
GPT_SOVITS_ARGS 配置说明
一般不需要配置此项,但如果你需要传递额外参数给 GPT-SoVITS,可以展开阅读如何配置。
点击展开
-
对于使用
api.py
(将GPT_SOVITS_API_V2
设置为False
)的用户,可配置以下参数:cut_punc
(str
类型):用于切分句子的标点符号,默认值为 ",。"top_k
(int
类型):生成文本的 Top-K,默认值为 10top_p
(float
类型):生成文本的 Top-P,默认值为 1.0temperature
(float
类型):生成文本的温度,默认值为 1.0speed
(float
类型):生成音频的播放速度,默认值为 1.0
-
对于使用
api_v2.api
(将GPT_SOVITS_API_V2
设置为True
)的用户,可配置以下参数:aux_ref_audio_paths
(list
类型):用于生成文本的参考音频路径,默认值为 []top_k
(int
类型):生成文本的 Top-K,默认值为 5top_p
(float
类型):生成文本的 Top-P,默认值为 1.0temperature
(float
类型):生成文本的温度,默认值为 1.0text_split_method
(str
类型):切分文本的方法,默认值为cut3
(按中文句号切),可选值:cut0
:不切分cut1
:四句一切cut2
:50字一切cut3
:按中文句号切cut4
:按英文句号切cut5
:按标点符号切
batch_size
(int
类型):生成文本的 Batch 大小,默认值为 1batch_threshold
(float
类型):生成文本的 Batch 阈值,默认值为 0.75split_bucket
(bool
类型):是否分割 Batch,默认值为 Truespeed_factor
(float
类型):生成音频的速度因子,默认值为 1.0fragment_interval
(float
类型):片段间隔,默认值为 0.3streaming_mode
(bool
类型):是否流式返回,默认值为 Falseseed
(int
类型):随机种子,-1 为随机,默认值为 -1parallel_infer
(bool
类型):是否使用并行推理,默认值为 Truerepetition_penalty
(float
类型):重复惩罚,默认值为 1.35
额外配置
若启用 GPT_SOVITS_CONVERT_TO_SILK
,请进行以下额外配置:
- 将
ffmpeg
添加到环境变量 - 下载 silk_cli 并放置于 Bot 根目录,重命名为
cli.exe
(Windows)或cli
(Linux) - 完成配置
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nonebot_plugin_gpt_sovits-0.2.0.tar.gz
.
File metadata
- Download URL: nonebot_plugin_gpt_sovits-0.2.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.18.2 CPython/3.10.12 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d1e4f2d1007c3012e07a62ed54f001cbb8c5133ec3c3606f1f1b1e125318514 |
|
MD5 | 0623731163cb6af035b6e0735cce547b |
|
BLAKE2b-256 | 4b540e7b13085a9258a85cad7af505790d57202f21a72cb5ba2e57f0c4450d82 |
File details
Details for the file nonebot_plugin_gpt_sovits-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: nonebot_plugin_gpt_sovits-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.18.2 CPython/3.10.12 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43422e574c34cae8b0c81eabf652aa8397d8631eb0e2c4c4804636d042d2c5c2 |
|
MD5 | 087187976af54c0679d178f8cd60a2d6 |
|
BLAKE2b-256 | 5b40c7eaf80d6545f49065c55210f872390c775bb70b4eef7681060900f65a2a |