Обработка речевых сигналов
Проектирование системы голосового управления в автоматизированных жилых комплексах. Распознавание и порождение (синтез) речи компьютером. Синтез устной речи. Технология поиска ключевых слов. Нейросетевое сравнение на основе простых персептронов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 19.06.2011 |
Размер файла | 4,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Реально, система представляет собой комплекс технических средств (КТС), размещённый на нескольких автоматизированных рабочих местах (АРМ), соединённых в локальную вычислительную сеть (ВС). На одном АРМ возможно совмещение нескольких подсистем, что уменьшает количество используемой вычислительной техники.
В результате анализа, для данной системной области было выбрано устройство КТС, основанное на двух АРМ, как самый оптимальный вариант. Использование одной единицы вычислительной техники не рационально в силу того, что данная машина будет слишком загружена как расчётами, так и поддержанием работоспособности самой системы, т.е. её обслуживанием. Выделение трёх рабочих мест повлечёт за собой простой вычислительной техники и увеличение средств на создание системы, что также недопустимо.
Разделение функциональных обязанностей по АРМ будет следующим. Одна из станций будет являться информационно-обслуживающей, т.е. будет заниматься вопросами хранения исходных данных, вывода документации и информационным обслуживанием.
Вторая станция будет являться рабочим местом оператора и на ней будет установлена программа защиты от несанкционированного доступа.
4.2 Описание структурной схемы разрабатываемой системы
Как уже отмечалось выше, любая система состоит из нескольких подсистем, различающихся по своему функциональному назначению. Исходя из анализа области проектирования, в разрабатываемой системе были выделены следующие подсистемы:
- подсистема регистрации пользователя в системе;
- подсистема выбора инженерной системы;
- информационная подсистема;
- подсистема авторизации пользователя.
Рассмотрим подробнее задачи, решаемые каждой подсистемой, и средства их реализации.
Подсистема регистрации пользователей, как следует из названия, предназначена для регистрации пользователей в системе. Добавление нового пользователя реализуется при помощи диалоговых языков проектирования, а в частности, диалог типа «заполнение бланков» с элементами диалога типа «меню», а так же, как альтернатива. Подсистема добавления пользователей сохраняет настройки и образцы голоса в БД системы.
Информационная подсистема необходима для хранения данных на всех этапах работы подсистемы, обеспечения взаимосвязи между остальными подсистемами, а также для сбора и хранения необходимых вспомогательных данных, таких как параметры пользователей, настройки программы, статистическая документация, образцы голоса пользователя. Данная подсистема организована в виде базы данных и имеет необходимый набор программных средств для доступа, поиска, изменения и коррекции хранимых данных. Информационная подсистема включает в себя следующие таблицы:
- образцы голоса;
- зарегистрированные в системе пользователи;
- статистическая информация;
- словарь;
- инженерные системы.
Фрагмент логического представления БД представлен в Приложении Б.
4.3 Описание работы системы распознавание речи
При запуске программа запрашивает, какое действие хочет выполнить пользователь. При выборе необходимой подпрограммы она запускается и работает отдельно от остальных подсистем.
Возможные варианты действий:
1) Регистрация пользователя - проверяется, есть ли этот пользователь в системе, если есть, то предыдущая запись удаляется при сохранении параметров пользователя.
2) Удаление пользователей - от пользователя требуется выбрать нужную запись и программа удалит его.
3) Просмотр статистики - от пользователя требуется выбрать необходимый ему тип статистики, который можно будет просмотреть, экспортировать в Excel или распечатать.
4) Войти в систему - пользователь должен ввести свое имя и ключевое слово (Приложение Г). Если в системе есть пользователь с таким именем, система его авторизует и перед пользователём откроется окно с инженерными системами (Приложение Д), где он может выбрать интересующую его систему и ввести соответствующие для её команды.
Главное окно программы представлено в приложении В.
4.4 Описание видов обеспечений
4.4.1 Описание математического обеспечения
Элементами математического обеспечения являются математические модели объекта проектирования, методы численного решения математических моделей, алгоритмы расчетов и методов оптимизации.
Оптимизация заключается в ускорении сравнивания двух образцов голоса, на основе чего должно быть вынесено решение о принадлежности голоса пользователю. Также требуется настроить систему сравнивания с учетом имеющегося оборудования, с помощью чего, при наличии звуковой подсистемы с низкой потерей качества при записи среднего и профессионального уровня, можно повысить качество сравнивания, чтобы вероятность принятия неправильного решения был минимальным. Так же при наличии современного процессора, например выбранный мной для проектируемой подсистемы распознавания речи Pentium 4 3Гц, можно увеличить ширину спектрального преобразования в 2 раза, что соответственно повысит качество распознавания.
Рассмотрим основные элементы системы распознавания речи (структурная схема представлена в приложении А):
- Необработанная речь;
- Анализ сигнала;
- Речевые кадры;
- Акустические модели;
- Акустический анализ;
- Последовательность слов.
1) Необработанная речь. Обычно, поток звуковых данных, записанный с высокой дискретизацией (20 КГц при записи с микрофона либо 8 КГц при записи с телефонной линии).
Рисунок 4.1 - Необработанная речь
2) Анализ сигнала. Поступающий сигнал должен быть изначально трансформирован и сжат, для облегчения последующей обработки. Есть различные методы для извлечения полезных параметров и сжатия исходных данных в десятки раз без потери полезной информации. Наиболее используемые методы:
- анализ Фурье;
- линейное предсказание речи;
- кепстральный анализ.
Рисунок 4.2 - Анализ сигнала
3) Речевые кадры. Результатом анализа сигнала является последовательность речевых кадров. Обычно, каждый речевой кадр - это результат анализа сигнала на небольшом отрезке времени (порядка 10 мс.), содержащий информацию об этом участке (порядка 20 коэффициентов). Для улучшения качества распознавания, в кадры может быть добавлена информация о первой или второй производной значений их коэффициентов для описания динамики изменения речи.
Рисунок 4.3 - Речевые кадры
4) Акустические модели. Для анализа состава речевых кадров требуется набор акустических моделей. Рассмотрим две наиболее распространенные из них:
- Шаблонная модель. В качестве акустической модели выступает каким-либо образом сохраненный пример распознаваемой структурной единицы (слова, команды). Вариативность распознавания такой моделью достигается путем сохранения различных вариантов произношения одного и того же элемента (множество дикторов много раз повторяют одну и ту же команду). Используется, в основном, для распознавания слов как единого целого (командные системы).
- Модель состояний. Каждое слово моделируется как последовательность состояний указывающих набор звуков, которые возможно услышать в данном участке слова, основываясь на вероятностных правилах. Этот подход используется в более масштабных системах.
5) Акустический анализ. Состоит в сопоставлении различных акустических моделей к каждому кадру речи и выдает матрицу сопоставления последовательности кадров и множества акустических моделей. Для шаблонной модели, эта матрица представляет собой Евклидово расстояние между шаблонным и распознаваемым кадром (т.е. вычисляется, как сильно отличается полученный сигнал от записанного шаблона и находится шаблон, который больше всего подходит полученному сигналу). Для моделей, основанных на состоянии, матрица состоит из вероятностей того, что данное состояние может сгенерировать данный кадр.
Корректировка времени. Используется для обработки временной вариативности, возникающей при произношении слов (например, “растягивание” или “съедание” звуков).
Рисунок 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.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. Я не останавливаюсь на выборе частоты оцифровки сигнала, хотя этот выбор играет важную роль в задаче моделирования сигнала.
Размещено на http://www.allbest.ru/
Рисунок 4.10 - Пример входного сигнала АЦП
Микрофон, используемый в процессе АЦ - преобразования, обычно вносит нежелательные примеси в сигнал, например сетевой шум (звук с частотой 50 Гц от электрической проводки), теряет часть низких и высоких частот и нелинейные искажения. АЦ - преобразователь также вносит свои собственные искажения из-за нелинейной функции передачи и колебания постоянного смещения. Пример такого сигнала показан на рисунке 4.10. Ослабление низких и высоких частот часто вызывает проблемы с алгоритмами последовательного параметрического спектрального анализа.
Главная цель процесса оцифровки заключается в получении данных речевого сигнала с высоким отношением Сигнал/Шум. В настоящее время телекоммуникационные системы обеспечивают значение этого коэффициента порядка 30 dB для приложений распознавания голоса, что более чем достаточно для получения высокой производительности таких приложений. Изменения в преобразователях, каналах и фоновом шуме, тем не менее, вызывают определенные проблемы.
4.4.4 Фильтрация спектра
Получив спектральное представление сигнала его требуется отчистить от шумов. Человеческий голос обладает известными характеристиками, и поэтому те области которые не могут являются характеристиками голоса нужно погасить.
Для этого применим функцию, которая получила название «окно Кайзера»
После фильтрации спектра нужно наложить окно Ханнинга
4.4.5 Сравнение с эталонными образцами
Основным параметром, используемым для идентификации, является мера сходства двух звуковых фрагментов. Для ее вычисления необходимо сравнить спектрограммы этих фрагментов. При этом сначала сравниваются спектры, полученные в отдельном окне, а затем вычисленные значения усредняются.
Для сравнения двух фрагментов использовался следующий подход:
Предположим что X[1..N] и Y[1..N] - массивы чисел, одинакового размера N, содержащие значения спектральной мощности первого и второго фрагментов соответственно.
Тогда мера сходства между ними вычисляется по следующей формуле
где Mx и My - математические ожидания для массивов X[] и Y[] соответственно, вычисляющиеся по следующей формуле
Данный способ вычисления меры сходства двух фрагментов представленных в виде спектра является самым оптимальным для задачи идентификации человека по его голосу.
4.5 Описание информационного обеспечения
Функционирование любой подсистемы распознание речи невозможно без соответствующей информационной поддержки.
Информационные потоки, используемые прикладными программами при работе, составляют основу информационного обеспечения. Для достижения оптимальности использования данного вида обеспечения наиболее приемлемой формой его реализации является набор интерактивных баз данных на основе реляционной модели данных, обеспечивающих контроль, хранение и управление информационными потоками.
При разработке информационного обеспечения необходимо учитывать следующие принципы:
1) независимость данных;
2) совместимость - при развитии программного и модернизации технического обеспечения компоненты информационного обеспечения должны сохранять работоспособность;
3) не избыточность данных - информационное обеспечение должно представлять собой совокупность интегрированных данных, являющихся основной частью информационного потока;
4) защита данных - учитывая реалии рыночной экономики, необходимо предусмотреть защиту данных от несанкционированного доступа;
5) целостность данных - информационное обеспечение должно предотвращать нарушение структуры данных пользователем.
В данной системе используются следующие компоненты информационного обеспечения:
- образцы голоса;
- зарегистрированные в системе пользователи;
- статистическая информация;
- словарь;
- инженерные системы.
Компонента образцов голоса содержит образцы голоса пользователя. База Данных зарегистрированных в системе пользователей содержит информацию о зарегистрированных в системе пользователях, их именах, логинах, настройках.
Компонента словарь содержит словари по разным инженерным системам.
Фрагмент Схемы, описывающую таблицы, в которых хранятся данные предметной области и связи между ними представлен в Приложении Б, соответствующие логике предметной области, называют инфологической моделью базы данных.
В реляционных базах данных схема содержит как структурную, так и семантическую информацию. Структурная информация связана с объявлением отношений, а семантическая выражается множеством известных функциональных зависимостей между атрибутами отношений, указанных в схеме. Однако некоторые функциональные зависимости могут быть нежелательными из-за побочных эффектов или аномалий, которые они вызывают при модификации данных. В этом случае необходимо прибегнуть к процедуре, называемой декомпозицией, при которой данное множество отношений заменяется другим множеством отношений (число их возрастает), являющихся проекцией первых. Цель этой процедуры - устранить нежелательные функциональные зависимости (а, следовательно, и аномалии), что составляет суть процесса нормализации. Таким образом, нормализация - это пошаговый обратимый процесс замены данной схемы (совокупности отношений) другой схемой, в которой отношения имеют более простую и регулярную структуру. При этом возникает проблема обратимости, т.е. возможность восстановления исходной схемы. Это значит, что декомпозиция должна сохранять эквивалентность схем при замене одной схемы на другую. Для обеспечения эквивалентности схем необходима декомпозиция, гарантирующая отсутствие потерь, и сохраняющая зависимости. Декомпозиция без потерь гарантирует обратимость, т.е. получение исходного множества отношений путем применения последовательности естественных соединений над их проекциями. При этом в результирующем отношении не должны появляться ранее отсутствующие записи, являющиеся результатом ошибочного соединения. Соединение зависимостей подразумевает выполнение исходного множества функциональных зависимостей на отношениях новой схемы.
В связи со спецификой предметной области предложенная инфологическая модель базы данных системы защиты от несанкционированного доступа является нормализованной и полностью соответствует требованиям предметной области. В её состав входят все таблицы, необходимые для хранения требуемых данных; система связей (функциональных зависимостей) между таблицами соответствует логике данных предметной области и не содержит нежелательных зависимостей, приводящих к побочным эффектам. На основе приведенной инфологической модели базы данных может быть разработана даталогическая модель базы данных разработанной подсистемы. При описании полей были использованы следующие обозначения:
Таблица 4.1 - Образцы голоса
Наименование |
Тип |
|
Идентификатор записи |
Счетчик |
|
Идентификатор пользователя |
Числовой |
|
Номер записи |
Числовой |
|
Информация о удалении |
Числовой |
Таблица 4.2 - Зарегистрированные в системе пользователи
Наименование |
Тип |
|
Имя пользователя |
Текстовый |
|
Идентификатор пользователя |
Числовой |
|
Логин |
Текстовый |
|
Полное имя |
Текстовый |
|
Характеристики |
Текстовый |
|
Информация о удалении |
Числовой |
Таблица 4.3 - Статистическая информация
Наименование |
Тип |
|
Идентификатор пользователя |
Числовой |
|
Идентификатор записи |
Счетчик |
|
Совершенное действие |
Текстовый |
|
Время |
Дата/время |
|
Дата |
Дата/время |
|
Информация о удалении |
Числовой |
Таблица 4.4 - Инженерные системы
Наименование |
Тип |
|
Идентификатор системы |
Счетчик |
|
Наименование |
Текстовый |
|
Описание |
Текстовый |
|
Тип датчика |
Текстовый |
|
Идентификатор словаря |
Числовой |
Таблица 4.5 - Словари
Наименование |
Тип |
|
Идентификатор словаря |
Счетчик |
|
Варианты распознавания |
Текстовый |
|
Допустимое отклонение |
Числовой |
Приведенная выше даталогическая модель данных имеет минимальный объем избыточных данных.
4.6 Структурно-алгоритмическая организация
В структуре программы можно выделить логические модули. Каждому модулю присущи свои задачи, методы, вызываемые функции. Структурная схема изображена на рисунке 4.11
Размещено на http://www.allbest.ru/
Рисунок 4.11 - Структурная схема программы
Основной графический модуль - это графический интерфейс общения пользователя с программой. Пользователь при нажатии на кнопки вызывает выполнение функций из других модулей.
Модуль выбора режима работы - это модуль для взаимодействия пользователя с программой с целью установки режима работы.
Модуль ввода речевого сигнала - это модуль, который отвечает за запись сигнала с микрофона.
Модуль создания БД эталонов - это модуль, который анализирует входной сигнал в режиме создания эталона, переводит в цифровой вид и создает БД.
Модуль анализа звукового сигнала - это модуль, который анализирует входной сигнал в режиме распознавания, и переводит в цифровой вид.
Модуль распознавания речи - это модуль, который проводит сопоставление входного сигнала и эталона в БД.
4.7 Голосовое управление умным домом
Из года в год растет популярность систем управления домашним оборудованием, которые обычно именуются "умный дом". Само по себе это очень широкое понятие, которое может означать как простейший комплекс устройств для управления, например, освещением, так и более сложные системы, управляющие сигнализацией, открыванием-закрыванием входной двери и ворот, кондиционированием воздуха, вентиляцией, отоплением - в общем, всем, что отвечает за безопасность, комфорт и уют в доме. Даже уход за домашними растениями и животными может входить в обязанности умного дома. Для этого нужно лишь ввести в словарь необходимые команды и, включив режим имитации клавиатуры, направить команды в приложение, предназначенное для ручного управления оборудованием. Вы будете говорить, а кнопки будут "нажиматься" сами.
В главном окне можно выбрать один из трех режимов распознавания: только словарь, только произвольная речь или совместно словарь и произвольная речь. (Приложение Е).
В режиме без сценария также есть возможность изменять состав словаря. Для этого щелкните мышкой на "закладку" с надписью "Словарь". Откроется редактор словаря. (Приложение Ж).
4.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" ("Темнее") следуют друг за другом без промежутка между кодами. Мы рассмотрели передачу сигналов на примере однофазной сети. В трехфазных сетях передача сигнала происходит аналогично, но "приурочена" к нулю каждой фазы.
Есть два варианта перевода алфавита в двоичный код:.
1. Русский алфавит разбить от 0 до 31 символа (с пробелом, Е=Ё, Ь=Ъ). Каждый символ задать в виде последовательности из пяти "нулей-единиц". А = 0000, Б = 0001, В = 0010, Г = 0011, ... Я = 11110, _ = 11111. Тогда получится бинарное слово, длина которого Кол-во_Символов * 5.
2. Экономное кодирование (Фано). Есть таблица, в которой каждому символу соответствует уникальный код. Чем чаще встречается символ в тексте, тем короче будет код. Например, пробел будет состоять из трех бинарных символов - 000, О = 001, ..., Ф = 111111111.
Рисунок - Код Фано
4.7.2 Работа со словарем
Набор слов, входящих в словарь, может быть изменен в соответствии с текущей задачей. Это возможно как в режиме без сценария, так и во время выполнения сценария, в котором предусмотрено такое изменение.
Основой редактора словаря является таблица "Состав словаря". Она состоит из двух колонок и может иметь любое количество строк. Первая колонка служит для сохранения числовых значений слов или их коротких идентификаторов. Вторая - для сохранения буквенных значений и клавишных команд. Каждая строка этой таблицы используется для ввода отдельного слова, отдельной фразы или отдельной клавишной команды.
Основная задача словаря сводится к выбору единственной строки таблицы, соответствующей сказанному слову. Если подходящую строку удалось найти, выполняется замена исходного слова значением одного из двух полей выбранной строки.
Слова в таблицу "Состав словаря" заносятся пользователем в соответствии с правописанием, даже если их звучание отличается от написания.
Чтобы выбрать единственную строку таблицы, программа просматривает каждую строку и отыскивает ту, которая в наибольшей степени соответствует прозвучавшему слову. Кроме того, в таблице могут быть клавишные команды, которые вообще не имеют звучания.
Редактор словаря снабжен окошечком "Варианты распознавания для слова". Оно представляет собой список, в который слова вводятся в соответствии с их звучанием. При этом каждая строка таблицы "Состав словаря" связана со своим собственным независимым списком звучаний. Однако на экране всегда отображается список только для одной строки таблицы. Чтобы увидеть список, принадлежащий другой строке таблицы, нужно просто переместиться на интересующую вас строку. Список вариантов может быть пустым.
Размер списка вариантов не ограничен, но в нем не должно быть одинаковых записей.
Когда программа находит в таблице "Состав словаря" строку в наибольшей степени соответствующую прозвучавшему слову, это означает, что данной строке принадлежит вариант распознавания минимально отличающийся от проверяемого слова, или совпадающий с ним. Степень различия (отклонение) при этом оценивается в процентах и сравнивается с максимально допустимым значением. Если отклонение превышает максимально допустимую величину, считается, что слово в словаре не найдено.
Пользователь имеет возможность изменять величину допустимого отклонения по своему усмотрению при помощи регулятора, расположенного в окне редактора словаря. Если регулятор установлен в нулевое положение, слово может быть найдено в словаре только при условии полного совпадения с одним из имеющихся вариантов распознавания. Любые несовпадения при этом исключаются. Если же наоборот, установить максимальное отклонение на уровне 100%, то любое сказанное слово обязательно будет найдено в словаре, даже если его там нет. В этом случае просто выбирается самое похожее слово, а насколько оно похожее, не проверяется. Промежуточные значения позволяют задавать компромисс между жестким и мягким режимами работы словаря.
В редакторе словаря также предусмотрена возможность его проверки в реальном времени. Это помогает установить причины ложных срабатываний или несрабатываний словаря. Нажав на кнопку "Старт", расположенную в этом же окне. Включится микрофон.
Произносите слова и наблюдайте за отображением результатов в полях Получено, "Близкое в словаре", "Отклонение" и "Результат". В поле Получено отображается слово, полученное на основном этапе распознавания. В следующем поле отображается наиболее похожее слово из всех имеющихся в словаре.
В последнем поле появляется принятое решение. Это может быть слово из таблицы "Состав словаря" (при отклонении не выше максимального значения), или знак вопроса (при чрезмерном отклонении). Кнопка Добавить к вариантам" позволяет присоединить слово, отображенное в поле Получено" к списку вариантов распознавания того слова, которое в данный момент выбрано в таблице "Состав словаря". Добавлением вариантов можно скомпенсировать небольшие ошибки распознавания, носящие постоянный характер.
4.7.2 Технические характеристики системы
1) Режим самотестирования:
- автоматический постоянный опрос различных датчиков комплекса на их идентификацию работоспособного состояния и контроль разряда элементов питания с выдачей необходимого сигнала и голосового информирования;
- автоматическое постоянное тестирование за наличием в электросети напряжения 220В, постоянного напряжения 12В, также глубокого разряда аккумуляторной батарей с выдачей необходимого сигнала, с использованием информационного сервера и оперативного информирования потребителя на любой вид телефонных аппаратов, а также переносные радиостанции.
Кроме того, в устройстве заложена возможность расширения функций системы по заказу различных пользователей.
Резервирование или дублирование:
- в комплексе заложена возможность расширения функций по заказу различных потребителей с задействованием и подключением к комплексу различной следящей аппаратуры с дальнейшей записью видео и аудио информации (при подключении к различной оптической, видео и аудио аппаратуры);
- энергопитания комплекса за счёт использования встроенных аккумуляторных батарей различной ёмкости (энергоёмкость позволяет работать комплексу не менее 4-х дней полностью в автономном режиме).
3) Типы подключаемых датчиков:
- движения (пассивные ИК, пассивные ИК с радио передающей системой, пассивные датчики движения с различной модуляцией сигнала);
- дымовые (оптические и неоптические, оптический датчик с радио передающей системой);
- герконовые, универсальные, для контроля открытия дверей, передачи сигналов нарушения, восстановления шлейфа, разряда батарей и контроля присутствия (проводные и с радио передающей системой);
- акустические датчики разбития стекла (проводные и беспроводные с радио передающей системой);
- температурные датчики (проводные и беспроводные с радио передающей системой);
- датчики утечки газов (проводные и беспроводные с радио передающей системой);
- датчики утечки воды (проводные и беспроводные с радио передающей системой);
- датчики давления (проводные и беспроводные с радио передающей системой);
- дистанционно управляемые электрические адаптеры для управления включения и выключения подающего напряжения;
- датчики тока (проводные и беспроводные с радио передающей системой);
- датчики напряжения (проводные и беспроводные с радио передающей системой);
- датчики фазы (проводные и беспроводные с радио передающей системой);
- радио кнопки и радио брелоки безопасности;
- радио кнопки для дистанционного включения и отключения системы.
- ик - пульты;
- радио пульт управления;
- LCD дисплеи;
По желанию пользователя к системе могут быть подключены датчики различного назначения, используемые в системах оповещения, управления, предупреждения и контроля.
Также по желанию пользователя система может передавать индивидуальные голосовые, текстовые и мультимедийные сообщения (видео и звуковых файлов) в зависимости от сработавшего датчика, тем самым, помогая потребителю оперативно получить исчерпывающую информацию о местоположении возникшей чрезвычайной ситуации. Например: «Внимание. По адресу г. Москва, ул. Ключевая, дом 45, квартире 24, в ванной комнате утечка воды или проникновение в спальную комнату, или задымление в прихожей, или вскрытие сейфа в личном кабинете, или открытие верхнего ящика письменного стола» и многое другое.
Разнообразие голосовых и текстовых сообщений в практическом применении не имеет границ. Сообщения могут быть записаны в любой форме, любым голосом (даже собственным голосом пользователя) на любом языке мира любого диалекта.
4.7.3 Примеры контролируемых чрезвычайных ситуаций
1) «Умный Дом» голосом сообщит пользователю о несанкционированном проникновении на объект, назовет конкретное место сработавшего датчика, включит систему имитации присутствия человека (свет в комнатах, сирена, лай собаки, голос хозяина, выстрелов и тп.).
2) «Умный Дом» перекроет горячее и холодное водоснабжение всего объекта; голосом сообщит об утечки воды.
3) «Умный Дом» перекроет газоснабжение, отключит электропитание всего объекта, голосом сообщит о задымлении или утечке газа и даст рекомендации по устранению негативных последствий чрезвычайной ситуации.
4) «Умный Дом» передаст варианты голосовых сообщений:
- Люди подвергаются угрозе и нуждаются в срочной помощи
- Ваш ребенок нуждается в помощи и т.д.
5) «Умный Дом» голосом сообщит о любой индивидуально запрограммированной чрезвычайной ситуации.
Заключение
Теперь вам не надо брать в руки, каких-либо, дополнительных устройств, что бы включить любимую музыкальную композицию, или зажечь свет, достаточно «попросить» вашего незаменимого помощника, и он незамедлительно исполнит любую вашу просьбу.
Система узнает вас по голосу и запустит ваши любимые сценарии, оповестит вас, через систему оповещения, обо всем происходившем пока вас не было дома, предупредит в случае опасных ситуаций, сообщит о входящих письмах, предложит прослушать и просмотреть новые сообщения.
Возможность использования голосовых сообщений:
- разгружает нервную систему пользователя;
- дополняет (исключает) зрительный канал передачи информации, что важно для слепых, слабовидящих, детей, пожилых людей; людей плохо читающих, или не умеющих читать;
- в обстоятельствах важных с юридической точки зрения - усиливает позицию информирующей стороны.
В опциях системы предусмотрена возможность повтора голосовых сообщений пользователю, а количество повторов устанавливается по его желанию.
В рамках дипломного проекта представлена разработка системы голосового управления в автоматизированных жилых комплексах, в частности разработка подсистемы распознавания речи, в совокупности с системой сбора и хранения информации позволяющей контролировать состояние комплексов инженерных систем жилых объектов, управлять оборудованием с помощью голоса, а так же выполнять речевые запросы к базам данных.
Основной принцип системы «умный дом» - организация работы электрооборудования с максимальным комфортом для его владельца, сводящая к минимуму утомительную работу по дому и обеспечивающая абсолютную безопасность проживания. Функциональные нагрузки между бытовыми приборами распределяются крайне рационально, возникающие неполадки обнаруживаются мгновенно, и риск поломки аппаратуры практически исключается. Иными словами, после установки системы «умный дом» оборудование находится под постоянным контролем его владельца.
Оборудование «умного дома» избавляет владельца от десятков неуместных и обременительных действий, и в большинстве случаев позволяет сэкономить не только время и силы, но и деньги.
С установкой системы «умный дом» полностью меняются представления человека о том, каким должно быть жилье. Теперь дом или квартира - это не просто стены и окна, мебель и детали интерьера. «Умный дом» - это интеллектуальный помощник, присутствие которого в жизни заметно не сразу, но обойтись без которого уже через некоторое время после его обретения просто невозможно.
Приложение А
Структура стандартной системы распознавания речи
Рисунок А1 - Система распознавания речи
Приложение Б
Фрагмент логического представления БД
Рисунок Б1 - Схема данных
Приложение В
Голосовое управление объектом. Главное окно программы
Рисунок В1 - Окно программы
Приложение Г
Кнопочная форма «Голосовое управление объектом. Авторизация пользователя»
Рисунок Г1 - Авторизация пользователя
Приложение Д
Кнопочная форма «Голосовое управление объектом. Инженерные системы»
Рисунок Д1 - Инженерные системы
Приложение Е
Кнопочная форма «Голосовое управление объектом. Система освещения»
Рисунок Е1 - Система освещения
Приложение Ж
Кнопочная форма «Голосовое управление объектом. Словарь»
Рисунок Ж1 - Словарь
Размещено на Allbest.ru
Подобные документы
Распознавание слов в слитной речи, изолированных слов. Проблема автоматического распознавания речи. Структурная схема устройства выделения признаков речевых сигналов. Моделирование работы блока выделения начала и окончания слова количества звуков на ЭВМ.
дипломная работа [649,5 K], добавлен 13.11.2008Разработка программной базы для исследований в области распознавания речи и поиска ключевых слов в ней. Расчет mel-фильтров. Скрытые марковские модели. Применение в алгоритме сверточного декодирования Витерби. Методы визуализации и обработки аудиоданных.
курсовая работа [1,1 M], добавлен 01.06.2015Основные цели и задачи построения систем распознавания. Построение математической модели системы распознавания образов на примере алгоритма идентификации объектов военной техники в автоматизированных телекоммуникационных комплексах систем управления.
дипломная работа [332,2 K], добавлен 30.11.2012Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
дипломная работа [1,1 M], добавлен 21.09.2016Синтез системы автоматического управления корневым методом, разработанным Т. Соколовым. Определение передаточных функций по задающему и возмущающему воздействиям. Оценка устойчивости замкнутой нескорректированной системы регулирования по критерию Гурвица.
курсовая работа [1,3 M], добавлен 26.01.2015Анализ вариантов проектных решений и выбор на его основе оптимального решения. Синтез функциональной схемы микропроцессорной системы на основе анализа исходных данных. Процесс разработки аппаратного и программного обеспечения микропроцессорной системы.
курсовая работа [469,1 K], добавлен 20.05.2014Принцип работы нейросетей и модели синтеза. Ключевые моменты проблемы распознавания речи. Система распознавания речи как самообучающаяся система. Описание системы: ввод звука, наложение первичных признаков на вход нейросети, модель и обучение нейросети.
курсовая работа [215,2 K], добавлен 19.10.2010Исследование проблемы сравнения звуковых файлов и определение степени их схожести. Сравнение файлов с использованием метода нечеткого поиска, основанного на метрике (расстоянии) Левенштейна. Сравнение MIDI-файлов и реализация алгоритмов считывания.
курсовая работа [2,0 M], добавлен 14.07.2012Эффективность применения объектного подхода для программных систем. Детальное проектирование и реализация системы, реализующей процессы создания и взаимодействия объектов. Распознавание компьютером печатных букв с помощью многослойной нейронной сети.
курсовая работа [38,0 K], добавлен 09.03.2009Разработка программы моделирования автоматизированной системы управления реактором в среде Mathcad. Математическая модель объекта, структурный и алгоритмический и параметрический синтез системы: инвариантность к возмущениям, ковариантность с заданием.
курсовая работа [1,5 M], добавлен 20.03.2014