Что такое "ПЕРПЕТУУМ М" 4.01 ? ~~~~~~~~~~~~~~~~~~~~~~~~~ Данная программа сочетает в себе возможности распознавания речи с гибкостью встроенного языка программирования (языка сценариев). Вся обработка информации по распознаванию речи выполняется непосредственно в самой программе - доступ в интернет не требуется. В основе технологии распознавания лежит идея сборки текста по результатам анализа коротких фрагментов звукового сообщения. Такой подход обеспечивает программе небольшие размеры и высокое быстродействие, а также снимает любые ограничения по словарю. Алгоритм сборки текста стремится подобрать комбинацию букв, наиболее созвучную произнесенной фразе. Правописание при этом, конечно, зачастую не соблюдается, а пробелы между словами ставятся только в местах пауз. Указанные особенности ограничивают возможность использования программы для ввода произвольного текста голосом (хотя и не исключают ее), но не мешают реализации командного режима в игровых, обучающих программах или для управления оборудованием. В этом режиме результат распознавания дополнительно обрабатывается словарём, который находит у себя в списке наиболее похожее слово (или фразу), и таким способом идентифицирует команду. Список слов в словаре может легко меняться пользователем или программно - в процессе выполнения сценария. Для каждой ситуации, требующей ответа или команды пользователя, мгновенно может создаваться список команд, уместных только в данной ситуации. Как показал опыт, это очень эффективно: словарь успешно идентифицирует команды, даже распознанные с ошибками. Язык сценариев фактически является полноценным языком программирования. Он позволяет писать достаточно сложные программы, но при этом очень прост в освоении. Его синтаксис напоминает язык Pascal. Эти особенности делают его лучшим выбором для всех, кто приступает к изучению программирования, а опытным программистам он даёт инструментарий, позволяющий решать определённого круга задачи "на скорую руку". Программа имеет также ряд дополнительных "фишек", как, например, возможность передавать информацию в любые другие приложения путем имитации нажатий клавиш на клавиатуре - вводить текст, управлять приложением. Перебои с доступом в интернет никак не влияют на работу программы. Кроме того, независимость от интернета позволяет использовать данную программу в информационных системах, содержащих конфиденциальную или секретную информацию. Что нового в этой версии? ~~~~~~~~~~~~~~~~~~~~ В распознавании речи основное внимание было уделено снижению зависимости от шума. Именно по этому пункту было больше всего нареканий к предыдущей версии - в некоторых случаях она отказывалась работать, а понизить уровень шума удалось далеко не всем. Новая версия спокойно относится к присутствию даже значительного шума во входном сигнале с сохранением работоспособности. Интерпретатор встроенного языка программирования пополнился множеством новых и очень ценных функций. Это функции для работы с портами ввода-вывода, для работы с файлами и функции конвертации данных из одного формата в другой. К примеру, чтобы отправить в порт "COM5" текст "Привет!", достаточно одной строчки: if Sys.Port.Open('COM5', 9600, 8, 1) then Sys.Port.WriteStr('COM5', 'Привет!'); Разве можно на каком-то другом языке так же легко работать с портами? Добавлены и функции, позволяющие использовать COM-порт как параллельный с тремя линиями на вывод логического уровня и четырьмя на ввод. Отсутствие COM-порта на компьютере не проблема: сейчас производится множество недорогих шнуров, переходников, конвертеров USB - RS232 TTL. Новые функции интерпретатора протестированы с некоторыми моделями таких конвертеров и показали отличную совместимость. Области применения программы ~~~~~~~~~~~~~~~~~~~~~~~~~ 1.Создание игровых и обучающих программ с речевым вводом информации. Большие возможности "Перпетуум М" предоставляет для создания игровых и обучающих программ, разнообразных викторин и психологических тестов. Взаимодействие с программой в этих случаях происходит без использования мыши и клавиатуры - только при помощи голосового общения. К примеру, программа что-то объясняет человеческим голосом, задает вопросы, при необходимости выводит на экран рисунки и надписи. Пользователь в устной форме дает ответы на поставленные вопросы. Программа обрабатывает полученные ответы, делится своими "соображениями", задает новые вопросы, и так далее. Полная иллюзия общения с человеком! Технологии будущего уже стучатся в дверь, пустите их в дом! Для создания игр, тестов и обучающих программ "Перпетуум М" имеет встроенный язык, на котором пишутся сценарии таких приложений. Распознавание ответов пользователя в таких случаях обычно реализуется в режиме словаря. Особенность этого режима состоит в том, что пользователю разрешается произносить слова или фразы только из некоторого ограниченного списка. В простейшем случае это могут быть варианты ответа "да" и "нет", или, например, цифры, но в принципе в словарь могут быть включены и любые другие слова и фразы, например "Пушкин", "Лермонтов" и т.п. Состав словаря не имеет жестких ограничений, и может мгновенно меняться в процессе исполнения сценария. Пользователь, конечно, ставится в известность о том, какие ответы или команды допустимы в той или иной ситуации. Это, во-первых, позволяет исключить ответы пользователя, которые не могут быть обработаны программой, а во-вторых, снижает до минимума вероятность неправильного распознавания. Словарь еще можно сравнить с пультом от телевизора. Произнося предусмотренные для данной ситуации слова и фразы, пользователь как будто нажимает кнопки на пульте, а программа, получив ответ или команду, выполняет предусмотренные сценарием действия. 2.Использование в системах "умный дом". Можно ли с помощью голоса управлять механизмами, оборудованием, освещением или бытовой техникой? Конечно! И проект "Перпетуум" не остается в стороне, предлагая свои простые и эффективные решения. Из года в год растет популярность систем управления домашним оборудованием, которые обычно именуются, как "умный дом". Само по себе это очень широкое понятие, которое может означать как простейший комплекс устройств для управления, например, освещением, так и более сложные системы, управляющие сигнализацией, открыванием-закрыванием входной двери и ворот, кондиционированием воздуха, вентиляцией, энергосбережением, отоплением - в общем, всем, что отвечает за безопасность, комфорт и уют в доме. Даже уход за домашними растениями и животными может входить в обязанности умного дома! Для большинства жителей нашей страны это всё еще какая-то диковинка, но мы часто сами не замечаем, как становится доступным то, что когда-то было невозможным. В настоящее время любой энтузиаст-электронщик, даже школьник, способен построить систему управления домашним оборудованием, не уступающую, а в чем-то и превосходящую промышленные образцы. Всё дело в фантазии: фантазия энтузиаста ничем не ограничена, в то время как фантазия инженера на предприятии ограничена условиями рынка (спрос, себестоимость и т.п.). Но при чём тут "Перпетуум М", спросите вы? А при том, что эта программа способна решить сразу две задачи: управление оборудованием при помощи голоса и программное управление (опрос датчиков, обработка данных, вывод команд для исполнительного оборудования). При реализации голосового управления системой "умный дом" может возникнуть проблема свободы перемещения по дому. Чтобы иметь возможность отдавать команды, находясь в любой комнате, или даже на улице недалеко от дома, лучше использовать радиомикрофон. Передатчик может в этом случае размещаться любым удобным способом, а чувствительную часть (сам микрофон) лучше расположить в районе воротника, или укрепить на голове, как это практикуется на телевидении. Это самое простое и эффективное решение. Можно пойти, конечно, и другим путём - расположить по всему дому множество микрофонов, но тогда потребуется сложная сеть и сложная коммутация сигнала: потребуется сравнивать амплитуды сигналов со всех микрофонов и подавать в программу сигнал только с одного - самого громкого. В будущем примерно так и будет, но для сегодняшних "самоделкиных" это не лучшее решение. Что же касается реализации программного управления, то "Перпетуум М" имеет и для этого все необходимое. Язык сценариев позволяет легко создавать и модифицировать любые алгоритмы, задавая и изменяя тем самым правила функционирования всего комплекса подключенного оборудования. Как подключить оборудование? С этим тоже всё просто: в версии 4.01 язык сценариев дополнен функциями работы с портами. Очень удобно использовать конвертеры USB - RS232 TTL. Через такой конвертер можно и промышленное оборудование подключать (если оно допускает подключение по RS232), и самодельные конструкции. Для самых простых самоделок конвертер USB - RS232 TTL способен предоставить возможность опроса четырёх независимых TTL-сигналов (это могут быть датчики) и возможность вывода трёх независимых TTL-сигналов для управления исполнительными устройствами. Возможно и традиционное использование RS232 в качестве последовательного порта. Можно подключить несколько конвертеров USB - RS232 TTL и использовать их одновременно. При недостатке USB-портов можно использовать USB-HUB (разветвитель). Так что, не верьте, когда говорят о существовании проблемы отсутствия COM-портов в современных моделях ноутбуков и системных блоков. Цены за один конвертер в 2014г. в иностранных интернет-магазинах можно было встретить около 2-7 долларов с доставкой обычной почтой. Автору данных строк довелось этим воспользоваться. Цена зависит от модели и совместимости с версиями Windows, а модели разные: от шнура со стандартными разъёмами, до маленькой платки без корпуса. Был даже лот всего $1 за штуку. Во время тестирования новых функций языка сценариев через переходник USB - RS232 TTL был даже запрограммирован микроконтроллер ATtiny44. Никакого дополнительного оборудования (кроме четырех резисторов) не потребовалось. Это ещё одно применение "Перпетуум М" в связке с переходником USB - RS232 TTL. Подробнее об этом планируется рассказать на сайте. Там же можно будет скачать текст программы для "Перпетуум М" с функциями программатора МК. Законным обладателям лицензии на "Перпетуум М", как обычно - все бесплатно. Добавлю также, что современные микроконтроллеры (вроде того же ATtiny44) для электронщика-энтузиаста подобны конфетам для сладкоежки: столько всего в крошечном корпусе! Не только дом, но и все окружающие предметы можно "умом" наделить! 3.Голосовое управление Windows-приложениями. Существует немало примеров, когда использование мыши и клавиатуры для управления приложением неудобно. Необходимость длительное время совершать множество однообразных движений не только руки утомляет, но и создаёт избыточную нагрузку на зрение - приходится непрерывно следить за положением мыши на экране. Вот если бы "по щучьему велению"... Что ж, "Перпетуум М" и здесь может помочь. Словарь построен таким образом, что в нем могут находиться не только слова в виде обычного текста, но и клавишные команды. Такие команды специально предназначены для имитации воздействий на клавиатуру. Каждой команде пользователь назначает какое-нибудь "волшебное" слово или фразу. В дальнейшем всякий раз, когда нужно выполнить эту команду, достаточно лишь произнести сопоставленное слово или фразу. Но не думайте, что вместо каждого щелчка мыши и каждого нажатия клавиши на клавиатуре потребуется снова и снова что-то говорить. Это было бы тоже утомительно. На самом деле одна команда может содержать в себе любое количество элементарных нажатий. Что-то вроде макроса, когда одним сказанным словом можно выполнить сразу несколько предусмотренных для этого случая действий, например, скопировать, передвинуть, вставить, повернуть, сохранить, перейти в другое окно и т.п. Такой фокус можно проделать с любым приложением, которым можно управлять при помощи клавиатуры. Секрет фокуса прост: получив устную команду, "Перпетуум М" выполняет действия по имитации событий клавиатуры, равносильные реальному нажатию и отпусканию клавиш. Нужно лишь заранее включить режим имитации и открыть приложение, которым предстоит управлять. 4.Помощь в заполнении однообразных форм и анкет. Каждый, кому часто приходится заполнять однообразные формы и анкеты, знает, как это утомительно и затратно по времени. Это могут быть регистрационные формы на сайтах интернета или им подобные. Задачу можно существенно упростить. В словарь можно вводить в принципе любой текст. Это могут быть и фразы и целые предложения. Пользователь заранее вводит в словарь сведения - ответы на те вопросы, которые часто встречаются в полях форм. Далее он сопоставляет этим сведениям "волшебные" слова. В дальнейшем, сказав такое слово, пользователь активирует ввод соответствующих сведений в поле формы, где в этот момент расположен курсор. Например, сказав слово "адрес", пользователь получает заполненное поле со всеми данными от почтового индекса до номера дома, а сказав слово "фамилия", получает заполненное поле с указанием фамилии, имени и отчества. Передача текста в другое приложение выполняется в режиме имитации клавиатуры, как в случае управления приложением. 5.Помощь при подготовке документов. Каждый, кому приходится набирать тексты, содержащие обилие длинных шаблонных формулировок (например, юридические или медицинские документы), мечтает в глубине души о том, чтобы эти формулировки вводились сами. А ведь ничего сложного в этом нет. Достаточно лишь ввести эти формулировки в словарь "Перпетуум М", привязать к каждой из них "волшебное" слово, и можно наслаждаться работой. Перед тем, как зайти в привычную программу (будь то MS Word или любая другая), пользователь включает режим имитации клавиатуры в программе "Перпетуум М". Теперь каждый раз, когда нужно вставить в текст ту или иную формулировку, пользователь произносит соответствующее "волшебное" слово. Кусок текста вводится сам. Если для таких случаев еще и создать программу на языке сценариев, можно получить много дополнительных удобств. Например, можно автоматически подставлять какие-либо изменяемые данные (ФИО, адрес и т.п.). Новые функции интерпретатора позволяют даже организовать доступ к базе данных (через работу с файлами). В случае заполнения типовых форм (заявлений, договоров) можно создать сценарий, полностью избавляющий пользователя от необходимости что-либо набирать на клавиатуре. Для этого можно задействовать не только имитацию клавиатуры, но и функции взаимодействия с MS Word и MS Excel по технологии OLE. В начале работы перед пользователем открывается чистый лист. Затем программа по шаблону начинает печатать шапку, по мере надобности запрашивая у пользователя в устной форме необходимые данные. Например, программа спрашивает лицевой счет, пользователь по цифрам диктует его, программа находит в базе данных все остальные сведения (адрес, телефон, ФИО и т.д.) и продолжает заполнять документ, вводя эти данные, и не требуя от пользователя лишних действий. 6.Создание справочных и консультационных кабинок. Такие кабинки могут быть полезны, например, в школах для тестирования учеников старших классов по профориентации, для проведения психологического тестирования и оценки уровня знаний. То же самое имеет смысл и в центрах занятости населения. Возможно создание таких кабинок и в местах, где требуется получение посетителями справочной информации. Источником такой информации может служить база данных, доступ к которой реализуется в "Перпетуум М" через работу с файлами. В качестве материала кабинок отлично подойдет пластиковый профиль и стеклопакеты - то из чего делаются окна. Такой материал обеспечивает достаточную звукоизоляцию и комфортные условия для пользователя. Возможен антивандальный вариант, когда в кабинке располагаются только микрофон и колонки, а более ценное оборудование находится за ее пределами. С учётом полной автоматизации процесса создание подобных кабинок целесообразно и эффективно. 7.Ввод произвольного текста голосом. Использование "Перпетуум М" с целью ввода произвольного текста голосом в принципе возможно, но с определёнными ограничениями. Следует учитывать, что в режиме произвольной речи правописание зачастую не соблюдается, а пробелы между словами ставятся только в местах пауз. Если принять в расчет ошибки и искажения, то может оказаться, что количество последующих ручных правок сделает неэффективным такое использование программы. Как вариант, возможна диктовка коротких записок в черновом варианте. Максимально достижимое качество вводимого таким способом текста для данной версии программы выглядит примерно так: "йя играйу на дармошки о прахожы на виду". В этом примере все слова кроме последнего надиктованы с первой попытки, последнее же слово было надиктовано заново для большего соответствия. Слова произносились по одному (иначе между ними не было бы пробелов). Ещё для примера фрагмент небезызвестного стихотворения: "йя вам ишу чевожэ боли што йа магу йещё сказать типору йя знайу вашэй воли миняа ризренем наказать". В этом примере повторная надиктовка потребовалась нескольким словам. В любом случае решение об использовании программы для ввода произвольного текста пользователь принимает сам, исходя из результатов пробной диктовки. Приведенный здесь список областей применения "Перпетуум М", конечно, не полный. Встроенный язык сценариев, лёгкий в освоении и применении, обеспечивает данной программе высочайшую гибкость и способность к перевоплощениям. Нужен лишь творческий подход и немного фантазии. Системные требования ~~~~~~~~~~~~~~~~~~ Операционная система: MS Windows 98, 2000, XP, Vista, 7. Процессор Pentium 4 (2 ГГц) или более производительный. Использование менее производительного процессора допускается, но возможно замедление в работе некоторых сценариев. Звуковая карта: отдельная или интегрированная в системную плату. Оперативная память: без особых требований. Объем свободного места на жёстком диске: зависит от комплектации программы сценариями, но не менее 8 Мб. Микрофон (можно в составе гарнитуры). Колонки или наушники. Начало работы с программой ~~~~~~~~~~~~~~~~~~~~~~ Подключите микрофон к компьютеру. В панели управления источником звукового сигнала для записи выберите микрофон. Обязательно отключите все прочие источники, если они предусмотрены вашей звуковой системой. Причем отключить нужно в панели управления, иначе даже при отсутствии сигнала от дополнительного источника может возникнуть сильная помеха. Уровень сигнала от микрофона установите максимальный. Позже, при необходимости, можно уменьшить. Существует закономерность: чем выше уровень окружающего шума, тем меньше должна быть чувствительность микрофона, и тем ближе он должен располагаться к источнику звука (ко рту, то есть). И наоборот: чем дальше микрофон, тем более чувствительным он должен быть, но и к окружающему шуму требования становятся строже. К выбору микрофона особых требований не предъявляется, кроме того, что он должен быть исправен. Версия программы 4.01 неприхотлива в отношении шума и искажений (в разумных пределах). Рекомендуется использовать внешний микрофон. Использование встроенного микрофона ноутбука допускается, но результаты, как правило, хуже. Среди встроенных нередко встречаются микрофоны откровенно низкого качества. Оценить качество можно субъективно: при прослушивании записи от некачественного микрофона слышится бубнение, иногда клокотание, качество звука в некоторых случаях едва достигает уровня разборчивой речи. Если говорить о технических характеристиках, то при выборе предпочтение стоит отдавать более чувствительным микрофонам (понизить чувствительность всегда проще), с низким уровнем собственных шумов и минимальными искажениями. Желательно, чтобы рабочий диапазон частот охватывал область от 100 Гц до 8000 Гц. Чтобы субъективно оценить качество микрофона, а заодно проверить, правильно ли выполнены подключения и настройки, войдите в программу "Перпетуум М" без сценария (откройте главное окно программы), включите микрофон (нажмите кнопку "старт"), поставьте мышкой галочку напротив надписи "Проверка сигнала", произнесите несколько слов и выключите микрофон. Станет доступна кнопка прослушивания (с изображением громкоговорителя). Нажмите ее и прослушайте записанный сигнал. Если звук искажён, слышится треск или сильный шум, клокотания или бубнения, необходимо искать причину неполадок. Бывает такое, что процессор не успевает обслуживать некоторые прерывания, из-за чего отдельные фрагменты звуковой информации просто теряются. Обычно это можно заметить даже при прослушивании любой звукозаписи в любой программе. Попробуйте воспроизвести какой-нибудь mp3-файл любым удобным способом. Если периодически происходит неестественное дрожание звука, то, вероятно, какая-то программа временами сильно отвлекает процессор от важных дел. Если в момент старта программа найдет файлы со сценариями, на экран будет выведен список найденных сценариев с предложением выбрать один из них. После выбора сценария начнётся его исполнение. Если же программа обнаружит файл perpetuum.pms, его исполнение начнется немедленно без каких-либо вопросов и меню. При отсутствии файлов со сценариями, либо в случае нажатия пользователем кнопки "Отменить" в меню сценариев, программа выведет на экран главное окно и перейдёт в режим работы без сценария. В этом режиме можно вводить текст голосом во встроенное текстовое окно, и здесь же редактировать его при помощи клавиатуры. Знаком подчеркивания "_" программа отмечает места, где процесс распознавания обрывается (обычно это случается при переходе сигнала в шум). В главном окне можно выбрать один из трех режимов распознавания: только словарь, только произвольная речь или совместный режим (словарь + произвольная речь). Здесь же можно включить режим передачи информации в другое приложение путем имитации нажатий клавиш на клавиатуре (опция "Направить текст в..."). В режиме без сценария также есть возможность изменять состав словаря. Для этого необходимо щелкнуть мышкой на "закладку" с надписью "Словарь". Откроется редактор словаря. Расположение микрофона ~~~~~~~~~~~~~~~~~~~~ Главное требование по расположению микрофона: в него не должны попадать прямые потоки воздуха из носа или рта. Струи воздуха, попадая в микрофон, заглушают полезный сигнал. При прослушивании записи в таких местах обычно слышится грохот. В зависимости от конструкции рекомендуется располагать микрофон возле щеки или на одежде. Можно также установить его на столе или держать в руке - кому как нравится. Важно обеспечить приемлемое расстояние и, как сказано выше, исключить попадание в микрофон струй воздуха. Допустимо использовать радиомикрофон с подходящими техническими характеристиками. Как правильно произносить слова ~~~~~~~~~~~~~~~~~~~~~~~~~~ Не говорите очень быстро или очень медленно, сохраняйте средний, равномерный темп. Не говорите по слогам или нараспев. Не делайте сильных ударений и не "съедайте" конец слова. Шепот и крик распознаются значительно хуже, чем обычная речь. Иными словами, правило всего одно: старайтесь говорить без выраженных особенностей. Произносите слова без напряжения, четко выговаривая все звуки на протяжении всего слова. Это имеет существенное значение, потому что программа распознает не слова, а мелкие фрагменты речи, из которых и собирает текст. Слова можно произносить как слитно, так и с короткими паузами между ними, но при слитном произношении программа не делает пробелов между словами. Качество распознавания ~~~~~~~~~~~~~~~~~~~ На качество распознавания могут влиять разные факторы. Рассмотрим некоторые из них. Действие аппаратных факторов сводится к тому, что не всякое используемое оборудование способно предоставить программе качественный сигнал. Выполните рекомендации, описанные в разделе "Начало работы с программой", чтобы аппаратные причины не могли ничего испортить. Окружающая среда может мешать хорошему распознаванию чаще всего в том случае, если она является источником достаточно сильного шума. Версия программы 4.01 терпимо относится и к шуму и к прочим "спецэффектам", но, конечно, всему есть разумный предел. Сильный и неоднородный шум (в том числе и аппаратного происхождения) может спровоцировать программу на попытку извлечения фрагментов речи. Индивидуальные особенности диктора тоже влияют на качество распознавания, но, вопреки распространенному мнению, наибольшее значение имеют не параметры голоса, а чёткая дикция и правильное произношение. Рекомендуется придерживаться общепринятого произношения. Параметры голоса могут помешать только в том случае, если они чересчур выраженные (очень хриплый или сиплый голос, неестественно низкий или высокий). Не стоит произносить слова в соответствии с правописанием (если оно не совпадает с произношением). К примеру, звонкие согласные в конце слова произносятся как глухие, значит слово "народ" следует произносить как "нарот". Работа со словарем ~~~~~~~~~~~~~~~~ Набор слов, входящих в словарь, может быть изменен в соответствии с текущей задачей. Это возможно как в режиме без сценария, так и во время выполнения сценария, в котором предусмотрено такое изменение. Функции программного управления словарем подробно описаны в инструкции по разработке сценариев. Здесь рассмотрим работу со словарем без сценария. Чтобы менять состав словаря и выполнять его тонкую настройку, используйте редактор словаря. Редактор расположен на отдельной страничке, попасть на которую можно, щелкнув мышкой по закладке с надписью "Словарь". Основой редактора словаря является таблица "Состав словаря". Она состоит из двух колонок и может иметь любое количество строк. Первая колонка служит для сохранения числовых значений слов или их коротких идентификаторов. Вторая - для сохранения буквенных значений и клавишных команд. Каждая строка этой таблицы используется для ввода отдельного слова, отдельной фразы или отдельной клавишной команды. Для простоты будем называть все эти виды настроек: "слово". Следовательно, сколько строк таблицы заполнено, столько слов содержится в словаре. Основная задача словаря сводится к выбору единственной строки таблицы, соответствующей сказанному слову. Если подходящую строку удалось найти, выполняется замена исходного слова значением одного из двух полей выбранной строки. Во время работы без сценария используется значение поля из первой колонки (числовое), но только при условии, что оно заполнено. Если же там пусто - используется значение из второй колонки (буквенное). Во второй колонке пустых значений быть не должно! Слова в таблицу "Состав словаря" заносятся пользователем в соответствии с правописанием, даже если их звучание отличается от написания. Все это необходимо учитывать для правильного заполнения таблицы. Чтобы выбрать единственную строку таблицы, программа просматривает каждую строку и отыскивает ту, которая в наибольшей степени соответствует прозвучавшему слову. Но, как уже было сказано, в таблицу все слова вводятся в соответствии с правописанием. Написание слова может сильно отличаться от его звучания. Кроме того, в таблице могут быть клавишные команды, которые вообще не имеют звучания. Для всех этих случаев редактор словаря снабжен окошечком "Варианты распознавания для слова". Оно представляет собой список, в который слова вводятся в соответствии с их звучанием. При этом каждая строка таблицы "Состав словаря" связана со своим собственным независимым списком звучаний. Однако на экране всегда отображается список звучаний только для одной строки таблицы. Чтобы увидеть список, принадлежащий другой строке таблицы, достаточно просто переместиться на нужную строку. Список вариантов может быть и пустым. Это допускается в случаях, когда звучание слова совпадает с его написанием. При этом в качестве единственного варианта звучания используется текст слова из второй колонки таблицы. Если же в списке вариантов звучания имеется хоть одна запись, то сравнение прозвучавшего слова выполняется только с записями из этого списка. Чем большее сходство обнаружится при сравнении, тем выше вероятность, что соответствующая строка таблицы "Состав словаря" будет выбрана в качестве результата. Размер списка вариантов не ограничен, но в нем не должно быть одинаковых записей. Добавление записей в этот список позволяет компенсировать ошибки распознавания, а также дает возможность вводить разные слова (синонимы) для вызова, например, клавишных команд ("помощь" и "подсказка" для клавиши F1). Когда программа находит в таблице "Состав словаря" строку в наибольшей степени соответствующую прозвучавшему слову, то это означает, что данной строке принадлежит вариант распознавания минимально отличающийся от проверяемого (изначально распознанного) слова, или полностью совпадающий с ним. Степень различия (отклонение) при этом оценивается в процентах и сравнивается с максимально допустимым значением. Если отклонение превышает максимально допустимую величину, считается, что слово в словаре не найдено. При совместном использовании словаря и произвольной речи в такой момент ничего не происходит, проверяемое слово изменениям не подвергается. В режиме "только словарь" такая ситуация означает ошибку. Проверяемое слово при этом заменяется знаком "?". Причиной ошибки может быть неверное распознавание слова, неправильная настройка вариантов распознавания в словаре, или произнесение пользователем слова, на самом деле не входящего в словарь. Если отклонение не превысило допустимого значения, проверяемое слово заменяется соответствующим словом из словаря. Из вышесказанного следует, что величина максимально допустимого отклонения играет важную роль в работе словаря. Пользователь имеет возможность изменять эту величину по своему усмотрению при помощи регулятора, расположенного в окне редактора словаря. Если регулятор установлен в нулевое положение, слово может быть найдено в словаре только при условии полного совпадения с одним из имеющихся вариантов распознавания. Любые несовпадения при этом исключаются. Если же наоборот, установить максимальное отклонение на уровне 100%, то любое сказанное слово обязательно будет найдено в словаре, даже если его там нет. В этом случае просто выбирается самое похожее слово, а насколько оно похожее, не проверяется. Промежуточные значения позволяют задавать компромисс между жестким и мягким режимами работы словаря. В редакторе словаря также предусмотрена возможность его проверки в реальном времени. Это помогает установить причины ложных срабатываний или несрабатываний словаря. Перед проверкой сохраните изменения (если они были), внесенные в состав словаря и варианты распознавания. Только в этом случае изменения вступят в силу. Нажмите кнопку "Старт", расположенную в этом же окне. Включится микрофон. Произносите слова и наблюдайте за отображением результатов в полях "Получено", "Близкое в словаре", "Отклонение" и "Результат". В поле "Получено" отображается слово, полученное на основном этапе распознавания. В следующем поле отображается наиболее похожее слово из всех имеющихся в словаре. Точнее, не само слово, а его наиболее близкий вариант распознавания. В поле "Отклонение" программа показывает, насколько сильно отличаются друг от друга два слова, отображенные в первых двух полях. В последнем поле появляется принятое решение. Это может быть слово из таблицы "Состав словаря" (при отклонении не выше максимального значения), или знак вопроса (при чрезмерном отклонении). Кнопка "Добавить к вариантам" позволяет присоединить слово, отображенное в поле "Получено" к списку вариантов распознавания того слова, которое в данный момент выбрано в таблице "Состав словаря". Если слово в поле "Получено" не сильно искажено, и в списке вариантов его еще нет, добавьте его. Добавлением вариантов можно скомпенсировать небольшие ошибки распознавания, носящие постоянный характер. Но будьте внимательны - не добавьте новый вариант в список вариантов совсем другого слова! Рассмотрим примеры. 1.Требуется добавить в словарь слово "колесо". Добавьте строку в таблицу "Состав словаря" нажатием кнопки "Добавить", расположенной под таблицей (или нажатием клавиши управления курсором "вниз" на клавиатуре, если текущей является последняя строка таблицы). Слово "колесо" не имеет числового значения, поэтому поле в первой колонке остается пустым. В поле второй колонки введите "колесо". Затем нажмите кнопку "Добавить" в группе "Варианты распознавания". В появившемся диалоговом окне наберите "калисо" (в соответствии с произношением), нажмите "Ok". Проверьте надежность распознавания слова средствами контроля. При необходимости дополните варианты распознавания. 2.Требуется настроить имитацию нажатия клавиши F1 при произнесении слов "помощь", "подсказка", "справка" или "эф один". Добавьте строку в таблицу "Состав словаря". В поле для текстового значения слова (вторая колонка таблицы) введите клавишную команду "{F1\/}" (будьте внимательны: здесь не "V", а два символа "\" и "/"). В список вариантов распознавания введите слова "эфадин", "помащ", "патскаска", "пацкаска", "спрафка". Подробно о составлении клавишных команд можно прочитать в описании языка сценариев (смотрите функцию Sys.KeybSimulate). Не забывайте, что изменения, сделанные в словаре, вступают в силу только после нажатия кнопки "Сохранить". Сохраняемая информация записывается в файл "perpetuum.dct". В начале работы программа в своей папке ищет файл "perpetuum.dct", в котором сохраняется словарь, редактируемый пользователем. Если такого файла нет, выполняется загрузка настроек словаря по умолчанию. Словарь с настройками по умолчанию унаследовал набор слов из предыдущих версий программы, что обеспечивает возможность использования ранее разработанных сценариев. Вот эти слова: ноль, один, два, три, четыре, пять, шесть, семь, восемь, девять, десять, дальше, назад, да, нет, больше, меньше, выход, режим, свет. Примерное назначение слов, загружаемых в словарь по умолчанию (при отсутствии файла "perpetuum.dct"). "ноль...десять" - позволяют вводить числовую информацию, давать ответы, допускающие различную степень уверенности, или выбирать ответ из нескольких пронумерованных вариантов. "дальше" и "назад" - для навигации по меню или списку. "да" и "нет" - для ответов на вопросы, допускающие такую форму ответа. "больше" и "меньше" - можно использовать для управления всевозможными параметрами и свойствами объектов - яркостью, громкостью, температурой и т.п. Они также могут быть полезны в игровых и обучающих программах, например, для сравнения величин. "свет" - можно использовать в командах управления освещением (комбинируя с цифрами, задавать любую яркость освещения). "режим" - имеет универсальное применение (например, переключение между управляемыми объектами и их свойствами, вход в дополнительное меню и т.п.). "выход" - в основном для завершения работы. Регистрация программы ~~~~~~~~~~~~~~~~~~~ Как и ранее, те, кто приобрел лицензию на предыдущую версию программы, могут воспользоваться имеющимся лицензионным ключом. Старые ключи подходят к новой версии. Доплачивать ничего не нужно. Способы оплаты лицензии и получения лицензионного ключа публикуются на сайте http://projectveka.ru Прочитайте, пожалуйста, внимательно приведенные здесь правила регистрации программы и строго им следуйте. После приобретения лицензионного ключа для завершения регистрации программы необходимо войти в нее без сценария (если появится меню сценариев, необходимо нажать отмену) и ввести все 22 символа ключа в текстовое поле главного окна. При этом в текстовом поле не должно быть никаких посторонних символов, включая пробелы и символы перевода строки. Любой посторонний символ помешает регистрации. Пробелы и символы перевода строки не видны, поэтому, если сомневаетесь, вводите ключ сразу после входа в программу, когда текстовое поле еще абсолютно чистое. Вводить ключ можно копированием через буфер обмена или с помощью клавиатуры. В любом случае, как только в текстовом поле появится безошибочно набранный код ключа, он сразу же исчезнет и на экран будет выведено сообщение об успешной регистрации. Пожалуйста, примите меры к тому, чтобы посторонние лица не могли получить доступ к лицензионному ключу. Не оставляйте его на видном месте. В программе такие меры уже приняты: для предотвращения кражи ключ сохраняется в системе только в шифрованном виде с использованием нестандартного метода шифрования. Сохраните лицензионный ключ в надежном месте. В случае какого-либо повреждения компьютера вы сможете повторить регистрацию программы (повторно ввести ключ). При входе в Windows под другим учетным именем программа может выдать сообщение, что лицензионный ключ отсутствует. В этом случае войдите в Windows под прежним учетным именем или введите ключ заново. Информация по всем лицензионным ключам сохраняется в базе данных разработчика. Ключи, замеченные в незаконном обороте, заносятся в "черный список". По таким ключам не предусмотрена техническая поддержка, а скидка при переходе на новую версию не предоставляется. При обращении за технической поддержкой рекомендуется указывать в письме лицензионный ключ (но не полностью, а только первые две группы цифр). Полезно также сообщать информацию, которая вводилась при покупке лицензии (фамилия, имя, отчество, почтовый адрес, e-mail, телефон), если таковая была. Это улучшает обратную связь и в итоге способствует лучшему пониманию потребностей пользователей. Сотрудничество ~~~~~~~~~~~~~ Любые предложения о сотрудничестве будут внимательно рассмотрены. Самые простые варианты: участие в распространении данной программы и создание для неё сценариев. При создании сценариев стоит обратить особое внимание на потребности образовательных учреждений (от детских садов до ВУЗов). Для них полезными могут оказаться обучающие, тестовые и консультационные программы. Благодарности ~~~~~~~~~~~~ Благо дарю всем, кто поддерживает проект! Контактная информация ~~~~~~~~~~~~~~~~~~~ Последнюю версию программы можно найти на сайте http://projectveka.ru Отзывы, предложения и пожелания отправляйте по адресу jkit@mail.ru или оставляйте в гостевой книге на сайте. Не присоединяйте к письму никаких файлов без предварительной договоренности. Февраль, 2015 г. Евгений Котов.