Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Записка_к_курсачу

.pdf
Скачиваний:
10
Добавлен:
11.05.2015
Размер:
1.12 Mб
Скачать

 

СОДЕРЖАНИЕ

 

 

Введение…………………………………………………………….........…

.... 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