platypush/platypush/plugins/assistant
Fabio Manganiello fa49db4107
continuous-integration/drone/push Build is passing Details
[assistant.picovoice] Conversation flow improvements.
- The `Responding` state should be modelled as an extra event/binary
  flag, not as an assistant state. The assistant may be listening for
  hotwords even while the `tts` plugin is responding, and we don't want
  the two states to interfere with each either - neither to build a more
  complex state machine that also needs to take concurrent states into
  account.

- Stop any responses being rendered upon the `tts` plugin when a new
  hotword audio is detected. If e.g. I say "Ok Google", I should always
  be able to trigger the assistant and stop any concurrent audio
  process.

- `SpeechRecognizedEvent` should be emitted even if `cheetah`'s latest
  audio frame results weren't marked as final, and the speech detection
  window timed out. Cheetah's `is_final` detection seems to be quite
  buggy sometimes, and it may not properly detect the end of utterances,
  especially with non-native accents. The workaround is to flush out
  whatever text is available (if at least some speech was detected) into
  a `SpeechRecognizedEvent` upon timeout.
2024-04-13 20:03:35 +02:00
..
google google-assistant-sdk is no longer a dependency for the Google Assistant integration 2024-02-06 20:08:57 +01:00
picovoice [assistant.picovoice] Conversation flow improvements. 2024-04-13 20:03:35 +02:00
__init__.py Refactored `AssistantEvent`. 2024-04-09 00:15:51 +02:00