keshikan / CureMIDI8

USB-MIDI Interface(8IN/8OUT) for STM32F7

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

USB-MIDI Interface (8IN/8OUT) for STM32 "CureMIDI8"

Overview (概要)

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)の改造を行っています。

Sample Image Sample Image

Specifications (特徴)

  • High-Speed MCU (STM32F722VCT)
  • USB MIDI class-compliant
  • MIDI port: 8IN/8OUT
  • MIDI buffer size: 2kB * (8IN+8OUT) = 32kB

Building Information (ビルド方法)

Making hardware

See Schematic, KiCad Source. CureMIDI8 consist of a mainboard and a MIDI-IN board.

回路図はこちら. CureMIDI8は、メイン基板(Mainboard)と、拡張基板(MIDI-IN board)に分かれています。

Building software

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/フォルダにバイナリファイルが生成されるはずです。

How to Porting (ポーティング方法)

CubeIDE Project (recommended)

Refer to here. (written in Japanese)

こちらを参照して下さい。

SW4STM32 Project

(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

File Location (ファイルの場所)

NOTICE (注意)

VID/PID

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ペアを取得し、書き換えてご使用いただく必要があります。

References (参考情報)

MIDI specification

USB-MIDI technical information

Copyrights (著作権)

Author (著者)

(c) 2019 Keshikan ( Website, Twitter )

License (ライセンス)

  • USB MIDI Class Driver: CC BY 4.0
  • STM32 CubeF7: BSD-3-Clause based.
  • Other Codes, Hardware, Schematic: GPLv3

See also LICENSE.md

Update History (更新履歴)

  • (2021/02/14)
    • Added STM32CubeIDE(1.5.1) + CubeMX(6.1.1) Project.
  • (2019/01/14)
    • Initial Release.

About

USB-MIDI Interface(8IN/8OUT) for STM32F7

License:Other


Languages

Language:C 98.1%Language:C++ 1.3%Language:Assembly 0.5%Language:Objective-C 0.1%Language:Batchfile 0.0%