sdima1357 / esp32_usb_soft_host

ESP32 software USB host through general IO pins. We can connect up to 4 USB-LS HID (keyboard mouse joystick) devices simultaneously.
GNU Affero General Public License v3.0
433 stars 50 forks source link

USB Host MIDI ? #2

Closed quangvankts closed 3 years ago

quangvankts commented 3 years ago

Thank you sdima1357 for the great work. Is there any chance for a MIDI class driver to be developed ? Thank you.

sdima1357 commented 3 years ago

Do You think it can be usable ? Some kind of relay like Wifi <-> midi? Wifi has unpredictable delays. It think, it will be better use raspberry for these purposes, because price is not critical factor here.

quangvankts commented 3 years ago

I didn't mean wifi <-> MIDI, but sending MIDI commands from app running on the ESP32 over to the USB port.

Example: right now to do the above, I need a USB Host Shield 2.0 board connect to the ESP32 through SPI. And use this library: https://github.com/felis/USB_Host_Shield_2.0

The goal sending MIDI over USB in host mode, without any extra hardware.

Do you think its possible ?

chegewara commented 3 years ago

Or just use esp32-s2 maybe? USB host support is slowly progressing and i hope it will be available soon.

quangvankts commented 3 years ago

Yeah esp32-s2 sounds good Thanks a lot !

tobozo commented 3 years ago

Sorry for intruding, I've been asking myself the same question after seeing an old usb midi keyboard being detected.

Good news is the MIDI class driver implemented for the USB Host Shield has some recyclable parts :-)

https://github.com/YuuichiAkagawa/USBH_MIDI

Possible applications (already seen in the wild): chiptune instrument, music tracker

quangvankts commented 3 years ago

Sorry for intruding, I've been asking myself the same question after seeing an old usb midi keyboard being detected.

Good news is the MIDI class driver implemented for the USB Host Shield has some recyclable parts :-)

https://github.com/YuuichiAkagawa/USBH_MIDI

Possible applications (already seen in the wild): chiptune instrument, music tracker

I'm very interested. Unfortunately writing USB driver is way out of my skill level !

sdima1357 commented 3 years ago

It have checked this options Unfortunately, my casio midi keyboard is USB FS device, but this code support only USB LS devices :(
For usb-fs You need chip with dedicated usb-host hardware like stm32 or esp32-s2 or fpga or some kind of usb<->spi bridge like max3421

tobozo commented 3 years ago

thanks, I guess it's not worth the effort given the unpredictable delays