Sustaining midi notes with a sustain pedal without using CC64

The only thing I see wrong in the log is line 79. I\'m not sure why it is sending a note-off to note 32 if you are still holding the key down and I don\'t see where you lifted it up.

My only thought is maybe both translators 1.3 and 1.5 are triggering the same all-notes off timer, so I set up each one to only trigger on their input device (keyboard for 1.3 and external pedal for 1.5) so use one or the other but not both and it should work correctly with the attached.

 

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

 


Attachments:
1596050904440_Sustain-Handler-2020-07-29.bmtp

Another thought is to set a 20ms initial delay on the all notes-off timer to give some time to detect a key up movement on a note that may be release at the same time as the sustain pedal. This might fix the timing of the key-up release vs the sustain pedal release.

Hi Steve,

Thanks! Just trying it now. No difference yet, but I think I know why note 32 receives a note off in line 79 of the log. Note 32 is the D that I sustained, and then while sustaining the note with the pedal, I released the key with my hand. This causes it to receive a delayed note off when the timer checks if I'm still holding that D. Note 30 is the C I added after releasing the D (and sustaining it). That C is being held down by my hand, while I lift the sustain pedal. This works (and sounds) exactly like it should, though the IPS still stops running upon lifting the sustain. That is what confuses me, because there is no note off being sent for that C when the sustain pedal is lifted, and it should make the IPS function exactly like it would if I would do this by hand, without using the sustain pedal.

OK, make sure you don’t have any MIDI-thru paths set on BomeBox otherwise the all-notes off message will probably still squeak through.

Hmm I checked this, and if there is a thru path set, those all-notes off messages would also appear when I monitor the incoming midi, after the bomebox. When I do this, everything looks perfect, in the log and in my midi monitor app. And this same midi data signal is going to the IPS with 100% certainty. It should actually be working perfectly now, there is no way for the IPS to detect the sustain pedal, but mysteriously it does anyway…

Could you re-capture the log with both MIDI in and MIDI out? Maybe we are sending something from MT Pro that we are not seeing. I assume you are monitoring you BomeBox with MT Pro using the log window.
Are you monitoring with PC or Mac?

Yes I was monitoring the BomeBox output with MT Pro using the log window, on a Mac. I will re-capture the log with MIDI in (the signal coming from midi keyboard with sustain pedal connected) and MIDI out (the signal after it’s translated by BomeBox.) I’ve also experimented a little with the repeat delay and initial delay on the timers, and found that the IPS doesn’t stop running when I lift the sustain pedal, only upon receiving the generated delayed list of note-offs. So at least it looks definitely related to those note-off messages, not some mysterious non-midi signal

Hi Steve, Here are the captured logs, both MIDI input and MIDI output of the BomeBox. Below also a short description of what is happening.

  1. D ( note on 32) on keyboard
  2. sustain pedal down, hand removed from keyboard, note 32 still sounds (This event is visible on MIDI input log, but nothing changes in the BomeBox MIDI output on log)
  3. C (note on 30) on keyboard (both notes are now sustained because pedal was still down while C is played)
  4. sustain pedal up, sending list of note offs to all notes except C which seems correct (IPS stops running.)
  5. a bit later C key is lifted on keyboard sending the last note-off.

From Keyboard OUTPUT (Arturia Keystep), BomeBox input log:

1: MIDI IN [Scarlett 18i20 USB]: 94 32 58

2: MIDI IN [Scarlett 18i20 USB]: B4 40 00

3: MIDI IN [Scarlett 18i20 USB]: 84 32 40

4: MIDI IN [Scarlett 18i20 USB]: 94 30 45

5: MIDI IN [Scarlett 18i20 USB]: B4 40 7F

6: MIDI IN [Scarlett 18i20 USB]: 84 30 40

From BomeBox OUTPUT

1: MIDI IN [Scarlett 18i20 USB]: 94 32 42

2: MIDI IN [Scarlett 18i20 USB]: 94 30 57

3: MIDI IN [Scarlett 18i20 USB]: 84 7F 00

4: MIDI IN [Scarlett 18i20 USB]: 84 7E 00

5: MIDI IN [Scarlett 18i20 USB]: 84 7D 00

6: MIDI IN [Scarlett 18i20 USB]: 84 7C 00

7: MIDI IN [Scarlett 18i20 USB]: 84 7B 00

8: MIDI IN [Scarlett 18i20 USB]: 84 7A 00

9: MIDI IN [Scarlett 18i20 USB]: 84 79 00

10: MIDI IN [Scarlett 18i20 USB]: 84 78 00

11: MIDI IN [Scarlett 18i20 USB]: 84 77 00

12: MIDI IN [Scarlett 18i20 USB]: 84 76 00

13: MIDI IN [Scarlett 18i20 USB]: 84 75 00

14: MIDI IN [Scarlett 18i20 USB]: 84 74 00

15: MIDI IN [Scarlett 18i20 USB]: 84 73 00

16: MIDI IN [Scarlett 18i20 USB]: 84 72 00

17: MIDI IN [Scarlett 18i20 USB]: 84 71 00

18: MIDI IN [Scarlett 18i20 USB]: 84 70 00

19: MIDI IN [Scarlett 18i20 USB]: 84 6F 00

20: MIDI IN [Scarlett 18i20 USB]: 84 6E 00

21: MIDI IN [Scarlett 18i20 USB]: 84 6D 00

22: MIDI IN [Scarlett 18i20 USB]: 84 6C 00

23: MIDI IN [Scarlett 18i20 USB]: 84 6B 00

24: MIDI IN [Scarlett 18i20 USB]: 84 6A 00

25: MIDI IN [Scarlett 18i20 USB]: 84 69 00

26: MIDI IN [Scarlett 18i20 USB]: 84 68 00

27: MIDI IN [Scarlett 18i20 USB]: 84 67 00

28: MIDI IN [Scarlett 18i20 USB]: 84 66 00

29: MIDI IN [Scarlett 18i20 USB]: 84 65 00

30: MIDI IN [Scarlett 18i20 USB]: 84 64 00

31: MIDI IN [Scarlett 18i20 USB]: 84 63 00

32: MIDI IN [Scarlett 18i20 USB]: 84 62 00

33: MIDI IN [Scarlett 18i20 USB]: 84 61 00

34: MIDI IN [Scarlett 18i20 USB]: 84 60 00

35: MIDI IN [Scarlett 18i20 USB]: 84 5F 00

36: MIDI IN [Scarlett 18i20 USB]: 84 5E 00

37: MIDI IN [Scarlett 18i20 USB]: 84 5D 00

38: MIDI IN [Scarlett 18i20 USB]: 84 5C 00

39: MIDI IN [Scarlett 18i20 USB]: 84 5B 00

40: MIDI IN [Scarlett 18i20 USB]: 84 5A 00

41: MIDI IN [Scarlett 18i20 USB]: 84 59 00

42: MIDI IN [Scarlett 18i20 USB]: 84 58 00

43: MIDI IN [Scarlett 18i20 USB]: 84 57 00

44: MIDI IN [Scarlett 18i20 USB]: 84 56 00

45: MIDI IN [Scarlett 18i20 USB]: 84 55 00

46: MIDI IN [Scarlett 18i20 USB]: 84 54 00

47: MIDI IN [Scarlett 18i20 USB]: 84 53 00

48: MIDI IN [Scarlett 18i20 USB]: 84 52 00

49: MIDI IN [Scarlett 18i20 USB]: 84 51 00

50: MIDI IN [Scarlett 18i20 USB]: 84 50 00

51: MIDI IN [Scarlett 18i20 USB]: 84 4F 00

52: MIDI IN [Scarlett 18i20 USB]: 84 4E 00

53: MIDI IN [Scarlett 18i20 USB]: 84 4D 00

54: MIDI IN [Scarlett 18i20 USB]: 84 4C 00

55: MIDI IN [Scarlett 18i20 USB]: 84 4B 00

56: MIDI IN [Scarlett 18i20 USB]: 84 4A 00

57: MIDI IN [Scarlett 18i20 USB]: 84 49 00

58: MIDI IN [Scarlett 18i20 USB]: 84 48 00

59: MIDI IN [Scarlett 18i20 USB]: 84 47 00

60: MIDI IN [Scarlett 18i20 USB]: 84 46 00

61: MIDI IN [Scarlett 18i20 USB]: 84 45 00

62: MIDI IN [Scarlett 18i20 USB]: 84 44 00

63: MIDI IN [Scarlett 18i20 USB]: 84 43 00

64: MIDI IN [Scarlett 18i20 USB]: 84 42 00

65: MIDI IN [Scarlett 18i20 USB]: 84 41 00

66: MIDI IN [Scarlett 18i20 USB]: 84 40 00

67: MIDI IN [Scarlett 18i20 USB]: 84 3F 00

68: MIDI IN [Scarlett 18i20 USB]: 84 3E 00

69: MIDI IN [Scarlett 18i20 USB]: 84 3D 00

70: MIDI IN [Scarlett 18i20 USB]: 84 3C 00

71: MIDI IN [Scarlett 18i20 USB]: 84 3B 00

72: MIDI IN [Scarlett 18i20 USB]: 84 3A 00

73: MIDI IN [Scarlett 18i20 USB]: 84 39 00

74: MIDI IN [Scarlett 18i20 USB]: 84 38 00

75: MIDI IN [Scarlett 18i20 USB]: 84 37 00

76: MIDI IN [Scarlett 18i20 USB]: 84 36 00

77: MIDI IN [Scarlett 18i20 USB]: 84 35 00

78: MIDI IN [Scarlett 18i20 USB]: 84 34 00

79: MIDI IN [Scarlett 18i20 USB]: 84 33 00

80: MIDI IN [Scarlett 18i20 USB]: 84 32 00

81: MIDI IN [Scarlett 18i20 USB]: 84 31 00

82: MIDI IN [Scarlett 18i20 USB]: 84 2F 00

83: MIDI IN [Scarlett 18i20 USB]: 84 2E 00

84: MIDI IN [Scarlett 18i20 USB]: 84 2D 00

85: MIDI IN [Scarlett 18i20 USB]: 84 2C 00

86: MIDI IN [Scarlett 18i20 USB]: 84 2B 00

87: MIDI IN [Scarlett 18i20 USB]: 84 2A 00

88: MIDI IN [Scarlett 18i20 USB]: 84 29 00

89: MIDI IN [Scarlett 18i20 USB]: 84 28 00

90: MIDI IN [Scarlett 18i20 USB]: 84 27 00

91: MIDI IN [Scarlett 18i20 USB]: 84 26 00

92: MIDI IN [Scarlett 18i20 USB]: 84 25 00

93: MIDI IN [Scarlett 18i20 USB]: 84 24 00

94: MIDI IN [Scarlett 18i20 USB]: 84 23 00

95: MIDI IN [Scarlett 18i20 USB]: 84 22 00

96: MIDI IN [Scarlett 18i20 USB]: 84 21 00

97: MIDI IN [Scarlett 18i20 USB]: 84 20 00

98: MIDI IN [Scarlett 18i20 USB]: 84 1F 00

99: MIDI IN [Scarlett 18i20 USB]: 84 1E 00

100: MIDI IN [Scarlett 18i20 USB]: 84 1D 00

101: MIDI IN [Scarlett 18i20 USB]: 84 1C 00

102: MIDI IN [Scarlett 18i20 USB]: 84 1B 00

103: MIDI IN [Scarlett 18i20 USB]: 84 1A 00

104: MIDI IN [Scarlett 18i20 USB]: 84 19 00

105: MIDI IN [Scarlett 18i20 USB]: 84 18 00

106: MIDI IN [Scarlett 18i20 USB]: 84 17 00

107: MIDI IN [Scarlett 18i20 USB]: 84 16 00

108: MIDI IN [Scarlett 18i20 USB]: 84 15 00

109: MIDI IN [Scarlett 18i20 USB]: 84 14 00

110: MIDI IN [Scarlett 18i20 USB]: 84 13 00

111: MIDI IN [Scarlett 18i20 USB]: 84 12 00

112: MIDI IN [Scarlett 18i20 USB]: 84 11 00

113: MIDI IN [Scarlett 18i20 USB]: 84 10 00

114: MIDI IN [Scarlett 18i20 USB]: 84 0F 00

115: MIDI IN [Scarlett 18i20 USB]: 84 0E 00

116: MIDI IN [Scarlett 18i20 USB]: 84 0D 00

117: MIDI IN [Scarlett 18i20 USB]: 84 0C 00

118: MIDI IN [Scarlett 18i20 USB]: 84 0B 00

119: MIDI IN [Scarlett 18i20 USB]: 84 0A 00

120: MIDI IN [Scarlett 18i20 USB]: 84 09 00

121: MIDI IN [Scarlett 18i20 USB]: 84 08 00

122: MIDI IN [Scarlett 18i20 USB]: 84 07 00

123: MIDI IN [Scarlett 18i20 USB]: 84 06 00

124: MIDI IN [Scarlett 18i20 USB]: 84 05 00

125: MIDI IN [Scarlett 18i20 USB]: 84 04 00

126: MIDI IN [Scarlett 18i20 USB]: 84 03 00

127: MIDI IN [Scarlett 18i20 USB]: 84 02 00

128: MIDI IN [Scarlett 18i20 USB]: 84 01 00

129: MIDI IN [Scarlett 18i20 USB]: 84 00 00

130: MIDI IN [Scarlett 18i20 USB]: 84 30 40

Assuming this is not working, it looks like the sustain pedal function is reversed. Normally Sustain on is value of 7F and sustain off is value of 0.

In this case, you can first try reversing the action of your sustain pedal (up is for sustain on and down is for sustain off) and see if that works. If it does, then you can change the sustain translator so that you can use the pedal as normal.

 

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

 

Actually both midi keyboards I’m using need the opposite type of sustain pedal function, but luckily this pedal has a switch on it to reverse it. Though sadly reversing the sustain pedal did not make a difference in solving the issue of the IPS. There would not by any chance be a way to generate the same midi messages as in the input midi log?(without the sustain messages) So without the large amount of note-offs triggered by the timer? I guess the translator only needs to know which keys I’m pressing on the keyboard, without checking this with the timer. If not I might be able to solve this by trying something in Max/MSP, but that would mean I’d have to bring a separate computer to concerts for this, instead of using the BomeBox. As a last resort solution it could work though.

Yes, sometimes the reverse switch on the pedal tells the attached keyboard that it has been reversed so the keyboard may end up pulling a "double reverse" on you so it is better to leave the switch and just operate the pedal in reverse to test it. I see no reason why it should not work. like I said, it works perfectly on my keyboard with Ableton Live but I don't have it running any arpeggiator pattern. There might just be something with the way your IPS handles notes off messages.

 

Steve

 

Hi Steve, Thanks so much for the help you’ve offered with this problem. I’ve tried several things over these last days and couldn’t get it working. I did get it working now using MAX as a MIDI translator. But because of another issue I found with the IPS, and MAX being a bit too much as a solution, I’m sadly going to focus on a different interactive midi instrument to use. I just wanted to thank you for the effort, and hope solving this strange problem didn’t cause you as much frustration as it did me!

With kind regards,
Jacco

Thanks for the update! Sorry it did not solve your situation. I guess if I had IPS, maybe I could figure it out eventually.