Для так называемого Speech To Text вы можете использовать KeywordRecognizer или PhraseRecognizer как часть UnityEngine. Windows .Speech. Вот пример (заполните слова на панели Editor Inspector справа):
using System;
using System.Text;
using UnityEngine;
// Put this check around any part you want to hide on other systems.
#if UNITY_STANDALONE_WIN
using UnityEngine.Windows.Speech;
#endif
public class KeywordScript : MonoBehaviour
{
[SerializeField] string[] keywords;
KeywordRecognizer recognizer;
void Start()
{
recognizer = new KeywordRecognizer(keywords);
recognizer.OnPhraseRecognized += OnPhraseRecognized;
recognizer.Start();
}
void OnPhraseRecognized(PhraseRecognizedEventArgs args)
{
print(args.text);
print(args.confidence);
}
}
Обратите внимание, что, по крайней мере, в нашем проекте некоторые пользователи сталкивались с проблемами при работе с этим в зависимости от специфики c Сведения об операционной системе ; это также становится сложнее, если принять во внимание различные языковые настройки ОС. Кроме того, слова часто просто не понимаются должным образом, но это также частично зависит от того, сколько командных слов вы фильтруете; если у вас мало слов, и вы допускаете высокую устойчивость к ошибкам, вы можете получить хорошие результаты в этом отношении.
Также обратите внимание, что эта библиотека Windows -только, поэтому вам потребуются другие подходит для например Android или iOS.