Skip to content

kb-showhey/MIDI2_USB_Dev

Repository files navigation

MIDI2_USB_Dev

  • This is an experimental branch to run the MIDI2.0 USB Device on the NUCLEO-F439ZI.
  • It converts MIDI1.0 byte messages received via UART into the UMP MIDI2.0 Protocol for output to a USB Host.
  • Additionally, it can output UMP received from the USB Host to UART.
  • Licensed under the MIT License. It is available for everyone—feel free to fork it for use on various microcontroller boards.

Hardware Connections

How to Build

  • Install the VSCode STM32 VS CODE EXTENSION in VSCode:
  • In the STM32 VS Code Extension, select "Import CMake project" and choose the pulled MIDI2_USB_Dev folder.
  • Run "Actions" to open a build-ready VSCode window.
  • Connect the PC (with VSCode open) to the NUCLEO, then press the F5 key to run. In Debug mode, the program stops at the main function, so press F5 again to continue.
  • Verify UMP transmission and reception data through the Serial Monitor using the ST Link Virtual COM Port.

Note

  • The conversion from UART to MIDI 2.0 Protocol is performed only for certain messages (Note On/Off, CC, Pitch Bend).
  • MIDI-CI is not supported. The USB Device merely demonstrates the sending and receiving of MIDI2.0 Protocol UMP.
  • Minimal responses are implemented for EndpointDiscovery from the Host. Function Block operations might not function correctly.
  • Verified only on Windows 11 Insider Preview / Windows MIDI Services. Operation on macOS is unconfirmed.

License

  • This project is released under the MIT License.
  • Note: STM32 HAL drivers are provided by STMicroelectronics and are licensed under their own terms. See the source files for details.

Included Third-Party Libraries

MIDI2_USB_Dev

  • MIDI2.0 USB DeviceをNUCLEO-F439ZIで動かすための実験用ブランチです。
  • UARTから送られてきたMIDI1.0 Byte MessageをUMP MIDI2.0 Protocolに変換してUSB Hostへ出力します。
  • また、USB Hostから送られてきたUMPをUARTに出力することもできます。
  • MITライセンスです。誰でも利用可能です。様々なマイコンボードにフォークしてご利用ください。

ハードウェア接続

ビルド方法

  • VSCode STM32 VS CODE EXTENSIONをVSCodeにインストールします
  • STM32 VS Code Extension -> "Import CMake project"を選択して、pullしたMIDI2_USB_Devフォルダを指定します
  • "Actions"を実行するとVSCodeの画面が開き、ビルドできる状態になります。
  • VSCodeを開いているPCとNUCLEOを接続して、F5キーを押すと動作します。Debugモードではmain関数で停止するので、再度F5キーを押してください
  • Serial MonitorからUMPの送受信データを確認できます。ST Link Virtual COM Portからご確認ください。

注意

  • UARTからMIDI2.0 Protocolへの変換は一部のメッセージ(NoteOn/Off,CC,PitchBend)のみ実行します。
  • MIDI-CIには対応していません。MIDI2.0 Protocolの送受信をUSB Deviceから確認するだけです。
  • HostからのEndpointDiscoveryに対して最低限の応答しか実装していません。Function Block動作については正しく機能しない可能性が高いです。
  • Windows 11 Insider Preview / Windows MIDI Servicesでのみ動作確認を行っています。macOSの動作については未確認です。

About

MIDI2.0 USB Device

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published