【Unity】音声認識エンジンについて調べてみた


多種多様な音声認識エンジン

Web Speech API

精度が高く、資料が豊富で導入し易い
単語辞書も不要なので自由な会話に向いていますがレスポンスが少々遅いです。

下記の資料で丁寧に解説されています。
筆者はオレオレSSL証明書で少し躓いたので
知らない用語を補足しながら読み進めると良いと思います。
Chrome の音声認識を Unity で利用してみた
OpenSSL
Apache/SSL自己証明書の作成とmod sslの設定

Intel RealSense SDK

精度が高く、資料が豊富で導入し易いが日本語で躓いた
英語での音声認識は高い精度で出来ました。
日本語の音声認識モジュールは数十時間インストールしようと試みましたが
インストール出来なかったため未検証です。
RealsenseSDKで音声認識した結果をUnityで使う

UnityEngine.Windows.Speech

精度が高く、ゲームとの相性が良い
Unityの音声認識APIなので手軽に利用出来て精度も高いです。
VRアプリで使える音声コマンドを簡単に実装してみる
(Oculus Rift CV1 + Windows10)

Julius

ゲームとの相性は良いが精度を上げるためには慣れが必要
限られたキーワードを利用するだけならばあまり不便は無いと思います。
Julius で音声認識させてみた
Unityで音声認識
MMDAgent(Julius)の音声認識率を上げる方法
Unity から音声認識ライブラリ JuliusLib を使うためにやったこと

その他

  • Cortana
  • Wit.ai
  • IBM Watson Speech to Text
  • Speech-to-Text
  • DragonSpeech

Unity公式アセット「Speech-to-Text」の概要と基本的な使い方をまとめました

まとめ

下記のように目的に応じて使い分けると良いと思います。

  • 自由な会話ならWeb Speech APIやIntel RealSense SDK
  • 限られたキーワードを利用するだけならUnityEngine.Windows.SpeechやJulius

利用目的は先人様が何人もいらっしゃいますが

  • VRゲームでの入力手段として
  • ボイスロイドを利用して実況するため
  • 雑談APIと会話をするため

などで利用していこうと考えております。