Robot Engage Blog Buy Now
Blog

Misty Community Forum

2019.12.17 - StartKeyPhraseRecognition (Breaking) Changes

Misty’s 2019-12-17T07:00:00Z system update will give developers the ability to capture speech recordings for use with third-party services like Dialogflow. These changes include a new command for capturing speech, as well as a new event type that triggers each time Misty creates a new voice recording.

Additionally, Misty’s StartKeyPhraseRecognition command will be updated with parameters you can use to configure speech recording to begin immediately after wake word detection occurs, so that you don’t have to issue a separate command to start recording speech. The default configuration for this command will be such that Misty will immediately attempt to capture a speech recording when she detects the wake word; however, you can modify this behavior with the new optional parameters for this command.

The new syntax for the misty.StartKeyPhraseRecognition() method in Misty’s JavaScript API is planned to be:

misty.StartKeyPhraseRecognition([bool captureSpeech], [bool overwriteExisting], [int maxSpeechLength], [int silenceTimeout], [string callback], [string callbackRule], [string skillToCall], [int prePause], [int postPause])

The new parameters are planned to include:

  • CaptureSpeech (bool) - If true, Misty starts recording speech after recognizing the “Hey, Misty” key phrase. Defaults to true.
  • OverwriteExisting (bool) - If true, the captured speech recording overwrites any existing speech recordings saved under the default filename. If false, Misty saves the speech recording under a unique, timestamped filename. Defaults to true.
  • MaxSpeechLength (int) - The maximum duration (in milliseconds) of the speech recording. If the length of an utterance exceeds this duration, Misty stops recording after the duration has elapsed, and the system triggers an event with a message that Misty did not detect the end of the recorded speech. Defaults to 7500.
  • SilenceTimeout (int) - The maximum duration (in milliseconds) of silence that can precede speech before the speech capture mechanism times out. If Misty does not detect speech before the SilenceTimeout duration elapses, she stops listening for speech and triggers a VoiceRecord event with a message that she did not detect the beginning of speech. Defaults to 5000.

These parameters will also be available in the implementations of this command available to Misty’s REST API and .NET SDK.

1 Like

@cameron - I know you’ve got a conversation skill that may be affected by these changes :wink: