Записи с меткой «ejamming»

Музыка/ О задержках звука в eJamming

28.03.2011

Первый вопрос, который возникает у большинства людей при фразе «Играть вместе музыку в реальном времени через Интернет» — а как быть с задержками звука? Любой, кто хоть раз пытался по скайпу выпить, в потом спеть дуэтом «Ой, мороз, мороз», знает, что это почти невозможно; все время кажется, что другой человек поет не в такт.

Даже если бы мы обладали идеальными каналами связи, если бы отсутствовали задержки при кодировании и декодировании звука — все равно в наблюдаемой нами части Вселенной предельная скорость распространения сигнала составляет около 300 тыс. км в секунду. А это значит, что если один человек находится в Москве, а другой в Нью-Йорке, то расстояние между ними будет примерно 7500 км, минимальное время передачи сигнала на такое расстояние составляет 25 мс. Такая задержка уже заметна на слух. В реальности все еще хуже, задержка с Америкой составляет около 100 мс. Как же эта проблема решена в eJamming?

Принципиально — никак. Но есть множество хитростей. Во-первых, создатели eJamming хорошо потрудились над технической частью, чтобы уменьшить непосредственно величину задержки. Они используют быстрый кодек для аудио и peer-to-peer технологию, музыканты связываются непосредственно друг с другом без промежуточных серверов. Именно по этой причине для использования eJamming необходим внешний IP адрес и открытый входящий порт. Средняя задержка с Европой получается 50 мс, с Америкой и Канадой — 100 мс. Если же играть с людьми из своего города, особенно с развитой сетью Интернет, как например в Москве, то можно добиться задержки в 1-2 мс, что уже неразличимо на слух. В этом случае возможна совместная игра в реальном времени как «в живую».

Во-вторых, при игре, скажем, вдвоем, один из играющих не ощущает наличие задержки совсем. Поясню. Допустим, один играет на ударных и задает ритм. Его звук доходит до второго музыканта и тот играет с ним в такт. Так как у второго музыканта нет другого источника синхронизации кроме ударных, ему кажется, что он играет точно в такт безо всяких задержек. Однако его звук возвращается к барабанщику с задержкой, и он ее уже слышит. Но и «страдания» барабанщика можно свести на нет, если партия второго музыканта является не сильно ритмичной, скажем, какая-нибудь расплывчатая импровизация. Тогда барабанщик просто не сможет понять, то ли его партнер играет не в такт, то ли это просто такое синкопированное соло. Главное в такой схеме, чтобы задающий ритм человек в плане ритма слушал только себя и не пытался подстроиться под партнера. Другой пример, когда один играет тему на фортепиано, а ему подыгрывает гитарист. Гитарные импровизации обычно настолько неритмичны, что для пианиста все будет выглядеть очень естественно, и сдвиг по фазе он не заметит.

Продолжением этой схемы является чередование ведущего. То есть сначала ритмичную партию играет один музыкант, а через некоторое время второй. Тогда каждый из них получит возможность поиграть без задержки. То есть тот, кто в данным момент солирует, тот и получает всю полноту удовольствия от джема. Что, собственно, логично.

Можно играть, и не «прячась» от задержек, но для этого нужна некоторая тренировка. Дело в том, что наш мозг очень гибкий и может приспособиться у любым условиям. Можно играть, не сбиваясь, слыша, как другие люди играют в том же темпе, но со сдвигом по фазе. Это аналогично пению каноном. При определенной сноровке и от такого способа игры начинаешь получать удовольствие.

Но в любом случае задержки являются платой за возможность, не выходя из дома, поиграть с музыкантами по всему миру. Плата эта весьма умеренна, но если для вас она неприемлема, и вы получаете удовольствие только от полностью синхронной ритмичный игры — то джемы по Интернету скорее всего вам не подходят.

Музыка/ Новый джем

08.03.2011

Сыграли неплохую сессию с одним гитаристом, я с ним уже играл немножко раньше. Тех, кто дослушает до середины, ждет сюрприз — пиратская музыка.

eJamming #2 by stakanviski

,

Музыка/ Джем по Интернету с помощью eJAMMING

05.01.2011

Вчера наконец-то попробовал eJAMMING. Этот сервис позволяет играть музыку живьем через Интернет. Каждый участник запускает у себя клиент, подключает микрофон (или использует линейный выход своего инструмента, как это делал я), присоединяется к сессии и вперед. Здесь можно посмотреть видео с демонстрацией. В сессии может участвовать до 4 музыкантов, клиент есть под Windows и Mac. Понятное дело, что все сыгранное можно тут же записать. Есть элементы соцсети: можно заводить друзей, посылать друг другу сообщения и т.д.

Для корректной работы программы необходимо разрешить входящие UDP пакеты, то есть нужен внешний IP адрес. Мой провайдер внешние адреса дает за деньги (30 рублей в месяц), и у меня никогда не было желания его приобрести, даже для раздачи торрентов. NAT меня вполне устраивал. Но по такому поводу я позвонил ночью в техподдержку и попросил подключить внешний IP.

Сервис платный. При регистрации дают 30 дней на попробовать, потом $10 в месяц. Похоже, это будет вторая программа в моей жизни, за которую я заплачу. Первой была iRacing — очень реалистичный гоночный симулятор, с точными копиями реальных машин и трасс и возможностью гоняться с другими людьми по Интернету. Я даже был одним из первых пользователей, достав промо-код для предварительной регистрации. Попользовался, правда, недолго, меньше месяца, как-то резко исчезло свободное время, чтобы гоняться.

В общем, вчера ночью я все установил и настроил, нашел какого-то чувака из Ирландии (это которая северная, часть Великобритании) и мы с ним полабали. Он играл на гитаре, я на пианино. Для первого раза получилось совсем неплохо. Вроде бы даже особых задержек звука не было. Думаю, если играть с пользователями из России, будет вообще отлично.

Так что, если среди вас есть музыканты, регистрируйтесь, устанавливайте, и будем играть.

,