РАЗРАБОТКА И ПРОЕКТИРОВАНИЕ МОБИЛЬНОГО ПРИЛОЖЕНИЯ НА БАЗЕ ОС ANDROID ДЛЯ СОЗДАНИЯ ЗАМЕТОК ПРИ ПРОСЛУШИВАНИИ АУДИОКНИГ, С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИИ YANDEX SPEECHKIT
Введение 4
1. Постановка задачи 7
1.1 Технология разработки мобильного приложения 7
1.2 Вывод 11
1.3 Техническое задание 11
2. Платформа Android 16
2.1 Уровень ядра 18
2.2 Уровень библиотек 18
2.3 Уровень среды исполнения 19
2.4 Уровень каркаса приложений 20
2.5 Уровень приложений 21
3. Технологии распознавания голоса 22
3.1 Yandex SpeechKit 22
3.2 Google Speech Recognition API 24
3.3 Pocketsphinx 25
3.4 Microsoft Speech Platform 27
3.5 Сравнительный анализ 28
4. Интерфейс и функционал 31
4.1 Страницы авторизации и регистрации 31
4.2 Создание заметок при прослушивании 32
4.3 Создание заметок при помощи голоса 33
4.4 Синхронизация заметок с другими приложениями 35
4.5 Боковая навигация 36
4.6 Material Design 37
5. Библиотека для конвертирования и обрезки MP3-файла 39
5.1 Алгоритм конвертирования MP3-файла 39
5.2 Публикация библиотеки на ресурсе GitHub 43
Заключение 46
Список использованных источников
Приложение
Коммерческие программы по распознаванию речи появились в начале девяностых годов. В то время ими пользовались люди, которые были не в состоянии набирать большое количество текста в связи с различными нарушениями двигательного аппарата. Эти программы переводят голос пользователя в текст, таким образом, разгружая его руки. Надёжность перевода у таких программ не очень высока, но с годами она постепенно улучшается.
Увеличение вычислительных мощностей мобильных устройств позволило создать программы с функцией распознавания речи. Среди таких программ стоит приложение Microsoft Voice Command , которое позволяет работать со многими приложениями при помощи голоса. Например, можно включить воспроизведение музыки в плеере или создать новый файл.
Все большую популярность применение распознавания речи находит в различных сферах нашей жизни, например, врач в поликлинике может проговаривать диагнозы, которые тут же будут внесены в электронную карточку. При этом системы распознавания являются независимыми от дикторов, то есть распознают голос любого человека.
С начала нового века большое распространение получили аудиокниги. Важно заметить, что они использовались еще в конце девяностых годов, но в то время ими пользовались люди, ограниченные в возможностях зрения или трудностями в чтении.
Сейчас же это новый тренд, и доступ к аудиокнигам есть у любого желающего.
В связи с этим автором было разработано мобильное приложение для удобного прослушивания аудиокниг с использованием технологии распознавания речи. Приложение «My Notes» предназначено для решения важной проблемы. Многие пользователи слушают аудиокниги при проезде в метро, автобусе или на утренней пробежке. Представим, что при прослушивании аудиокниги, был услышан важный афоризм. Чтобы записать его, нам необходимо пройти такие этапы, как:
• достать телефон
• разблокировать его
• открыть необходимое приложение
• вспомнить фрагмент текста
• сохранить запись
Решением данных проблем служит мобильное приложение, которое максимально уменьшает количество вышеуказанных этапов. С помощью приложения можно удобно и эффективно прослушивать аудиокниги.
Актуальность выбора мобильной платформы основана на данных статистических исследований. Наиболее популярными мобильными платформами являются Android, iOS и Windows Phone. Они занимают 98,1% всего рынка мобильных операционных систем. В 82,8 % смартфонов, проданных за весь период 2015 года, была установлена операционная система Android. При этом за весь 2015 год было продано более 1 миллиарда Android-устройств. В России же рынок смартфонов в основном состоит из устройств на базе ОС Android, что свидетельствует о высокой популярности данной операционной системы в виду ее ценовой политики.
На фоне современных тенденций было принято решение о создании клиент-серверного мобильного приложения «My Notes» под платформу Android. Отсюда следуют основные цели дипломной работы:
1. Проектирование архитектуры и интерфейса мобильного приложения, удовлетворяющие общим стандартам платформы Android.
2. Анализ современных технологий распознавания речи.
3. Разработка технологии конвертирования формата mp3 в формат wav.
4. Проектирование архитектуры взаимодействия клиента и сервера.
5. Разработка и публикация открытой библиотеки для разработчиков на портале GitHub.
В результате выполнения дипломной работы были разработаны архитектура и интерфейс мобильного приложения «My Notes» для платформы Android, которое позволяет сохранять заметки при прослушивании аудиокниг.
В процессе выполнения дипломной работы были решены следующие задачи:
• Спроектирована архитектура и интерфейс мобильного приложения, которые удовлетворяют общим стандартам платформы Android,
• Проведен тщательный анализ современных технологии распознавания речи,
• Спроектирована архитектура взаимодействия клиента и сервера,
• Разработан программный продукт «My Notes»,
• Разработана и выложена на портал GitHub библиотека для конвертирования и обрезания MPS-файла.
Из рассмотренных систем распознавания речи на базе открытого исходного кода с открытым API подобрана современная быстроразвивающаяся технология распознавания речи - Yandex Speechkit, являющаяся оптимальным решением для поставленной задачи.
При разработке были получены ценные знания в области создания мобильных клиент-серверных приложений, а также необходимые в дальнейшей профессиональной деятельности навыки работы и самостоятельного изучения теоретического материала.
Дальнейшее развитие приложения предполагает под собой расширение аудитории за счет используемых устройств. На данный момент приложение поддерживается версиями операционной системы Android 4.0 и выше. В дальнейшем планируется перенести приложение на другие платформы, что позволит значительно расширить потребительскую аудиторию.
1. Брайн Харди, Билл Филлипс - Программирование под Android,
2013. - 965 с.
2. Голощапов А.Л. - Google Android. Программирование для мобильных устройств, 2013. - 1311 с.
3. Майер Р. - Professional Android 4 Application Development, 2012. - 374 с.
4. Mohri, M., Pereira, F., & Riley, M. - Speech recognition with weighted finite-state transducers. In Springer Handbook of Speech Processing, 2013 - 559-584 с.
5. Hinton, G., Deng, L., Yu, D., Dahl, G. E., Mohamed, A. R., Jaitly, N. - Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. Signal Processing Magazine, 2012. - 82-97 с.
6. Jurafsky D., Martin J.H. - Speech and language processing, 2nd edition. Prentice Hall, 2008. - 115 с.
7. Панченко Д. П. - Распознавание речи на основе искусственных нейронных сетей // Технические науки в России и за рубежом: материалы междунар. науч. конф., 2011. - 8-11 с.
8. Cedric G., Guillermo A. Speech Recognition Based On Template Matching And Phone Posterior Probabilities // Idiap Publications. Martigny, Switzerland, 2007. - 3-7 с.
9. Титов Ю. Н. Современные технологии распознавания речи // Вестник Тамбовского университета. Серия: Естественные и технические науки, 2006. - 5с.
10. Груздев О. В. Исследование сервиса Google Voice как средство распознавания речи с применением программных технологий.//Молодежный научно-технический вестник. М.,
2013. - 13с.
11. Дейтел П., Дейтел Х., Дейтел Э., Моргано М. - Android for Programmers: An App-Driven Approach, 2012. - 311 с.
12. Хашими С., Коматинени С., Маклин Д. - Разработка приложений для Android, 2011. - 256 с.
13. Коматинени С., Маклин Д. - Android 4 для профессионалов,
2014. - 315 с.
14. Медникс З., Дорнин Л., Мик Б., Накамура М. - Программирование под Android, 2013. - 234 с.
15. Google Cloud Messaging [Электронный ресурс] / Режим
доступа: https://developers. google.com/cloud-messaging/,
свободный.
16. FloatingActionButton [Электронный ресурс] / Режим доступа: https://github.com/makovkastar/FloatingActionButton, свободный.
17. Material Dialogs [Электронный ресурс] / Режим доступа: https://github.com/afollestad/material-dialogs, свободный.
18. MaterialDrawer [Электронный ресурс] / Режим доступа: https://github.com/mikepenz/MaterialDrawer, свободный.
19. SlidingTabLayout [Электронный ресурс] / Режим доступа: https://developer.android.com/samples/SlidingTabsBasic/src/com.ex ample.android.common/view/SlidingTabLayout.html, свободный.
20. Material Design [Электронный ресурс] / Режим доступа: http://www.google.com/design/spec/material-design/introduction.ht ml, свободный.
21. Android SDK для ВКонтакте [Электронный ресурс] / Режим доступа: https://developer.android.com/sdk/index.html, свободный.
22. Android-Universal-Image-Loader [Электронный ресурс] / Режим доступа:
https://github.com/nostra13/Android-Universal-Image-Loader, свободный.