Ikaros-521 / AI-Vtuber

AI Vtuber是一个由 【ChatterBot/ChatGPT/claude/langchain/chatglm/text-gen-webui/闻达/千问/kimi/ollama】 驱动的虚拟主播【Live2D/UE/xuniren】,可以在 【Bilibili/抖音/快手/微信视频号/拼多多/斗鱼/YouTube/twitch/TikTok】 直播中与观众实时互动 或 直接在本地进行聊天。它使用TTS技术【edge-tts/VITS/elevenlabs/bark/bert-vits2/睿声】生成回答并可以选择【so-vits-svc/DDSP-SVC】变声;指令协同SD画图。
https://ikaros-521.github.io/Luna-Docs/site/
GNU General Public License v3.0
3.17k stars 485 forks source link

🚀 Feature: 连续对话,提供关键词唤醒 #966

Closed zheng-hongkun closed 2 months ago

zheng-hongkun commented 3 months ago

希望能解决的问题

实时语音对话聊天功能加唤醒词。

描述所需要的功能

连续对话,提供关键词唤醒,只有听到关键词开头的录音,再开始录音分析(类似小爱音响或者Fay框架数字人前置词功能),否则一旦回答或问个长问题,就变成机器自己无限循环了。比如只有呼唤“伊卡洛斯”开头的录音才有效。 屏幕截图 2024-08-12 235213

Ikaros-521 commented 3 months ago

https://github.com/Ikaros-521/AI-Vtuber/pull/941

3周前已经实现了

Ikaros-521 commented 3 months ago

但并非每句话单独触发,而是开启后长期可以对话。单次唤醒的模式 后续考虑实现 @Ikaros-521

zheng-hongkun commented 3 months ago

谢谢,幸苦了,我的意思是与数字人交流沟通的时候每句话都带上前置词,因为我的应用场景必须开扬声器,如果每句话不加前置词,数字人必然就会陷入无限自问自答的场景,而且现场环境音不那么纯净,不加前置词数字人很容易对杂音响应。

Ikaros-521 commented 3 months ago

谢谢,幸苦了,我的意思是与数字人交流沟通的时候每句话都带上前置词,因为我的应用场景必须开扬声器,如果每句话不加前置词,数字人必然就会陷入无限自问自答的场景,而且现场环境音不那么纯净,不加前置词数字人很容易对杂音响应。

单句携带 恩,就是这种,

Ikaros-521 commented 3 months ago

https://github.com/Ikaros-521/AI-Vtuber/pull/968 已更新

zheng-hongkun commented 3 months ago

感谢,刚测了一下,单次唤醒还有个小小的问题,就是用前置词唤醒时,前置词没有被截掉,前置词和问题一起被传入大模型。 比如我设置前置词为“小花”,我用口令询问:“小花,今天天气怎么样。”,大模型就会回答“我没有搜索到区域为“小花”的天气情况”,这句话通过喇叭播放出来,被麦克风收声,结果又会陷入自问自答的循环。

Ikaros-521 commented 3 months ago

感谢,刚测了一下,单次唤醒还有个小小的问题,就是用前置词唤醒时,前置词没有被截掉,前置词和问题一起被传入大模型。 比如我设置前置词为“小花”,我用口令询问:“小花,今天天气怎么样。”,大模型就会回答“我没有搜索到区域为“小花”的天气情况”,这句话通过喇叭播放出来,被麦克风收声,结果又会陷入自问自答的循环。

你没开 播放时不录用吗(不过如果用的metahuman-stream倒是不行)

Ikaros-521 commented 3 months ago

唤醒词过滤 原版是有的,现在没了吗,那就可能哪里漏了

zheng-hongkun commented 3 months ago

屏幕截图 2024-08-13 222017 我用的metahuman-stream,选择单次唤醒是没有的。

Ikaros-521 commented 3 months ago

屏幕截图 2024-08-13 222017 我用的metahuman-stream,选择单次唤醒是没有的。

确实 漏了 唤醒词过滤

Ikaros-521 commented 3 months ago

屏幕截图 2024-08-13 222017 我用的metahuman-stream,选择单次唤醒是没有的。

唤醒词过滤:https://github.com/Ikaros-521/AI-Vtuber/pull/969