MRが楽しい

MRやVRについて学習したことを書き残す

RS5 Insider Preview(日本語版)で日本語認識を試す(KeywordRecognizer編)

本日は RS5 の技術調査枠です。
RS5 Insider Preview(日本語版)で日本語認識を試す方法をまとめます。
今回は KeywordRecognizer を用いてみます。

プロジェクトの作成

以下の手順ページの「HoloLens(WindowsMR) プロジェクトの基本設定」までを実施したプロジェクトを作成します。
bluebirdofoz.hatenablog.com
f:id:bluebirdofoz:20180803060231j:plain

シーンの作り込み

以下ページのサンプルスクリプト KeywordScript.cs を作成します。
docs.unity3d.com
f:id:bluebirdofoz:20180803060350j:plain

ただ、このままだと結果をログ確認する必要があるため、テキストUIへの出力機能を追加します。
以下のようにスクリプトを修正しました。

using System;
using System.Text;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Windows.Speech;

public class KeywordScript : MonoBehaviour
{
    [SerializeField]
    private string[] m_Keywords;

    [SerializeField]
    private Text m_TextMessage;

    private KeywordRecognizer m_Recognizer;

    void Start()
    {
        m_Recognizer = new KeywordRecognizer(m_Keywords);
        m_Recognizer.OnPhraseRecognized += OnPhraseRecognized;
        m_Recognizer.Start();
    }

    private void OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        StringBuilder builder = new StringBuilder();
        builder.AppendFormat("{0} ({1}){2}", args.text, args.confidence, Environment.NewLine);
        builder.AppendFormat("\tTimestamp: {0}{1}", args.phraseStartTime, Environment.NewLine);
        builder.AppendFormat("\tDuration: {0} seconds{1}", args.phraseDuration.TotalSeconds, Environment.NewLine);
        Debug.Log(builder.ToString());
        m_TextMessage.text += arg.text + "\n";
    }
}

空の GameObject を作成して DictationScript をアタッチします。
f:id:bluebirdofoz:20180803060403j:plain

結果確認用のテキストオブジェクトを作成します。
HoloLens のワールド空間上にキャンバスを出力するため、Render Mode は World Space にします。
f:id:bluebirdofoz:20180803060415j:plain

テキストオブジェクトを KeywordScript の TextMessage に設定します。
f:id:bluebirdofoz:20180803060427j:plain

最後に、認識させたい言葉を Keywords に登録します。
f:id:bluebirdofoz:20180803060438j:plain

Capability の設定

Dictation を用いるには、アプリに Microphone の Capabillity を設定する必要があります。
メニューから Mixed Reality Toolkit -> Configure -> Apply UWP Capability Settings を開きます。
f:id:bluebirdofoz:20180803060458j:plain

「Apply UWP Capability Settings」ダイアログが開くので、「Microphone」にチェックを入れて「Apply」を実行します。
f:id:bluebirdofoz:20180803060507j:plain

プロジェクトのビルド

以上でアプリの作成は完了です。プロジェクトをビルドして、HoloLens にインストールします。
f:id:bluebirdofoz:20180803060516j:plain

動作確認

アプリを起動すると、マイク利用の許可確認が表示されます。
「はい」をタップします。
f:id:bluebirdofoz:20180803060524j:plain

登録したキーワードを喋ると、認識されたキーワードがテキスト出力されます。
f:id:bluebirdofoz:20180803060537j:plain