✨ VITS AI合成原神角色语音 by fumiama✨
搬运自ZeroBot-Plugin仓库:https://github.com/FloatTech/ZeroBot-Plugin/tree/master/plugin/moegoe
nb plugin install nonebot_plugin_moegoe
或 pip install nonebot_plugin_moegoe
在聊天中输入:
- 让[丹恒|克拉拉|穹|「信使」|史瓦罗|彦卿|晴霓|杰帕德|素裳|绿芙蓉|罗刹|艾丝妲|黑塔|丹枢|希露瓦|白露|费斯曼|停云|可可利亚|景元|螺丝咕姆|青镞|公输师傅|卡芙卡|大毫|驭空|半夏|奥列格|娜塔莎|桑博|瓦尔特|阿兰|伦纳德|佩拉|卡波特|帕姆|帕斯卡|青雀|三月七|刃|姬子|布洛妮娅|希儿|星|符玄|虎克|银狼|镜流|「博士」|「大肉丸」|九条裟罗|佐西摩斯|刻晴|博易|卡维|可莉|嘉玛|埃舍尔|塔杰·拉德卡尼|大慈树王|宵宫|康纳|影|枫原万叶|欧菲妮|玛乔丽|珊瑚|田铁嘴|砂糖|神里绫华|罗莎莉亚|荒泷一斗|莎拉|迪希雅|钟离|阿圆|阿娜耶|阿拉夫|雷泽|香菱|龙二|「公子」|「白老先生」|优菈|凯瑟琳|哲平|夏洛蒂|安柏|巴达维|式大将|斯坦利|毗伽尔|海妮耶|爱德琳|纳西妲|老孟|芙宁娜|阿守|阿祇|丹吉尔|丽莎|五郎|元太|克列门特|克罗索|北斗|埃勒曼|天目十五|奥兹|恶龙|早柚|杜拉夫|松浦|柊千里|甘雨|石头|纯水精灵?|羽生田千鹤|莱依拉|菲谢尔|言笑|诺艾尔|赛诺|辛焱|迪娜泽黛|那维莱特|八重神子|凯亚|吴船长|埃德|天叔|女士|恕筠|提纳里|派蒙|流浪者|深渊使徒|玛格丽特|珐露珊|琴|瑶瑶|留云借风真君|绮良良|舒伯特|荧|莫娜|行秋|迈勒斯|阿佩普|鹿野奈奈|七七|伊迪娅|博来|坎蒂丝|埃尔欣根|埃泽|塞琉斯|夜兰|常九爷|悦|戴因斯雷布|笼钓瓶一心|纳比尔|胡桃|艾尔海森|艾莉丝|菲米尼|蒂玛乌斯|迪奥娜|阿晃|阿洛瓦|陆行岩本真蕈·元素生命|雷电将军|魈|鹿野院平藏|「女士」|「散兵」|凝光|妮露|娜维娅|宛烟|慧心|托克|托马|掇星攫辰天君|旁白|浮游水蕈兽·元素生命|烟绯|玛塞勒|百闻|知易|米卡|西拉杰|迪卢克|重云|阿扎尔|霍夫曼|上杉|久利须|嘉良|回声海螺|多莉|安西|德沃沙克|拉赫曼|林尼|查尔斯|深渊法师|温迪|爱贝尔|珊瑚宫心海|班尼特|琳妮特|申鹤|神里绫人|艾伯特|萍姥姥|萨赫哈蒂|萨齐因|阿尔卡米|阿贝多|anzai|久岐忍|九条镰治|云堇|伊利亚斯|埃洛伊|塞塔蕾|拉齐|昆钧|柯莱|沙扎曼|海芭夏|白术|空|艾文|芭芭拉|莫塞伊思|莺儿|达达利亚|迈蒙|长生|阿巴图伊|陆景和|莫弈|夏彦|左然](以[参数])说(中文)
- 让[宁宁|爱瑠|芳乃|茉子|丛雨|小春|七海|妃爱|华乃|亚澄|诗樱|天梨|里|广梦|莉莉子](以[参数])说日语:(日语)
- 让[Sua|Mimiru|Arin|Yeonhwa|Yuhwa|Seonbae](以[参数])说韩语:(韩语)
可选参数默认有语速、情绪、顿挫。
例:
Bot返回语音
在聊天中输入: moegoe load
可以在线更新profile。
在插件初次联网成功运行后,可以发现 BOTROOT/data/moegoe/ 路径下有profile.toml文件,其中可以配置
- 插件优先级 priority
- 触发正则语句 regex
等等。 修改后保存,重启生效。
注意:
插件主要通过调用网络api来获取合成语音。
目前中文默认使用新的免费api:https://genshinvoice.top/。
原付费api也可继续使用,在自行获取APIKey后,在配置文件的cnapi url末尾"
前加上&code=你的APIKey
,即可使用。参考Issue 17
日文和韩文的API目前正常。
当插件版本更新时新配置将覆盖旧配置,如果不希望被覆盖可以在profile.toml中把版本调高。
报错 ERROR: No matching distribution found for nonebot-plugin-moegoe
- 注意安装的包名是带下划线的:nonebot_plugin_moegoe
API不能正确生成语音
- 第一种情况:输入如果包含api无法处理的字符就会无法生成语音,请排查英文、叠词、奇怪标点符号等。
- 第二种情况:当后台在报
encode silk failed: convert pcm file error: exec: "ffmpeg": executable file not found in %PATH%
错误时,表示go-cqhttp编码音频所依赖的ffmpeg包没有被安装,所以不能发送音频。请自行安装ffmpeg。(不过ffmpeg可能不是必须的。如果有人在不安装ffmpeg时能正常使用,请向我反馈,这一点还没有经过测试。) - 第三种情况:本插件默认优先级为5,若有其它的插件优先级比5强,且该插件有block截断,则本插件可能无法收到并处理消息。目前需要自行调整插件的优先级。
API不能生成较长语音
一些API生成较长语音的速度很慢(从数十秒到数分钟),为避免该类请求的并发造成资源阻塞,代码中限制了请求时长,可自行修改。
resp = await client.get(url, timeout=120)
- 触发语句改动:加入可选的参数触发指令;顺便整理了代码。
- 更新了新的免费cnapi,和新的cnapi角色名单。
- 更新了cnapi的角色名单,并加入了一些api参数。
- 更新了新的中文api:yuanshenai.azurewebsites.net (目前已失效)
- 增加了更多api配置选项,如果url中存在对应空位则生效,目前可以在profile.toml中修改。
- 更新profile.toml时自动将原有文件备份为profile.bak。
- 加入在线更新profile的指令 moegoe load。
- 增加了回复形式的设置,详见profile.toml中[api]一栏。
- 应官方要求升级包依赖版本。
- 修复安装失败的BUG。profile.toml的位置改变,之前版本的配置可能无法自动更新profile.toml配置文件。
- 从__init__.py抽离一些配置组成profile.toml配置文件,现在可以自动从github上抓取url等配置的更新了。
- 同步更新中文原神语音api
- 增加包依赖的nonebot版本限制(仅此而已)
- 在
让xx说xx:
正则式中添加冒号的全角半角匹配(:|:)
(此外,之前版本已经添加形如(日语|日文|日本语)
的正则匹配)
- 添加日语speaker2的API,增加8名可选语音人物
- 换用httpx以修正requests阻塞多协程的BUG
- 在中文语音中,将输入文字中的英文符号和0-9数字预处理为中文
- 优化报错提示
- 整理代码