Второе даже близко не проблема, это решается и забывается. Берёте это, втыкаете в это, берёте эту библиотеку и преобразовываете что угодно во что угодно.
Офигеть юзер френдли решение.
Я понимаю, что почти все можно решить. Но МИДИ протокол и его имплементации это не делает менее убогими. Там по-хорошему много чего надо бы поменять. Например:
Транспорт в плане скорости, стандартизации разных физических протоколов, приоритезации - что-то, например, Beat Clock, можно броадкастом пускать, чему-то нужна гарантированная доставка с минимальной задержкой, что-то должно дойти до адресата, но не особо важно, когда (те же имена пресетов).
Сами сообщения, точнее, их набор, надо расширить. Тот же Bank Select для выбора пресетов нафиг не нужен, это костыль из-за ограничения в 128, которое уже давно не имеет смысла. Имена пресетов и прочую текстовую информацию передавать надо отдельными сообщениями со своим приоритетом, а не мешать в кучу с управлением realtime вещами.
В плане сертификации вообще бардак. Нужны классы оборудования с минимальными требованиями, а не как сейчас, когда каждый имплементирует что бог на душу положит. И хорошо бы negotiation протокол, где устройства могли бы обмениваться capabilities и решать, как друг с другом общаться, а не я должен ковыряться в implementation charts и городить кучу промежуточных девайсов с ремэппингом. И уж точно если люди делают выход MIDI Thru, то это должен быть Thru, а не Out.
И ремэппинг еще ладно. Хуже, когда несколько сообщений одновременно на устройство попадают, это вообще лотерея. А часто нужно.
... и добавил:А, и еще вот, кабели и коннекторы. Что это за средневековье вообще? Какие могут быть односторонние протоколы без питания в 21-м веке? Вон у того же Акса контроллер можно подключить к процессору любым XLR кабелем практически любой длины. Чего это, так сложно? Нет конечно. Просто в ММА сидят жадные ленивые жлобы, которым пофигу все. И да, 10 лет уже апгрейд стандарта рожают.