Министерство общего и профессионального образования Свердловской области Информационно-компьютерные технологии

advertisement
Министерство общего и профессионального образования
Свердловской области
Направление:
Информационно-компьютерные технологии
Разработка системы голосового управления
Исполнитель:
ученик 8 класса МАОУ лицей № 100
Береснев Арсений Олегович
Научный руководитель:
учитель информатики МАОУ лицей № 100
Васимова Лилия Габдульяновна
Екатеринбург 2016
2
ОГЛАВЛЕНИЕ
Введение ....................................................................................................................... 4
1 Теоретические аспекты исследования ................................................................... 6
1.1 Что такое распознавание речи .......................................................................... 6
1.2 Обзор систем распознавания речи ................................................................... 7
1.3 Язык программирования ................................................................................... 7
1.4 Архитектура системы ........................................................................................ 8
2 Практическая часть исследования .......................................................................... 9
2.1 Этапы разработки............................................................................................... 9
2.2 Тестирование .................................................................................................... 10
Заключение................................................................................................................. 11
Список использованной литературы ....................................................................... 12
3
ВВЕДЕНИЕ
В настоящее время вычислительная техника используется во многих
областях
человеческой
деятельности,
являясь
удобным
и
многофункциональным инструментом для решения широкого круга задач.
Однако,
в
настоящее
время
пользователи
компьютеров
вынуждены
использовать способы взаимодействия, слабо адаптированные к возможностям
человеческого общения и ограничивающие способности человека к обмену
информацией. Основная цель усовершенствования и развития интерфейса
человек-компьютер заключается в организации обмена информацией с
компьютером таким образом, чтобы:

снизить время освоения программных и аппаратных средств;

снизить утомляемость, увеличить субъективное удовлетворение
пользователя от работы;
Распространенный в настоящее время человеко-машинный интерфейс и
пользует зрение как основной канал представления информации пользователю,
отображая все данные на экране. Воспринимать информацию естественными
для человека способами современные средства интерфейса практически не в
состоянии.
Для
обеспечения
эффективного
речевого
диалога
между
пользователем и компьютером необходимы устойчивые системы распознавания
речи, но сейчас стоит задача именно управления персональным компьютером
(ПК) при помощи голоса. Это может пригодиться в случае неисправности
основных управляющих устройств, да и к тому же это просто удобно. Если мы
захотим найти программное обеспечение (ПО) для управления ПК при помощи
голоса – мы по сути его не найдем, так как данное ПО в большей части случаев
ориентировано на англоязычных пользователей, требует много вычислительной
мощности. Поэтому было принято решение разработать данное ПО самому.
Объект исследования: процесс распознавания речи с использованием
технологии Yandex SpeechKit Cloud.
4
Предмет исследования: ПО для управления ПК при помощи голоса.
Гипотеза:
программное
обеспечение,
созданное
для
голосового
управления компьютером, позволит упростить работу с персональным
компьютером.
Цель проекта: разработать свое ПО для голосового управления ПК
Задачи:
1.Изучить работу с различными системами распознавания
2.Выбрать из систем распознавания наиболее подходящую
3.Разработать приложение для управления ПК посредством голоса
5
1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ИССЛЕДОВАНИЯ
1.1 Что такое распознавание речи
Распознавание речи — процесс преобразования речевого сигнала в
цифровую информацию.
Системы распознавания речи классифицируются:

по размеру словаря;

по зависимости от диктора;

по типу речи;

по назначению;

по используемому алгоритму;

по типу структурной единицы;

по принципу выделения структурных единиц.
Типичная архитектура статистических систем автоматической обработки
речи:
1.
Модуль шумоочистки и отделение полезного сигнала.
2.
Акустическая модель.
3.
Языковая модель.
4.
Декодер.
Этапы распознавания речи:
1.
Оценка качества речевого сигнала – определение уровня помех и
искажений.
2.
Расчет параметров речи, необходимых для распознавания в модуле
акустической адаптации.
3.
Выделение участков, содержащих речь.
4.
Сопоставление входного речевого потока с информацией, хранящейся в
акустических
и
языковых
моделях
и
определение
наиболее
вероятной
последовательности слов, которая и является конечным результатом распознавания.
6
1.2 Обзор систем распознавания речи
Критерий
Качество
Yandex SpeechKit
Google Speech API
Microsoft Speech
Высокое
Среднее
Низкое
Да
Да
Да
Цена
Есть ограничение
Бесплатно
Есть ограничение
использования
на бесплатное
на бесплатное
использование
использование
распознавания
русского языка
Онлайн
распознавание
Ограничение на
100 запросов в
запросы
сутки
50 запросов в сутки
20 запросов в
минуту, всего
5000 запросов в
месяц
Исходя из анализа систем распознавания речи был выбран Yandex
SpeechKit Cloud. Разработанное приложение использует данный сервис для
распознавания и синтеза речи.
1.3 Язык программирования
При разработке использовался Python 3, поскольку он интерпретируемый
и прост в изучении.
Разработанное ПО будет работать при наличии данных библиотек в
системе:

pyaudio;

subprocess;

requests;
7

xmltodict;

time;

json;

tkinter;
А также при установленном дополнительном ПО:

pulseaudio;

arecord;

mpg123;

curl.
1.4 Архитектура системы
Система имеет несколько составляющих:

ядро;

библиотека для работы со звуком;

интерфейс добавления записей;

модули;
Ядро представляет из себя бесконечный цикл, отправляющий запрос в
модуль работы со звуком и пересылающий результат в модули.
Библиотека работы со звуком записывает звук через arecord, отправляет
запрос на распознавание в Яндекс и возвращает полученный результат ядру;
Модули занимаются своими задачами, например запуском программ или
голосовым откликом;
Интерфейс добавления записей добавляет записи в словарь приложений.
В словаре приложений хранятся голосовые команды для запуска программ и
сами команды запуска;
8
2 ПРАКТИЧЕСКАЯ ЧАСТЬ ИССЛЕДОВАНИЯ
2.1 Этапы разработки
Разработка состояла из нескольких этапов:
1.
Изучение работы с системой распознавания.
2.
Изучение основ языка программирования.
3.
Более углубленное изучение языка программирования.
4.
Написание первой версии системы.
5.
Нахождение и исправление серьезных ошибок.
6.
Исправление мелких ошибок.
7.
Написание следующей версии приложения с учетом замечаний
тестировщиков.
Работа с системой распознавания была изучена за 1 день – запросы
посылаются через HTTP API на сервер Яндекса, результат распознавания
приходит в формате json, из него нужно достать результат распознавания.
Основы языка были изучены за 2 дня – я научился писать простые
программы, работать с различными типами данных и научился делать запросы
по HTTP протоколу.
Более углубленно язык изучался уже во время написания приложений, я
научился писать собственные библиотеки для языка и освоил объектноориентированное программирование.
Собственно приложение было написано за 11 дней. Проблемы которые
возникли во время разработки и их решения:
1.
Невозможно было получить файл с результатом синтеза речи,
решение – использование GET запроса вместо POST.
2.
Сервер прерывал соединение во время загрузки файла, решение -
посылание запроса не через библиотеку Python, a через консольную утилиту
curl, и последующий парсинг результата.
9
3.
Запуск приложений прерывал дальнейшее выполнение программы,
решение – использование метода subprocess.Popen вместо subprocess.call.
4.
Закрытие открытых при помощи системы приложений при
закрытии самой системы – еще не решено.
А так же было несколько мелких багов, которые были незначительными и
были исправлены мною в короткие сроки.
2.2 Тестирование
Тестирование проводилось пятью людьми, одним из которых был я. И
если я оценивал работоспособность системы, то все остальные оценивали
удобство работы и искали недостатки системы. Было выявлено несколько
недостатков:
1.
Отсутствие графического интерфейса.
2.
Запись полного файла и последующее распознавание вместо
потокового распознавания.
3.
Отсутствие установочного скрипта.
4.
Отсутствие руководства пользователя.
5.
Отсутствие версии для Windows.
Установочный скрипт уже создан и запустив его, устанавливается
интерпретатор python, библиотеки для него и стороннее программное
обеспечение, необходимое для работы.
Руководство пользователя находится в процессе написания, так что в
ближайшее время у новых пользователей не возникнет проблем с установкой и
использованием данного приложения.
Графический интерфейс и потоковое распознавание будут включены в
версию 2.0, она же будет портирована на Windows так как в версии 1.0 много
недостатков, так что смысл переноса отсутствует.
10
ЗАКЛЮЧЕНИЕ
Процесс распознавания речи был мною поэтапно изучен, хотя работа с
нейронными сетями и скрытыми марковскими моделями для меня остается
недостаточно изученной и в дальнейшем хотелось бы узнать о них подробнее.
Цель достигнута – получено полноценное работающее приложение для
управления ПК посредством голоса.
Задачи
были
постепенно
выполнены,
получилось
найти
самые
подходящие варианты для решения проблемы.
Проблема была окончательно не решена, так как результат сейчас имеет
довольно небольшую практическую значимость, в следующих версиях
программы будут добавляться новые функции, что поможет использовать
данное приложение более широкому кругу пользователей, в том числе и людям
с ограниченными возможностями.
11
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
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.
12
Download