Виртуальный порт rawsidi Alsa получит только первый и последний MIDI-байты любого сообщения

Я экспериментировал со следующим кодом: alsarawmidiin.c

В alsa rawmidi говорится, что вы можете создать виртуальный порт rawmidi, назвав входной порт «виртуальным»,

Поэтому я скомпилировал код и начал его с помощью команды:

alsarawmidiin virtual

Это работает, и я могу подключить другие MIDI-порты, используя aconnect. Проблема в том, что данные midi, отображаемые os, показывают только первый и последний байт сообщения midi. Большинство сообщений midi – три байта, но при использовании виртуального драйвера отображаются только два.

Подключение прямо к устройству rawmidi (не виртуальному) действительно работает. Но я хочу подключить несколько MIDI-устройств к одному и тому же порту rawmidi. Это ошибка в библиотеке alsa rawmidi?

One Solution collect form web for “Виртуальный порт rawsidi Alsa получит только первый и последний MIDI-байты любого сообщения”

Это ошибка в virtual плагине. Похоже, что код для обработки буфера, меньшего, чем MIDI-сообщение, никогда не тестировался.

Это будет исправлено в alsa-lib 1.1.4; пока этот пакет не достигнет вашего дистрибутива, вы можете применить патч вручную или обойти это, используя больший буфер.

  • Ошибка «Ошибка устройства или ресурса» при попытке записи звука с использованием iscord
  • ALSA не воспроизводит на HDMI
  • Изменение скорости ввода выборки по умолчанию для ALSA
  • Попытка услышать звук, поступающий из LINE IN, используя ALSA на Debian
  • Как создать виртуальное устройство ALSA, которое выводится на разъемы HDMI и наушников?
  • Понимание микширования звуков в ALSA
  • Звук не работает, когда звуковая карта и HDMI используют драйвер Intel HDA. Как изменить порядок загрузки своих устройств?
  • Переключение звуковой карты без перезапуска браузера
  • Звук не работает в Debian, кроме Google Chrome и тестовых утилит
  • Creative CA0132 нет звука
  • Проблемы с использованием Chrome на Chromebook
  • Interesting Posts

    Полная система UEFI, Self-скомпилированная + Clover 2 Grub 2, установка Debian kFreeBSD?

    Sed для сохранения строк (строк) заголовка (строк) + соответствующих строк

    Используйте переменную ссылку «внутри» другой переменной

    Чтение аудиопотоков из интернет-радио и его переключение на временный файл

    Vi заменит искомую строку

    Войти на сайт, используя cURL

    Условно убивая процесс, основанный на его выходе

    Воспроизведение и одновременная запись через внешнюю звуковую карту USB

    Скопировать исполняемый файл на произвольное число хостов?

    Почему оператор Grave меняет формат вывода команды?

    Сценарий оболочки: как я могу писать многострочный контент в файл, если файл не существует?

    Что означает амперсанд в «cat &» в Linux?

    Как разбить логи varnishncsa на отдельные под systemd (Ubuntu 16.04)

    Добавление USB-устройства в rules.d

    Установка Solaris 10 на KVM постоянно перезагружается

    Linux и Unix - лучшая ОС в мире.