jackwuwei / gptspeaker

The ChatGPT Voice Assistant uses a Raspberry Pi (or desktop) to enable spoken conversation with OpenAI large language models. This implementation listens to speech, processes the conversation through the OpenAI service, and responds back. Like Apple Siri, Amazon Alex, Google Nest Home, Mi XiaoAi etc.
BSD 2-Clause "Simplified" License
41 stars 6 forks source link

关于连续对话与语音打断 #4

Open welkinchan opened 8 months ago

welkinchan commented 8 months ago

我正在努力在这个代码的基础上,想要实现连续对话的功能以及语音打断的功能。 但是改了好久,测试下来,还是有点问题。

  1. 第一次唤醒后就可以连续对话。但是如果隔20s没有对话,就进入待机模式。待机之后,必须使用唤醒词才能叫醒。但是我目前的代码测试下来,没使用唤醒词也可以继续对话。
  2. tts语音输出的时候,我希望期间喊出唤醒词之后就停止tts输出。但是目前的的代码,偶尔还会播放一两句话。我的饿代码里边明明把task_ask_tts以及task_ask_gpt都给cancel了。不理解。
jackwuwei commented 8 months ago

问题1、wait那里逻辑有问题,你debug看看,是不是条件没有满足 问题2、tts的文本存在queue里,停止task之前,先要把queue里的text清空