Я пытаюсь заставить hololens (1) распознать пользовательское речевое ключевое слово. Использование Unity и MRTK. Он распознает предварительно определенные ключевые слова (например, «Выбрать»), но мое пользовательское ключевое слово (назовем его «Ключевое слово») не распознается.
У меня есть всплывающая подсказка, чтобы дать отзыв, если он распозналключевое слово и звуковую обратную связь, которую я вставил туда для целей отладки (иначе: если ЛЮБОЕ ключевое слово распознано, включите звуковой сигнал). Он работает для «Выбрать», но не для «Ключевого слова».
Я хочу, чтобы это ключевое слово было распознано глобально.
- Возможность микрофона выбрана.
- Ключевое словоопределяется в разделе профилей. (Ввод> Речь> Добавить новую речевую команду)
- Обработчик действия ввода, Обработчик ввода речи и пользовательский код "SpeechManager.cs" ВСЕ делают одно и то же. «Выбрать» распознается (всплывающее окно и воспроизводится звуковой сигнал), но «Ключевое слово» нет.
- «Требуется фокус» не выбран.
Я пробовал несколько разных ключевых слов, чтобы сделатьуверен, что я не выбрал трудный для распознавания.
using UnityEngine;
using Microsoft.MixedReality.Toolkit.Input;
using Microsoft.MixedReality.Toolkit;
public class SpeechManager : MonoBehaviour, IMixedRealitySpeechHandler
{
void Start()
{
//Debugging "play sound" declarations deleted as not important for this example script.
CoreServices.InputSystem?.RegisterHandler<IMixedRealitySpeechHandler>(this);
}
void IMixedRealitySpeechHandler.OnSpeechKeywordRecognized(SpeechEventData eventData)
{
PlaySound(1); //DEBUG AUDIO FEEDBACK
if (eventData.Command.Keyword == "keyword")
{
PlaySound(2); //DEBUG AUDIO FEEDBACK
}
else if (eventData.Command.Keyword == "select")
{
PlaySound(3); //DEBUG AUDIO FEEDBACK
}
}
}
Что ДОЛЖНО произойти:
Говорят "Выберите": PlaySound (1) и PlaySound (3) сработало.
произнесено "ключевое слово": сработали PlaySound (1) и PlaySound (2).
Что происходит на самом деле:
"Выберите": сработало PlaySound (1)*
"Ключевое слово" ничего не происходит <- Почему? ПОЧЕМУ ??? </p>
'* Да, PlaySound (3) не запущен, но это отдельная проблема, о которой я не слишком беспокоюсь, потому что и обработчик речевого ввода, и обработчик действия ввода распознают «Выбрать»«. Одна проблема за раз!