Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: OpenDeck – Platform for building MIDI controllers (github.com/shanteacontrols)
47 points by grinchygrinch 15 days ago | hide | past | favorite | 7 comments



Wow, this is excellent! Why only the Arduino Mega though?

I built an "air" MIDI controller with a regular Arduino Uno and cheap HC-SR04 sensors. This is me playing it: https://www.youtube.com/watch?v=tgH-WU-9CZA (Sorry for the silly wig).

Flashing UsbMidiKlik to have a compliant MIDI device is kind of a pain (but not horrible).

I may try to experiment with this and a Teensy... Thanks!!


(Author here). Because the firmware size is about 70k right now for AVR, and ATmega32u4 has only 32k of flash. Black Pill STM32F4 boards are supported though, and soon 3 more STM32 boards.


Does anyone know any existing open source that aims for the reverse of this? i.e. works as a midi data receiver (app or plugin) and maps to hardware/physical outputs?

I've built my own for a midi-cv controller for modular synth, and it was way more work than I anticipated. I'm curious if other complete and flexible solutions exist?


Sending MIDI is easier than receiving it, but with UsbMidiKlik and some wiring and soldering you can build a MIDI interface based on an Arduino Uno.

https://github.com/TheKikGen/USBMidiKliK


I've built a small-medium sized project around this library and React on the front end:

https://github.com/djipco/webmidi

You can send and receive MIDI messages with this library both from the browser and within a Node context.

Along the lines of the React/browser lifecycle, I would be careful with listening to MIDI inputs.

You have to add guards for when an input no longer exists and be careful when creating listeners. React Hooks help with this but it's easy to create footguns if you're reading and sending MIDI data.



Have a look at http://wiki.midibox.org/, I see example projects having midi inputs as well as outputs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: