Как стать автором
Обновить

Комментарии 17

Спасибо за статью, недавно установил себе на Android программу TouchOSC, она как раз через новый протокол работает. Можно теперь легко телефон использовать как контроллер, даже доступ к акселерометру есть :)
Спасибо за статью, когда-то давно интересовался MIDI.
Подскажите какую прогамму можно использовать при работе в Линуксе с мидиклавиатурой (MAudio, в частности).
Существует ли у кого-нибудь проблема ощутимых задержек между нажатием клавиши на мидиклавиатуре и воспроизведением звука?
Есть задержки (клавиатура Fatar), но их можно свести к неощутимым, если все настроить. Как у вас сделано подключение к компу и какой софт используется?
Ну можно использовать PureData, например ;)

По поводу задержек ничего сказать не могу, потому что так и не смог приручить линукс для работы со звуком…
jack+wine+wineasio+festige
А зачем вайн, разве он как-то влияет на задержку миди?
> Чтобы этого избежать, надо передавать сообщения в разных пакетах
Это точно правильно? Имхо, чтобы порядок не нарушился, команды должны прийти в одном пакете.
В том то и дело, что их порядок нарушается в рамках одного пакета. А если в разных пакетах передавать, то можно выполнить синхронизацию с помощью тайм-тэгов.
Как это происходит физически? У нас есть один UDP-пакет. В нем один OSC bundle, внутри которого список сообщений. Байты будут в том же порядке, в каком они были посланы. Сообщения выполняются друг за другом, как они могут перепутаться местами?
Я не специалист в сетевых штуках, в моем случае bundle = пакет (это первый вариант, предложенный гуглопереводчиком, и я счел его подходящим). На диаграмме в статье сначала идет OSC stream, в котором последовательно передаются пакеты (bundles), в которых уже находятся сообщения. Я не знаю, где вы нашли еще пакеты.

Я тоже был удивлен, когда узнал, что сообщения могут прийти в не в том порядке, в котором были отправлены. В тексте я привел ссылку на публикацию с конверенции NIME, в которой этот факт разъясняется (4 глава).
Почитал pdf по ссылке, страница 4, раздел fault tolerance, верно? Там как раз говорится, что если шлются два UDP-сообщения (они же два UDP-пакета, вот откуда я нашел еще пакет), то сам факт доставки, равно как и порядок доставки не гарантирован. Это особенность протокола.

Еще раз: если будет послано две (или больше команд) в разных UDP-сообщениях, то и прийти они могут в произвольном порядке (но внутри каждого UDP-сообщения порядок будет сохранен).
Блин, жестко я протупил, ща исправлю. Спасибо!
Шик! У самого руки бы никогда не дошли погуглить ;)
Небольшая ошибка: в таблице 1, статус байт для «Системные сообщения» должно быть должен быть 1111nnnn.
Спасибо, исправил. Копипаст такой копипаст)
А насколько широко OSC поддерживается современными железками, например, теми же MIDI-клавиатурами?
Да практически никак. Для обычных клавиатур MIDI идеален. Из контроллеров, поддерживающих OSC, я знаю только Monome.

Хоть OSC и задумывался, как замена MIDI, реально он нашел свою нишу, отличную от MIDI. Его используют почти во всех креативных программах для обмена данными: VVVV, Max/MSP, PureData, EyeCon, Processing… Список можно продолжать очень долго.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории