Распознавание речи в играх
Сейчас я пытаюсь понять, на сколько востребовано распознавание речи в игровой механике.
Для этого я набросал несколько MVP, чтобы оценить разные подходы и полезность распознавания.
За основу я взял несколько вариантов мини игр, как основу для расширения словарного запаса.
Идея в том, что просто так учить новые слова скучно. А использование игрового процесса, позволяет :
- много раз повторять новые иностранные слова и их переводы. Где по идеи игра, вызывает переживания и эмоции. Что позволяет лучше запомнить их (мы лучше запоминаем то, что вызывает у нас всплеск любых эмоций)
- улучшать произношение слов
- улучшать в целом свою речь, так как для распознавания требуется говорить чётче.
Для первого варианта мини игры, я брал за основу идею beat saber. Только вместо рук в VR, используется голос.
Ниже можно попробовать. Но сначала надо зарегистрироваться. Дальше, выбрать пункт меню "Речь". Остальной функционал пока выключен, так как выключены GPU сервера. Позже включаю их, и можно будет попробовать другие игровые механики (о них напишу потом).
Чтобы сравнить разные подходы распознавания, в варианте речевого beat seaber я использовал следующее:
- клиент отправляет голос на несколько серверов, где стоят разные системы распознавания. Это повышает вероятность правильного распознавания на одном из них. И затем сравниваю их ответ с правильным вариантом. Если совпал, то всё верно.
- так как распознавание должно быть максимально быстрым, приходится использовать самые маленькие сетки. Поэтому используется несколько разных серверов.
Вторым подходом, я использую потоковое распознавание сразу русской и английской речи.
Тут можно попробовать, но для нормальной работы надо отключить у телефона "блокировку ориентации" И повернуть его горизонтально. Либо запустить на компе.
Тут в качестве основы, я решил попробовать аналог стрелялки. Но, где в качестве оружия используется речь.
Второй подход, позволил ускорить распознавание. Так как сервер работает с непрерывным потоком. В первом случае, я выделял речь в аудио потоке и отправлял на распознавание только её.
Сейчас ещё много багов. Противник не всегда уничтожается. Это я увлекся доработками и создал баги. Но сама идея? Интересна ли такая механика для обучения?
Хотелось бы узнать. Если ли смысл, доводить эти MVP до релиза. Или же данный подход не имеет смысла?