Записка_к_курсачу
.pdf
|
СОДЕРЖАНИЕ |
|
|
Введение…………………………………………………………….........… |
.... 1 |
||
1 Анализ функциональных возможностей web audio api и требования к |
|||
проектируемому ПС...…………………........................ |
……………........... |
… 4 |
|
1.1 |
Анализ существующих аналогов…………………………................. 4 |
||
1.2 |
Назначение разработки.....………………………………….…........... |
6 |
1.3Состав выполняемых функций…………………………….…........... 6
1.4Обоснование выбора языка и сред разработки…………….....…..... 7 2 Моделирование предметной области и разработка функциональных
требований....................................................................………………….........10 2.1 Описание функциональности ПС…………........................................10
3Реализация программного средства…...………….………......……......... 12
3.1Используемые web audio api функции .……………………………..12
3.2Разработка программных модулей…………...…....…………..…......13 |
||
3.2.1 Основные функции программы........................................................ |
13 |
|
3.2.2 Прототип bloudPiano.......................................................................... |
14 |
|
4 Тестирование, проверка работоспособности и анализ полученных |
|
|
результатов........... |
…………………..……………………………………......16 |
|
5 Руководство пользователя……………..………………………………..... |
18 |
|
Заключение..................……………………..…....………………………....…23 |
||
Список использованных источников……......…………………………....…24 |
||
Приложение А Исходный код программы………..…….........….………..…25 |
1
ВВЕДЕНИЕ
Интернет, начав своѐ существование в 1969 году как сеть, объединившая 4 научных учреждения в США, в наши дни получил настолько широкое развитие, что более трети планеты регулярно пользуется им.
Интернет представляет собой всемирную систему объединѐнных компьютерных сетей для хранения и передачи информации. Часто упоминается как всемирная сеть и глобальная сеть, а также просто сеть. Построена на базе стека протоколов TCP/IP. На основе Интернета работает Всемирная паутина (World Wide Web, WWW) и множество других систем передачи данных, о которой и пойдѐт речь.
Всемирная паутина (англ. World Wide Web) - распределѐнная система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключенных к Интернету. Всемирную паутину образуют сотни миллионов веб-серверов. Большинство ресурсов всемирной паутины основаны на технологии гипертекста. Гипертекстовые документы, размещаемые во Всемирной паутине, называются веб-страницами. Несколько веб-страниц, объединѐнных общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом.
Изобретателями всемирной паутины считаются Тим Бернерс-Ли и, в меньшей степени, Роберт Кайо. Тим Бернерс-Ли является автором технологий HTTP, URI/URL и HTML. В 1980 году он работал в Европейском совете по ядерным исследованиям консультантом по программному обеспечению. Именно там, в Женеве, он для собственных нужд написал программу «Энквайр», которая использовала случайные ассоциации для хранения данных и заложила концептуальную основу для Всемирной паутины.
В 1989 году, работая в CERN над внутренней сетью организации, Тим Бернерс-Ли предложил глобальный гипертекстовый проект, теперь известный как Всемирная паутина. Проект подразумевал публикацию гипертекстовых документов, связанных между собой гиперссылками, что облегчило бы поиск и консолидацию информации для учѐных CERN. Для осуществления проекта Тимом Бернерсом-Ли (совместно с его помощниками) были изобретены идентификаторы URI, протокол HTTP и язык HTML. Это технологии, без которых уже нельзя себе представить современный Интернет. В период с 1991 по 1993 год Бернерс-Ли усовершенствовал технические спецификации этих стандартов и опубликовал их. Но, всѐ же, официально годом рождения Всемирной паутины нужно считать 1989 год.
Первый в мире веб-сайт был размещѐн Бернерсом-Ли 6 августа 1991 года на первом веб-сервере доступном по адресу http://info.cern.ch/. Ресурс определял понятие Всемирной паутины, содержал инструкции по установке веб-сервера,
2
использования браузера и т. п. Этот сайт также являлся первым в мире интернеткаталогом, потому что позже Тим Бернерс-Ли разместил и поддерживал там список ссылок на другие сайты.
Основными технологиями, которые использует Всемирная паутина на данный момент, являются HTML , CSS, Javascript.
-HTML - Hyper text markup language - стандартный язык разметки документов во всемирной паутине. На данный момент последняя стандартизированная версияHTML5, сильно расширяющая мультимедийные возможности этого языка;
-CSS - Cascading Style Sheets - формальный язык описания внешнего вида документа, написанного с использованием языка разметки;
-JavaScipt - прототипно-ориентированный язык программирования. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
3
1 АНАЛИЗ ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ WEB AUDIO API И ТРЕБОВАНИЯ К ПРОЕКТИРУЕМОМУ ПС
1.1 Анализ существующих аналогов
На данный момент существует не так много аналогов, использующих такой мощный инструмент, как web audio, одним из них является сервис
SoundCloud.com(рис 1.1)
Рисунок 1.1 - Окно проигрывания аудио в soundCloud
Сервис предоставляет возможность проигрывания аудио, сохранения плейлистов, хранения аудиофайлов, возможность демонстрации своих идей широкому сообществу.
SynthTemplate(рис. 1.2) - Небольшое веб-приложение, хорошо отражающее некоторые возможности web audio по генерации и манипуляции со звуком: любая нота, на которую нажимает пользователь генерируется соответственно “в процессе”, т.е в приложении нет каких-либо шаблонов, что показывает, насколько мощным инструментом может стать в ближайшем времени web audio.
4
Рисунок 1.2 - Окно приложения synthTemplate
Pitch Detection(рис. 1.3) - Программа, показывающая анализирующие возможности web audio(в данном случаеопределение частоты колебаний и перевод их в определенные ноты).
5
Рисунок 1.3 - Окно приложения Pitch detection
Помимо общих функций, описанных в аналогах выше, это далеко не полный набор того, что умеет web audio.
1.2 Назначение разработки
Основное назначение ПС заключается в следующих возможностях:
Демонстрация возможностей платформы;
Анализирование аудио контента;
Воспроизведение аудио;
Визуализация;
Генерация и управление звуком.
1.3 Состав выполняемых функций
ПС предоставляет функции реализующие следующие возможности:
Загрузка и воспроизведение аудио;
Возможность генерации звуков, используя математические формулы;
Визуализация звукового спектра;
Работа с “высотой” звука;
Возможность сохранения шаблонов.
6
1.4 Обоснование выбора языка и сред разработки
В качестве инструмента для создания ПО был выбран фреймворк ruby on rails и web audio api, включенный в javascript .
Ruby on Rails - фреймворк, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (рис 1.4) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
Основными компонентами приложений Ruby on Rails являются модель представление и контроллер. Ruby on Rails использует REST-стиль построения веб-приложений.
Модель предоставляет остальным компонентам приложения объектноориентированное отображение данных (таких как каталог продуктов или список заказов). Объекты модели могут осуществлять загрузку и сохранение данных в реляционной базе данных, а также реализуют бизнес-логику.
Для хранения объектов модели в реляционной СУБД по умолчанию в Rails 3 использована библиотека ActiveRecord. Конкурирующий аналог - DataMapper. Существуют плагины для работы с нереляционными базами данных, например Mongoid для работы с MongoDB.
Представление создает пользовательский интерфейс с использованием полученных от контроллера данных. Представление также передает запросы пользователя на манипуляцию данными в контроллер (как правило, представление не изменяет непосредственно модель).
В Ruby on Rails представление описывается при помощи шаблонов ERB. Они представляют собой файлы HTML с дополнительными включениями фрагментов кода Ruby (Embedded Ruby или ERb). Вывод, сгенерированный встроенным кодом Ruby, включается в текст шаблона, после чего получившаяся страница HTML возвращается пользователю. Кроме ERB возможно использовать ещѐ около 20 шаблонизаторов, в том числе Haml.
Контроллер в Rails - это набор логики, запускаемой после получения HTTP-запроса сервером. Контроллер отвечает за вызов методов модели и запускает формирование представления.
7
Рисунок 1.4 - Схематическое представление архитектуры модель- представление-контроллер
Web Audio API - одна из новинок, которая значительно расширяет возможности web приложений при работе со звуком. Это мощнейший инструмент, без которого Вам сложно будет обойтись в будущем при разработке современных игр и интерактивных веб приложений. API достаточно высокоуровневый, продуман до мелочей, самодостаточен, легок в освоении и особенно элегантно интегрируется в приложения, использующие WebGl и WebRTC.
Важно: Web audio apiэто не элемент <audio> и не его надстройка! (примерное различие в спектре возможностей можно увидеть на рис. 1.5).
8
Рисунок 1.5 - Схематическое сравнение возможностей web audio api и тега
<audio>
9
2МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И РАЗРАБОТКА ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ
2.1 Описание функциональности ПС
На рисунке 2.1 приведено описание последовательности действий, которые может осуществлять ПС.
Рисунок 2.1 - Варианты использования
2.2 Спецификация функциональных требований
Любой пользователь должен иметь возможность зарегистрироваться или авторизоваться на ресурсе;
Возможность добавления произвольных аудиофайлов;
Пользователь должен видеть обработку аудио в реальном времени(визуализацию);
10