Page 1 of 1

MIDI Class Compliance

Posted: Fri Jan 17, 2020 11:36 pm
by Kprellz
Hey all!
I'm rather new to the bluepill/stm32 stuff but have been messing with my arduino mega for a while now, I was wondering if theres a way to make the pluebill Midi Complaint so that when I plug it into something like Pro Tools/Logic it will be detected. Is this the same as regular HID complaint? thanks again!

Re: MIDI Class Compliance

Posted: Sat Jan 18, 2020 5:03 am
by ag123
there probably isn't an existing implementation
perhaps you can check out
usb composite
viewtopic.php?f=50&t=36
and try to port hiduino
https://github.com/ddiakopoulos/hiduino
accordingly hid + midi can be proprietary i.e. those may not be the simple midi specs
normally this isn't quite a stm32duino 'beginners' project, try a blinky with usb serial (e.g. serial commands and Serial.print() )
response etc to get a feel of stm32duino before taking on usb-hid
midi is basically a protocol, if the software can do midi over usb serial (i.e. virtual com ports) it may work by porting hiduino to simply using Serial.print(), Serial.read() etc

Re: MIDI Class Compliance

Posted: Sat Jan 18, 2020 5:09 am
by mrburnette
There is already a request in github to port MIDI into the official core.

Issue #668

For the future, an easy way to query google is like below:

"midi" site:github.com/stm32duino

Re: MIDI Class Compliance

Posted: Sat Jan 18, 2020 7:00 am
by Kprellz
Thanks! Yeah I’ve got a program I’ve been working on, on my mega but wanted the processing power of the STM32,

Re: MIDI Class Compliance

Posted: Sat Jan 18, 2020 3:08 pm
by djbottrill
I have written an Arduino sketch to send Midi commands over Ethernet using the IPMIdi protocol. This was written for the BluePill board with a W5500 SPI Ethernet adapter although it does work on other boards such as the Adafruit Feather M0 and M4 boards.
You can find my sketch here: https://github.com/djbottrill/IPMidi_example

Re: MIDI Class Compliance

Posted: Sat Jan 18, 2020 10:34 pm
by mrburnette
Kprellz wrote: Sat Jan 18, 2020 7:00 am Thanks! Yeah I’ve got a program I’ve been working on, on my mega but wanted the processing power of the STM32,
Do you need the extra clock cycles and efficiency of the STM32? My experience last year with the Mega2560 is that even at 16MHz, the board is quiet the powerhouse. An entire Rotax engine monitor is taking only about 60% of the clock cycles and there is no libraries being optimized. SRAM is like < 20% and flash < 30%... mainly used for static lookup tables.