ffont / official-ddrm-issue-tracker

5 stars 0 forks source link

Constant stream of messages in MIDI out #2

Closed ffont closed 6 years ago

ffont commented 6 years ago

When listing messages output via the MIDI out (thru) DIN5 port, I see a constant stream of messages being outputted even if I'm not changing any slider positions. This stream looks like noise. Have not tried with USB MIDI. Can anyone confirm?

MrPandoman commented 6 years ago

MIDI THRU jack is simply repeating any MIDI messages received from MIDI IN. It does not produce any output from within the DD, and cannot be because of how the circuitry is wired. What comes out from MIDI THRU jack must be what came into the MIDI IN jack, so check your equipment what you've plugged into MIDI IN jack.. The USB Midi out port does stream some random data, I have confirmed it with earlier revisions.

ffont commented 6 years ago

Thanks for your comment @MrPandoman. You're right, the noise I was observing was through the MIDI out via USB, not in MIDI thru port. I could test that MIDI in via USB works well, but MIDI out is constantly outputting a stream of messages like shown here:

ddstreammidiout

(this is screen capture of some MIDI monitor software).

This will need a fix by the designers of DD.

ffont commented 6 years ago

Done some more tests with firmware 1.2.1 and can confirm that the problem still persists. All "random" messages sent are Control Change, mainly with the following values:

This really looks like the jitter problems that mostly happen with the filter sliders (see also https://github.com/ffont/ddrm-issues/issues/5), but apparently it happens with other controls as well (although not so often). It also seems like jitter happens more often when sliders are in a middle position.

ffont commented 6 years ago

After testing with the new 1.2.4 firmware I can confirm that this is still an issue. Jitter might have been reduced well enough so that it is not audible in any of the parameters. However, Jitter is still happening and because DDRM thinks sliders are "moving" it sends a constant stream of MIDI out messages. This makes DDRM midi out unusable. For example, if you want to record MIDI automations moving DDRM sliders, you'll record all the noise as well.

I made a small web-based tool to monitor messages sent by DDRM and display 1) how many distinct "sliders" are sending messages; and 2) what's the average difference between consecutive messages from the same slider (CC number). You can use it here: https://ffont.github.io/resources/midiMonitor You just need to connect your DDRM via USB to your computer (or via DIN5 midi out to an interface) and open this URL. You should see a list of messages appearing on screen like in this screen shot:

screen shot 2018-05-11 at 13 09 49

If you don't see any messages is that 1) your DDRM does not have the jitter/midi proble; or 2) you're not receiving MIDI messages from DDRM. Try to move a slider manually and you should see messages on screen.

According to what the tool returns, there are about ~12 different sliders that have jitter, but the average change from one value to the next is either 0 (no change) or 1 (veeeeery low considering that maximum is 255). That's why this jitter is not audible. This issue could be easily fixed by only sending a MIDI CC message if its value change compared to the last time a message for that CC number was sent is lower than a threshold (which could be "2" to be on the safe side).

ffont commented 6 years ago

I just tested and with DDRM Rev1 and Firmware 1.2.5 this is still an issue. In fact, I'd say that there is even more noise in the MIDI output but I'm not 100% sure. Here is a screenshot of the MIDI monitor output after some seconds running:

screen shot 2018-06-20 at 19 05 08
ForDeckard commented 6 years ago

Thanks for creating this tool. I have this noise too (this is 1.2.5) screen shot 2018-06-22 at 17 01 07

ForDeckard commented 6 years ago

I get a lot less in 1.2.3: screen shot 2018-06-22 at 17 05 48

MrPandoman commented 6 years ago

With the above data, CC number 69 is "Pulse Width B" slider, CC95 is "Detune Osc B". Just to test it -- if you move these sliders slightly you may be able to position them so that they will jitter less.

Yes the slider noise at the output is still an issue. Looks like they did a lot of smoothing on 1.2.4 how the sliders affect the circuit parameters (slider movement is slow now), but that smoothing isn't applied to MIDI out, which look almost like a raw DAC values from the sliders just being dumped out the MIDI port without running average or hysteresis being applied.

ffont commented 6 years ago

After updating to firmware 1.2.7 it looks like the problem is now solved and there is no stream of MIDI out messages. Closing this issue.