Serial UART 16450/16550 MIDI 驅動

介面卡模組引數允許您選擇:

  • 0 - Roland Soundcanvas 支援(預設)

  • 1 - Midiator MS-124T 支援 (1)

  • 2 - Midiator MS-124W S/A 模式 (2)

  • 3 - MS-124W M/B 模式支援 (3)

  • 4 - 具有多輸入支援的通用裝置 (4)

對於 Midiator MS-124W,您必須設定 Midiator 上的物理 M-S 和 A-B 開關,以匹配您選擇的驅動程式模式。

在 Roland Soundcanvas 模式下,支援多個 ALSA 原始 MIDI 子流 (midiCnD0-midiCnD15)。 每當您寫入不同的子流時,驅動程式都會發送非標準的 MIDI 命令序列 F5 NN,其中 NN 是子流號加 1。 Roland 模組使用此命令在不同的“部分”之間切換,因此此功能允許您將每個部分視為不同的原始 MIDI 子流。 驅動程式沒有提供傳送 F5 00(無選擇)或完全不傳送 F5 NN 命令序列的方法;也許應該提供。

簡單序列轉換器的使用示例

/sbin/setserial /dev/ttyS0 uart none
/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=115200

具有 4 個 MIDI 埠的 Roland SoundCanvas 的使用示例

/sbin/setserial /dev/ttyS0 uart none
/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 outs=4

在 MS-124T 模式下,支援一個原始 MIDI 子流 (midiCnD0); outs 模組引數自動設定為 1。 驅動程式將相同的資料傳送到所有四個 MIDI 輸出聯結器。 設定 A-B 開關和 speed 模組引數以匹配 (A=19200, B=9600)。

MS-124T 的使用示例,A-B 開關位於 A 位置

/sbin/setserial /dev/ttyS0 uart none
/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 adaptor=1 \
                speed=19200

在 MS-124W S/A 模式下,支援一個原始 MIDI 子流 (midiCnD0); outs 模組引數自動設定為 1。 驅動程式以完整的 MIDI 速度將相同的資料傳送到所有四個 MIDI 輸出聯結器。

S/A 模式的使用示例

/sbin/setserial /dev/ttyS0 uart none
/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 adaptor=2

在 MS-124W M/B 模式下,驅動程式支援 16 個 ALSA 原始 MIDI 子流; outs 模組引數自動設定為 16。 子流編號給出了一個位掩碼,指示資料應傳送到哪個 MIDI 輸出聯結器,其中 midiCnD1 傳送到輸出 1,midiCnD2 傳送到輸出 2,midiCnD4 傳送到輸出 3,midiCnD8 傳送到輸出 4。 因此 midiCnD15 將資料傳送到所有 4 個埠。 作為一種特殊情況,midiCnD0 也會發送到所有埠,因為將資料傳送到任何埠都沒有用處。 M/B 模式具有額外的開銷,用於為每個位元組選擇 MIDI 輸出,因此所有四個 MIDI 輸出上的聚合資料速率最多為每 520 微秒一個位元組,而每個埠的完整 MIDI 資料速率為每 320 微秒一個位元組。

M/B 模式的使用示例

/sbin/setserial /dev/ttyS0 uart none
/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 adaptor=3

目前不支援 MS-124W 硬體的 M/A 模式。 此模式允許 MIDI 輸出獨立執行,吞吐量是 M/B 的兩倍,但不允許同時將同一位元組傳送到多個 MIDI 輸出。 M/A 協議要求驅動程式在時序約束下調整調變解調器控制線,因此實現起來比其他模式稍微複雜一些。

目前不支援 MS-124W 和 MS-124T 以外的 Midiator 型號。 請注意,字尾字母很重要; MS-124 和 MS-124B 不相容,其他已知型號 MS-101、MS-101B、MS-103 和 MS-114 也不相容。 我確實有部分涵蓋這些型號的文件 (tim.mann@compaq.com),但沒有單元進行實驗。 MS-124W 支援已透過真實單元進行測試。 MS-124T 支援未經測試,但應該可以工作。

通用驅動程式支援透過單個序列埠的多個輸入和輸出子流。 與 Roland Soundcanvas 模式類似,F5 NN 用於選擇適當的輸入或輸出流(取決於資料方向)。 此外,CTS 訊號用於調節資料流。 輸入的數量由 ins 引數指定。