Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


DictationRecognizer

DictationRecognizer listens to speech input and attempts to determine what phrase was uttered.
Read time 3 minutesLast updated 6 days ago

Definition

public sealed class DictationRecognizer : IDisposable

Remarks

Users can register and listen for hypothesis and phrase completed events. Start() and Stop() methods respectively enable and disable dictation recognition. Once done with the recognizer, it must be disposed using Dispose() method to release the resources it uses. It will release these resources automatically during garbage collection at an additional performance cost if they are not released prior to that.
using UnityEditor;using UnityEngine;using UnityEngine.UI;using UnityEngine.Windows.Speech;public class DictationScript : MonoBehaviour{ [SerializeField] private Text m_Hypotheses; [SerializeField] private Text m_Recognitions; private DictationRecognizer m_DictationRecognizer; void Start() { m_DictationRecognizer = new DictationRecognizer(); m_DictationRecognizer.DictationResult += (text, confidence) => { Debug.LogFormat("Dictation result: {0}", text); m_Recognitions.text += text + "\n"; }; m_DictationRecognizer.DictationHypothesis += (text) => { Debug.LogFormat("Dictation hypothesis: {0}", text); m_Hypotheses.text += text; }; m_DictationRecognizer.DictationComplete += (completionCause) => { if (completionCause != DictationCompletionCause.Complete) Debug.LogErrorFormat("Dictation completed unsuccessfully: {0}.", completionCause); }; m_DictationRecognizer.DictationError += (error, hresult) => { Debug.LogErrorFormat("Dictation error: {0}; HResult = {1}.", error, hresult); }; m_DictationRecognizer.Start(); }}
Dictation recognizer is currently functional only on Windows 10, and requires that dictation is permitted in the user's Speech privacy policy (Settings->Privacy->Speech, inking & typing). If dictation is not enabled, DictationRecognizer will fail on DictationRecognizer.Start. Developers can handle this failure in an app-specific way by providing a DictationRecognizer.DictationError delegate and testing for SPERR_SPEECH_PRIVACY_POLICY_NOT_ACCEPTED (0x80045509).

Constructors

Constructor

Description

DictationRecognizer()Create a DictationRecognizer with the specified minimum confidence and dictation topic constraint. Phrases under the specified minimum level will be ignored.
DictationRecognizer(UnityEngine.Windows.Speech.ConfidenceLevel)Create a DictationRecognizer with the specified minimum confidence and dictation topic constraint. Phrases under the specified minimum level will be ignored.
DictationRecognizer(UnityEngine.Windows.Speech.ConfidenceLevel,UnityEngine.Windows.Speech.DictationTopicConstraint)Create a DictationRecognizer with the specified minimum confidence and dictation topic constraint. Phrases under the specified minimum level will be ignored.
DictationRecognizer(UnityEngine.Windows.Speech.DictationTopicConstraint)Create a DictationRecognizer with the specified minimum confidence and dictation topic constraint. Phrases under the specified minimum level will be ignored.

Properties

Property

Description

AutoSilenceTimeoutSecondsThe time length in seconds before dictation recognizer session ends due to lack of audio input.
InitialSilenceTimeoutSecondsThe time length in seconds before dictation recognizer session ends due to lack of audio input in case there was no audio heard in the current session.
StatusIndicates the status of dictation recognizer.

Methods

Method

Description

DisposeDisposes the resources this dictation recognizer uses.
StartStarts the dictation recognization session. Dictation recognizer can only be started if PhraseRecognitionSystem is not running.
StopStops the dictation recognization session.

Events

Member

Description

DictationCompleteEvent that is triggered when the recognizer session completes.
DictationErrorEvent that is triggered when the recognizer session encouters an error.
DictationHypothesisEvent that is triggered when the recognizer changes its hypothesis for the current fragment.
DictationResultEvent indicating a phrase has been recognized with the specified confidence level.

Delegates

Delegate

Description

DictationRecognizer.DictationCompletedDelegateDelegate for DictationComplete event.
DictationRecognizer.DictationErrorHandlerDelegate for DictationError event.
DictationRecognizer.DictationHypothesisDelegateCallback indicating a hypothesis change event. You should register with DictationHypothesis event.
DictationRecognizer.DictationResultDelegateCallback indicating a phrase has been recognized with the specified confidence level. You should register with DictationResult event.