Задержки MIDI

Не понимаю как?
The USB-MIDI Converter typically contains one or more MIDI IN and/or MIDI OUT endpoints. These
endpoints use bulk transfers to exchange data with the Host. Consequently, a large quantity of USB-MIDI
data can simultaneously be sent by an application without missing any MIDI events. Therefore, music
applications can perform complex MIDI operations, including sending many MIDI Note On messages at the
same time to more smoothly play the most complex music.
The information flowing from the Host to a MIDI OUT endpoint is routed to the USB-MIDI function
through one or more Embedded MIDI IN Jacks, associated with that endpoint. Information going to the
Host leaves the USB-MIDI function through one or more Embedded MIDI OUT Jacks and flows through the
MIDI IN endpoint to which the Embedded MIDI Out Jacks are associated.
USB-MIDI converters can connect to multiple Embedded MIDI Jacks. Each MIDI Endpoint in a USB-MIDI
converter can be connected to up to 16 Embedded MIDI Jacks. Each Embedded MIDI Jack connected to one
MIDI Endpoint is assigned a number from 0 to 15. MIDI Data is transferred over the USB in 32-bit USB-
MIDI Event Packets, with the first 4 bits used to designate the appropriate Embedded MIDI Jack.
A 32-bit USB-MIDI Event Packet is adopted to construct multiplexed MIDI streams (MUX MIDI) that can be
sent or received by each MIDI Endpoint. At the sending end, multiple individual MIDI streams are placed
into constant sized packets (with cable number) and are interleaved into a single MUX MIDI stream. At the
receiving end, the multiplexed stream is properly demultiplexed, the data is extracted from the 32-bit USB-
MIDI Event Packets, and each original MIDI stream is routed to the indicated virtual MIDI port. In this way,
one endpoint can have multiple Embedded MIDI Jacks logically assigned. This method makes economical
use of few endpoints but requires a mux/demux process on both ends of the pipe. For more information, see
Section 4, “USB-MIDI Event Packets”.

В общем и целом это я понимаю как «всё уже подумано до нас». Ну и, вкупе с тем, что где бы ни заходил разговор о midi latency — обсуждение приходит к аудиобуфферу. Ну и всё-таки не с потолка же считается, что сам midi-in задержку почти не вносит.
 
@Aleksandr Oleynik, Да практически всё проходящее через ЦПУ (компьютер) последовательно (кол-во ядер только вычисления могут как-то "параллелить", а потом результаты выстраиваются в очередь), тут уже зависит от скоростей шин…
Какой промежуток времени для вас считается "одновременно"? Микросекунда (мегагерц)? половина миллисекунды (2 кГц)?
 
Последнее редактирование:
какой промежуток времени для вас считается "одновременно"? Микросекунда (мегагерц)? пол-миллисекунды (2 кГц)?
Так не для меня, а для всех - Риалтайм, это всё, что меньше сэмпла.
 
  • Like
Реакции: «G~Li†ch»
У меня только что промелькнула мысль, что наша вселенная тоже состоит всего из ОДНОГО кванта, который мечется по всей вселенной, обновляя каждую деталь в пространстве (в т.ч. и нас с вами) с неопределяемым промежутком времени, и каждое обновление идёт последовательно – каждое движение каждого человека на минмальное расстояние, каждое воспроивзодящее акустическое колебание воздушного пространства/твёрдого тела – всё это тоже обновляет лишь один квант… Для нас это "Realtime", а вот для тех "кто свыше"… Может им это кажется слишком медленно (может и на самом деле оно так, просто наш организм адаптирвался к этой скорости, и мы просто не воспринимаем эти длительные задержки)…
Теоретически, можно отсчитать задержку в периодах на самой максимально-возможной частоте дискретизации – закольцевать, набрать какое-нибудь событие (или сразу несколько, в одном tick`е), установить максимально возможный темп в DAW, ииии… послать… И да, теперь понятно, что ещё не должно быть задействовано портов с "древним MIDI-гнездом".
 
Последнее редактирование:
  • Like
Реакции: noshyn и Aleksandr Oleynik
Не понимаю как?

Ну вот мы посчитали самое узкое место, шнур с настоящим классическим MIDI-интерфейсом, одна нота - 1мс (грубо говоря). Если бы этот шнурок имел скорость не 31250, а в сто раз больше (порядка 3Мбит/с), то одна нота была бы 10мкс. Всякие USB/Ethernet и прочее - это сильно быстрее последовательного порта, и если в цепочке этого горлышка нет, то все происходит намного быстрее.

Типичный пример. Две миди-клавиатуры. Одна с DIN5 дыркой, а другая - с настоящим USB. Та, которая с настоящим USB будет передавать ноты с куда меньшей паузой между ними, чем та, которая с классическим MIDI на скорости 31250. Важный момент - если там писатели фирмвара этой миди-клавиатуры вменяемые ребята.
 
  • Like
Реакции: «G~Li†ch» и PianoIst
У меня только что промелькнула мысль, что наша вселенная тоже состоит всего из ОДНОГО кванта, который мечется по всей вселенной,

Вы немного опоздали. Ибо великий Ричард Фейнман эту идею рассматривал 80 лет назад - https://ru.wikipedia.org/wiki/Теория_одноэлектронной_Вселенной
 
  • Like
Реакции: noshyn
Ну вот мы посчитали самое узкое место, шнур с настоящим классическим MIDI-интерфейсом, одна нота - 1мс (грубо говоря). Если бы этот шнурок имел скорость не 31250, а в сто раз больше (порядка 3Мбит/с), то одна нота была бы 10мкс. Всякие USB/Ethernet и прочее - это сильно быстрее последовательного порта, и если в цепочке этого горлышка нет, то все происходит намного быстрее.

Типичный пример. Две миди-клавиатуры. Одна с DIN5 дыркой, а другая - с настоящим USB. Та, которая с настоящим USB будет передавать ноты с куда меньшей паузой между ними, чем та, которая с классическим MIDI на скорости 31250. Важный момент - если там писатели фирмвара этой миди-клавиатуры вменяемые ребята.
А я проверю!
 
Для чистоты эксперимента надо тестить не на клавиатуре, а на чём-то, что будет автоматически посылать события, ибо разница в механике разных клавиатур и рук внесёт большую погрешность на мой взгляд.
 
  • Like
Реакции: Alex Longard
Воланд де Морт этого форума решил проблему с задержками. Его спасла трехсенсорная клавиатура.
 

Сейчас просматривают