Обработка речевых сигналов

 

Введение


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

Интеллектуальная система управления обеспечивает централизованный контроль и управление при нештатных ситуациях и авариях. Каждый пользователь получает возможность в рамках общей среды обитания задавать параметры собственной, индивидуальной среды.

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


1Разработка и анализ технического задания


1.1Описание предметной области


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

Голосовое управление основано на технологии распознавания речи: система получает информацию о колебаниях воздуха через микрофон, сравнивает полученные данные с командами, которые записаны в системе и, в случае совпадения, выполняет предписанное действие.

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

1.2Цель и назначение разработки


Целью данного дипломного проекта является проектирование системы голосового управления в автоматизированных жилых комплексах.

В поисках решения данной задачи в работе проводится разработка программного обеспечения для систем распознавания речевых команд.

Для достижения поставленной цели в работе решены следующие основные задачи:

Исследованы алгоритмы обучения нейронных сетей.

Разработаны методы, направленные на дальнейшее повышение эффективности и качества работы данного алгоритма в контексте рассматриваемой задачи.

В настоящее время работы по распознаванию речи не только не потеряли актуальности, но и развиваются широким фронтом, находя для себя множество областей для практического применения. Сейчас можно выделить 4 сравнительно изолированных направления в области развития речевых технологий:

) Распознавание речи - т.е. преобразование речевого акустического сигнала в машинную цепочку символов и слов. Эти системы могут быть охарактеризованы по ряду параметров. Прежде всего это объём словаря: малые объёмы до 20 слов, большие - тысячи и десятки тысяч. Количество дикторов: от одного до произвольного. Стиль произнесения: от изолированных команд до слитной речи и от чтения до спонтанной речи. Коэффициент ветвления, т.е. величина, определяющая количество гипотез на каждом шаге распознавания: от малых величин (10<15) до больших (100>200). Отношение сигнал/шум от больших (>30 дБ) до низких (<10 дБ). Качество каналов связи: от высококачественного микрофона до телефонного канала. Качество работы систем распознавания речи обычно характеризуется надёжностью распознавания слов, или, что то же самое, процентом ошибок.

) Определение индивидуальности говорящего. Эти системы делятся на два класса: верификация говорящего (т.е. подтверждение его личности) и идентификация говорящего (т.е. определение его личности из заранее ограниченного числа людей). Оба эти класса далее могут быть разделены на тексто - зависимые и тексто - независимые. Основной характеристический параметр - объём парольной фразы. Два других (как и в распознавании речи): отношение сигнал/шум и качество канала связи. Качество работы систем верификации/идентификации говорящего характеризуется двумя величинами: вероятностью не опознания «своего» диктора и вероятностью принятия «чужого» диктора за своего.

) Синтез речи. Практически существует два класса:

Воспроизведение записанного в той или иной форме ограниченного числа сообщений;

Синтез речи по тексту. Синтезаторы характеризуются по следующим параметрам: разборчивость (словесная или слоговая), естественность звучания, помехоустойчивость.

) Компрессия речи. Основной (и единственный) классификационный признак этих систем, это степень компрессии: от низкой (32-16 кбит/сек) до высокой (1200-2400 кбит/сек и ниже). Качество работы систем компрессии речи характеризуется, прежде всего, разборчивостью компрессированной речи. Дополнительными характеристиками очень важными в ряде приложений являются узнаваемость голоса говорящего и возможность определения стрессового уровня говорящего.

В данной работе рассматриваются системы первой группы - системы распознавания речи и их частный случай - системы распознавания речевых команд, т.е. распознавание изолированных слов, а не слитной речи.


1.3Разработка технического задания


В результате разработки подсистемы распознавания речи и учитывая требования, которые должны быть предъявлены к разрабатываемой подсистеме, ставится задача:

1) Разработать структурную схему подсистемы идентификации пользователя с помощью системы голосового управления, отражающую состав технических средств, программного, математического, информационного и методического обеспечений, применяемых при распознавании речи;

) Разработать схему работы системы, реализующую собой последовательность действий при процессе разработки системы голосового управления в автоматизированных жилых комплексах;

) Разработать математическое обеспечение проектируемого программного обеспечения, а также алгоритмы применения математического обеспечения и задач оптимизации;

) Разработать структуру информационного обеспечения подсистемы распознавания речи, а также программу контроля и управления информационными потоками в виде комплекса баз данных;

) Разработать программное обеспечение системы для реализации диалога ЭВМ и пользователя. К ПО системы предъявляются следующие требования:

удобство пользования входным языком системы, этот язык необходимо оформить в виде "меню" и "заполнение бланков"; диалог с пользователем вести в виде "меню" и "заполнение бланка";

соответствие современным стандартам организации диалога.

) обеспечить правильное взаимодействие всех подсистем системы.


1.4 Анализ требований технического задания


К разрабатываемой информационной системе заказчик предъявляет ряд требований. Требования к ИС основывались на информации, которую она должна хранить, обрабатывать и анализировать. Эти данные являлись исходным материалом для исследования области применения ИС.

Приступая к планированию работ по проектированию и созданию информационной системы, необходимо подобрать программные средства, с помощью которых будет разрабатываться (проектироваться, моделироваться) и настраиваться информационная система. Выбор программных средств так же должен зависеть и от того, на какой платформе (операционной системе) будет работать заказчик.

Таким образом, выбор программных средств для создания данной информационной системы должен соответствовать ряду факторов:

) операционная система - это платформа, на которой будет размещена информационная система;

) аппаратное обеспечение - это ПК, на котором будет установлена, настроена ИС и БД;

Следовательно, необходимо учесть все факторы и создать такую ИС, чтобы она оптимально и надежно работала и отвечала требованиям заказчика.


.4.1 Анализ требований к программному обеспечению

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

Таким образом, требования к программному обеспечению можно разделить на два вида требований:

1) это требования к операционной системе (ОС), то есть к платформе, на которой будут функционировать информационная система;

) это требования к СУБД, то есть требования к системе управления базой данных, которая будет осуществлять функционирование базы данных и связь базы с другими программными приложениями.

Требования к операционной системе также подразумевают под собой требования к способу взаимодействия между собой разрабатываемой информационной системы и пользователя, работающего с данной информационной системой.


1.4.2 Выбор операционной системы

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

По требованию заказчика информационная система должна функционировать под управлением операционной системы Windows XP, установленной на имеющимся ПК заказчика и зарекомендовавшей себя как вполне надежная и стабильная система. Заказчик обладает лицензионной версией данной ОС, поэтому разработка и внедрение информационной системы не потребует дополнительного вложения средств в приобретение программного обеспечения.

Руководствуясь вышеперечисленными требованиями технического задания, можно сделать вывод, что операционная система Windows XP вполне удовлетворяет условиям создания информационной системы и не противоречит требованиям заказчика.

1.4.3 Техническое описание работы системы распознавания голосовых команд

Библиотека распознавания голосовых команд составляет ядро системы голосового управления. С ее помощью разработчики могут добавить голосовое управление в создаваемые ими приложения.

Разработка собственных средств голосового управления требует специальных знаний. Она может отнять у разработчиков приложений немало времени и сил. Однако воспользовавшись библиотекой распознания голосовых команд, разработчики могут легко добавить в приложения следующие функциональные возможности:

- управление оборудованием с помощью голоса;

выполнение речевых запросов к базам данных через микрофон или даже по телефону;

поиск по ключевым словам в звуковых файлах

Следует отметить, что библиотека позволяет встраивать голосовые функции не только в обычные программы для персональных компьютеров, но и в автономные устройства, оборудованные цифровыми сигнальными процессорами DSP.

Алгоритмы, реализованные в библиотеке распознавания голосовых команд, обладают высоким быстродействием, нетребовательны к объему оперативной памяти и способны адаптироваться к шумам.

Библиотека обеспечивает распознавание команд, произнесенных любым голосом и на любом языке. При этом имеется возможность структурирования для практически неограниченного словаря.

При этом алгоритмы позволяют распознавать 100-200 команд с предварительным обучением для каждого диктора, и 30-50 команд для любого диктора (в режиме, не зависимом от диктора). Если команды произносятся по телефону, то алгоритмы библиотеки позволяют распознать 10-20 слов, произнесенных любым диктором.

Ну и, конечно, в библиотеке реализована возможность активации распознавания команд по ключевому слову, исключающая неожиданные реакции системы на посторонние звуки.


2 Обзорный анализ технических средств и методов


2.1 Технические средства формирования аудиоданных


Для обработки голоса необходимо предварительно записать его в оперативную память компьютера или на машинный носитель. Как было сказано выше, большинство персональных компьютеров уже оснащены оборудованием, необходимым для ввода и вывода звука. Это микрофон и звуковая плата. В общем виде процесс ввода речевых сообщений приведен на рисунке 2.1.


Рисунок 2.1 - Схема ввода речевых сообщений в ЭВМ


Речевой сигнал формируется и передается в пространстве в виде звуковых волн. Источником речевого сигнала служит речеобразующий тракт, который возбуждает звуковые волны в упругой воздушной среде. Приемником сигнала является датчик звуковых колебаний, микрофон - устройство для преобразования звуковых колебаний в электрические. Существует большое количество типов микрофонов (угольные, электродинамические, электростатические, пьезоэлектрические и др.) описанных в специальной литературе. Чувствительным элементом микрофона любого типа является упругая мембрана, которая вовлекается в колебательный процесс под воздействием звуковых волн. Мембрана связана с преобразующим элементом, который преобразует колебания мембраны в электрический сигнал.

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

Чтобы обеспечить компромисс между качеством и размером воспользуемся знаниями о свойствах человеческого голоса при выборе параметров аналого-цифрового преобразования.

Для выбора частоты дискретизации рассмотрим усредненную спектральную плотность мощности непрерывного речевого сигнала для мужского и женского голосов. Как следует из этой характеристики, усредненная спектральная плотность мощности имеет максимум в диапазоне 250-500Гц и затухает со скоростью, равной 8-10дБ на октаву (при удвоении частоты). Это приводит к тому, что на частотах выше 4000 Гц спектральная плотность падает до уровня 60 дБ, что соответствует ослаблению мощности по сравнению с максимумом (25-30 дБ) в 20 и более раз. Это позволяет считать, что полоса пропускания для каналов передачи звуковых сообщений может быть ограничена частотой 4-5 кГц, а, следовательно, частота дискретизации этого сигнала должна составлять 8-10 кГц.

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

Рассчитано, что для обеспечения соотношения сигнал/шум квантования, равного 36 дБ, требуется не менее семи двоичных разрядов и что для получения высококачественного цифрового кодирования сигнала речи необходимо 11 разрядов. На практике число разрядов определяется разрядность ЭВМ и, как правило, равно или кратно восьми разрядам.


.2 Распознавание и порождение (синтез) речи компьютером


Распознавание и порождение (синтез) речи компьютером является, безусловно, важной проблемой. Десятилетиями ученые и инженеры искали способы, которые позволили бы людям общаться с компьютером так же, как они общаются между собой, а не заставляли человека подстраиваться под способ общения, приемлемый для машины. Много было сделано, но, пожалуй, и на сегодняшний день можно считать, что вопрос далеко не закрыт, хотя именно в последнее время были достигнуты значительные успехи: уже многие годы голосовые команды являются одной из возможных опций программного обеспечения персональных компьютеров, появление функций распознавания речи уже обычное дело в ряде текстовых процессоров, системы распознавания речи работают там, где требуется оказание справочных услуг и в системах безопасности.

Вопросы цифровой обработки сигналов, отдельные области математической статистики, искусственного интеллекта (теории нейронных сетей), связанные с разработкой движков и приложений распознавания и порождения речи.

Вопросы обработки речи являются, главным образом, частью дисциплин, именуемых цифровой обработкой сигналов и распознаванием образов.

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

Кроме того, системы распознавания и синтеза речи затрагивают вопросы лингвистики, в которой заложены фундаментальные концепции и принципы распознавания речи и понимания языка.


2.3 Речевые технологии


Речевые технологии прочно входят в нашу жизнь, легко находят применение в различных сферах нашей жизни и делают её проще. Они открывают возможность для общения человека и компьютера посредством речи, убирая посредника (клавиатуру), что наиболее привычно и удобно для людей.

Системы синтеза и распознавания речи находят свое применение в call-центрах. Они дают возможность переложить часть функций операторов на компьютер. С помощью речевых технологий можно читать книги, sms, озвучивать документы и целые веб сайты, создавать интеллектуальные системы обучения, которые будут принимать несложные экзамены или помогать в изучении языков. С их помощью можно улавливать в потоке речи звуковые фрагменты, так называемые ключевые слова, а так же можно идентифицировать личность. Распознавание и синтез речи очень пригодились бы людям с ограниченными способностями, инвалидам, слепым, слабовидящим.


2.4 Синтез речи


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


Рисунок 2.2 - Акустическая обработка сигнала


Технология синтеза устной речи нашла широкое применение для людей, имеющих проблемы со зрением. Для всех остальных она создает новое измерение удобства пользования техникой и значительно снижает нагрузку на зрение, на нервную систему, позволяет задействовать слуховую память.


Рисунок 2.3 - Синтез речи

Любой текст состоит из слов, разделенных пробелами и знаками препинания. Произнесение слов зависит от их расположения в предложении, а интонация фразы - от знаков препинания. Наконец, произнесение зависит и от смысла слова! Соответственно, для того чтобы синтезированная речь звучала натурально, необходимо решить целый комплекс задач, связанных как с обеспечением естественности голоса на уровне плавности звучания и интонации, так и с правильной расстановкой ударений, расшифровкой сокращений, чисел, аббревиатур и специальных знаков с учетом особенностей грамматики русского языка.

Существует несколько подходов к решению поставленных задач:

1)системы аллофонного синтеза - обеспечивают стабильное, но недостаточно естественное, роботизированное звучание;

)системы, основанные на подходе Unit Selection - обеспечивают гораздо более естественное звучание, однако могут содержать фрагменты речи с резкими провалами качества, вплоть до потери разборчивости;

)гибридная технология, основанная на подходе Unit Selection и дополненная единицами аллофонного синтеза.

На основе этой технологии была создана система VitalVoice, которая обеспечивает стабильное и естественное звучание на акустическом уровне.


2.5 Распознавание речи


Речевое общение является естественным и удобным для человека. Задача распознавания речи состоит в том, что бы убрать посредника в общении человека и компьютера. Управление машиной голосом в реальном времени, а также ввод информации посредством человеческой речи намного упростит жизнь современного человека. Научить машину понимать без посредника тот язык, на котором говорят между собой люди - задачи распознавания речи.

Ученые и инженеры уже много лет решают проблему речевого общения человека и машины. Первое устройство для распознавания речи появилось в 1952 году, оно могло распознавать произнесённые человеком цифры. Коммерческие программы по распознаванию речи появились в начале девяностых годов.

Все системы распознавания речи можно разделить на два класса:

) Системы, зависимые от диктора - настраиваются на речь диктора в процессе обучения. Для работы с другим диктором такие системы требуют полной перенастройки.


Рисунок 2.4 - Распознавание речи


) Системы, не зависимые от диктора - работа которых не зависит от диктора. Такие системы не требуют предварительного обучения и способны распознавать речь любого диктора.

Изначально на рынке появились системы первого вида. В них звуковой образ команды хранился в виде целостного эталона. Для сравнения неизвестного произнесения и эталона команды использовались методы динамического программирования. Эти системы хорошо работали при распознавании небольших наборов из 10-30 команд и понимали только одного диктора. Для работы с другим диктором эти системы требовали полной перенастройки.

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

Кроме этого, существовало желание сделать систему, не зависящую от диктора. Это весьма сложная задача, поскольку у каждого человека индивидуальная манера произнесения: темп речи, тембр голоса, особенности произношения. Такие различия называются вариативностью речи. Чтобы ее учесть, были предложены новые статистические методы, опирающиеся в основном на математические аппараты Скрытых Марковских Моделей (СММ) или Искусственных Нейронных сетей. Вместо создания эталонов для каждого слова, создаются эталоны отдельных звуков, из которых состоят слова, так называемые акустические модели. Акустические модели формируются путём статистической обработки больших речевых баз данных, содержащих записи речи сотен людей.

В существующих системах распознавания речи используются два принципиально разных подхода:

Распознавание голосовых меток

Распознавание лексических

Отметим, что создание систем распознавания речи представляет собой чрезвычайно сложную задачу.


2.6 Поиск ключевых слов


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

Технология поиска ключевых слов тесно связана с технологией распознавания речи, и до недавнего времени была её составляющей.

Фактически же грань между технологиями условна. При хорошем распознавании слитной речи и преобразовании её в печатный вид проблема поиска ключевых слов отпадает сама собой: поиск будет осуществляться в сформированном тексте. Тем не менее, в связи с недостаточным качеством работы современных систем распознавания слитной речи, подобный подход вовсе не является идеальным решением.

Подходы к выделению ключевых слов:

Поиск по шаблону - для каждого ключевого слова записывается несколько вариантов его произнесения различными дикторами, на основе чего создается шаблон, который используется для организации поиска данного слова в речевом массиве при помощи алгоритмов динамического программирования. Главным недостатком такого подхода является то, что создание шаблона для каждого слова является достаточно затратным процессом (слово нельзя просто ввести с клавиатуры).

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

Реализация проекта на основании скрытых Марковских моделей (СММ) - для каждого введенного с клавиатуры ключевого слова создается соответствующая его произнесению СММ, которая и используется при поиске в звуковом сигнале. Это один из наиболее перспективных на данный момент методов, он обеспечивает достаточно высокий процент правильно выделенных ключевых слов.

Задача нахождения ключевых слов в потоке речи может быть разделена на несколько направлений:

Непосредственно выявление и определение места ключевого слова или словосочетания (поиск в фонограмме речи, речевых базах, поиск в реальном времени)

Распознавание команд в слитном потоке речи, навигация по меню (menu-drive)

Понимание смысла речи посредством поиска ключевых слов или фраз, для диалоговых систем.


2.7 Голосовая биометрия


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

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

Верификация личности по голосу предполагает соответствие заранее установленного речевого образца вновь предъявляемому. Пользователь предварительно устанавливает какую-нибудь фразу в качестве пароля. Затем, пользователь произносит свой пароль. Система, проверяет, соответствует ли произнесенный голос заранее установленному эталону. Если соответствие подтверждается, то доступ к системе открывается. Таким образом, верификация по голосу обеспечивает большую степень надежности по сравнению с верификацией по паролю, вводимому с клавиатуры. Чужой голос подделать невозможно, в то время как подделка чужого пароля вполне доступна.

Идентификация личности по голосу представляет собой процесс установления, кому из ограниченного списка людей принадлежит голос. «Изучив» фонотеку, система укажет голос, наиболее близкий к исследуемому образцу.


2.8 Шумоочистка


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

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

При обработке звукозаписи перед техническим специалистом встают следущие задачи:

Провести максимально возможную очистку речи с удалением помех и искажений;

Провести экспертизу звукозаписей.

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


Рисунок 2.5 - Шумоочистка


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

Главной целью шумоочистки является доведение качества и разборчивости речевого сигнала до уровня, приемлемого для его комфортного прослушивания и понимания. Кроме этого очень важно сохранить значимые свойства и характеристики речи диктора, источник речевой информации, а также обстоятельства получения информации. Средства и технологии шумоочистки обеспечивают доведение качества и разборчивости речевого сигнала до уровня, приемлемого для его комфортного прослушивания и понимания, с сохранением значимых свойств и характеристик речи диктора, источника речевой информации, а также обстоятельств получения информации, что является очень важным фактором.

Технологии шумоочистки речевых сигналов классифицируются по типу искажения:

1)BABBLE NOISE - технология подавления шума толпы

)MUSIC NOISE - технология подавления шума музыки

)NONSTATIONARY NOISE - технология подавления нестационарных шумов

)PULSE NOISE - технология подавления импульсных шумов

)TONAL NOISE - технология подавления тональные помех

)WIDEBAND NOISE - технология подавления широкополосных шумов

)GSM HINDRANCE - технология подавления наводки мобильных телефонов

)CLIPPING - клиппирование сигнала

)REVERBERATION&NOISE - реверберация


3 Возможность использования нейросетей для построения системы распознавания речи


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

Далее, на основе нейросетей легко строятся иерархические многоуровневые структуры, при этом сохраняется их прозрачность (возможность их раздельного анализа). Так как фактически речь является составной, т.е. разбивается на фразы, слова, буквы, звуки, то и систему распознавания речи логично строить иерархическую.

Наконец, ещё одним важным свойством нейросетей является гибкость архитектуры. Под этим может быть не совсем точным термином я имею в виду то, что фактически алгоритм работы нейросети определяется её архитектурой. Автоматическое создание алгоритмов - это мечта уже нескольких десятилетий. Но создание алгоритмов на языках программирования пока под силу только человеку. Конечно, созданы специальные языки, позволяющие выполнять автоматическую генерацию алгоритмов, но и они не намного упрощают эту задачу. А в нейросетях генерация нового алгоритма достигается простым изменением её архитектуры. При этом возможно получить совершенно новое решение задачи. Введя корректное правило отбора, определяющее, лучше или хуже новая нейросеть решает задачу, и правила модификации нейросети, можно в конце концов получить нейросеть, которая решит задачу верно. Все нейросетевые модели, объединенные такой парадигмой, образуют множество генетических алгоритмов. При этом очень четко прослеживается связь генетических алгоритмов и эволюционной теории (отсюда и характерные термины: популяция, гены, родители-потомки, скрещивание, мутация). Таким образом, существует возможность создания таких нейросетей, которые не были изучены исследователями или не поддаются аналитическому изучению, но тем не менее успешно решают задачу.


.1 Нейросетевое сравнение на основе простых персептронов


Искусственный нейрон

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


Рисунок 3.1 - Схема нейрона

Из рисунка видно, что искусственный нейрон, так же, как и живой, состоит из синапсов, связывающих входы нейрона с ядром; ядра нейрона, которое осуществляет обработку входных сигналов и аксона, который связывает нейрон с нейронами следующего слоя. Каждый синапс имеет вес, который определяет, насколько соответствующий вход нейрона влияет на его состояние. Состояние нейрона определяется по формуле



где n - число входов нейрона i - значение i-го входа нейрона i - вес i-го синапса

Затем определяется значение аксона нейрона по формуле


Y = f(S)


где f - некоторая функция, которая называется активационной. Наиболее часто в качестве активационной функции используется так называемый сигмоид, который имеет следующий вид



Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную



При уменьшении параметра a сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при a=0. При увеличении a сигмоид все больше приближается к функции единичного скачка.

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


3.2 Обучение сети


Для автоматического функционирования системы был выбран метод обучения сети без учителя. Обучение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой.

Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.

Большинство современных алгоритмов обучения выросло из концепций Хэбба. Им предложена модель обучения без учителя, в которой синоптическая сила (вес) возрастает, если активированы оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются, и феномен привычки и обучения через повторение получает объяснение.

Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные карты. Каждая карта разбита на квадраты и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае - ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.

Для обучения сети образ X подается на вход и вычисляется выход У. Если У правилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные к входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.

Информативность различных частей спектра неодинакова: в низкочастотной области содержится больше информации, чем в высокочастотной. Поэтому для предотвращения излишнего расходования входов нейросети необходимо уменьшить число элементов, получающих информацию с высокочастотной области, или, что тоже самое, сжать высокочастотную область спектра в пространстве частот.

Наиболее распространенный метод ( его простоте ) - логарифмическое сжатие.


где f - частота в спектре, Гц, - частота в новом сжатом частотном пространстве


Рисунок 3.2 - Нелинейное преобразование спектра в пространстве частот


Такое преобразование имеет смысл, только если число элементов на входе нейросети NI меньше числа элементов спектра NS.

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

При большой разрешающей способности (числе) входов возможно выделение гармонической структуры речи и как следствие определение высоты голоса. При малой разрешающей способности (числе) входов возможно только определение формантной структуры.

Как показало дальнейшее исследование этой проблемы, для распознавания уже достаточно только информации о формантной структуре. Фактически, человек одинаково распознает нормальную голосовую речь и шепот, хотя в последнем отсутствует голосовой источник. Голосовой источник дает дополнительную информацию в виде интонации (высоты тона на протяжении высказывания), и эта информация очень важна на высших уровнях обработки речи. Но в первом приближении можно ограничиться только получением формантной структуры, и для этого с учетом сжатия неинформативной части спектра достаточное число входов выбрано в пределах 50~100.

Наложение спектра на каждый входной элемент происходит путем усреднения данных из некоторой окрестности, центром которой является проекция положения этого элемента в векторе входов на вектор спектра. Радиус окрестности выбирается таким, чтобы окрестности соседних элементов перекрывались. Этот прием часто используется при растяжении векторов , предотвращая выпадение данных.


3.3 Моделирование нейросети


В связи с разделением системы анализа речи на несколько уровней (ввода, уровень распознавания и синтеза слов, уровень смыслового контроля), появилась возможность моделировать нейросеть отдельно для каждого уровня в соответствии с требованиями по обработке информации на нём.

Но различия в моделях нейросетей необходимо сводить к минимуму, так как такие различия не являются биологически оправданными, кроме того, при аппаратной реализации системы гораздо проще работать с однотипными структурами.


.4 Уровень ввода


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

Ещё одно требование к нейросети низкого уровня обработки сигнала - обучение без учителя, т. е. способность самостоятельно разделять входные сигналы на классы.

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

Схематически сеть встречного направления изображена на рисунке 3.3


Рисунок 3.3 - Сеть встречного распространения


Распространение сигнала в такой сети происходит следующим образом: входной вектор нормируется на 1.0 и подается на вход , который распределяет его дальше через матрицу весов W. Каждый нейрон в слое Кохонена вычисляет сумму на своем входе и в зависимости от состояния окружающих нейронов этого слоя становится активным или неактивным ( 1.0 и 0.0). Нейроны этого слоя функционируют по принципу конкуренции, т. е. в результате определенного количества итераций активным остается один нейрон или небольшая группа. Этот механизм называется латеральным. Так как отработка этого механизма требует значительных вычислительных ресурсов, в моей модели он заменен нахождением нейрона с максимальной активностью и присвоением ему активности 1.0, а всем остальным нейронам 0.0. Таким образом, срабатывает нейрон , для которого вектор входа ближе всего к вектору весов связей.

Если сеть находится в режиме обучения, то для выигравшего нейрона происходит коррекция весов матрицы связи по формуле


w = w + ? (x - w )

где w - новое значение веса,- старое значение,

? - скорость обучения,

х - величина входа.

Геометрически это правило иллюстрирует рисунок 3.4


Рисунок 3.4 - Коррекция весов нейрона Кохонена


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

Проблема: выбор начальных значений весов. Так как в конце обучения вектора весов будут располагаться на единичной окружности, то в начале их также желательно отнормировать на 1.0. В моей модели вектора весов выбираются случайным образом на окружности единичного радиуса.

Проблема: если весовой вектор окажется далеко от области входных сигналов, он никогда не даст наилучшего соответствия, всегда будет иметь нулевой выход, следовательно, не будет корректироваться и окажется бесполезным. Оставшихся же нейронов может не хватить для разделения входного пространства сигналов на классы . Для решения этой проблемы предлагается много алгоритмов, в моей работе применяется правило « работать »: если какой либо нейрон долго не находится в активном состоянии , он повышает веса связей до тех пор, пока не станет активным и не начнет подвергаться обучению. Этот метод позволяет также решить проблему тонкой классификации: если образуется группа входных сигналов, расположенных близко друг к другу, с этой группой ассоциируется и большое число нейронов Кохонена, которые разбивают её на классы.

Правило «желания работать» записывается в следующей форме:



где w - новое значение веса, - старое значение,

b- скорость модификации, - активность нейрона.

Чем меньше активность нейрона, тем больше увеличиваются веса связей.


.5 Система распознавания речи как самообучающаяся система


С целью изучения особенностей самообучающихся систем модели распознавания и синтеза речи были объединены в одну систему, что позволило наделить её некоторыми свойствами самообучающихся систем. Это объединение является одним из ключевых свойств создаваемой модели. Что послужило причиной этого объединения?

Во-первых, у системы присутствует возможность совершать действия (синтез) и анализировать их (распознавание), т.е. свойство (2). Во-вторых, присутствует свойство (1), так как при разработке в систему не закладывается никакая информация, и возможность распознавания и синтеза звуков речи - это результат обучения.

Преимуществом полученной модели является возможность автоматического обучения синтезу. Механизм этого обучения описывается далее.

Ещё одной очень важной особенностью является возможность перевода запоминаемых образов в новое параметрическое пространство с гораздо меньшей размерностью. Эта особенность на данный момент в разрабатываемой системе реализована и на практике проверена. Я постараюсь кратко изложить её суть.

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

голосовой управление компьютер речь

4 Проектирование голосовой системы управления


4.1 Общее описание системы


Разрабатываемая подсистема распознавания речи является обслуживающим инструментом для системы голосового управления жилым объектом.

Качество и современность проектируемой подсистемы должно обеспечиваться развитием математической модели анализатора голоса.

Любая система состоит из подсистем, которые являются её неотъемлемой частью. Подсистема распознавания речи представляет собой законченный функциональный блок, имеющий свой неповторимый комплекс средств (программное, лингвистическое, методическое, техническое обеспечения или другие виды обеспечения) и выполняющий определённые функции, возложенные на него разработчиком системы. По назначению подсистемы подразделяют на проектирующие и обслуживающие. Примером обслуживающих систем могут служить подсистемы распознавания речи, автоматизированного ввода информации, графическую подсистему и т.д. В отличие от проектирующих подсистем, предназначенных в основном для расчёта, обслуживающие подсистемы предназначены для поддержания их работоспособности.

Реально, система представляет собой комплекс технических средств (КТС), размещённый на нескольких автоматизированных рабочих местах (АРМ), соединённых в локальную вычислительную сеть (ВС). На одном АРМ возможно совмещение нескольких подсистем, что уменьшает количество используемой вычислительной техники.

В результате анализа, для данной системной области было выбрано устройство КТС, основанное на двух АРМ, как самый оптимальный вариант. Использование одной единицы вычислительной техники не рационально в силу того, что данная машина будет слишком загружена как расчётами, так и поддержанием работоспособности самой системы, т.е. её обслуживанием. Выделение трёх рабочих мест повлечёт за собой простой вычислительной техники и увеличение средств на создание системы, что также недопустимо.

Разделение функциональных обязанностей по АРМ будет следующим. Одна из станций будет являться информационно-обслуживающей, т.е. будет заниматься вопросами хранения исходных данных, вывода документации и информационным обслуживанием.

Вторая станция будет являться рабочим местом оператора и на ней будет установлена программа защиты от несанкционированного доступа.


.2 Описание структурной схемы разрабатываемой системы


Как уже отмечалось выше, любая система состоит из нескольких подсистем, различающихся по своему функциональному назначению. Исходя из анализа области проектирования, в разрабатываемой системе были выделены следующие подсистемы:

подсистема регистрации пользователя в системе;

подсистема выбора инженерной системы;

информационная подсистема;

подсистема авторизации пользователя.

Рассмотрим подробнее задачи, решаемые каждой подсистемой, и средства их реализации.

Подсистема регистрации пользователей, как следует из названия, предназначена для регистрации пользователей в системе. Добавление нового пользователя реализуется при помощи диалоговых языков проектирования, а в частности, диалог типа «заполнение бланков» с элементами диалога типа «меню», а так же, как альтернатива. Подсистема добавления пользователей сохраняет настройки и образцы голоса в БД системы.

Информационная подсистема необходима для хранения данных на всех этапах работы подсистемы, обеспечения взаимосвязи между остальными подсистемами, а также для сбора и хранения необходимых вспомогательных данных, таких как параметры пользователей, настройки программы, статистическая документация, образцы голоса пользователя. Данная подсистема организована в виде базы данных и имеет необходимый набор программных средств для доступа, поиска, изменения и коррекции хранимых данных. Информационная подсистема включает в себя следующие таблицы:

образцы голоса;

зарегистрированные в системе пользователи;

статистическая информация;

словарь;

инженерные системы.

Фрагмент логического представления БД представлен в Приложении Б.


.3 Описание работы системы распознавание речи


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

Возможные варианты действий:

) Регистрация пользователя - проверяется, есть ли этот пользователь в системе, если есть, то предыдущая запись удаляется при сохранении параметров пользователя.

) Удаление пользователей - от пользователя требуется выбрать нужную запись и программа удалит его.

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

) Войти в систему - пользователь должен ввести свое имя и ключевое слово (Приложение Г). Если в системе есть пользователь с таким именем, система его авторизует и перед пользователём откроется окно с инженерными системами (Приложение Д), где он может выбрать интересующую его систему и ввести соответствующие для её команды.

Главное окно программы представлено в приложении В.


.4 Описание видов обеспечений


.4.1 Описание математического обеспечения

Элементами математического обеспечения являются математические модели объекта проектирования, методы численного решения математических моделей, алгоритмы расчетов и методов оптимизации.

Оптимизация заключается в ускорении сравнивания двух образцов голоса, на основе чего должно быть вынесено решение о принадлежности голоса пользователю. Также требуется настроить систему сравнивания с учетом имеющегося оборудования, с помощью чего, при наличии звуковой подсистемы с низкой потерей качества при записи среднего и профессионального уровня, можно повысить качество сравнивания, чтобы вероятность принятия неправильного решения был минимальным. Так же при наличии современного процессора, например выбранный мной для проектируемой подсистемы распознавания речи Pentium 4 3Гц, можно увеличить ширину спектрального преобразования в 2 раза, что соответственно повысит качество распознавания.

Рассмотрим основные элементы системы распознавания речи (структурная схема представлена в приложении А):

Необработанная речь;

Анализ сигнала;

Речевые кадры;

Акустические модели;

Акустический анализ;

Последовательность слов.

) Необработанная речь. Обычно, поток звуковых данных, записанный с высокой дискретизацией (20 КГц при записи с микрофона либо 8 КГц при записи с телефонной линии).


Рисунок 4.1 - Необработанная речь


) Анализ сигнала. Поступающий сигнал должен быть изначально трансформирован и сжат, для облегчения последующей обработки. Есть различные методы для извлечения полезных параметров и сжатия исходных данных в десятки раз без потери полезной информации. Наиболее используемые методы:

анализ Фурье;

линейное предсказание речи;

кепстральный анализ.


Рисунок 4.2 - Анализ сигнала


) Речевые кадры. Результатом анализа сигнала является последовательность речевых кадров. Обычно, каждый речевой кадр - это результат анализа сигнала на небольшом отрезке времени (порядка 10 мс.), содержащий информацию об этом участке (порядка 20 коэффициентов). Для улучшения качества распознавания, в кадры может быть добавлена информация о первой или второй производной значений их коэффициентов для описания динамики изменения речи.


Рисунок 4.3 - Речевые кадры


) Акустические модели. Для анализа состава речевых кадров требуется набор акустических моделей. Рассмотрим две наиболее распространенные из них:

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

Модель состояний. Каждое слово моделируется как последовательность состояний указывающих набор звуков, которые возможно услышать в данном участке слова, основываясь на вероятностных правилах. Этот подход используется в более масштабных системах.

) Акустический анализ. Состоит в сопоставлении различных акустических моделей к каждому кадру речи и выдает матрицу сопоставления последовательности кадров и множества акустических моделей. Для шаблонной модели, эта матрица представляет собой Евклидово расстояние между шаблонным и распознаваемым кадром (т.е. вычисляется, как сильно отличается полученный сигнал от записанного шаблона и находится шаблон, который больше всего подходит полученному сигналу). Для моделей, основанных на состоянии, матрица состоит из вероятностей того, что данное состояние может сгенерировать данный кадр.

Корректировка времени. Используется для обработки временной вариативности, возникающей при произношении слов (например, растягивание или съедание звуков).


Рисунок 4.4 - Акустический анализ


6) Последовательность слов. В результате работы, система распознавания речи выдает последовательность (или несколько возможных последовательностей) слов, которая, наиболее вероятно, соответствует входному потоку речи.

4.4.2 Фильтрация шумов

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

Звук, образованный колебаниями всего диапазона частот, подобный тому, спектр которого показан на рисунке 4.5, называется шумом. Толкование этого слова, принятое в технике, отличается от общепризнанного. Свист высокого тона (издаваемый, например, старым монитором) может считаться шумом в бытовом смысле. Но у этого звука есть четко определенный спектр частот, и, следовательно, он не может считаться шумом в техническом смысле этого слова.


Рисунок 4.5 - Спектр частот шума


Шум издает двигающийся воздух - независимо от того, дуновение ли это человека или шорох ветра в микрофоне. Можно сказать, что нежные звуки флейты в некоторой степени извлекаются из шума, производимого выдуваемым человеком воздухом.

Так как шум содержит все частоты, флейта может выделить в нем нужные и усилить их.

Если анализировать дискретные значения (отсчеты) уровня шума (а не спектр его частот), то получится, случайная выборка. Хорошим источником шума является высококачественный генератор случайных чисел.

Для того чтобы получить четкие спектральные характеристики звука их нужно отчистить от лишних шумов.

Входной дискретный звуковой сигнал обрабатывается фильтрами, для того чтобы избавится от помех возникающих при записи по формуле



где Xi - набор дискретных значений звукового сигнала.

После обработки в сигнале ищется начало и конец записи, а так как шумы уже отфильтрованы, то начало фрагмента будет характеризоваться всплеском сигнала, если искать с Х0. Соответственно если искать с Хn вниз, то всплеск будет характеризовать конец фрагмента. Таким образом, получим начала и конца фрагмента в массиве дискретных значений сигнала. В нематематическом виде это означает, что мы нашли слово сказанное пользователем в микрофон, которое нужно усреднить с другими характеристиками голоса.

Помимо высоты тона человек ощущает и другую характеристику звука громкость. Физические величины, наиболее точно соответствующие громкости, - это шоковое давление (для звуков в воздухе) и амплитуда (для цифрового или электронного представления звука).

Если говорить об оцифрованном сигнале, то амплитуда - это значение выпорки. Анализируя миллионы дискретных значений уровня одного и того же звука, можно сказать о пиковой амплитуде, то есть об абсолютной величине максимального из полученных дискретных значений уровня звука. Чтобы избежать искажения, вызванного искажением ограничения сигнала при цифровой записи звука (данное искажение возникает в том случае, если величина пиковой амплитуды выходит за границы, определяемые форматом хранения данных), необходимо обратить внимание на величину пиковой амплитуды. При этом нужно сохранять отношение сигнал/шум на максимально достижимом уровне.

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

На языке математики это описывается интегралом



где - это напряжение в заданный момент времени.

Поскольку вы используете звук, представленный дискретными значениями, вам не понадобится брать интеграл. Достаточно просто сложить квадраты отсчетов. Среднее значение квадратов дискретных значений пропорционально средней мощности.

Так как моментальная мощность зависит от квадрата моментальной амплитуды, имеет смысл аналогичным образом подобрать похожее соотношение, связывающее среднюю амплитуду и среднюю мощность. Способ, которым это можно сделать, заключается в определении средней амплитуды (СКЗ). Вместо того, чтобы вычислять среднее значение непосредственно амплитуды, мы сначала возводим в квадрат полученные значения, вычисляем среднее значение получившегося множества, а затем извлекаем из него корень. Метод СКЗ применяется в том случае, когда необходимо вычислить среднее для быстро меняющейся величины. Алгебраически это выражается следующим образом: пусть у нас N значений и х(i) - это амплитуда i-ого дискретного значения. Тогда

СКЗ амплитуды =


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

Относительная мощность измеряется в белах, а чаще в децибелах (дБ, децибел, - это одна десятая бела). Чтобы сравнить два звука, берется отношение их мощности. Десятичный логарифм этого отношения и есть различие в белах; если множить получившееся число на десять, то получится значение в децибелах. Например, если мощность одного сигнала превосходит мощность другого в два раза, то первый сигнал будет громче на 10lоg10(2) = 3,01 дБ.

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

Шкала децибелов также используется для измерения потерь звука. Если два различных звука с одной и той же энергией пропустить через некоторую электронную цепь или цифровой алгоритм обработки звука, на выходе один звук может оказаться на 6 дБ слабее другого.

Шкала децибелов используется и для измерения уровня шума или искажений, которые были добавлены (непреднамеренно) к любому сигналу.

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

Еще один аспект, для которого измерения в децибелах дают точную картину ощущений человека - это то, что ощущаемая громкость очень сильно зависит от относительной мощности. В частности, известна акустическая иллюзия, называемая маскированием. Если звук образуется двумя независимыми компонентами и одна из этих компонент гораздо громче другой, то более тихая компонента часто будет неслышна. Фактически, слух человека «настраивается» к уровню более громкого звука и более тихий звук слышится гораздо более тихим, чем он есть на самом деле. Это особенно относится к тем ситуациям, когда у этих звуков очень близки высоты тона.

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

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

Кроме того, сложные звуки человек слышит хуже звуков простых тонов. В частности, очень трудно расслышать высокочастотный шум. Метод цифрового преобразования, называемый размыванием (dithering) позволяет преобразовать ошибки некоторых типов в менее различимый высокочастотный шум.


.4.3 Спектральное преобразование сигнала

Поскольку любой звук раскладывается на синусоидальные волны, мы можем построить частотный спектр звука.

Спектр частот звуковой волны представляет собой график зависимости амплитуды от частоты.

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


Рисунок 4.6 - Частота, период и амплитуда волны


Математически синусоида описывается функциями sin() или соs(). Простая функция sin(t) имеет амплитуду равную единице, период равный 2 секунд и соответствующую частоту, равную 1/2 циклов секунду. Можно преобразовать эту запись в более полезную форму: Asin(2ft) что соответствует синусоиде с амплитудой А и частотой f.

Здесь предполагается, что t представляет собой время (в секундах), f - значение частоты. При работе с дискретным сигналом в качестве t удобнее использовать номер отсчета. В этом случае запись Asin(2ft) представляет синусоиду с амплитудой А и частотой fS, где S - частота дискретизации. Далее будем работать в каждый момент времени с группами по N отсчетов и интересовать нас будут определенные частоты, поэтому я использую записи вида sin(2ft/N) и cos(2ft/N), которые представляют волны с единичной амплитудой и частотой равной fS/N.

Амплитуда и частота не дают полной картины. Временные задержки могут послужить причиной смещения волн друг относительно друга, как показано на рисунке 4.3. Хотя измеряются эти смещения как временные задержки, более удобно представлять их как дробные части периода, называемые фазой.


Рисунок 4.7 - Три синусоиды с различной частотой


Поскольку синусоиды тесно связаны с окружностями, фаза измеряется в градусах. Один полный цикл - это 360°. На рисунке 4.8 показана еще одна синусоида. Ее временная, горизонтальная, ось размечена в градусах фазы. Как поворот на 360° возвращает в исходное положение, так изменение фазы на 360° оставляет сигнал неизменным.


Рисунок 4.8 - Синусоида, размеченная в градусах фазы


Фазовые изменения часто происходят по причине временных задержек. Например, каждый цикл сигнала в 1000 Гц занимает 1/1000 секунды. Если задержать сигнал на 1/2000 секунды (полупериод), то получится 180-градусный сдвиг но фазе. Заметим, что этот эффект опирается на зависимость между частотой и временной задержкой. Если сигнал в 250 Гц задержать на те же самые 1/2000 секунды, то будет реализован 45-градусный сдвиг по фазе.

Если сложить вместе две синусоидальные волны одинаковой частоты, то получится новая синусоидальная волна той же частоты. Это будет верно даже в том случае, если два исходных сигнала имеют разные амплитуды и фазы. Например, Asin(2ft) и Bcos(2ft)- две синусоиды с разными амплитудами и фазами, но I c одинаковой частотой.

Для измерения амплитуды одной частоты нужно умножить имеющийся сигнал на синусоиду той же частоты и сложить полученные отсчеты.

Чтобы записать это в символьном виде, предположим, что отсчеты имеют значения s0, s1, … , st, …. Переменная t представляет собой номер отсчета (который заменяет значение времени). Измеряется амплитуду частоты f в первом приближении, при вычислении следующей суммы


Af =

Значения t и f не соответствуют в точности времени и частоте. Более того, f - целое число, а реальная исследуемая частота - это частота дискретизации, умноженная на f/N. Подобным образом, t - это целочисленный номер отсчета. Кроме того, суммирование дает не непосредственное значение амплитуды, а всего лишь число, пропорциональное амплитуде.

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



Если мы знаем значения Af мы можем восстановить отсчеты. Для восстановления сигнала необходимо сложить все значения для разных частот.

Чтобы осуществлять точное обратное преобразование Фурье, помимо амплитуды и частоты необходимо измерять фазу каждой частоты.

Для этого нужны комплексные числа. Можно изменить описанный ранее метод вычислений так, что он будет давать двумерный результат. Простое коми лексное число - это двумерное значение, поэтому оно одновременно представляет и амплитуду, и фазу.

При таком подходе фазовая часть вычисляется неявно. Вместо амплитуды и фазы измеряется две амплитуды, соответствующие разным фазам. Одна из этих фаз представляется косинусом (соs()), другая - синусом sin()).

Используя комплексные числа, можно проводить измерения одновременно, умножая синусную часть на -i.


Каждое значение Af теперь представляется комплексным числом; действительная и мнимая части задают амплитуду двух синусоидальных волн с разным фазами. Заменим на эквивалентное



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



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

Непрерывный речевой сигнал, как и любой другой можно представить в виде



если множество функций Un являются ортогональными, то есть удовлетворяющим условию



где C - константа.

В этом случае значения коэффициентов an определяются выражением



В зависимости от вида используемых ортогональных функций различают несколько видов преобразований. С помощью пары преобразований Фурье можно выразить связь между апериодической функцией времени f(t) и ее комплексным спектром F(w)



Спектральная форма включает в себя две основные операции: аналого-цифровое преобразование - преобразование сигнала из волны звукового давления в цифровой сигнал; цифровая фильтрация - выделение главной частоты сигнала. Процесс преобразования показан на рисунке 4.9. Я не останавливаюсь на выборе частоты оцифровки сигнала, хотя этот выбор играет важную роль в задаче моделирования сигнала.



Рисунок 4.10 - Пример входного сигнала АЦП


Микрофон, используемый в процессе АЦ - преобразования, обычно вносит нежелательные примеси в сигнал, например сетевой шум (звук с частотой 50 Гц от электрической проводки), теряет часть низких и высоких частот и нелинейные искажения. АЦ - преобразователь также вносит свои собственные искажения из-за нелинейной функции передачи и колебания постоянного смещения. Пример такого сигнала показан на рисунке 4.10. Ослабление низких и высоких частот часто вызывает проблемы с алгоритмами последовательного параметрического спектрального анализа.

Главная цель процесса оцифровки заключается в получении данных речевого сигнала с высоким отношением Сигнал/Шум. В настоящее время телекоммуникационные системы обеспечивают значение этого коэффициента порядка 30 dB для приложений распознавания голоса, что более чем достаточно для получения высокой производительности таких приложений. Изменения в преобразователях, каналах и фоновом шуме, тем не менее, вызывают определенные проблемы.


4.4.4 Фильтрация спектра

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

Для этого применим функцию, которая получила название «окно Кайзера»


После фильтрации спектра нужно наложить окно Ханнинга



.4.5 Сравнение с эталонными образцами

Основным параметром, используемым для идентификации, является мера сходства двух звуковых фрагментов. Для ее вычисления необходимо сравнить спектрограммы этих фрагментов. При этом сначала сравниваются спектры, полученные в отдельном окне, а затем вычисленные значения усредняются.

Для сравнения двух фрагментов использовался следующий подход:

Предположим что X[1..N] и Y[1..N] - массивы чисел, одинакового размера N, содержащие значения спектральной мощности первого и второго фрагментов соответственно.

Тогда мера сходства между ними вычисляется по следующей формуле



где Mx и My - математические ожидания для массивов X[] и Y[] соответственно, вычисляющиеся по следующей формуле



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


.5 Описание информационного обеспечения


Функционирование любой подсистемы распознание речи невозможно без соответствующей информационной поддержки.

Информационные потоки, используемые прикладными программами при работе, составляют основу информационного обеспечения. Для достижения оптимальности использования данного вида обеспечения наиболее приемлемой формой его реализации является набор интерактивных баз данных на основе реляционной модели данных, обеспечивающих контроль, хранение и управление информационными потоками.

При разработке информационного обеспечения необходимо учитывать следующие принципы:

) независимость данных;

) совместимость - при развитии программного и модернизации технического обеспечения компоненты информационного обеспечения должны сохранять работоспособность;

) не избыточность данных - информационное обеспечение должно представлять собой совокупность интегрированных данных, являющихся основной частью информационного потока;

) защита данных - учитывая реалии рыночной экономики, необходимо предусмотреть защиту данных от несанкционированного доступа;

) целостность данных - информационное обеспечение должно предотвращать нарушение структуры данных пользователем.

В данной системе используются следующие компоненты информационного обеспечения:

образцы голоса;

зарегистрированные в системе пользователи;

статистическая информация;

словарь;

инженерные системы.

Компонента образцов голоса содержит образцы голоса пользователя. База Данных зарегистрированных в системе пользователей содержит информацию о зарегистрированных в системе пользователях, их именах, логинах, настройках.

Компонента словарь содержит словари по разным инженерным системам.

Фрагмент Схемы, описывающую таблицы, в которых хранятся данные предметной области и связи между ними представлен в Приложении Б, соответствующие логике предметной области, называют инфологической моделью базы данных.

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

В связи со спецификой предметной области предложенная инфологическая модель базы данных системы защиты от несанкционированного доступа является нормализованной и полностью соответствует требованиям предметной области. В её состав входят все таблицы, необходимые для хранения требуемых данных; система связей (функциональных зависимостей) между таблицами соответствует логике данных предметной области и не содержит нежелательных зависимостей, приводящих к побочным эффектам. На основе приведенной инфологической модели базы данных может быть разработана даталогическая модель базы данных разработанной подсистемы. При описании полей были использованы следующие обозначения:


Таблица 4.1 - Образцы голоса

НаименованиеТипИдентификатор записиСчетчикИдентификатор пользователяЧисловойНомер записиЧисловойИнформация о удаленииЧисловойТаблица 4.2 - Зарегистрированные в системе пользователи

НаименованиеТипИмя пользователяТекстовыйИдентификатор пользователяЧисловойЛогинТекстовыйПолное имяТекстовыйХарактеристикиТекстовыйИнформация о удаленииЧисловой

Таблица 4.3 - Статистическая информация

НаименованиеТипИдентификатор пользователяЧисловойИдентификатор записиСчетчикСовершенное действиеТекстовыйВремяДата/времяДатаДата/времяИнформация о удаленииЧисловой

Таблица 4.4 - Инженерные системы

НаименованиеТипИдентификатор системыСчетчикНаименованиеТекстовыйОписаниеТекстовыйТип датчикаТекстовыйИдентификатор словаряЧисловой

Таблица 4.5 - Словари

НаименованиеТипИдентификатор словаряСчетчикВарианты распознаванияТекстовыйДопустимое отклонениеЧисловой

Приведенная выше даталогическая модель данных имеет минимальный объем избыточных данных.


4.6 Структурно-алгоритмическая организация


В структуре программы можно выделить логические модули. Каждому модулю присущи свои задачи, методы, вызываемые функции. Структурная схема изображена на рисунке 4.11


Рисунок 4.11 - Структурная схема программы


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

Модуль выбора режима работы - это модуль для взаимодействия пользователя с программой с целью установки режима работы.

Модуль ввода речевого сигнала - это модуль, который отвечает за запись сигнала с микрофона.

Модуль создания БД эталонов - это модуль, который анализирует входной сигнал в режиме создания эталона, переводит в цифровой вид и создает БД.

Модуль анализа звукового сигнала - это модуль, который анализирует входной сигнал в режиме распознавания, и переводит в цифровой вид.

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


.7 Голосовое управление умным домом


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

В главном окне можно выбрать один из трех режимов распознавания: только словарь, только произвольная речь или совместно словарь и произвольная речь. (Приложение Е).

В режиме без сценария также есть возможность изменять состав словаря. Для этого щелкните мышкой на "закладку" с надписью "Словарь". Откроется редактор словаря. (Приложение Ж).


.7.1 Технология x10 -управление " умным домом ". Кодирование текстовой информации

Технология Х10 основана на передаче сигналов по электропроводке квартиры или дома. Для передачи сигналов используются "пакеты" колебаний на частоте 120 кГц длительностью 1 мс, передаваемые по электропроводам. Передача сигнала в Х10 синхронизирована с нулевым напряжением в цепи переменного тока. Когда напряжение достигает нулевого значения, приемник сигнала Х10 (например, встроенный в патрон лампочки) "слушает" сеть в течение 6 мс.

Если в это время передатчик сигнала х10 посылает "пакет", приемник воспринимает его как двоичную единицу. Отсутствие "пакета" воспринимается как двоичный ноль. Каждое устройство, управляемое посредством Х10, имеет свой адрес, состоящий из двух символов. Первый - код дома, второй - код устройства.


Рисунок 4.12 - Структура полного кода


Каждый из них может иметь 16 значений, а общее число различных адресов достигает 256. Код дома обозначают латинской буквой (от A до P), а код устройства - числом от 1 до 16. По электропроводке каждый код дома и устройства передается своей последовательностью нулей и единиц - двоичным кодом (см. таблицу). Каждая команда Х10 также имеет свой двоичный код. Последний бит в двоичных кодах устройства и команды служит для различия типа кодов: 0 соответствует коду устройства, 1 - коду команды.


Рисунок 13 - Коды


Для того чтобы приемник знал, когда начинается передача полезного сигнала, передатчик сначала посылает так называемый стартовый код - ему соответствует последовательность 1110. За ним следует код дома, а потом - код устройства или команда. Последовательность стартового кода, кода дома и кода устройства или команды называется кадром (или фреймом) X10.

Каждый кадр передается два раза подряд - для большей надежности. Каждый информационный бит кадра, за исключением битов стартового кода, сопровождается комплементарным (дополняющим) битом - после 1 идет комплементарный 0, после 0 - единица. Таким образом, для передачи одного кадра необходимо 11 циклов переменного напряжения.

Для передачи команды X10 нужно сначала отправить кадр с кодом устройства, которому предназначена команда, а за ним - кадр с самой командой. Исключение составляют групповые команды, например "All Units Off" - они отправляются всем устройствам, поэтому код устройства перед ними передавать не нужно.

При передаче последовательности адресов и/или команд между каждой парой кадров должен быть промежуток в три цикла переменного напряжения то есть последовательность 000000. Например, адрес устройства и команда для него передаются двумя парами кадров с указанным промежутком. Для передачи такой последова- тельности необходимо 22+3+22=47 циклов напряжения.

При частоте 50 Гц такая операция занимает примерно одну секунду. Отметим, что команды "Bright" ("Ярче") и "Dim" ("Темнее") следуют друг за другом без промежутка между кодами. Мы рассмотрели передачу сигналов на примере однофазной сети. В трехфазных сетях передача сигнала происходит аналогично, но "приурочена" к нулю каждой фазы.

Есть два варианта перевода алфавита в двоичный код:.

. Русский алфавит разбить от 0 до 31 символа (с пробелом, Е=Ё, Ь=Ъ). Каждый символ задать в виде последовательности из пяти "нулей-единиц". А = 0000, Б = 0001, В = 0010, Г = 0011, ... Я = 11110, _ = 11111. Тогда получится бинарное слово, длина которого Кол-во_Символов * 5.

. Экономное кодирование (Фано). Есть таблица, в которой каждому символу соответствует уникальный код. Чем чаще встречается символ в тексте, тем короче будет код. Например, пробел будет состоять из трех бинарных символов - 000, О = 001, ..., Ф = 111111111.


Рисунок - Код Фано

4.7.2 Работа со словарем

Набор слов, входящих в словарь, может быть изменен в соответствии с текущей задачей. Это возможно как в режиме без сценария, так и во время выполнения сценария, в котором предусмотрено такое изменение.

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

Основная задача словаря сводится к выбору единственной строки таблицы, соответствующей сказанному слову. Если подходящую строку удалось найти, выполняется замена исходного слова значением одного из двух полей выбранной строки.

Слова в таблицу "Состав словаря" заносятся пользователем в соответствии с правописанием, даже если их звучание отличается от написания.

Чтобы выбрать единственную строку таблицы, программа просматривает каждую строку и отыскивает ту, которая в наибольшей степени соответствует прозвучавшему слову. Кроме того, в таблице могут быть клавишные команды, которые вообще не имеют звучания.

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

Размер списка вариантов не ограничен, но в нем не должно быть одинаковых записей.

Когда программа находит в таблице "Состав словаря" строку в наибольшей степени соответствующую прозвучавшему слову, это означает, что данной строке принадлежит вариант распознавания минимально отличающийся от проверяемого слова, или совпадающий с ним. Степень различия (отклонение) при этом оценивается в процентах и сравнивается с максимально допустимым значением. Если отклонение превышает максимально допустимую величину, считается, что слово в словаре не найдено.

Пользователь имеет возможность изменять величину допустимого отклонения по своему усмотрению при помощи регулятора, расположенного в окне редактора словаря. Если регулятор установлен в нулевое положение, слово может быть найдено в словаре только при условии полного совпадения с одним из имеющихся вариантов распознавания. Любые несовпадения при этом исключаются. Если же наоборот, установить максимальное отклонение на уровне 100%, то любое сказанное слово обязательно будет найдено в словаре, даже если его там нет. В этом случае просто выбирается самое похожее слово, а насколько оно похожее, не проверяется. Промежуточные значения позволяют задавать компромисс между жестким и мягким режимами работы словаря.

В редакторе словаря также предусмотрена возможность его проверки в реальном времени. Это помогает установить причины ложных срабатываний или несрабатываний словаря. Нажав на кнопку "Старт", расположенную в этом же окне. Включится микрофон.

Произносите слова и наблюдайте за отображением результатов в полях Получено, "Близкое в словаре", "Отклонение" и "Результат". В поле Получено отображается слово, полученное на основном этапе распознавания. В следующем поле отображается наиболее похожее слово из всех имеющихся в словаре.

В последнем поле появляется принятое решение. Это может быть слово из таблицы "Состав словаря" (при отклонении не выше максимального значения), или знак вопроса (при чрезмерном отклонении). Кнопка Добавить к вариантам" позволяет присоединить слово, отображенное в поле Получено" к списку вариантов распознавания того слова, которое в данный момент выбрано в таблице "Состав словаря". Добавлением вариантов можно скомпенсировать небольшие ошибки распознавания, носящие постоянный характер.


.7.2 Технические характеристики системы

1) Режим самотестирования:

автоматический постоянный опрос различных датчиков комплекса на их идентификацию работоспособного состояния и контроль разряда элементов питания с выдачей необходимого сигнала и голосового информирования;

автоматическое постоянное тестирование за наличием в электросети напряжения 220В, постоянного напряжения 12В, также глубокого разряда аккумуляторной батарей с выдачей необходимого сигнала, с использованием информационного сервера и оперативного информирования потребителя на любой вид телефонных аппаратов, а также переносные радиостанции.

Кроме того, в устройстве заложена возможность расширения функций системы по заказу различных пользователей.

Резервирование или дублирование:

в комплексе заложена возможность расширения функций по заказу различных потребителей с задействованием и подключением к комплексу различной следящей аппаратуры с дальнейшей записью видео и аудио информации (при подключении к различной оптической, видео и аудио аппаратуры);

энергопитания комплекса за счёт использования встроенных аккумуляторных батарей различной ёмкости (энергоёмкость позволяет работать комплексу не менее 4-х дней полностью в автономном режиме).

) Типы подключаемых датчиков:

движения (пассивные ИК, пассивные ИК с радио передающей системой, пассивные датчики движения с различной модуляцией сигнала);

дымовые (оптические и неоптические, оптический датчик с радио передающей системой);

герконовые, универсальные, для контроля открытия дверей, передачи сигналов нарушения, восстановления шлейфа, разряда батарей и контроля присутствия (проводные и с радио передающей системой);

акустические датчики разбития стекла (проводные и беспроводные с радио передающей системой);

температурные датчики (проводные и беспроводные с радио передающей системой);

датчики утечки газов (проводные и беспроводные с радио передающей системой);

датчики утечки воды (проводные и беспроводные с радио передающей системой);

датчики давления (проводные и беспроводные с радио передающей системой);

дистанционно управляемые электрические адаптеры для управления включения и выключения подающего напряжения;

датчики тока (проводные и беспроводные с радио передающей системой);

датчики напряжения (проводные и беспроводные с радио передающей системой);

датчики фазы (проводные и беспроводные с радио передающей системой);

радио кнопки и радио брелоки безопасности;

радио кнопки для дистанционного включения и отключения системы.

ик - пульты;

радио пульт управления;

LCD дисплеи;

По желанию пользователя к системе могут быть подключены датчики различного назначения, используемые в системах оповещения, управления, предупреждения и контроля.

Также по желанию пользователя система может передавать индивидуальные голосовые, текстовые и мультимедийные сообщения (видео и звуковых файлов) в зависимости от сработавшего датчика, тем самым, помогая потребителю оперативно получить исчерпывающую информацию о местоположении возникшей чрезвычайной ситуации. Например: «Внимание. По адресу г. Москва, ул. Ключевая, дом 45, квартире 24, в ванной комнате утечка воды или проникновение в спальную комнату, или задымление в прихожей, или вскрытие сейфа в личном кабинете, или открытие верхнего ящика письменного стола» и многое другое.

Разнообразие голосовых и текстовых сообщений в практическом применении не имеет границ. Сообщения могут быть записаны в любой форме, любым голосом (даже собственным голосом пользователя) на любом языке мира любого диалекта.


4.7.3 Примеры контролируемых чрезвычайных ситуаций

1) «Умный Дом» голосом сообщит пользователю о несанкционированном проникновении на объект, назовет конкретное место сработавшего датчика, включит систему имитации присутствия человека (свет в комнатах, сирена, лай собаки, голос хозяина, выстрелов и тп.).

) «Умный Дом» перекроет горячее и холодное водоснабжение всего объекта; голосом сообщит об утечки воды.

) «Умный Дом» перекроет газоснабжение, отключит электропитание всего объекта, голосом сообщит о задымлении или утечке газа и даст рекомендации по устранению негативных последствий чрезвычайной ситуации.

4) «Умный Дом» передаст варианты голосовых сообщений:

Люди подвергаются угрозе и нуждаются в срочной помощи

Ваш ребенок нуждается в помощи и т.д.

5) «Умный Дом» голосом сообщит о любой индивидуально запрограммированной чрезвычайной ситуации.


Заключение


Теперь вам не надо брать в руки, каких-либо, дополнительных устройств, что бы включить любимую музыкальную композицию, или зажечь свет, достаточно «попросить» вашего незаменимого помощника, и он незамедлительно исполнит любую вашу просьбу.

Система узнает вас по голосу и запустит ваши любимые сценарии, оповестит вас, через систему оповещения, обо всем происходившем пока вас не было дома, предупредит в случае опасных ситуаций, сообщит о входящих письмах, предложит прослушать и просмотреть новые сообщения.

Возможность использования голосовых сообщений:

разгружает нервную систему пользователя;

дополняет (исключает) зрительный канал передачи информации, что важно для слепых, слабовидящих, детей, пожилых людей; людей плохо читающих, или не умеющих читать;

в обстоятельствах важных с юридической точки зрения - усиливает позицию информирующей стороны.

В опциях системы предусмотрена возможность повтора голосовых сообщений пользователю, а количество повторов устанавливается по его желанию.

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

Основной принцип системы «умный дом» - организация работы электрооборудования с максимальным комфортом для его владельца, сводящая к минимуму утомительную работу по дому и обеспечивающая абсолютную безопасность проживания. Функциональные нагрузки между бытовыми приборами распределяются крайне рационально, возникающие неполадки обнаруживаются мгновенно, и риск поломки аппаратуры практически исключается. Иными словами, после установки системы «умный дом» оборудование находится под постоянным контролем его владельца.

Оборудование «умного дома» избавляет владельца от десятков неуместных и обременительных действий, и в большинстве случаев позволяет сэкономить не только время и силы, но и деньги.

С установкой системы «умный дом» полностью меняются представления человека о том, каким должно быть жилье. Теперь дом или квартира - это не просто стены и окна, мебель и детали интерьера. «Умный дом» - это интеллектуальный помощник, присутствие которого в жизни заметно не сразу, но обойтись без которого уже через некоторое время после его обретения просто невозможно.


Приложение А


Структура стандартной системы распознавания речи


Рисунок А1 - Система распознавания речи


Приложение Б


Фрагмент логического представления БД


Рисунок Б1 - Схема данных


Приложение В


Голосовое управление объектом. Главное окно программы


Рисунок В1 - Окно программы


Приложение Г


Кнопочная форма «Голосовое управление объектом. Авторизация пользователя»


Рисунок Г1 - Авторизация пользователя


Приложение Д


Кнопочная форма «Голосовое управление объектом. Инженерные системы»


Рисунок Д1 - Инженерные системы


Приложение Е


Кнопочная форма «Голосовое управление объектом. Система освещения»


Рисунок Е1 - Система освещения


Приложение Ж


Кнопочная форма «Голосовое управление объектом. Словарь»


Рисунок Ж1 - Словарь


Введение Современное здание, независимо от своего типа - жилой ли это дом, офисный или торговый центр, или же спортивное сооружение - представляет сложны

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ