DictationRecognizer は入力された音声を聞き、どんなフレーズかを決定します。
ユーザーは仮設とフレーズ完了イベントを登録し聞けます。Start() と Stop() メソッドは、音声認識を有効、無効にします。Recognizer の処理が終わったら、Dispose() メソッドを使って使用したリソースを破棄する必要があります。このメソッドは、以前に破棄されていないリソースがある場合は、性能に追加負荷はかかりますが、ガベージコレクションのときにこれらを自動的に破棄します。
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 Start. Developers can handle this failure in an app-specific way by providing a DictationError delegate and testing for SPERR_SPEECH_PRIVACY_POLICY_NOT_ACCEPTED (0x80045509).
AutoSilenceTimeoutSeconds | 音声入力がないために音声認識を終了する際の、終了する前の経過時間 (秒) |
InitialSilenceTimeoutSeconds | 現在のセッションで音声入力がまったくないために音声認識を終了する際の、終了する前の経過時間 (秒) |
Status | 音声認識の状態を示します。 |
DictationRecognizer | 特定の最低認識精度と制約されたスピーチ内容で DictationRecognizer を作成します。指定された最低認識精度より低いフレーズは、無視されます。 |
Dispose | DictationRecognizer で使用したリソースを破棄します。 |
Start | 音声認識セッションを開始します。DictationRecognizer は PhraseRecognitionSystem が実行していないときのみ、開始できます。 |
Stop | 音声認識セッションを停止します。 |
DictationComplete | 音声認識セッションを終了したときにトリガされるイベント |
DictationError | 音声認識セッションにエラーが発生したときにトリガされるイベント |
DictationHypothesis | Recognizer が、現在のフラグメントに対して仮説変更をするときにトリガされるイベント |
DictationResult | フレーズが特定の認識精度で認識されたことを示すイベント |
DictationCompletedDelegate | DictationComplete イベントのデリゲート |
DictationErrorHandler | DictationError イベントのデリゲート |
DictationHypothesisDelegate | 仮説変更のイベントを示すコールバック。DictationHypothesis イベントを登録する必要があります。 |
DictationResultDelegate | フレーズが特定の認識精度で認識されたことを示すコールバック。DictationResult イベントを登録する必要があります。 |