As a user of Say, Pi, I want the option to use a 'press and hold' listening mode, similar to a walkie-talkie, in addition to the current hands-free mode. This would allow me to have more control over when Pi is listening, and reduce unintentional input from background noise or non-speech sounds.
User Story:
As a user, I can effortlessly switch between hands-free mode and 'press and hold' mode.
In hands-free mode, Pi listens continuously for my voice input (current behaviour).
In 'press and hold' mode, Pi only listens when I press and hold the microphone button, and stops listening when I release the button.
The user interface clearly indicates which mode is currently active.
Proposed Solution:
Add a long-press listener to the microphone button.
When the button is long-pressed, start recording using the regular microphone API, bypassing the Voice Activity Detection (VAD) module used in hands-free mode.
Stop recording when the button is released.
Process the recorded audio and send it to Pi, as in the current implementation.
Update the user interface to reflect the current mode and provide instructions for use.
Ideas on Cues:
Apply a 'walkie-talkie' icon to the call button when long-pressed
Set the prompt placeholder text to something like "listening until released..."
Benefits:
Provides users with more control over when Pi is listening.
Reduces unintentional input from background noise or non-speech sounds.
Caters to users who prefer short, targeted interactions with Pi.
Possible Challenges:
Ensuring a smooth user experience when switching between modes.
As a user of Say, Pi, I want the option to use a 'press and hold' listening mode, similar to a walkie-talkie, in addition to the current hands-free mode. This would allow me to have more control over when Pi is listening, and reduce unintentional input from background noise or non-speech sounds.
User Story:
Proposed Solution:
Ideas on Cues:
Benefits:
Possible Challenges: