Loading...
Лента добра деактивирована. Добро пожаловать в реальный мир.
Вводная картинка

Kinect, прием Как работает функция распознавания голоса в игровом сенсоре

Сенсор Kinect известен как устройство, которое распознает жесты и движения человека и позволяет играть в игры, не используя контроллеры. Попросту говоря, вместо джойстика или геймпада игрок использует собственное тело. Однако возможности Kinect этим не ограничиваются. Сенсор понимает голосовые команды, которые геймер отдает ему с другого конца комнаты. Доктор Иван Ташев, один из ведущих исследователей в группе технологий речи Microsoft Research, рассказал "Ленте.ру" о том, как работает функция распознавания голоса в Kinect, почему геймерам не нужна аудиогарнитура, ожидать ли нам игры с голосовым управлением и будет ли устройство поддерживать русский язык.

Лента.ру: Сенсор Kinect и геймера разделяют несколько метров - существенная дистанция для любого микрофона, особенно если учесть, что в комнатах бывает шумно - лето, распахнутое окно, автомобили. Как удается заставить Kinect "расслышать" то, что ему говорят?

Иван Ташев: Ранее распознать речь человека было возможно лишь в том случае, если он находился в непосредственной близости от микрофона - идеальным считалось расстояние в два сантиметра. Если же перенести микрофон на расстояние в один, два, три или даже четыре метра, возникают сразу несколько проблем. Первая - это шум. Шум исходит в том числе и от устройств, которые работают в комнате - от телевизора и от самой консоли Xbox. Мозг человека умеет отделять шум от голоса. Тем не менее, иногда с этой задачей не под силу справиться даже людям - поставьте человека на расстояние четырех метров от микрофона, запишите его голос и попробуйте прослушать.

Вторая задача, которую необходимо решить, - это так называемая реверберация. Мы с вами сидим в комнате и разговариваем, но при этом вы воспринимаете примерно одну треть от изначальной энергии моего голоса. Остальное - это отражения звука от стен, стола и других поверхностей. Получается, что вы слышите мой голос плюс множество его задержанных более слабых копий. Это снижает разборчивость речи.

Иван Ташев, фотография с сайта Microsoft Research

Иван Ташев, фотография с сайта Microsoft Research

Lenta.ru

Наконец, одна из самых сложных задач, которые стояли перед разработчиками "распознавателя" речи - это звук от динамиков. Динамики расположены очень, очень близко к Kinect, а пользователь, который произносит голосовые команды, находится далеко. К тому же геймеры, как известно, имеют привычку выставлять звук на максимальную громкость.

Получается, что устройство должно уметь, во-первых, отсекать звук из динамиков, а во-вторых, уменьшать реверберации и шум. Только в этом случае в "распознаватель речи" будет поступать разборчивый звук относительно высокого качества.

Поэтому Kinect нужны целых четыре микрофона?

Помочь нам отсечь звук из динамиков и снизить реверберации и шум могут сразу несколько технологий. Одна из них носит название технологии направленных микрофонов.

В Kinect - совершенно верно - имеются четыре микрофона, и они позволяют системе захвата определить, откуда идет звук, и отсечь шумы и реверберацию. Вторая технология - это так называемое эхоподавление. С его помощью можно отделить звук голоса от звука динамиков. Эхоподавление - один из самых старых алгоритмов обработки сигнала, и он используется практически в каждом спикерфоне (телефоне с громкоговорящей связью). Но в случае со спикерфоном уровень громкости динамика приближен к уровню громкости голоса человека. В случае с Kinect динамики звучат громче, а человек - тише. Более того, сигнал от динамиков является не монофоническим, а стереофоническим.

Выход мы нашли, разработав алгоритм стереоакустического эхоподавления. Само по себе это было довольно непростой исследовательской задачей, а Kinect стал первым устройством, где применяется подобная технология. Более того, Kinect - первое потребительское устройство, которое способно распознавать речь с расстояния трех-четырех метров.

Важно также, что в Kinect, в отличие от автомобильных гарнитур и других аналогичных устройств, отсутствует кнопка Push-to-talk ("Нажми и говори"). Иными словами, пользователю не нужно выполнять никаких действий, чтобы подать знак компьютеру - "Смотри, я сейчас заговорю".

Сейчас голосовое управление поддерживает в первую очередь меню Xbox 360 - консолью можно управлять, отдавая команды "Xbox, open tray", "Xbox, play disc", "Xbox, pause" и так далее. А как насчет голосовых команд в играх?

XDK, или Xbox Development Kit, поставляется с анализатором речи, и разработчики игр могут встраивать его в свои приложения. Базовый пакет игр включает в себя две игры с функцией распознавания речи. Одна из них - это Kinectimals. Ее очень любят дети, потому что она сочетает в себе речь, жесты, графику, звук.

Хочу еще раз подчеркнуть, что речь - это отличный способ взаимодействия с компьютером, но просто речь в чистом виде - это телефон, а зачем нам возвращаться в девятнадцатый век? Наш выбор - это объединить речь, жесты, графику, звук в единый интуитивный интерфейс. Чтобы начать им пользоваться, не нужно читать мануалы или проходить подготовку. Все понятно и так.

В настоящий момент Kinect понимает четыре языка: английский, испанский, японский и французский. Будет ли поддержка новых языков - например, русского?

Серьезный вопрос. Сам по себе распознаватель речи - довольно сложная программа, но она может работать с любым языком. Чтобы научить ее новому языку, нам нужно собрать образцы речи на этом языке - тысячу часов записи, а еще лучше сто тысяч, - чтобы извлечь из них акустические модели. Это не столько инженерная, сколько организационная задача. Чтобы собрать коллекцию образцов и проанализировать их, требуется немало финансовых и человеческих ресурсов, но мы это делаем. Да, мы работаем над этим, и в будущем Kinect научится понимать новые языки. Россия - важный рынок для Microsoft, поэтому вероятно, что в относительно скором времени появится поддержка и русского языка. Если вернуться к исследовательским задачам, то мы в Microsoft работаем над тем, чтобы Kinect смог обучаться новым языкам как можно быстрее.

Если рассматривать вопрос с технической точки зрения, то все люди на Земле принадлежат к одному биологическому виду. Их речевой аппарат способен воспроизводить определенное количество звуков, называемых фонемами. Фонем насчитывается 67-68. В разных языках число фонем разное. Огромным подспорьем будет, если мы научимся применять накопленный для конкретного языка материал ко всем языкам этой языковой группы - например, славянским языкам или романским языкам.

Распознавание речи применяется пока в основном в развлекательной сфере: это игровой Kinect, угадыватели песен наподобие Shazam и так далее. Найдет ли эта технология более "серьезное" применение? Представим: включает пользователь компьютер и говорит ему: а запусти-ка Outlook и напиши моему бизнес-партнеру, что встреча в четверг отменяется...

Это возможно уже сегодня. Такая задача даже гораздо проще, чем распознавание речи в Kinect - поскольку пользователь, в отличие от геймера, сидит в тихом офисе в относительной близости от компьютера. Функция распознавания речи имеется в современных версиях Windows 7 и Microsoft Office 2010. Она не так популярна, потому что с точки зрения удобства ввода информации голос не может соперничать с мышкой и клавиатурой. Пока вы печатаете текст на клавиатуре, у вас есть время подумать.

Ну и проговаривать вслух все подряд тоже не хочется.

Да, и это в том числе. Ситуация кардинально меняется, когда речь заходит о портативных устройствах или устройствах без клавиатуры. Или возьмем автомобилистов - во многих странах запрещено набирать текст на телефоне за рулем, поэтому вводить информацию голосом может быть едва ли не единственным выходом. Примером может служить автомобильная информационно-развлекательная система Kia UVO, которую совместно разрабатывают KIA и Microsoft. Она будет поддерживать возможность набора SMS голосом.

Комментарии к материалу закрыты в связи с истечением срока его актуальности
Бонусы за ваши реакции на Lenta.ru
Читайте
Оценивайте
Получайте бонусы
Узнать больше
Lenta.ru разыгрывает iPhone 15