- •Назначение и условия применения 53
- •Введение
- •1 Постановка задачи
- •2 Аналитическая часть
- •2.1Факторы, влияющие на уникальность речи
- •2.2 Система распознавания личности
- •2.3 Образец и его предобработка
- •2.3.1 Обрабатываемый образец
- •2.3.2 Предварительная обработка
- •2.4 Извлечение признаков
- •2.4.2. Кепстральные коэффициенты, основанные на линейного предсказания
- •2.5 Обработка извлеченных признаков
- •2.6 Способы классификации моделей
- •2.6.1 Вычисление расстояний
- •2.6.2. Метод опорных векторов
- •2.6.3 Модель гауссовых смесей
- •2.6.4 Метод ближайшего соседа
- •2.7 Аналогичные программы
- •VoiceKey
- •VoiceNet
- •2.8 Недостатки большинства системы идентификации по голосу
- •2.9 Действующие национальные стандарты
- •3 Конструкторская часть
- •3.1. Функциональная схема аппаратных средств
- •3.2 Функциональная схема программного средства
- •3.3 Информационная схема программного средства
- •3.4 Алгоритм программного средства
- •7. Вычисление расстояний.
- •3.5. Язык программирования и среда разработки
- •4 Документация программного средства
- •4.1 Техническое задание
- •4.1.1 Основания для разработки
- •4.1.2 Назначение разработки
- •4.1.3 Требования к программному средству
- •4.1.4 Требования к программной документации
- •4.2 Руководство системного программиста
- •4.2.1 Общие сведения о программном средстве
- •4.2.2 Структура программного средства
- •4.3 Руководство администратора
- •4.3.1 Назначение и условия применения
- •4.4 Руководство оператора
- •4.4.1 Назначение и условия применения
- •4.4.2 Выполнение программного средства
- •5. Экспериментальная часть
- •6 Организационно - экономическая часть
- •6.1 Описание эффектов от внедрения разработки
- •6.2 Планирование процесса разработки программного средства
- •Техническое задание – 15%;
- •6.3 Смета затрат на разработку
- •6.3.1 Материальные затраты
- •6.3.2 Расходы на оплату труда
- •6.3.3 Отчисления на социальные страхования от заработной платы
- •6.3.4 Амортизационные отчисления
- •6.3.5. Прочие прямые расходы
- •6.3.6 Накладные расходы
- •7 Безопасность жизнедеятельности
- •7.1 Введение
- •7.2 Анализ опасных и вредных факторов
- •7.3 Мероприятия по нормализации и защите от вредных и опасных воздействий.
- •7.4 Возможные чрезвычайные ситуации
- •7.5 Оценка напряженности трудового процесса
- •7.6. Выводы
- •Список используемой литературы
- •Приложения
4.1.4 Требования к программной документации
Требования к программной документации - это перечень документов, которые прилагаются к программному средству:
техническое задание (основания для разработки, назначение разработки, области применения, требования к программному средству);
руководство системного программиста (информация о устройстве программы, основных функциях, возможных ошибках и путей их исправления);
руководство администратора (информация об установке программного средства, его эксплуатации и обслуживании);
руководство пользователя (информации, необходимая для упрощения эксплуатации программы пользователями).
4.2 Руководство системного программиста
4.2.1 Общие сведения о программном средстве
Программное средство предназначено для идентификации личности по голосу, запрета в доступе лиц не прошедших идентификацию, и допуск для тех, кто удачно прошел данный этап.
4.2.2 Структура программного средства
Программное средство состоит из 2 частей - основная программа и база данных.
Основная программа имеет графический интерфейс и предназначена для регистрации новых пользователей, а так же идентификации пользователя по голосу. На входе основной программы человеческая речь, а на выходе кепстральные коэффициенты, которые при сравнении дают результат: идентифицировать или не идентифицировать человека.
База данных состоит из главного файла, где хранятся все логины зарегистрированных пользователей, а так же файлы, в которых находятся все кепстральные коэффициенты каждого пользователя отдельно .
Во время работы программы идет прямое взаимодействие основной программы и базы данных. При регистрации в основной программе данные пользователя сохраняются в базе данных, а так же при идентификации идет прямое обращение к базе данных, чтобы сравнить кепстральные коэффициенты, которые там записаны, и вывести результат на экран.
В таблице 4.1 представлены все основные функции программного средства, а так же их описания.
Таблица 4.1 Основные функции программного средства
Название функции |
Описание функции |
waveInOpen (&hWaveIn, WAVE_MAPPER, &pFormat, 0L, 0L, WAVE_FORMAT_DIRECT) |
Открывает устройство записи звука, то есть микрофон. |
waveInPrepareHeader (hWaveIn, &WaveInHdr, sizeof(WAVEHDR)) |
Подготавливает буфер к передаче устройству записи. hWaveIn - идентификатор устройства, полученный функцией waveInOpen. В параметре &WaveInHdr программа передает в функцию указатель на структуру типа WAVEHDR, содержащую описание буфера и ссылку на массив передаваемых данных. |
waveAddBuffer (hWaveIn, &waveInHdr, sizeof(WAVEHDR)) |
Передает подготовленный буфер памяти драйверу устройства ввода. |
waveInStart (hwaveIn) |
Запускает процесс ввода данных. |
waveInClose (hWaveIn) |
Закрывает устройство ввода. |
fopen(fileToOpen, "r") |
Считывание файла с признаками из базы данных. |
void WriteAudio (string name) |
Запись речи, произнесенной в микрофон. |
int StartRecord (char* data, int lenght) |
Функция захвата аудио. |
int StartPlayback (char* data, int lenght) |
Функция воспроизведения . |
allocationSegment (SignalWavAddZero, NSegment, IndexSegment) |
Разбитие входного сигнала на перекрывающие области. |
mFilter (n, N) |
Фильтр для каждого сегмента входной записи, с целью ликвидации посторонних шумов. |
PSpectrSegment() |
Вычисляет спектр каждого сегмента. |
Half(K_Filtr, C, 1, ff) |
Построение треугольных перекрывающих фильтров в мел-частотной области. |
KepstrKoeffSegment (PSpectrSegment, NSpectrSegment, K_Filtr) |
Вычисление мел-частотных кепстральных коеффициентов для каждого сегмента. |
Rasstmin (C1, C2) |
Расчет евклидового расстояния между двумя записями речи. |
