Виртуальный порт Миди-порт в Rasbian

1232
randomUser56

Я пытаюсь создать виртуальный MIDI-порт на Rpi3 с одним входом канала и одним выходом.

Я сначала создаю виртуальный порт, используя

$ modprobe snd-virmidi snd_index=1 

который я вижу, создан с использованием

$ aconnect -lio client 0: 'System' [type=kernel] 0 'Timer ' 1 'Announce ' client 14: 'Midi Through' [type=kernel] 0 'Midi Through Port-0' client 20: 'Virtual Raw MIDI 1-0' [type=kernel] 0 'VirMIDI 1-0 ' client 21: 'Virtual Raw MIDI 1-1' [type=kernel] 0 'VirMIDI 1-1 ' client 22: 'Virtual Raw MIDI 1-2' [type=kernel] 0 'VirMIDI 1-2 ' client 23: 'Virtual Raw MIDI 1-3' [type=kernel] 0 'VirMIDI 1-3 ' 

а затем попробуйте направить 21 до 20, используя

$ aconnect 21:0 20:0 

который кажется успешным

$ aconnect -l ... client 20: 'Virtual Raw MIDI 1-0' [type=kernel] 0 'VirMIDI 1-0 ' Connected From: 21:0 client 21: 'Virtual Raw MIDI 1-1' [type=kernel] 0 'VirMIDI 1-1 ' Connecting To: 20:0 

затем, когда я пытаюсь сбросить содержимое канала 20 в одном окне терминала через

$ amidi -p hw:1,0 -d 

и отправка сырых миди с помощью другого терминала

$ amidi -p hw:1,1 -S 'A0' 

Я не получаю ничего на моем первом терминале, независимо от того, как долго я набираю последовательность байтов или значения. Наконец, я просто прекращаю чтение через Ctrl + C, и это заканчивается следующим сообщением

^C 0 bytes read 

Любые предложения о том, что я делаю не так или это вообще возможно через виртуальный миди?

0
Какую реальную проблему вы пытаетесь решить? CL. 7 лет назад 1
Я пытаюсь построить midi-концентратор между двумя usb-midi-устройствами и некоторыми цифровыми коммутаторами, чтобы изменять сообщения в зависимости от значения. Я надеялся использовать виртуальные миди-порты для стимулирования байтов и ответа при чтении при разработке интерфейса, так как было бы неудобно постоянно подключать оба hw. randomUser56 7 лет назад 0
Вы хотите использовать секвенсор ALSA или MIDI-устройство OSS? CL. 7 лет назад 0
Я планировал использовать секвенсор ALSA randomUser56 7 лет назад 0

1 ответ на вопрос

0
CL.

snd-virmidiВодитель является мостом между ALSA секвенсера портами и портами ОСС MIDI.

Чтобы получить петлевые порты (которые отправляют обратно то, что они получают), используйте snd-seq-dummyдрайвер. Он загружается автоматически; у вас уже есть "Midi Through Port".

и как отправлять на этот порт. Пожалуйста, дополните. например, является ли `amidi -p" Midi Through ".....` правильным? nass 7 лет назад 0
@nass `amidi` работает только с портами RawMIDI. Используйте `aplaymidi` или почти любую другую программу. CL. 7 лет назад 0

Похожие вопросы