Сервис для совместной игры музыкантов jamhub

Я музыкант-любитель. У меня есть друзья-музыканты, и часто бывает, мы собираемся вместе в одном помещении и импровизируем. Это называется «джем». Сейчас мои друзья разъехались по разным городам, да и снять место для совместной игры стало труднее. Однако с этим, наше желание играть вместе нисколько не уменьшилось, поэтому я стал думать о том, чтобы частично перенести этот опыт в онлайн.

Сначала мы попробовали играть в голосовых чатах: в дискорде и mubmle, однако вскоре убедились, что они совсем не подходят для этой задачи. Голосовой WebRTC чат даже в пределах одного региона не может обеспечить задержку, необходимую для комфортной игры: мы постоянно сбивались с ритма, и общее впечатление от игры оставляло желать лучшего. Если вы хотите убедиться в этом сами, соберите дискорд на 4 человека и договоритесь «на счёт три» сказать что-нибудь (едва ли у вас получится сделать это синхронно). Тогда мне подумалось, что чтобы сократить задержку, вовсе не обязательно передавать аудио информацию, а достаточно будет передачи событий нажатия клавиши, отпускания клавиши, педали sustain и так далее — другими словами, MIDI-события с последующим проигрыванием их на стороне клиента. Так появился jamhub.

Скриншот интерфейса jamhub
Скриншот интерфейса jamhub

jamhub позволяет нескольким музыкантам собраться вместе и поджемить онлайн, как будто все находятся в одной комнате.

Вот несколько вещей, которые мне кажутся важными:

  • неощутимая задержка при совместной игре
  • качественная библиотека виртуальных инструментов и сэмплов
  • поддержка MIDI устройств
  • открытый исходный код, возможность поднять джем-сервер в своём регионе для достижения наименьшей задержки

ссылка попробовать — jamhub.io

Если у вас есть идеи по улучшению продукта, пишите их в комментарии здесь или на гитхабе, репосты приветствуются.

11
Начать дискуссию