Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Алгоритм программного средстваВ данном разделе будут описаны все операции, с помощью которых идет преобразование записанной речи в кепстральные коэффициенты. Эти коэффициенты нужны для того, чтобы сравнить голос идентифицируемого человека, с голосом, который хранится в базе данных. Если разница в кепстральных коэффициентах не преодолевает пороговое значение, то происходит идентификация. 1. Входной сигнал. Входным сигналом является записанная речь с параметрами: Ø частота дискретизации - 44100 Гц; Ø число каналов - 1; Ø кодирование 16 бит. Пример входного сигнала продемонстрирован на рисунке 3.3. Рисунок 3.3. Входной сигнал
2. Разбитие входного сигнала на перекрывающие области длительностью 20 - 30 мс. Весь сигнал, который был записан, разбивается на перекрывающиеся окна определенной длительности, в конкретном случае длина каждого окна выбрана 23 мс, с целью упрощения расчетов. Отдельная область на рисунке 3.4. Рисунок 3.4. Область сигнала длительностью 0.23 мс 3. Фильтрация сегмента. Каждый сегмент сигнала нуждается в фильтрации для того, чтобы очистить человеческую речь от посторонних помех. Для этого используется формула:
. В итоге получаем сегмент, очищенный от различных шумов (рис.3.5) Рисунок 3.5. Фильтрация сегмента Профильтровав каждый сегмент, получим целиком наш сигнал, в котором нет ни шумов, ни помех, не прочих искажений, которые могут препятствовать удачной идентификации.
4. Вычисление спектра каждого сегмента. Чтобы получить спектр сигнала, нужно использовать функцию преобразования Фурье:
где k = 0,...,N-1. Пример полученного спектра сегмента представлен на рисунке 3.6. Рисунок 3.6. Спектр сегмента сигнала 5. Треугольные перекрывающие фильтры на мел-частотной области. После того, как мы получили спектр, нам нужно перевести его в мел-частотную область. Первым делом следует расположить полученный спектр на мел-шкале. Для этого используем формулу:
В итоге мы получаем окна, которые равномерно расположены на мел-оси (рис.3.7).
Рисунок 3.7. Окна на мел-оси Далее следует перевести этот график в шкалу с частотами. В итоге получим то, что показано на рисунке 3.8.
Рисунок 3.8. Частотная шкала 6. Вычисление мел-частотных кепстральных коэффициентов для каждого сегмента. На каждый сегмент сигнала приходится по 12 мел-частотных кепстральных коэффициентов. Чтобы их найти используем формулу:
где .
Часть таблицы с полученными коэффициентами сигнала представлена на рисунке 3.9.
Рисунок 3.9. Таблица мел-частотных кепстральных коэффициентов Подытожив, получим полную алгоритмическую схему разрабатываемого программного средства (рис 3.10).
Рисунок 3.10. Алгоритмическая схема программного средства
|