Идентификация пользователя по голосу / Хабрахабр. Продолжая тему распознавания голоса, хочу поделится своей старой дипломной работой, на которую одно время возлагал надежды по доведению до коммерческого продукта, но потом оставил этот проект, выложив его в сеть на радость другим студентам.
Хотя возможно эта тема будет интересна не только в академическом ключе, а и для общего развития. Тема моей дипломной работы была «Разработка подсистемы САПР защиты от несанкционированного доступа на основе нейросетевого анализа спектральных характеристик голоса». В самом дипломе конечно много воды вроде ТБ, экономики и прочего, но есть и математическая и практическая часть, а также анализ существующих аналогичных решений.
В конце выложу программу и сам диплом, возможно еще кому- то пригодится. Итак, зачем вообще это нужно? Основным способом персонификации пользователя является указание его сетевого имени и пароля. Опасности, связанные с использованием пароля, хорошо известны: пароли забывают, хранят в неподходящем месте, наконец, их могут просто украсть. Некоторые пользователи записывают пароль на бумаге и держат эти записи рядом со своими рабочими станциями. Как сообщают группы информационных технологий многих компаний, большая часть звонков в службу поддержки связана с забытыми или утратившими силу паролями. Метод работы существующих систем.
Компьютерный форум Ru.Board » Компьютеры » Программы » Aнализ голоса. Продолжая тему распознавания голоса, хочу поделится своей старой дипломной работой, на которую В конце выложу программу и сам диплом, возможно еще кому-то пригодится. Графики спектральных характеристик визуально различаются достаточно сильно, Анализатор голоса. Для подключения платы к компьютеру, для заливки в контроллер программы графического анализатора, необходимо установить программу ST-Link, которую можно скачать на http:// Очень удобно.
Большинство биометрических систем безопасности функционируют следующим образом: в базе данных системы хранится цифровой отпечаток пальца, радужной оболочки глаза или голоса. Человек, собирающийся получить доступ к компьютерной сети, с помощью микрофона, сканера отпечатков пальцев или других устройств вводит информацию о себе в систему. Поступившие данные сравниваются с образцом, хранимым в базе данных. При распознавании образца проводится процесс, первым шагом которого является первоначальное трансформирование вводимой информации для сокращения обрабатываемого объема так, чтобы ее можно было бы подвергнуть анализу. Следующим этапом является спектральное представление речи, получившееся путем преобразования Фурье.
4.2 ( Голосов : 6) Image Analyzer - приложение, представляющее собой графический редактор. В программе реализована возможность автоматического регулирования яркости, гаммы, контраста и насыщенности изображения. Native EQ-G — 28-полосный графический эквалайзер. Простая независимая программа обработки звука, ориентированная преимущественно на голос. Анализатор направления прихода стереосигнала и фазовых. Графическое изображение Lx-волны: А –– при нормальном голосе; Б –– при.
Спектральное представление достигнуто путем использования широко- частотного анализа записи. Хотя спектральное представление речи очень полезно, необходимо помнить, что изучаемый сигнал весьма разнообразен.
Разнообразие возникает по многим причинам, включая: — различия человеческих голосов; — уровень речи говорящего; — вариации в произношении; — нормальное варьирование движения артикуляторов (языка, губ, челюсти, нёба). Затем определяются конечные выходные параметры для варьирования голоса и производится нормализация для составления шкалы параметров, а также для определения ситуационного уровня речи. Вышеописанные измененные параметры используются затем для создания шаблона.
Шаблон включается в словарь, который характеризует произнесение звуков при передаче информации говорящим, использующим эту систему. Далее в процессе распознавания новых речевых образцов (уже подвергшихся нормализации и получивших свои параметры), эти образцы сравниваются с шаблонами, уже имеющимися в базе, используя динамичное искажение и похожие метрические измерения. Возможность использования нейросетей для построения системы распознавания речи. Любой речевой сигнал можно представить как вектор в каком- либо параметрическом пространстве, затем этот вектор может быть запомнен в нейросети. Одна из моделей нейросети, обучающаяся без учителя – это самоорганизующаяся карта признаков Кохонена. В ней для множества входных сигналов формируется нейронные ансамбли, представляющие эти сигналы.
Этот алгоритм обладает способностью к статистическому усреднению, т. Как и многие другие нейросетевые алгоритмы, он осуществляет параллельную обработку информации, т.
Тем самым решается проблема со скоростью распознавания – обычно время работы нейросети составляет несколько итераций. Практическая работа используемого алгоритма. Процесс сравнивания образцов состоит из следующих стадий: — фильтрация шумов; — спектральное преобразование сигнала; — постфильтрация спектра; — лифтеринг; — наложение окна Кайзера; — сравнение. Фильтрация шумов.
Звук, образованный колебаниями всего диапазона частот, подобный тому, спектр которого показан на рисунке, называется шумом. Для того чтобы получить четкие спектральные характеристики звука их нужно отчистить от лишних шумов. Входной дискретный звуковой сигнал обрабатывается фильтрами, для того чтобы избавится от помех возникающих при записи по формуле. Xi – набор дискретных значений звукового сигнала. После обработки в сигнале ищется начало и конец записи, а так как шумы уже отфильтрованы, то начало фрагмента будет характеризоваться всплеском сигнала, если искать с Х0. Соответственно если искать с Хn вниз, то всплеск будет характеризовать конец фрагмента. Таким образом получим начала и конца фрагмента в массиве дискретных значений сигнала.
В нематематическом виде это означает, что мы нашли слово сказанное пользователем в микрофон, которое нужно усреднить с другими характеристиками голоса. Помимо высоты тона человек ощущает и другую характеристику звука — громкость. Физические величины, наиболее точно соответствующие громкости, — это шоковое давление (для звуков в воздухе) и амплитуда (для цифрового или электронного представления звука). Если говорить об оцифрованном сигнале, то амплитуда — это значение выборки. Анализируя миллионы дискретных значений уровня одного и того же звука, можно сказать о пиковой амплитуде, то есть об абсолютной величине максимального из полученных дискретных значений уровня звука.
Чтобы избежать искажения, вызванного искажением ограничения сигнала при цифровой записи звука (данное искажение возникает в том случае, если величина пиковой амплитуды выходит за границы, определяемые форматом хранения данных), необходимо обратить внимание на величину пиковой амплитуды. При этом нужно сохранять отношение сигнал/шум на максимально достижимом уровне.
Основной причиной разной громкости звуков является различное давление, оказываемое ими на уши. Можно сказать, что волны давления обладают различными уровнями мощности. Волны, несущие большую мощность, с большей силой оказывают воздействие на механизм ушей. Электрические сигналы, идущие по проводам, также передают мощность. По проводам звук обычно передается в виде переменного напряжения, и мгновенная мощность этого звука пропорциональна квадрату напряжения. Чтобы определить полную мощность за период времени, необходимо просуммировать все значения моментальной мощности за этот период. На языке математики это описывается интегралом , где — это напряжение в заданный момент времени.
Поскольку вы используете звук, представленный дискретными значениями, вам не понадобится брать интеграл. Достаточно просто сложить квадраты отсчетов. Среднее значение квадратов дискретных значений пропорционально средней мощности. Так как моментальная мощность зависит от квадрата моментальной амплитуды, имеет смысл аналогичным образом подобрать похожее соотношение, связывающее среднюю амплитуду и среднюю мощность. Способ, которым это можно сделать, заключается в определении средней амплитуды (СКЗ).
Вместо того, чтобы вычислять среднее значение непосредственно амплитуды, мы сначала возводим в квадрат полученные значения, вычисляем среднее значение получившегося множества, а затем извлекаем из него корень. Метод СКЗ применяется в том случае, когда необходимо вычислить среднее для быстро меняющейся величины. Алгебраически это выражается следующим ооразом: пусть у нас N значений и х(i) это амплитуда i- ого дискретного значения. Тогда СКЗ амплитуды = Мощность пропорциональна возведенной в квадрат величине дискретного значения. Это означает, что для перехода к реальной мощности, эту величину необходимо умножить на некоторый коэффициент. Для этого не требуются точные данные электрической мощности, так что, на самом деле, нас не интересуют точные числа, скорее относительная мощность. Относительная мощность измеряется в белах, а чаще в децибелах (д.
Б, децибел, это одна десятая бела). Чтобы сравнить два звука, берется отношение их мощности.
Десятичный логарифм этого отношения и есть различие в белах; если множить получившееся число на десять, то получится значение в децибелах. Например, если мощность одного сигнала превосходит мощность другого в два раза, то первый сигнал будет громче на 1.
Б. Спектральное преобразование сигнала. Поскольку любой звук раскладывается на синусоидальные волны, мы можем построить частотный спектр звука. Спектр частот звуковой волны представляет собой график зависимости амплитуды от частоты. Фазовые изменения часто происходят по причине временных задержек. Например, каждый цикл сигнала в 1.
Гц занимает 1/1. 00. Если задержать сигнал на 1/2. Заметим, что этот эффект опирается на зависимость между частотой и временной задержкой. Если сигнал в 2. 50 Гц задержать на те же самые 1/2.
Если сложить вместе две синусоидальные волны одинаковой частоты, то получится новая синусоидальная волна той же частоты. Это будет верно даже в том случае, если два исходных сигнала имеют разные амплитуды и фазы.
Например, Asin(2 Pi ft) и Bcos(2 Pi ft) две синусоиды с разными амплитудами и фазами, но I c одинаковой частотой. Для измерения амплитуды одной частоты нужно умножить имеющийся сигнал на синусоиду той же частоты и сложить полученные отсчеты.
Чтобы записать это в символьном виде, предположим, что отсчеты имеют значения s. Переменная t представляет собой номер отсчета (который заменяет значение времени). Измеряется амплитуду частоты f в первом приближении, при вычислении следующей суммы: Значения t и f не соответствуют в точности времени и частоте. Более того, f – целое число, а реальная исследуемая частота – это частота дискретизации, умноженная на f/N. Подобным образом, t — это целочисленный номер отсчета. Кроме того, суммирование дает не непосредственное значение амплитуды, а всего лишь число, пропорциональное амплитуде. Если повторить эти вычисления для различных значений f, то можно измерить амплитуду всех частот в сигнале.