web-dev-qa-db-ja.com

serial-u16550モジュールをMIDI用USBシリアルコンバーターと一緒に使用できますか?

ヤマハからホストへのケーブルを使用して、12年前の音楽キーボード(Yamaha PSR550)をUbuntu Linux(18.04)を実行している現在の世代のデスクトップPCに接続しようとしています.1)、MIDIデータを交換します。

ヤマハPSR550キーボードには、標準のMIDIインターフェイスとシリアルインターフェイスの両方があります。つまり、MIDIからRS232への変換はキーボード自体で行われ、PCのシリアルインターフェイスに-ホストケーブル。したがって、からホストへのケーブルは、MIDIデータを交換するためのキーボードとPC間のシリアルインターフェイス接続ケーブルにすぎません(代わりに)電気的特性が多少異なる標準のMIDIインターフェース)。

オンボードUART(U16550と呼ばれるものだと思います)を備えた古いPCの場合、snd-serial-u16550と呼ばれるカーネルモジュールがあり、これをロードして、で実行されているLinux間でMIDIデータを交換するように構成できます。 PCとPSR550。どうやら次のことをしなければならなかった:

setserial /dev/ttyS0 uart none

に続く:

modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=38400

これにより、ALSAは/ dev/ttyS0をシリアルMIDIインターフェースとして認識できるようになり、JACKdではSerial MIDI(UART16550A)

ただし、現代のPCにはUARTが搭載されていないため、次のような汎用(el-cheapo、PL2303ベ​​ース)のUSBシリアルアダプターを使用しています。

enter image description here

最初にシリアルインターフェイスをPCに追加してから、Yamahato-Hostケーブルを使用してYamaha PSR550キーボードをPCに接続し、MIDI情報。

このアプローチを考えると、USB-Serialアダプターは最初は別のデバイス、つまり/dev/ttyUSB0(/ dev/ttyS0ではなく)であり、UARTは完全に機能していると見なすことができるかどうかはわかりません。 U16550に準拠し、同じコマンドセットを使用してセットアップし、有効なALSAシリアルMIDIデバイスになり、JACKdによって有効なシリアルとして認識されるかどうか疑問に思っていますMIDI(UART16550)ポート?それとも、これを機能させるために何か他のことをする必要がありますか?

2
icarus74

snd-serial-u16550モジュールは、16550(互換)ハードウェアでのみ機能します。つまり、マザーボード上のISAバスを介してアクセスされるCOMポートを使用します。

任意のシリアルポートとソフトウェアMIDIポートの間を橋渡しできる「ttyMIDI」ツールがありますが、これはカスタムArduinoファームウェアを対象としており、MIDIとはまったく同じではない単純化されたプロトコルを話します。(そして、シリアルブリッジへのヘアレスMIDIは、ttyMIDIと互換性があるように設計されているようです。)

私の知る限り、最新のコンピューターでTo-Hostケーブルを使用できるソフトウェアはないようです。 USB/MIDIアダプターを購入する必要があります。

2
CL.