HoloLens 2 における Voice Input を理解する [Mixed Reality ドキュメント]

今回はこのドキュメントを読む.

docs.microsoft.com

www.youtube.com

Select コマンド

HoloLens 2 の音声コマンド "select" を使用するには
ポインターとして使用するために視線カーソルを表示させる必要がある。
カーソルを浮かび上がらせるコマンドは "select" というだけ.

モードを終了するには,エアタップするか,指でボタンに近づくか,
システムジェスチャーを使って再度手を使うだけ.

HoloLens 固有コマンド

  • "What can I say?" "何て言えばいいの?"
  • "Go to Start" "スタート画面に移動して"
  • "Launch " "打ち上げて"
  • "Move here" "ここに移動して"
  • "Take a picture" "写真を撮って"
  • "Start recording" "録音開始"
  • "Stop recording" "録音停止"
  • "Increase the brightness" "明るくして"
  • "Decrease the brightness" "暗くして"
  • "Increase the volume" "音量を上げて"
  • "Decrease the volume" "音量を下げて"
  • "Mute" or "Unmute" "ミュート" または "ミュート解除"
  • "Shut down the device" "シャットダウンして"
  • "Restart the device" "再起動して"
  • "Go to sleep" "スリープして"
  • "What time is it?" "今何時?"
  • "How much battery do I have left?" "バッテリーの残量は?"

日本語の方は試していないです.

"See It, Say It"

HoloLens 2では音声入力できそうな画面に向かって,
"Select"や"What I can say?"をVoice Inputすることで,
その画面の下にTooltipが表示される.

f:id:xrdnk:20200407224305p:plain

(抜粋:https://docs.microsoft.com/en-us/windows/mixed-reality/voice-input)

Dictation

マイクボタンを押せば,Voice Inputができるようになる.

f:id:xrdnk:20200407224315p:plain

アプリにボイスコマンドを追加する

ベストプラクティス

  • 簡潔なコマンドにすること
  • シンプルな単語を使うこと

簡潔にわかりやすく!

  • コマンドが非破壊的であること

発話コマンドで実行可能なアクションが非破壊的なものであることを確認し
万が一近くで話している他の人が誤ってコマンドを起動した場合でも簡単に元に戻せるようにする.

  • 似た音のコマンドを避けること

英語ではよくあること.
日本語でも同音異義語が沢山あるので注意.

  • アプリを使用していない時は登録を解除すること

  • 異なるアクセントでテストすること

英語は国の訛りによってアクセントが違うので,試さないといけない
アメリカ英語,イギリス英語,オーストラリア英語,カナダ英語とか)

日本語もそうかな.

  • すでに予約されているシステムコマンドを避けること

プログラミングと同様で予約語はやめよう.

ボイスコマンドの利点

  • 時間短縮
  • 労力の最小化
  • 認知的負荷の軽減
  • 社会的に受け入れられている
  • ルーチン化しやすい

ボイスコマンドの課題

連続的入力制御

例えば,ユーザーが「もっと大きく」してとVoice Inputしたとき,
それがどの程度の大きさなのかは明確じゃない.Smart Speakerもそうだね.
数値化が難しい.そしてホログラムを音声で移動したり,拡大縮小も難しい.

音声検出の信頼性

誤解釈をする場合がある.誤解釈時のFBをもとに解釈誤りを起こさないように考えよう.

公共の場の場合…

まあ独り言に言っているようなものだからね….

固有名詞とか未知な単語とか

システムが知らないワードはわからない.

最終的には機械学習

最終的には機械学習を活用する.

Communication

HoloLens 2 が対応しているオーディオストリームのカテゴリは3つある.

  • The AudioCategory_Communications stream category

VOIPなどの通話用
16kHz 24bit モノラルストリーム

  • The AudioCategory_Speech stream category

スピーチエンジン用
16kHz 24bit モノラルストリーム
必要に応じて,サードパーティの音声エンジンを利用可能.

  • The AudioCategory_Other stream category

周囲の環境音用
48kHz 24bit ステレオストリーム

言語

HoloLens 2は複数言語対応.

トラブルシューティング

反応がなかった場合は静かな場所に移動したり,
騒音を出しているところから離れたり,自分で大きな声を出そう.

MRTKを用いたUnityでのVoice Input

MRTKを用いれば簡単にVoice Inputができるよー.

microsoft.github.io

hololabinc.github.io

最後に

過去にAzure Speech SDK × HoloLens 2をやってました.

xrdnk.hateblo.jp

今度日本語でやってみたいところ.(なお無料サブスクは切れた…)