
- •Домашнее задание
- •Порядок выполнения работы:
- •Часть 1: Разработка простого алгоритма распознавания речевых команд
- •1.1. Ознакомление с возможностями программ CoolEdit Pro и Spectra_Lab
- •1.2 Запись команд
- •1.3. Обработка записанных треков
- •1.4. Построение ачх каждого слова и занесение данных в программу Excel
- •1.5 Построение векторов признаков
- •Часть 2: Построение нечетко-логического алгоритма распознавания голосовых команд
- •2.1 Общие сведения
- •2.2 Ознакомление с главным окном программы FuzzyLogictoolbox
- •2.3 Создание входных переменных
- •2.4 Формирование выходных переменных и базы правил
- •2.5 Заключение
- •Часть 3: Автоматизация
- •3.1 База данных признаков
- •3.2 Постановка задачи
- •3.3 Построение нечетко-логической модели
- •3.4 Распознавание слова
- •Часть 4: Выполнение первой и второй части с использованием аппроксимации ачх и сравнение решения с третей частью
- •Часть 5: Алгоритм распознавания, построенный на нейронной сети
- •5.1. Построение нейронной сети
- •5.2. Обучение сети
- •5.2. Испытания модели
- •5.2.1. Испытание 1. Обучение нейросети по первому и второму файлу
- •5.2.2. Испытание 3. Обучение нейросети по среднему
- •Направления дальнейшей работы
- •Рекомендуемая литература
Порядок выполнения работы:
Домашнее задание состоит из пяти частей:
в первой части необходимо самостоятельно разработать простой алгоритм распознавания речевых команд;
вторая часть посвящена оптимизации полученного алгоритма средствами нечеткой логики;
в третьей части требуется составить программу для автоматического построения нечёткой модели и векторов признаков в среде MATLAB;
в четвертой части необходимо проверить первую часть, используя алгоритмы третьей части;
наконец, в пятой части предлагается построить систему распознавания на основе нейронной сети.
Часть 1: Разработка простого алгоритма распознавания речевых команд
Для выполнения первой части домашнего задания необходимо распределиться по группам, состоящим из двух человек. Группа выбирает команды для распознавания. Далее каждый самостоятельно произносит и анализирует команды, ранее согласованные со своим коллегой. После окончания эксперимента необходимо обменяться результатами, для дальнейшего исследования системы на дикторонезависимость.
Необходимо решить следующие две задачи:
провести предварительную обработку звуковых команд и сформировать вектора признаков;
выполнить непосредственное распознавание команд.
1.1. Ознакомление с возможностями программ CoolEdit Pro и Spectra_Lab
Графический интерфейс программы CoolEdit состоит из главного и вспомогательного меню, меню управления воспроизведением/записью и рабочей области. Слева расположено окно выбора трека, внизу – индикатор допустимой амплитуды.
Существует
два режима работы этой программы
(переключаются кнопками
и
соответственно). Первый служит для
микширования, другой - для записи одного
wav-файла. В работе используется второй
режим, который позволяет записать
звуковой сигнал, вырезать ненужные
куски, клеить, накладывать эффекты,
просматривать АЧХ и др.
SpectraLab – наиболее простая программа для построения АЧХ сигнала. С ее помощью можно получить до четырех АЧХ одновременно в реальном масштабе времени, отобразить характеристики записанного файла, а также вывести полученный график в текстовом формате. Эта возможность используется в данном задании.
1.2 Запись команд
Запишем 6 любых голосовых команд, к примеру: «один», «два», «три», «четыре», «восемь» и «тринадцать». Каждую команду запишем по три раза с приблизительно одинаковой интонацией. Для этого сначала подключите микрофон к соответствующему выходу компьютера, затем откройте окно настройки звука и убедитесь, что в свойствах записи выбран микрофон (рис.2).
Откройте
окно программы CoolEdit, перейдите в режим
одного трека, затем выберите меню «File»
=> «New», параметры записи 44,1 кГц, 16 бит,
моно, можно и другие, и запишите первое
слово (кнопка
).
(При других настройках, возможны проблемы
в работе программы). Если амплитуда
«зашкаливает» за белую линию, как на
рис. 3, уменьшите уровень записи и
повторите операцию (очень малый уровень
сигнала также нежелателен). Затем
сохраните документ в формате wav. Удобнее
всего создать для каждого слова свою
директорию и сохранить в ней 3 варианта
записи. Запишите остальные файлы.
1.3. Обработка записанных треков
В основе алгоритма распознавания лежит спектральный анализ звука. Поэтому, чем меньше шумов будет в звуковом сигнале, тем лучше. Для этого необходимо удалить фрагменты, не относящиеся к слову (например, вдох и выдох). При допустимом отношении сигнал/шум на временной шкале четко видно, где шум и где слово (рис. 4). Чтобы вырезать участок сигнала из звукового файла в окне программы CoolEdit необходимо выделить его (левой кнопкой мыши) и нажать DEL.
Проделайте те же действия с остальными командами и сохраните соответствующие файлы.