Unity로 対話型音声認識Apriを作れるフレームワークをつくった
리포지토리의 링크: https://github.com/HassoPlattnerInstituteHCI/SpeechIOForUnity
유니티 패키지: https://github.com/HassoPlattnerInstituteHCI/SpeechIOForUnity/releases/tag/v1.0
つかいかた
SpeechOut/SpeechIn
を宣言し、以下のように書くだけ.
SpeechOut speechOut = new SpeechOut();
SpeechIn speechIn = new SpeechIn(OnRecognized);
void Start(){
Dialog();
}
async void Dialog(){
await speechOut.Speak("Hello!");
await speechIn.Listen(new string[] { "Hello", "Hi", "Hey" });
await speechOut.Speak("How are you doing?");
await speechIn.Listen(new string[] { "I'm fine", "Nah", "I'm Sick" });
//...
}
ぜつくったか
macOS, Windows を使う学生을 위해、Unityを扱う授業로 音声認識を使 た対話型아프리를 만들려고.
主に非同期処理の
async/await
ベースで、逐次処理をわかりやすく書けるように、また速度や"間"などの츄닝닝授業 授業 は Mac, Windows ➢ Wind作たせらを動作させられないこここよよよををを作りました.
授業のためとはいえ、一般的에使いやすいツールだと思います.
OS네이티브의 音声認識・音声合成
macOS側
macOSネイティブのオフライン音声認識ツールとしては、
NSSpeechRecognizer
が、音声合成ツールとしては、コマンドラインツールとして say
があります.このうち、 say
に関してはUnity上の System.Diagnostics.Process
から呼び出すことで実行できます(この点、Argsをいじるだけで声質とか速度を変えられるの로사이코)一方の
NSSpeechRecognizer
はOSネイティブAPIとして提供されている機能ている機能てている機能なので、実行する偿みたまから すばもしくは Objective-C
今回のフレームワークでは別途 NSSpeechForUnity として、
Swift
を呼び出す NSSpeechRecognizer
コードを書き、外部ライブラリとして Objective-C
ファイルを書き出し、それをUnityのPluginとすることで実行しています.윈도우즈
Wind .dll(을)를 빌드로 하는 프로제크트(을)를 작성、そ의 .dll을(를) Unity의 플러그인(으)로 마스.
以上2つのOSに関して独自にライブラリを書き出すことによって実現しましたが、Unity上で非同期の動作を実現させるため、それぞれの処理がきちんと終わったかどうかを常に監視するためのコードを書く必要があります.たとえばSAPI 、内部のStateを逐一変えて、Unity側から監視することで、UnityのAsync/Awaitが進行するように若干HardCodedな感じではありますが、リアルタイムアプリケーションのための非同期処理を実現しています.
윈도우 보이스 프로젝트 応用
対話型アプリケーションのためとは言いましたが、VRアプリケーションなどのための目と手が離せない際のデバッグ(イベントが起こったときにどのフラグが立ったか喋って教えてくれる)や、視覚障害者向けアプリなど、様々な用途が考えられます.「デバッグのときになにか喋ってくれたら便利だな」とか、「アクセシビリティ機能の充実したアプリを作りたいな」などというときにはぜひ使ってみてください.
Reference
이 문제에 관하여(Unity로 対話型音声認識Apriを作れるフレームワークをつくった), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jotaros/unity-495n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)