рефераты рефераты
Главная страница > Дипломная работа: Разработка программного обеспечения для голосового управления трехмерными моделями функционирования промышленных роботов  
Дипломная работа: Разработка программного обеспечения для голосового управления трехмерными моделями функционирования промышленных роботов
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Дипломная работа: Разработка программного обеспечения для голосового управления трехмерными моделями функционирования промышленных роботов

Теперь предстоит подготовить заголовки, которые будут отправляться драйверу. Для этого есть функция waveOutPrepareHeader

MMRESULT waveOutPrepareHeader(HWAVEOUT hwo,

LPWAVEHDR pwh,

UINT cbwh);

Возвращаемые параметры те же. Внутренняя структура:

hwo - идентификатор устройства воспроизведения (полученный

после вызова функции waveOutOpen).

pwh - указатель на структуру wavehdr_tag; cbwh - размер структуры wavehdr_tag.

Теперь структура wavehdr_tag. Она выглядит так же, как и в случае записи.

После окончания работы с этим заголовком нужно освободить его с помощью функции waveOutUnprepareHeader.

Теперь нужно отправить подготовленный заголовок драйверу. Для этого используется функция waveOutWrite, которая выглядит следующим образом:

MMRESULT waveOutWrite (HWAVEOUT hwo,

LPWAVEHDR pwh,

UINT cbwh);

В ней:

hwo - идентификатор устройства воспроизведения;

pwh - это указатель на структуру, сформированную с помощью waveOutPrepareHeader;

cbwh - размер структуры wavehdr. Возвращаемые значения те же, что и при открытии звуковой карты.

После вывода звука нужно вызвать waveOutUnprepareHeader, чтобы очистить заголовки и закрыть устройство. Теперь необходимо закрыть устройство с помощью функции waveOutClose. Она имеет следующий вид:

MMRESULT waveOutClose (HWAVEOUT hwo);

Параметр hwo указывает на устройство вывода. Если функция завершается успешно, дескриптор не больше действителен после этого вызова. Функция возвращает MMSYSERR_NOERROR, если всё проходит успешно, если есть ошибки, возвращается одно из значений, приведенных в табл. 3.7.

Если устройство ещё воспроизводит звуковой файл, функция его не закрывает. Необходимо использовать функцию waveOutReset, чтобы закончить воспроизведение перед запросом waveOutClose.

Таблица 3.7 - Возвращаемые значения

Ошибка Значение
MMSYSERR_INVALHANDLE указанный дескриптор устройства недействителен
MMSYSERR_NODRIVER нет драйвера для устройства
MMSYSERR_NOMEM невозможно использовать память
WAVERR_STILLPLAYING буфер, указанный pwh, занят

waveOutReset останавливает воспроизведение на указанном вывода и сбрасывает текущую координату в нолю. Воспроизведение из буферов отмечается как выполнено и управление передаётся приложению. Функция имеет следующий вид:

MMRESULT waveOutReset (HWAVEOUT hwo);

Параметр hwo указывает на устройство вывода.

Функция возвращает MMSYSERR_NOERROR, если всё проходит успешно, если есть ошибки, возвращается одно из значений, приведенных в табл. 3.8 [14,15].

Таблица 3.8 - Возвращаемые значения

Ошибка Значение
MMSYSERR_INVALHANDLE указанный дескриптор устройства недействителен
MMSYSERR_NODRIVER нет драйвера для устройства
MMSYSERR_NOMEM невозможно использовать память
MMSYSERR_NOTSUPPORTED указанное устройство является синхронным и не поддерживает приостановку

3.2 Реализация программного обеспечения для записи, воспроизведения и анализа звукового сигнала

Для реализации программного обеспечения для записи. воспроизведения и анализа звукового сигнала были созданы следующие окна: главное окно программы, окно добавления слова в словарь, окно записи и обработки звука и окна, обеспечивающие просмотр рассчитанных характеристик в виде графиков.

В главном окне обеспечивается просмотр и редактирование существующих словарей, а также их сохранение. Это окно содержит главное меню, панель управления и рабочую область приложения. Главное меню состоит из следующих пунктов: File, Edit, View, Help. Нажатие на пункт File позволяет создать новый файл, открыть существующий файл с расширением *.spl, открыть недавно использованный файл, сохранить новый файл и сохранить существующий файл под другим именем, выйти из программы. При нажатии на пункт Edit можно выбрать одно из предлагаемых действий: добавить слово, удалить слово, воспроизводить звук выделенного слова в рабочей области приложения. Пункт View отвечает за вид главного окна: наличие или отсутствие панели управления и строки состояния.

В панели управления присутствуют следующие кнопки: создание нового файла, открытие существующего файла, сохранение файла, удаление и добавление слова, воспроизведение слова,

Для воспроизведения выбранного слова требуется лишь нажать на соответствующую кнопку в панели управления либо выбрать Edit->Play Sound.

Для записи нового слова требуется нажать на соответствующую кнопку в панели управления либо выбрать Edit->Add Word. При этом появляется новое окно, основанное на диалоговой форме, в котором есть поле для ввода буквенного обозначения нового слова. После ввода слова в поле Word, необходимо нажать кнопку Record. После этого появляется новое окно, также основанное на диалоговом окне. Это окно обеспечивает запись и анализ нового слова. Для записи нового слова, прежде всего, необходимо выбрать в поле Source присутствующую в данном компьютере звуковую карту. Далее в поле Format необходимо выбрать формат записываемых данных. Предлагаются форматы данных, приведенные в табл. 3.9.

Выбор формата записываемых данных необходимо осуществлять исходя из следуюпщх предпосылок: с одной стороны, чем выше частота дискретизации (количество элементов в секунду), чем выше количество каналов и чем выше количество бит в элементе, тем выше качество записи, а потом и воспроизведения звука; с другой стороны, чем выше эти параметры, тем сложнее проводить анализ звука, тем дольше обрабатываются данные. Поэтому для решения поставленной задачи выбирается частота дискретизации 11025 Гц, выбирается моно-режим, т.е. количество каналов=1, и количество бит в элементе=8.

После этого всё уже готово для записи. Для непосредственного осуществления записи звукового аналога слова необходимо нажать на кнопку Record.

Таблица 3.9 - Форматы данных

Название Количество Частота Количество
каналов дискретизации бит
WAVE_FORMAT_1M08 1 11025 8
WAVE_FORMAT_1M16 1 11025 16
WAVE_FORMAT_J S08 2 11025 8
WAVE_FORMAT_lS16 2 11025 16
WAVE_FORMAT_2M08 1 22050 8
WAVE_FORMAT_2M16 1 22050 16
WAVE_FORMAT_2S08 2 22050 8
W AVE_FORMAT_2 S16 2 22050 16
WAVE_FORMAT_4M08 1 44100 8
WA VE_FORMAT_4Ml 6 1 44100 16
WAVE_FORMAT_4S08 2 44100 8
WAVE_FORMAT_4S16 2 44100 16

После нажатия на кнопку Record, в программе устанавливается режим работы программы - запись. При этом вызываются функции, которые

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21

рефераты
Новости