Help get this topic noticed by sharing it on Twitter, Facebook, or email.

Code 61 sending Note On/Note Off messages for same note on same timestamp

When I slide my hand across the black keys of my Code 61 in a "rake", I can see using a MIDI monitor that for some notes, it sometimes sends both a note-on message and a note-off message at the exact same timestamp.

This confuses some VST plugins which can't process the events in the correct order (since they cannot be ordered by timestamp) and causes notes to hang indefinitely.

Here is an example of such a log.
Note the Bb3 at timestamp 0004D767, the Eb4 at 0004D77D, and the F#5 at 0004D80B -- they all get a Note On and a Note Off at the exact same timestamp.


TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
0004D633 1 -- 90 2A 7F 1 F# 2 Note On
0004D63D 1 -- 90 2C 73 1 G# 2 Note On
0004D6C1 1 -- 80 2A 00 1 F# 2 Note Off
0004D6DE 1 -- 90 2E 21 1 Bb 2 Note On
0004D6F4 1 -- 80 2C 00 1 G# 2 Note Off
0004D702 1 -- 90 31 45 1 C# 3 Note On
0004D714 1 -- 90 33 5A 1 Eb 3 Note On
0004D718 1 -- 80 2E 00 1 Bb 2 Note Off
0004D732 1 -- 90 38 77 1 G# 3 Note On
0004D73D 1 -- 90 36 79 1 F# 3 Note On
0004D73E 1 -- 80 31 00 1 C# 3 Note Off
0004D741 1 -- 80 38 00 1 G# 3 Note Off
0004D754 1 -- 90 38 7F 1 G# 3 Note On
0004D756 1 -- 80 33 00 1 Eb 3 Note Off
0004D759 1 -- 80 38 00 1 G# 3 Note Off
0004D75D 1 -- 90 38 7F 1 G# 3 Note On
0004D761 1 -- 80 38 00 1 G# 3 Note Off
0004D767 1 -- 90 3A 7F 1 Bb 3 Note On
0004D767 1 -- 80 3A 00 1 Bb 3 Note Off
0004D769 1 -- 90 3D 7F 1 C# 4 Note On
0004D76C 1 -- 80 36 00 1 F# 3 Note Off
0004D771 1 -- 90 38 7F 1 G# 3 Note On
0004D775 1 -- 80 38 00 1 G# 3 Note Off
0004D777 1 -- 80 3D 00 1 C# 4 Note Off
0004D77A 1 -- 90 3A 2D 1 Bb 3 Note On
0004D77D 1 -- 90 3F 7F 1 Eb 4 Note On
0004D77D 1 -- 80 3F 00 1 Eb 4 Note Off
0004D780 1 -- 90 3F 7F 1 Eb 4 Note On
0004D781 1 -- 90 3D 5A 1 C# 4 Note On
0004D782 1 -- 80 3F 00 1 Eb 4 Note Off
0004D784 1 -- 80 3A 00 1 Bb 3 Note Off
0004D795 1 -- 90 42 79 1 F# 4 Note On
0004D798 1 -- 80 3D 00 1 C# 4 Note Off
0004D79C 1 -- 90 3F 7F 1 Eb 4 Note On
0004D79D 1 -- 80 3F 00 1 Eb 4 Note Off
0004D79E 1 -- 90 3F 7F 1 Eb 4 Note On
0004D7A4 1 -- 80 42 00 1 F# 4 Note Off
0004D7A7 1 -- 90 44 79 1 G# 4 Note On
0004D7A8 1 -- 80 3F 00 1 Eb 4 Note Off
0004D7A8 1 -- 80 44 00 1 G# 4 Note Off
0004D7AD 1 -- 90 42 73 1 F# 4 Note On
0004D7C0 1 -- 80 42 00 1 F# 4 Note Off
0004D7CB 1 -- 90 49 7F 1 C# 5 Note On
0004D7CC 1 -- 80 49 00 1 C# 5 Note Off
0004D7D8 1 -- 90 4E 7F 1 F# 5 Note On
0004D7D9 1 -- 90 4B 7F 1 Eb 5 Note On
0004D7DA 1 -- 80 4E 00 1 F# 5 Note Off
0004D7DD 1 -- 80 4B 00 1 Eb 5 Note Off
0004D7E1 1 -- 90 4B 7D 1 Eb 5 Note On
0004D7E2 1 -- 90 50 79 1 G# 5 Note On
0004D7E6 1 -- 80 4B 00 1 Eb 5 Note Off
0004D7E6 1 -- 90 49 7F 1 C# 5 Note On
0004D7EA 1 -- 80 49 00 1 C# 5 Note Off
0004D7F1 1 -- 90 4E 7F 1 F# 5 Note On
0004D7F2 1 -- 80 50 00 1 G# 5 Note Off
0004D7FF 1 -- 90 50 7F 1 G# 5 Note On
0004D7FF 1 -- 80 4E 00 1 F# 5 Note Off
0004D80B 1 -- 90 4E 7F 1 F# 5 Note On
0004D80B 1 -- 80 4E 00 1 F# 5 Note Off
0004D810 1 -- 90 4E 79 1 F# 5 Note On
0004D81B 1 -- 80 4E 00 1 F# 5 Note Off
0004D820 1 -- 90 52 7F 1 Bb 5 Note On
0004D825 1 -- 80 52 00 1 Bb 5 Note Off
0004D82C 1 -- 80 50 00 1 G# 5 Note Off
0004D83B 1 -- 90 57 7F 1 Eb 6 Note On
0004D852 1 -- 90 5A 77 1 F# 6 Note On
0004D854 1 -- 90 55 43 1 C# 6 Note On
0004D855 1 -- 90 5C 5A 1 G# 6 Note On
0004D858 1 -- 80 55 00 1 C# 6 Note Off
0004D863 1 -- 90 5E 7B 1 Bb 6 Note On
0004D866 1 -- 80 57 00 1 Eb 6 Note Off
0004D8F2 1 -- 80 5A 00 1 F# 6 Note Off
0004D94F 1 -- 80 5C 00 1 G# 6 Note Off
0004D960 1 -- 80 5E 00 1 Bb 6 Note Off
1 person has
this problem
+1
Reply
  • Eliza (Official Rep) June 27, 2019 13:02
    Hey Avishay Lavie,

    Thanks for posting!

    Can you provide me with your computer's specifications (OS, RAM, Processor and Clock Speed)?

    The reason I ask is because the Timestamp is when an event is received by your computer's processor. This is not a global metric, however. Depending on your processor's clock speed, data sent by a peripheral device may be received at a slower rate. Faster clock speeds will provide a finer grade and distinguish between separate events as far as when they are occurring. Slower clock speeds are more coarse and may lump events together as being received simultaneously.

    I like to use the analogy of measuring length only by feet as opposed to inches. Measurements made with smaller units will always be more accurate.

    You may want to run the MIDI monitor test again with a different keyboard to see if the issue is reproducible. If so, then it's not a problem with the Code. Similarly, test the Code with a different computer. Does it behave the same way? If this is the case, then there's reason to believe that there may be a hardware issue.

    Try this and let me know how it goes!
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited

  • Hi,

    I'm running Windows 10 Home on a Lenovo Y50 laptop set to High Performance mode. It has 16GB of RAM and the CPU is an Intel i7-4710HQ running at 2.50GHz.

    I tested this with a different MIDI keyboard and could not reproduce the issue. I don't have access to a different computer to test with, but it doesn't seem to me like the computer's processing events too slowly - the timestamps have a resolution of 1 millisecond, as can be seen by adjacent events in the above log with timestamps that differ by 1. Obviously a key is not being pressed-and-released within a single millisecond; so it seems like the Code is emitting events it shouldn't.

    As an example, look at the Eb4 at timestamp 0004D77D:


    0004D77D 1 -- 90 3F 7F 1 Eb 4 Note On
    0004D77D 1 -- 80 3F 00 1 Eb 4 Note Off
    0004D780 1 -- 90 3F 7F 1 Eb 4 Note On
    0004D781 1 -- 90 3D 5A 1 C# 4 Note On
    0004D782 1 -- 80 3F 00 1 Eb 4 Note Off
    0004D784 1 -- 80 3A 00 1 Bb 3 Note Off
    0004D795 1 -- 90 42 79 1 F# 4 Note On
    0004D798 1 -- 80 3D 00 1 C# 4 Note Off
    0004D79C 1 -- 90 3F 7F 1 Eb 4 Note On
    0004D79D 1 -- 80 3F 00 1 Eb 4 Note Off
    0004D79E 1 -- 90 3F 7F 1 Eb 4 Note On
    0004D7A4 1 -- 80 42 00 1 F# 4 Note Off
    0004D7A7 1 -- 90 44 79 1 G# 4 Note On
    0004D7A8 1 -- 80 3F 00 1 Eb 4 Note Off


    There's a note-on and a note-off occurring on the same timestamp 0004D77D, then another note-on only 3ms after that at 0004D780, with a note-off following 2ms after it, then another note-on at 0004D79C (20ms after the last note-off), with a note-off only 1ms after it at 0004D79D, then immediately another note-on at 0004D79E which lasts until the note-off at 0004D7A8 (10ms). This succession of press-and-release events for a single key doesn't seem physically plausible.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited