Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9691

UnityのKeywordRecognizerを使ってみる

$
0
0
この記事について Unityの標準で用意されているKeywordRecognizerを利用してみます。 環境 Windows10(Windows10でしか動かないそうです) Unity 2021.3.24f1 やりたいこと 今回やりたいことはゲーム内で音声を受け取ってその結果を取得してゲームに反映させるということを使用と思います。 例:メニューと発言するとUIが表示される KeywordRecognizer KeywordRecognizerはUnityが標準で用意している音声認識ライブラリです。 このKeywordRecognizerは登録されているキーワードの中から発言内容と最も近しい内容のものを出力するというものになっています。 簡単実装 まずは簡単に実装してみましょう。 SimpleKeywordRecognizer.cs public class SimpleKeywordRecognizer:MonoBehaviour { [SerializeField]private string[] keywords; private KeywordRecognizer _recognizer; void Awake() { _recognizer = new KeywordRecognizer(keywords); } private void OnEnable() { _recognizer.OnPhraseRecognized += OnPhraseRecognized; _recognizer.Start(); } private void OnDisable() { _recognizer.OnPhraseRecognized -= OnPhraseRecognized; _recognizer.Stop(); } private void OnPhraseRecognized(PhraseRecognizedEventArgs args) { Debug.Log(args.text + $", LEVEL:{args.confidence}"); } } 出力内容 音声の入力があったと判定されると「OnPhraseRecognized」が発火します。 引数として「PhraseRecognizedEventArgs」が指定されておりますが、こちらには認識された音声内容が入っています。 値 説明 text 認識された音声の文字列データ。(typeSystem.String) confidence 認識精度。High/Middle/Lowのいずれかの値が入ります。(typeUnityEngine.Windows.Speech.ConfidenceLevel) phraseDuration 音声の長さ。(typeSystem.TimeSpan) phraseStartTime 音声開始日時。(typeSystem.DateTime) semanticMeanings 認識されたフレーズの語義的な意味(よく分からない)

Viewing all articles
Browse latest Browse all 9691

Trending Articles