Создаем робота-андроида своими руками - Джон Ловин
Шрифт:
Интервал:
Закладка:
Другим преимуществом отдельного законченного блока устройства распознавания речи (УРР) является его программируемость. Вы можете запрограммировать и «научить» УРР распознаванию тех конкретных слов, которые вы предполагаете использовать в качестве команд. Легко создать интерфейс, сопрягающий УРР с ЦПУ робота.
Большинство сегодняшних систем распознавания речи, появляющихся на рынке, представляют собой специальное матобеспечение, требующее наличия рабочего компьютера (как правило, системы РС или совместимого) и звуковой карты. Система УРР в своей основе представляет собой программу, хотя для своей работы требует некоторого «железа» (звуковая карта). Такие программы функционируют обычно под платформой DOS или Windows, занимая при этом определенную часть памяти и ресурса ЦПУ, допуская в то же время одновременную работу других программ, таких как Word или Lotus. Одновременная работа программы УРР замедляет работу других программ, использующих данные программы УРР.
Распознавание речи используется не только в робототехнике, но находит множество применений вне ее. Распознавание речи найдет применение как способ управления роботами в виртуальной реальности (ВР), приборах, играх, инструментах и компьютерах. Данная технология обладает в долгосрочной перспективе очень хорошим потенциалом, поэтому компании развивают методы распознавания речи. Возможность управлять и отдавать команды компьютеру (или прибору) непосредственно голосом сделает процесс управления таким устройством гораздо более простым, эффективным и удобным. Такой тип управления голосом в своей основе позволит пользователю осуществлять параллельно и другие операции (т. е. при голосовой работе с компьютером или прибором глаза и руки остаются «свободными» для другой работы).
В этой главе мы рассмотрим три проекта построения устройств распознавания речи. Первый проект представляет собой собственно схему УРР. Второй проект посвящен интерфейсу, связывающему УРР с мобильным шасси, взятым от радиоуправляемой модели автомобиля. Наконец, в третьем проекте рассматривается плата универсального интерфейса для набора УРР.
Проект 1: Программируемая схема распознавания речи
Первым проектом является создание программируемой схемы распозна-, -т вания речи. Термин «программируемый» используется в том смысле, что вы T"7V можете запрограммировать устройство для распознавания 40 отдельных слов по вашему выбору. «Сердцем» устройства является единственная ИС типа HM2007 – ИС распознавания речи. ИС обеспечивает распознавание слов длиной 0,96 с или 1,92 с.
При длине слова 0,96 с и статической оперативной памяти (RAM) размером 8Кх8 возможно распознавание до 40 отдельных слов. Возможно включение опции распознавания более длинных слов длиной 1,92 с. Хотя при этом количество распознаваемых слов сокращается до 20, появляется возможность распознавания не только отдельных слов, но и коротких фраз. В нашем проекте мы будем использовать интервал распознавания 0,96 с, что образует библиотеку из 40 распознаваемых слов.
Обучение процессу восприятия речи
Мы принимаем собственные способности к распознаванию речи как нечто само собой разумеющееся. Однако процесс выделения речи одного человека в толпе собравшихся на вечеринке лежит далеко за пределами возможностей современных систем УРР. Такие системы, точно так же как и мы, сталкиваются с нелегкими задачами разделения сигналов и фильтрации посторонних шумов.
Для надежной работы устройства УРР расстояние от говорящего до микрофона УРР не должно превышать 30 см. При использовании УРР на подвижном шасси робота, мы включили две небольшие радиостанции типа Walkie-Talkie. Выход одной из радиостанций соединен с микрофонным входом УРР. Другая радиостанция используется для собственно подачи голосовых команд роботу. Такая конфигурация снимает проблему удаленности от УРР и снижает посторонние шумы.
Задача распознавания речи не совпадает с задачей «понимания» речи. Если компьютер способен реагировать на звуковую команду, то это не означает, что он ее «понимает». Будущие системы распознавания речи, возможно, приобретут возможности распознавания смысловых и интонационных оттенков значения слов, т. е. будут реагировать по типу «Делай то, что я подразумеваю, а не то, что я произношу». Тем не менее подобные системы – вопрос отдаленного будущего.
Распознавание речи в зависимости и независимо от говорящего
В процессе распознавания речи можно выделить две задачи: распознавание речи для конкретного говорящего и независимо от него. Система распознавания речи «обучается» речью конкретного человека, который будет в дальнейшем ее использовать. Подобные системы способны запоминать значительное количество команд и распознавать их с вероятностью более 95 %. Недостатком такого подхода является то, что система достаточно точно распознает команды только того человека, который производил ее «обучение». Такой подход является наиболее распространенным для систем, основанных на использовании программного обеспечения персональных компьютеров.
Система, не зависящая от говорящего, «обучается» для понимания команд независимо от того, кто их произносит. По этой причине система должна иметь возможность адекватно реагировать на широкий спектр моделей речи, включая интонационное своеобразие и особенности произношения ключевых слов. В этом случае набор командных слов, как правило, значительно меньше, однако достижение необходимой точности реагирования и в этом случае возможно. Для промышленных целей чаще требуются именно системы распознавания, независимые по отношению к говорящему.
Наше УРР относится к системам, настроенным на речь конкретного человека. Мы можем сделать нашу систему отчасти «независимой» путем резервирования для каждого ключевого слова нескольких речевых моделей, каждая из которых программируется отдельно и занимает соответствующее место. Каждая из этих речевых моделей будет вызывать выполнение одной и той же команды.
Виды распознавания речи
Системы УРР имеют еще одно специфическое ограничение, которое относится к виду или стилю распознаваемой речи. Предполагается существование трех видов речи: раздельная, связная и непрерывная.
Раздельная речьСистемы УРР, оперирующие с раздельной речью, обрабатывают слова, которые произносятся раздельно. На сегодняшний день это наиболее распространенные системы УРР. В данном случае пользователю необходимо делать паузы между командными словами. В нашем устройстве РР будут использоваться как раз отдельные слова.
Связная речьСвязная речь занимает промежуточное положение между произнесением отдельных слов и непрерывным потоком речи. В этом случае пользователь может произносить группы слов в качестве команд. ИС HM2007 может быть установлена на распознавание слов или фраз длиной до 1,92 с. В этом случае словарь команд сокращается до 20 единиц.
Непрерывная речьНепрерывный поток разговорной речи мы используем в повседневной жизни. Для УРР распознавание непрерывной речи представляет фантастически трудную задачу, поскольку в таком потоке слова проявляют тенденцию к слиянию. Например, фраза «Здравствуйте, как вы поживаете?» фонетически звучит как «Здраствуте, каквыпоживате». Подобные системы распознавания непрерывного потока речи уже появились на рынке и находятся в процессе постоянного развития.
Схемное решение УРР
Демонстрационная схема выполнена на ИС HM2007, включенной в режим ручной моды. В данной моде для программирования ИС HM2007 используется микрофон и простейшая клавиатура.
КлавиатураВ качестве клавиатуры использована стандартная телефонная клавиатура, имеющая 12 нормально разомкнутых кнопок.
При включении питания ИС HM2007 осуществляет тестирование «бортовой» статической ОП. После завершения тестирования зажигаются цифры «00» на бортовом семисегментном индикаторе, зажигается красный светодиод, и устройство ожидает подачи команды.
ОбучениеНажмите «1» (на индикаторе загорится «01»), и светодиод погаснет. Затем нажмите «Т» (Training – обучение), и светодиод загорится снова.
Держите микрофон поближе ко рту и произнесите ключевое (обучающее) слово. Допустим, в качестве обучающего слова используется слово «компьютер». Произнесите «компьютер» в микрофон. Если устройство воспримет слово, то это вызовет мигание светодиода. Слово компьютер запрограммировано как слово под номером «01». Теперь если УРР «услышит» слово «компьютер», то оно отобразит число «01» на индикаторе.
Если диод не будет мигать после произнесения слова «компьютер», то либо попробуйте повторить это слово громче, либо начните сначала – наберите «01» а затем «Т».