diff --git a/data b/data index 541c1dec..1e64e7cf 160000 --- a/data +++ b/data @@ -1 +1 @@ -Subproject commit 541c1dec93f480d295fc5463814a94c014a53512 +Subproject commit 1e64e7cf82a24b6d0a231f3cfd474dcbd4d52781 diff --git a/go.mod b/go.mod index bd027998..c131aa02 100644 --- a/go.mod +++ b/go.mod @@ -4,15 +4,15 @@ go 1.20 require ( github.com/Baidu-AIP/golang-sdk v1.1.1 - github.com/FloatTech/AnimeAPI v1.6.1-0.20230331074616-e33f890df71e + github.com/FloatTech/AnimeAPI v1.6.1-0.20230407094656-35c90555daf6 github.com/FloatTech/floatbox v0.0.0-20230331064925-9af336a84944 github.com/FloatTech/gg v1.1.3-0.20230226151425-6ea91286ba08 github.com/FloatTech/imgfactory v0.2.2-0.20230322091809-b0ddbe44b94b github.com/FloatTech/rendercard v0.0.10-0.20230223064326-45d29fa4ede9 - github.com/FloatTech/sqlite v1.5.7 + github.com/FloatTech/sqlite v1.6.2 github.com/FloatTech/ttl v0.0.0-20220715042055-15612be72f5b - github.com/FloatTech/zbpctrl v1.5.3-0.20230316111343-dd078fa43fe3 - github.com/FloatTech/zbputils v1.6.2-0.20230331074541-89a5b4840e92 + github.com/FloatTech/zbpctrl v1.5.3-0.20230406055807-cb5f5edad2c7 + github.com/FloatTech/zbputils v1.6.2-0.20230407083549-931d7968df13 github.com/RomiChan/syncx v0.0.0-20221202055724-5f842c53020e github.com/RomiChan/websocket v1.4.3-0.20220227141055-9b2c6168c9c5 github.com/antchfx/htmlquery v1.2.5 @@ -24,6 +24,7 @@ require ( github.com/fumiama/go-base16384 v1.6.4 github.com/fumiama/go-registry v0.2.6 github.com/fumiama/gotracemoe v0.0.3 + github.com/fumiama/imgsz v0.0.2 github.com/fumiama/jieba v0.0.0-20221203025406-36c17a10b565 github.com/fumiama/unibase2n v0.0.0-20221020155353-02876e777430 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 @@ -51,7 +52,6 @@ require ( github.com/faiface/beep v1.1.0 // indirect github.com/fumiama/go-simple-protobuf v0.1.0 // indirect github.com/fumiama/gofastTEA v0.0.10 // indirect - github.com/fumiama/imgsz v0.0.2 // indirect github.com/gabriel-vasile/mimetype v1.0.4 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect diff --git a/go.sum b/go.sum index 0acaa553..87fba9b6 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ github.com/Baidu-AIP/golang-sdk v1.1.1 h1:RQsAmgDSAkiq22I6n7XJ2t3afgzFeqjY46FGhv github.com/Baidu-AIP/golang-sdk v1.1.1/go.mod h1:bXnGw7xPeKt8aF7UCELKrV6UZ/46spItONK1RQBQj1Y= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/FloatTech/AnimeAPI v1.6.1-0.20230331074616-e33f890df71e h1:4V7UZyLZKmjXUDtmYFK5+EWIrrkSuN+jHjKXkWsqQ/A= -github.com/FloatTech/AnimeAPI v1.6.1-0.20230331074616-e33f890df71e/go.mod h1:LSJN8VkJXBhyAdOolVNeUptJz6l1TZ+/CfXN1OafyEY= +github.com/FloatTech/AnimeAPI v1.6.1-0.20230407094656-35c90555daf6 h1:hS5U1Xz6JtVyGdXOl50j9ubQxP446+TjIAhaGapGUpU= +github.com/FloatTech/AnimeAPI v1.6.1-0.20230407094656-35c90555daf6/go.mod h1:UnCPjtpIzpNBZ02yeGYp+oYVxgoi5aF2yAK2bkOVxtI= github.com/FloatTech/floatbox v0.0.0-20230331064925-9af336a84944 h1:/eQoMa6Aj3coF5F7yhzZe1+SzX6SItul7MW8//pl18o= github.com/FloatTech/floatbox v0.0.0-20230331064925-9af336a84944/go.mod h1:FwQm6wk+b4wuW54KCKn3zccMX47Q5apnHD/Yakzv0fI= github.com/FloatTech/gg v1.1.3-0.20230226151425-6ea91286ba08 h1:dPLeoiTVSBlgls+66EB/UJ2e38BaASmBN5nANaycSBU= @@ -12,14 +12,14 @@ github.com/FloatTech/imgfactory v0.2.2-0.20230322091809-b0ddbe44b94b h1:VMNci4SW github.com/FloatTech/imgfactory v0.2.2-0.20230322091809-b0ddbe44b94b/go.mod h1:el5hGpj1C1bDRxcTXYRwEivDCr40zZeJpcrLrB1fajs= github.com/FloatTech/rendercard v0.0.10-0.20230223064326-45d29fa4ede9 h1:hffajvmQFfP68U6wUwHemPuuwCUoss+SEFfoLYwbGwE= github.com/FloatTech/rendercard v0.0.10-0.20230223064326-45d29fa4ede9/go.mod h1:NBFPhWae4hqVMeG8ELBBnUQkKce3nDjkljVn6PdiUNs= -github.com/FloatTech/sqlite v1.5.7 h1:Bvo4LSojcZ6dVtbHrkqvt6z4v8e+sj0G5PSUIvdawsk= -github.com/FloatTech/sqlite v1.5.7/go.mod h1:zFbHzRfB+CJ+VidfjuVbrcin3DAz283F7hF1hIeHzpY= +github.com/FloatTech/sqlite v1.6.2 h1:FytbExjpvYalZxxITtmSenHiPGLPUvlz47LY/P0SCCw= +github.com/FloatTech/sqlite v1.6.2/go.mod h1:zFbHzRfB+CJ+VidfjuVbrcin3DAz283F7hF1hIeHzpY= github.com/FloatTech/ttl v0.0.0-20220715042055-15612be72f5b h1:tvciXWq2nuvTbFeJGLDNIdRX3BI546D3O7k7vrVueZw= github.com/FloatTech/ttl v0.0.0-20220715042055-15612be72f5b/go.mod h1:fHZFWGquNXuHttu9dUYoKuNbm3dzLETnIOnm1muSfDs= -github.com/FloatTech/zbpctrl v1.5.3-0.20230316111343-dd078fa43fe3 h1:mCVrTvS2LMNaI2bNA1Gu/B4F5MnfGaTaJClgR6+rhdA= -github.com/FloatTech/zbpctrl v1.5.3-0.20230316111343-dd078fa43fe3/go.mod h1:IagyEhY38VcbbQgVRzAM9f9mhaUn90rM5BTPfudtl1g= -github.com/FloatTech/zbputils v1.6.2-0.20230331074541-89a5b4840e92 h1:yp2hYvK+FaaozRG9+KPgoknbdvp5ZbrNHOjMfES0lEM= -github.com/FloatTech/zbputils v1.6.2-0.20230331074541-89a5b4840e92/go.mod h1:3bpENp0t2puKC4Kwp+ksEcMPkuw/8pWI4G6/+/e3jCA= +github.com/FloatTech/zbpctrl v1.5.3-0.20230406055807-cb5f5edad2c7 h1:ii/HjRAAH1Ot1mwg4r+kabiI0H8EZ/PwTZryEbN4Jvg= +github.com/FloatTech/zbpctrl v1.5.3-0.20230406055807-cb5f5edad2c7/go.mod h1:IagyEhY38VcbbQgVRzAM9f9mhaUn90rM5BTPfudtl1g= +github.com/FloatTech/zbputils v1.6.2-0.20230407083549-931d7968df13 h1:7HX4TP7/ihnoCvD/XyM2nxi4EI0wClQB7SSDCSgfx8I= +github.com/FloatTech/zbputils v1.6.2-0.20230407083549-931d7968df13/go.mod h1:iPlPghAE6SSDBZPHA6ZiPyspfeVDNQqtfLDkftHlD4I= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/RomiChan/syncx v0.0.0-20221202055724-5f842c53020e h1:wR3MXQ3VbUlPKOOUwLOYgh/QaJThBTYtsl673O3lqSA= github.com/RomiChan/syncx v0.0.0-20221202055724-5f842c53020e/go.mod h1:vD7Ra3Q9onRtojoY5sMCLQ7JBgjUsrXDnDKyFxqpf9w= diff --git a/plugin/ai_reply/ai_tts.go b/plugin/ai_reply/ai_tts.go index 1b02e5e2..365337f6 100644 --- a/plugin/ai_reply/ai_tts.go +++ b/plugin/ai_reply/ai_tts.go @@ -12,28 +12,28 @@ import ( "github.com/FloatTech/AnimeAPI/tts" "github.com/FloatTech/AnimeAPI/tts/baidutts" "github.com/FloatTech/AnimeAPI/tts/genshin" - "github.com/FloatTech/AnimeAPI/tts/mockingbird" + "github.com/FloatTech/AnimeAPI/tts/ttscn" ctrl "github.com/FloatTech/zbpctrl" "github.com/FloatTech/zbputils/control" ) // 数据结构: [4 bits] [4 bits] [8 bits] [8 bits] -// [拟声鸟模式] [百度模式] [tts模式] [回复模式] +// [ttscn模式] [百度模式] [tts模式] [回复模式] // defaultttsindexkey // 数据结构: [4 bits] [4 bits] [8 bits] -// [拟声鸟模式] [百度模式] [tts模式] +// [ttscn模式] [百度模式] [tts模式] -// [tts模式]: 0~63 genshin 64 baidu 65 mockingbird +// [tts模式]: 0~63 genshin 64 baidu 65 ttscn const ( lastgsttsindex = 63 + iota baiduttsindex - mockingbirdttsindex + ttscnttsindex ) // extrattsname is the tts other than genshin vits -var extrattsname = []string{"百度", "拟声鸟"} +var extrattsname = []string{"百度", "TTSCN"} const ( defaultttsindexkey = -2905 @@ -148,7 +148,7 @@ func newttsmode() *ttsmode { if ok { index := m.GetData(defaultttsindexkey) msk := index & 0xff - if msk >= 0 && (msk < int64(len(genshin.SoundList)) || msk == baiduttsindex || msk == mockingbirdttsindex) { + if msk >= 0 && (msk < int64(len(genshin.SoundList)) || msk == baiduttsindex || msk == ttscnttsindex) { t.mode.Store(defaultttsindexkey, index) } } @@ -191,7 +191,7 @@ func (t *ttsmode) setSoundMode(ctx *zero.Ctx, name string, baiduper, mockingsynt case extrattsname[0]: index = baiduttsindex case extrattsname[1]: - index = mockingbirdttsindex + index = ttscnttsindex default: return errors.New("语音人物" + name + "未注册index") } @@ -212,7 +212,7 @@ func (t *ttsmode) getSoundMode(ctx *zero.Ctx) (tts.TTS, error) { i = m.GetData(gid) >> 8 } m := i & 0xff - if m < 0 || (m >= int64(len(genshin.SoundList)) && m != baiduttsindex && m != mockingbirdttsindex) { + if m < 0 || (m >= int64(len(genshin.SoundList)) && m != baiduttsindex && m != ttscnttsindex) { i, _ = t.mode.Load(defaultttsindexkey) m = i & 0xff } @@ -224,7 +224,24 @@ func (t *ttsmode) getSoundMode(ctx *zero.Ctx) (tts.TTS, error) { ins = baidutts.NewBaiduTTS(int(i&0x0f00) >> 8) case extrattsname[1]: var err error - ins, err = mockingbird.NewMockingBirdTTS(int(i&0xf000) >> 12) + ins, err = ttscn.NewTTSCN("中文(普通话,简体)", [...]string{ + "晓晓(女 - 年轻人)", + "云扬(男 - 年轻人)", + "晓辰(女 - 年轻人 - 抖音热门)", + "晓涵(女 - 年轻人)", + "晓墨(女 - 年轻人)", + "晓秋(女 - 中年人)", + "晓睿(女 - 老年)", + "晓双(女 - 儿童)", + "晓萱(女 - 年轻人)", + "晓颜(女 - 年轻人)", + "晓悠(女 - 儿童)", + "云希(男 - 年轻人 - 抖音热门)", + "云野(男 - 中年人)", + "晓梦(女 - 年轻人)", + "晓伊(女 - 儿童)", + "晓甄(女 - 年轻人)", + }[int(i&0xf000)>>12], ttscn.KBRates[0]) if err != nil { return nil, err } @@ -268,7 +285,7 @@ func (t *ttsmode) setDefaultSoundMode(name string, baiduper, mockingsynt int) er case extrattsname[0]: index = baiduttsindex case extrattsname[1]: - index = mockingbirdttsindex + index = ttscnttsindex default: return errors.New("语音人物" + name + "未注册index") } diff --git a/plugin/ai_reply/main.go b/plugin/ai_reply/main.go index c58faada..f00b09b8 100644 --- a/plugin/ai_reply/main.go +++ b/plugin/ai_reply/main.go @@ -26,8 +26,8 @@ func init() { // 插件主体 DisableOnDefault: true, Brief: "人工智能语音回复", Help: "- @Bot 任意文本(任意一句话回复)\n" + - "- 设置语音模式[原神人物/百度/拟声鸟] 数字(百度/拟声鸟模式)\n" + - "- 设置默认语音模式[原神人物/百度/拟声鸟] 数字(百度/拟声鸟模式)\n" + + "- 设置语音模式[原神人物/百度/ttscn] 数字(百度/ttscn模式)\n" + + "- 设置默认语音模式[原神人物/百度/ttscn] 数字(百度/ttscn模式)\n" + "- 恢复成默认语音模式\n" + "- 设置原神语音 api key xxxxxx (key请加开发群获得)\n" + "当前适用的原神人物含有以下:\n" + list(genshin.SoundList[:], 5),