Разработка системы голосового управления



Скачать 86.75 Kb.
Дата11.02.2017
Размер86.75 Kb.
Просмотров76
Скачиваний0


Министерство общего и профессионального образования

Свердловской области



Направление:

Информационно-компьютерные технологии

Разработка системы голосового управления

Исполнитель:

ученик 8 класса МАОУ лицей № 100

Береснев Арсений Олегович

Научный руководитель:

учитель информатики МАОУ лицей № 100

Васимова Лилия Габдульяновна

Екатеринбург 2016

ОГЛАВЛЕНИЕ


Введение 3

1 Теоретические аспекты исследования 5

1.1 Что такое распознавание речи 5

1.2 Обзор систем распознавания речи 6

1.3 Язык программирования 6

1.4 Архитектура системы 7

2 Практическая часть исследования 8

2.1 Этапы разработки 8

2.2 Тестирование 9

Заключение 10

Список использованной литературы 11



Введение


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

  • снизить время освоения программных и аппаратных средств;

  • снизить утомляемость, увеличить субъективное удовлетворение пользователя от работы;

Распространенный в настоящее время человеко-машинный интерфейс и пользует зрение как основной канал представления информации пользователю, отображая все данные на экране. Воспринимать информацию естественными для человека способами современные средства интерфейса практически не в состоянии. Для обеспечения эффективного речевого диалога между пользователем и компьютером необходимы устойчивые системы распознавания речи, но сейчас стоит задача именно управления персональным компьютером (ПК) при помощи голоса. Это может пригодиться в случае неисправности основных управляющих устройств, да и к тому же это просто удобно. Если мы захотим найти программное обеспечение (ПО) для управления ПК при помощи голоса – мы по сути его не найдем, так как данное ПО в большей части случаев ориентировано на англоязычных пользователей, требует много вычислительной мощности. Поэтому было принято решение разработать данное ПО самому.

Объект исследования: процесс распознавания речи с использованием технологии Yandex SpeechKit Cloud.

Предмет исследования: ПО для управления ПК при помощи голоса.

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

Цель проекта: разработать свое ПО для голосового управления ПК

Задачи:

1.Изучить работу с различными системами распознавания

2.Выбрать из систем распознавания наиболее подходящую

3.Разработать приложение для управления ПК посредством голоса


1 Теоретические аспекты исследования

1.1 Что такое распознавание речи


Распознавание речи — процесс преобразования речевого сигнала в цифровую информацию.

Системы распознавания речи классифицируются:



  • по размеру словаря;

  • по зависимости от диктора;

  • по типу речи;

  • по назначению;

  • по используемому алгоритму;

  • по типу структурной единицы;

  • по принципу выделения структурных единиц.

Типичная архитектура статистических систем автоматической обработки речи:

  1. Модуль шумоочистки и отделение полезного сигнала.

  2. Акустическая модель.

  3. Языковая модель.

  4. Декодер.

Этапы распознавания речи:

  1. Оценка качества речевого сигнала – определение уровня помех и искажений.

  2. Расчет параметров речи, необходимых для распознавания в модуле акустической адаптации.

  3. Выделение участков, содержащих речь.

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

1.2 Обзор систем распознавания речи


Критерий

Yandex SpeechKit

Google Speech API

Microsoft Speech

Качество распознавания русского языка

Высокое

Среднее

Низкое

Онлайн распознавание

Да

Да

Да

Цена использования

Есть ограничение на бесплатное использование

Бесплатно

Есть ограничение на бесплатное использование

Ограничение на запросы

100 запросов в сутки

50 запросов в сутки

20 запросов в минуту, всего 5000 запросов в месяц

Исходя из анализа систем распознавания речи был выбран Yandex SpeechKit Cloud. Разработанное приложение использует данный сервис для распознавания и синтеза речи.

1.3 Язык программирования


При разработке использовался Python 3, поскольку он интерпретируемый и прост в изучении.

Разработанное ПО будет работать при наличии данных библиотек в системе:



  • pyaudio;

  • subprocess;

  • requests;

  • xmltodict;

  • time;

  • json;

  • tkinter;

А также при установленном дополнительном ПО:

  • pulseaudio;

  • arecord;

  • mpg123;

  • curl.

1.4 Архитектура системы


Система имеет несколько составляющих:

  • ядро;

  • библиотека для работы со звуком;

  • интерфейс добавления записей;

  • модули;

Ядро представляет из себя бесконечный цикл, отправляющий запрос в модуль работы со звуком и пересылающий результат в модули.

Библиотека работы со звуком записывает звук через arecord, отправляет запрос на распознавание в Яндекс и возвращает полученный результат ядру;

Модули занимаются своими задачами, например запуском программ или голосовым откликом;

Интерфейс добавления записей добавляет записи в словарь приложений. В словаре приложений хранятся голосовые команды для запуска программ и сами команды запуска;


2 Практическая часть исследования

2.1 Этапы разработки


Разработка состояла из нескольких этапов:

  1. Изучение работы с системой распознавания.

  2. Изучение основ языка программирования.

  3. Более углубленное изучение языка программирования.

  4. Написание первой версии системы.

  5. Нахождение и исправление серьезных ошибок.

  6. Исправление мелких ошибок.

  7. Написание следующей версии приложения с учетом замечаний тестировщиков.

Работа с системой распознавания была изучена за 1 день – запросы посылаются через HTTP API на сервер Яндекса, результат распознавания приходит в формате json, из него нужно достать результат распознавания.

Основы языка были изучены за 2 дня – я научился писать простые программы, работать с различными типами данных и научился делать запросы по HTTP протоколу.

Более углубленно язык изучался уже во время написания приложений, я научился писать собственные библиотеки для языка и освоил объектно-ориентированное программирование.

Собственно приложение было написано за 11 дней. Проблемы которые возникли во время разработки и их решения:



  1. Невозможно было получить файл с результатом синтеза речи, решение – использование GET запроса вместо POST.

  2. Сервер прерывал соединение во время загрузки файла, решение - посылание запроса не через библиотеку Python, a через консольную утилиту curl, и последующий парсинг результата.

  3. Запуск приложений прерывал дальнейшее выполнение программы, решение – использование метода subprocess.Popen вместо subprocess.call.

  4. Закрытие открытых при помощи системы приложений при закрытии самой системы – еще не решено.

А так же было несколько мелких багов, которые были незначительными и были исправлены мною в короткие сроки.

2.2 Тестирование


Тестирование проводилось пятью людьми, одним из которых был я. И если я оценивал работоспособность системы, то все остальные оценивали удобство работы и искали недостатки системы. Было выявлено несколько недостатков:

  1. Отсутствие графического интерфейса.

  2. Запись полного файла и последующее распознавание вместо потокового распознавания.

  3. Отсутствие установочного скрипта.

  4. Отсутствие руководства пользователя.

  5. Отсутствие версии для Windows.

Установочный скрипт уже создан и запустив его, устанавливается интерпретатор python, библиотеки для него и стороннее программное обеспечение, необходимое для работы.

Руководство пользователя находится в процессе написания, так что в ближайшее время у новых пользователей не возникнет проблем с установкой и использованием данного приложения.

Графический интерфейс и потоковое распознавание будут включены в версию 2.0, она же будет портирована на Windows так как в версии 1.0 много недостатков, так что смысл переноса отсутствует.

Заключение


Процесс распознавания речи был мною поэтапно изучен, хотя работа с нейронными сетями и скрытыми марковскими моделями для меня остается недостаточно изученной и в дальнейшем хотелось бы узнать о них подробнее.

Цель достигнута – получено полноценное работающее приложение для управления ПК посредством голоса.

Задачи были постепенно выполнены, получилось найти самые подходящие варианты для решения проблемы.

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


Список использованной литературы


  1. Yandex SpeechKit Cloud [Электронный ресурс]. – Режим доступа: https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-recogn-docpage.

  2. Распознавание речи – Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/.

  3. Python 3 для начинающих [Электронный ресурс]. – Режим доступа: http://pythonworld.ru.

  4. Голосовое управление компьютером и Python [Электронный ресурс]. – Режим доступа: http://habrahabr.ru/post/263423.




Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал