Próbuję użyć kabla hosta Yamaha do połączenia mojej 12-letniej klawiatury muzycznej (Yamaha PSR550) z komputerem stacjonarnym obecnej generacji z systemem Ubuntu Linux (18.04.1) w celu wymiany danych MIDI.
Klawiatura Yamaha PSR550 ma zarówno standardowy interfejs MIDI, jak i interfejs szeregowy, tzn. Konwersja MIDI na RS232 odbywa się w samej klawiaturze, którą można następnie podłączyć bezpośrednio do interfejsu szeregowego na komputerach PC za pomocą kabla do hosta . Zatem kabel hosta to nic innego jak kabel połączenia szeregowego między klawiaturą a komputerem PC do wymiany danych MIDI (zamiast standardowego interfejsu MIDI, który ma nieco inne właściwości elektryczne).
Dla starych komputerów PC z wbudowanym UART (chyba jeden o nazwie U16550) istniał moduł jądra o nazwie snd-serial-u16550, który można załadować i skonfigurować do wymiany danych MIDI między Linuksem działającym na PC a PSR550. Najwyraźniej trzeba było wykonać następujące czynności:
setserial /dev/ttyS0 uart none
Śledzony przez:
modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=38400
Co pozwoliłoby ALSA rozpoznać / dev / ttyS0 jako interfejs szeregowy-MIDI, a to z kolei byłoby widoczne w JACKd jako Serial MIDI (UART16550A) .
Ponieważ jednak współczesne komputery PC nie mają wbudowanego interfejsu UART, używam standardowego adaptera szeregowego USB (el-cheapo, PL2303), który wygląda następująco:
Najpierw dodaj interfejs szeregowy do komputera, a następnie użyj kabla Yamaha do hosta, aby podłączyć klawiaturę Yamaha PSR550 do mojego komputera w celu wymiany informacji MIDI.
Biorąc pod uwagę to podejście, przypuszczam, że adapter USB-Szeregowy jest po pierwsze widoczny jako inne urządzenie, tj. /dev/ttyUSB0
(Zamiast / dev / ttyS0), a UART nie jestem pewien, czy można go uznać za w pełni zgodny z U16550, zastanawiając się, czy ten sam zestaw polecenia można użyć do skonfigurowania go, aby stał się prawidłowym urządzeniem szeregowym MIDI ALSA i tym samym został rozpoznany przez JACKd jako prawidłowy port Serial MIDI (UART16550) ? Czy też muszę zrobić coś innego, aby to zadziałało?