gdsports / midiuartusbh

MIDI DIN to MIDI USB Host Converter
MIT License
63 stars 7 forks source link

Lost/missed messages when playing continuously #3

Closed odiroot closed 11 months ago

odiroot commented 3 years ago

I have noticed, when trying to play many notes at the same time, the whole system cannot manage to process them all.

It's mostly annoying when a NOTE OFF message gets lost and you get constantly playing note on your synthesizer etc.

The best way to reproduce is to use MIDI controller with a built-in arpeggiator. Set the tempo to 60+ BPM and division to 16th and literally just press one key. You'd notice the synthesizer/instrument playing very very swingy, nowhere near the expected BPM and time division.

Other way is just to continuously press one key and observe the behaviour of the instrument. The note will be ignored at times, and play continuously at others.

Is there a way to make the MIDI transmission more robust? If high BPM cannot be supported, is there a way to at least make it not lose the messages?

MickGyver commented 3 years ago

I just tried this firmware and have the same problem, it's basically unusable as it is now.

swordsreversed commented 3 years ago

I was having the same kind of issues, hanging notes, retriggers etc. Just tried this solution:

https://forum.arduino.cc/t/solved-trinket-usb-to-midi-skips-messages/687984

Simply add

delay(10);

to the end of the loop. So far so good!