功能介绍动态设置语音朗读内容、发音、讲话风格的功能:1. 非常逼真自然的语音合成,支持国际上绝大部分语言2. 不同的身份(主播/房管/舰长/普通用户)可以同时拥有不同的发音人、风格3. 可以通过弹幕/礼物/其他自定义操作来设置指定用户的专属发音人4. 朗读发送弹幕的用户昵称,可以使用不同的发音风格5. 统一用户连续发送的弹幕,不重复朗读昵称6. 通过语音合成标记语言SSML,微调音节、发音、语速、音量以及其他属性下载下载地址:http://pan.iwxyi.com/#s/7W3YlRNg更新方式:目前新版(4.4.3)尚未发布,下载文件夹“每夜版”中的 exe 到旧版目录,双击打开需关闭程序自带的“朗读弹幕”开关,否则会有重复语音导入代码:1. 复制本页底部的代码2. 神奇弹幕扩展页右上角菜单中的“粘贴代码片段” 3. 配置设置页中的语音,选择微软,并填入地区码和订阅码 共享秘钥地区码:southeastasia订阅码:edca5995ff5e492ea1f78f94af0bb093发音人列表SSML中的发音人需要使用前缀“zh-CN-”和后缀“Neural”,例如:通过弹幕设置发音人的代码中已自动添加前后缀,只需发送英文名即可。Xiaoxiao 晓晓Yunyang 云扬Xiaochen 晓辰Xiaohan 晓涵Xiaomo 晓墨Xiaoqiu 晓秋Xiaoriu 晓睿Xiaoshuang 晓双Xiaoxuan 晓萱Xiaoyan 晓颜Xiaoyou 晓悠Yunxi 云希Yunye 云野讲话风格列表不是所有角色都能使用讲话风格,也不是有讲话风格的角色能使用所有风格,具体可参考官方试听的选项:Style说明affectionate以较高的音调和音量表达温暖而亲切的语气。 说话者处于吸引听众注意力的状态。 说话者的个性往往是讨喜的。angry表达生气和厌恶的语气。assistant以热情而轻松的语气对数字助理讲话。calm以沉着冷静的态度说话。 语气、音调和韵律与其他语音类型相比要统一得多。chat表达轻松随意的语气。cheerful表达积极愉快的语气。customerservice以友好热情的语气为客户提供支持。depressed调低音调和音量来表达忧郁、沮丧的语气。disgruntled表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。embarrassed在说话者感到不舒适时表达不确定、犹豫的语气。empathetic表达关心和理解。fearful以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话人处于紧张和不安的状态。gentle以较低的音调和音量表达温和、礼貌和愉快的语气。lyrical以优美又带感伤的方式表达情感。narration-professional以专业、客观的语气朗读内容。newscast以正式专业的语气叙述新闻。newscast-casual以通用、随意的语气发布一般新闻。newscast-formal以正式、自信和权威的语气发布新闻。sad表达悲伤语气。serious表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。官方SSML文档:https://docs.microsoft.com/zh-cn/azure/cognitive-services/speech-service/speech-synthesis-markup?tabs=csharp代码片段复制以下的代码粘贴到神奇弹幕中:[
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": true,
"key": "设置发音人\\s*(\\S*)",
"reply": "/// 设置微软语音发音人,使用英文名字\n// Xiaoxiao晓晓 Yunyang云扬 Xiaochen晓辰 Xiaohan晓涵 Xiaomo晓墨\n// Xiaoqiu晓秋 Xiaoriu晓睿 Xiaoshuang晓双 Xiaoxuan晓萱 Xiaoyan晓颜\n// Xiaoyou晓悠 Yunxi云希 Yunye云野\n>setValue(voice/speaker_%uid%, zh-CN-%$1%Neural)"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": true,
"key": "设置发音风格\\s*(\\S*)",
"reply": "/// 指定讲话风格,不是所有角色都能用\n// affectionate亲切 angry生气 assistant热情轻松 calm沉着冷静 chat轻松随意\n// cheerful愉快 customerservice友好 depressed忧郁 disgruntled轻蔑 embarrassed犹豫\n// empathetic关心 fearful紧张 gentle温和 lyrical优美感伤 narration-professional朗读\n// newscast正式 newscast-casual通用随意 sad悲伤 serious严肃\n>setValue(voice/style_%uid%, %$1%)"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "设置发音角色扮演\\s*(\\S+)",
"reply": "/// 指定讲话角色扮演,使语音模拟不同的年龄和性别(暂不可用)\n// 仅这些角色可用:Xiaomo晓墨 Xiaoxuan晓萱 Yunxi云希 Yunye云野\n// 参数列表:\n// 模拟男女孩:Girl Boy\n// 模拟年轻男女:YoungAdultFemale YoungAdultMale\n// 模拟年长男女:OlderAdultFemale OlderAdultMale\n// 模拟老年男女:SeniorFemale SeniorMale\n>setValue(voice/role_%uid%, %$1%)"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": true,
"key": ".+",
"reply": "/// 自定义弹幕朗读,仅限微软语音\n>speakTextSSML(<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xmlns:mstts=\"https://www.w3.org/2001/mstts\" xml:lang=\"zh-CN\">\\\n <voice name=\"%>getEventExecutionResult(GET_VOICE_SPEAKER)%\">\\\n %>getEventExecutionResult(GET_VOICE_USER)%\\\n <mstts:express-as style=\"%>getEventExecutionResult(GET_VOICE_STYLE)%\" >\\\n <prosody rate=\"0%\" pitch=\"0%\">\\\n %text%\\\n </prosody>\\\n </mstts:express-as>\\\n </voice>\\\n</speak>)"
},
{
"action": "/// 测试发音人\n>speakTextSSML(<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xmlns:mstts=\"https://www.w3.org/2001/mstts\" xml:lang=\"zh-CN\">\\\n <voice name=\"zh-CN-XiaomoNeural\">\\\n 女儿看见父亲走了进来,问道:\\\n <mstts:express-as role=\"YoungAdultFemale\" style=\"calm\">\\\n “您来的挺快的,怎么过来的?”\\\n </mstts:express-as>\\\n 父亲放下手提包,说:\\\n <mstts:express-as role=\"OlderAdultMale\" style=\"calm\">\\\n “刚打车过来的,路上还挺顺畅。”\\\n </mstts:express-as>\\\n </voice>\\\n</speak>)",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": ""
},
{
"action": "// 自定义的语音发音人\n[%{voice/speaker_%uid%}%]****%{voice/speaker_%uid%}%\n// 设置不同身份的默认语音\n[%is_up%]***zh-CN-XiaoxiaoNeural // 主播自己\n[%guard%]**zh-CN-YunyangNeural // 舰长\n[%admin%]*zh-CN-XiaoyouNeural // 房管\nzh-CN-XiaoyanNeural // 普通用户",
"anchor_key": "神奇弹幕:EventAction",
"enabled": true,
"event": "GET_VOICE_SPEAKER"
},
{
"action": "// 自定义的语音风格\n[%{voice/style_%uid%}%]****%{voice/style_%uid%}%\n// 设置不同身份的默认语音\n[%is_up%]***lyrical // 主播自己\n[%guard%]**affectionate // 舰长\n[%admin%]*cheerful // 房管\nnewscast-casual // 普通用户",
"anchor_key": "神奇弹幕:EventAction",
"enabled": true,
"event": "GET_VOICE_STYLE"
},
{
"action": "// 是连续同一个用户,不重复朗读昵称\n[%{voice/last_user}% == %uid%]***\n// 返回用户昵称\n>setValue(voice/last_user, %uid%)\\n\\\n <mstts:express-as style=\"lyrical\" >\\\n <prosody rate=\"0%\" pitch=\"0%\">\\\n %ai_name%说:\\\n </prosody>\\\n </mstts:express-as>\\\n <break strength=\"medium\" />",
"anchor_key": "神奇弹幕:EventAction",
"enabled": true,
"event": "GET_VOICE_USER"
}
]