Как выглядит совместная работа музыкантов над проектом в современном мире? Примерно вот так:

image

— компьютер, иногда MIDI-клавиатура, специализированное ПО (например, Propellerhead Reason) и немного обсуждения.

Удалённая работа получается несколько сложнее. Как правило, обсуждение состоит из следующих шагов:
  1. в каком-то редакторе делается музыкальный набросок и сохраняется в файл
  2. файл пересылается второму участнику через чат Skype, email, DropBox или другой файлообменник
  3. набросок открывается в точно таком же редакторе точно такой же версии, правится и высылается обратно
  4. повтор до финальной версии

Сразу очевидны проблемы такого способа обмена


  1. у всех участников должно быть установлено абсолютно одинаковое ПО, иначе редактировать файлы не получится. А использование стандартного .mid малопригодно т.к. звучание будет отличаться из-за разных звуковых банков.
  2. сохранение в файл проекта не всегда является тривиальной задачей. Например, Pro Tools для целей обмена сохраняет в огромный архив всю сессию вместе с настройками, подключенными плагинами и сэмплами.

Каким должен быть идеальный сервис для совместной работы



PowerFX Soundation, Kompoz, Audiotool, Propellerhead Discover, другие решения из этой ниши имеют миллионную аудиторию. Тем не менее, все они не поддерживают полностью набор простых возможностей:
— всё должно работать в он-лайне без инсталляции дополнительного ПО и без Flash
— обязательна работа на мобильных устройствах, а значит, интерфейс встроенного редактора должен быть адаптирован под небольшие экраны и пальцевый ввод
— публикация и открытие музыкальных фрагментов должно осуществляться в один клик без переписывания файлов и пр.
— необходим импорт/экспорт в распространённые форматы (хотя бы .mid)

Реализация


Мы постарались реализовать в нашем сервисе все вышеназванные требования. Протестировать сервис можно здесь:
image

— как видно, всё открывается в один клик, качество звучания вполне достаточное для поставленных целей. Ссылки открываются из любого блога/форума (в данном случае это Reddit) без регистрации.

Технические детали


Поддержка браузерами Web Audio API сделала возможным реализацию полноценного волнового синтеза.
Большинство современных телефонов имеют достаточную мощность для отрисовки на canvas в html-странице десятков и сотен нот без видимых лагов.

Конечно есть своя ложка дёгтя
— Internet Explorer не поддерживает Web Audio (но Microsoft объявил о поддержке в новой версии).
— стандарт Web Audio меняется чаще чем хотелось бы, например метод createScriptProcessor уже объявлен устаревшим и вместо него предлагается использовать createAudioWorker.

В следующих статьях мы расскажем подробней об используемых инструментах и решениях.

Комментарии (1)


  1. KvanTTT
    12.05.2015 20:07

    Удалённая работа получается несколько сложнее. Как правило, обсуждение состоит из следующих шагов:
    в каком-то редакторе делается музыкальный набросок и сохраняется в файл
    файл пересылается второму участнику через чат Skype, email, DropBox или другой файлообменник
    набросок открывается в точно таком же редакторе точно такой же версии, правится и высылается обратно
    повтор до финальной версии

    А вот интересно, есть ли форматы, совместимые с системами контроля версий? Можно попробовать использовать, например, MusicXML.
    Идея интересная, у меня тоже крутилась. Но реализация хромает. Зачем reddit?