我可以在 Linux 中使用 UART(串行埠)作為 MIDI 設備嗎?

我可以在 Linux 中使用 UART(串行埠)作為 MIDI 設備嗎?

我可以說服Linux(內核/ALSA/Jack)使用任意UART或序列埠(通常是/dev/ttyS*/dev/ttyUSB*/dev/ttyACM*)來輸出MIDI訊息嗎?

例如,這就是 Amiga 上 MIDI 的實現方式。如果電氣側設定正確,且 UART 可以按 MIDI 速率計時,則原則上傳輸應該可以工作。

我想知道的是,是否有現成的軟體選項、配置、驅動程式或駭客來執行此操作。

答案1

您可以使用蒂米迪UART 和 alsa 之間的橋樑。

您應該能夠使其與 RaspberryPi 專案一起使用,但您需要自己編譯它。

答案2

那是非常困難的。串列埠可以以一定的波特率進行編程,波特率通常在 300 波特(左右)到 115200(較新的機器上為 230400 和 460800)之間變化。然而,大多數速度都是倍數:300、600、1200、2400、4800 等。由於此問題已在 PC 中修復(與 Atari 不同),因此它代表了一個嚴重的問題。

另一個問題是 MIDI 是電流迴路電路(帶有光耦合器),而 RS232 則採用電壓工作。您必須製作一個外部介面才能相容。

然後,最後一個障礙是軟體:管理 UART 相對容易,並且有很多示例(查找“串行編程方法”)。程式必須管理UART 端,並向軟體提供正確的介面。

大多數現代 MIDI 介面還向使用者程式提供 MIDI 程式碼的時序,因此這是一個額外的問題。

因此,購買便宜的 USB 轉 MIDI 接口要容易得多!

相關內容