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 등의 배수입니다. 그러나 MIDI는 31250 Bauds이며 '고조파' 관계가 없기 때문에 프로그래밍하기 어렵습니다. 이는 PC에서 수정되었으므로(Atari와는 다름) 심각한 문제를 나타냅니다.

또 다른 문제는 MIDI가 전류 루프 회로(광 커플러 포함)인 반면 RS232는 전압으로 작동한다는 것입니다. 호환되도록 하려면 외부 인터페이스를 만들어야 합니다.

그런 다음 마지막 장애물은 소프트웨어입니다. UART 관리는 상대적으로 쉽고 예제도 많이 있습니다('직렬 프로그래밍 방법'을 찾으세요. 여기서 문제는 아마도 MIDI에 일부 표준 인터페이스를 제공하려는 것 같습니다). - 음악 프로그램 관리. 따라서 드라이버는 UART 측을 관리하고 소프트웨어에 올바른 인터페이스를 제공해야 합니다.

대부분의 최신 MIDI 인터페이스는 MIDI 코드와 함께 타이밍을 사용자 프로그램에 제공하므로 이는 추가 문제입니다.

따라서 저렴한 USB-MIDI 인터페이스를 구입하는 것이 훨씬 쉽습니다!

관련 정보