This repository shows STM32F7 (ARM Cortex-M7) based 8IN/8OUT USB-MIDI Interface. It is USB MIDI class-compliant, so you can add MIDI port without drivers(Windows, iOS, Android, etc...)
The USB-MIDI Class Driver is based on mimuz-tuch project (c) D.F.Mac. @TripArts Music.
STM32F7を使用した、USB-MIDIインターフェースです。INを8系統、OUTを8系統実装しています。USB MIDI Classに対応するシステム(Windows, iOS, Android, etc.)に対し、ドライバレスでMIDI入出力ポートを追加できます。
USB MIDI Classドライバは、D.F.Mac. @TripArts Music氏作成のドライバを元に、I/F部(usbd_midi_if.c/h)の改造を行っています。
- High-Speed MCU (STM32F722VCT)
- USB MIDI class-compliant
- MIDI port: 8IN/8OUT
- MIDI buffer size: 2kB * (8IN+8OUT) = 32kB
See Schematic, KiCad Source. CureMIDI8 consist of a mainboard and a MIDI-IN board.
回路図はこちら. CureMIDI8は、メイン基板(Mainboard)と、拡張基板(MIDI-IN board)に分かれています。
Install STM32CubeIDE, import Project files. If you have successfully imported, you can build the project without error and the binary file will be created in /CubeIDE_project/Debug/.
STM32CubeIDEをインストールし、プロジェクトファイルをインポートして下さい。インポートに成功していれば、STM32CubeIDE上でプロジェクトをビルドするだけで、/SW4STM32_project/Debug/フォルダにバイナリファイルが生成されるはずです。
Refer to here. (written in Japanese)
こちらを参照して下さい。
(Older Information) Load CureMIDI8.ioc on STM32CubeMX (Ver.5.0.1), change the pin assignment, and generate code. After code generation, copy usb device driver as described below. You can use ./click_after_code_generation.bat (in Windows).
(以下は古い情報です) CureMIDI8.iocをSTM32CubeMX (Ver.5.0.1)で読みこみ、ポートを適宜修正し、コード生成をして下さい。コードを生成後、./template下のUSBドライバを、下記の通り上書きして下さい。上書きは、./click_after_code_generation.batを実行してもOKです。
- ./template/*.c => ./Src/*.c
- ./template/*.h => ./Inc/*.h
- Binary file for STM32F722
- STM32CubeIDE + STM32CubeMX(6.1.1) Project file
- SW4STM32 + STM32CubeMX(5.0.1) Project file
- Schematic
Vendor ID(VID) and Product ID(PID) in <usbd_desc.c> should be unique pair for each USB devices. Default VID 0x1209 and PID 0x0001 is experimental IDs from http://pid.codes .When distributing or selling, you must get your own IDs, and change to your own IDs in order to avoid conflicting to other USB devices.
USBのVendor ID(VID)とProduct ID(PID)は、<usbd_desc.c>内に記述します。 デフォルトのVID(0x1209)/PID(0x0001)ペアは、http://pid.codesで定められている実験用IDです。そのため、本機器を配布したり販売したりする場合には、別途固有のIDペアを取得し、書き換えてご使用いただく必要があります。
- The Complete MIDI 1.0 Detailed Specification (MIDI Association)
- MIDI1.0規格書 (AMEI)
- MIDIの学習 (Laboratory "U")
- USB MIDI Class Driver by D.F.Mac. @TripArts Music
- STM32 CubeF7 by STMicroelectronics
(c) 2019 Keshikan ( Website, Twitter )
- USB MIDI Class Driver: CC BY 4.0
- STM32 CubeF7: BSD-3-Clause based.
- Other Codes, Hardware, Schematic: GPLv3
See also LICENSE.md
- (2021/02/14)
- Added STM32CubeIDE(1.5.1) + CubeMX(6.1.1) Project.
- (2019/01/14)
- Initial Release.