背筋を伸ばして、まいにち笑顔

ブログには何度も挫折してきた。今度こそ、とりあえず体裁なんて忘れて、消しカスみたいなことでもアウトプットしていきたい。

Unityで日本語の音声認識する

久々の投稿。OSとかいう低レイヤーとは打って変わって、Unityの音声認識について書きます。とは言っても、Unityも音声認識も全くの初心者なので、ググった内容をまとめるだけです。

直接的な方法はない

Unity内で直接マイクを拾って日本語に文字起こしする方法は、調べた限り分かりませんでした。何らかの方法で、外部の音声認識エンジンと連携します。Unityからそこそこ手軽に使えそうな音声認識エンジンには、以下のようなものがあるようです。先に参考リンクまとめ。

Juliusで音声認識

この方法はUnityからJuliusサーバーを起動し、Unity(Juliusクライアント)とTCP/IPで通信して文字起こしできます。

の環境で、上記参考URL通りにセットアップしたら、サンプルシーンは特に問題なく動きました。最初は認識結果が文字化けしまくって頭を悩まされたのですが、Yahoo知恵袋で同様の問題と回答が見つかりました。 使ってみたところ認識精度はそんなに良いとは言えませんが、サンプルのようにあらかじめ用意された有限数のコマンドを実行するならば不便は無さそうです。UnityPackageになっていてさくっと導入できるのも良いところです。

その他は試してない

その他の方法は試していませんが、Perceptual SDKVisual Studioが必要そうだったこと、Web Speech APIChromeとWebScoketサーバー(Node.js)が必要そうだったことがあり、どちらも不可能では無さそうながら面倒だったため試していません。本当は認識の精度とか特徴とかを比較できればよかったんですが。

もし比較された方が居たらぜひご一報ください。