How to ignore half-pedling to prevent notes from being unexpectedly sustained - a sneaky one

This is not a GP issue, but with GP I was able to fix this in a rehearsal. This may help someone, as it took a while for this one to present itself.

I am very careful when switching rackspaces and variations to make sure that stuck notes are not possible by design. I use different rigs at home, live and backup. I develop on my home rig and move it to my live and backup rigs. The last gig I had a stuck note, this was in the middle of a medley, so it has a number of variation and rackspace changes during the song. Everything is loaded into the machine (predictive loading is off).

The day after the gig, I setup my backup rig and went through the wiring and switching of the medley within gig performer, testing every point purposely trying to get a note to stick and could not achieve it. The home rig also same result every time it tried I could not make a note stick. Last Sunday at rehearsal, I had a stuck note, I was using my live rig, so I sent the guys off for a coffee to be left in peace to dig into the problem.

The problem stems from my Roland FP10 which I use as my main 88 note master as it is using the PHA4 keybed. This entry level piano supports half pedaling (of sorts) when used with a Rolands DP10 foot pedal. The FP10 only gives three pedal points. The pedal supplied with the keyboard is a simple switch pedal, however when used with a switch pedal, the FP10 still provides the three pedal points. What happens is when you press the pedal you get CC#64 90 followed by CC#64 127 and when released you get CC#64 90 followed by CC#64 0. In essence this is not a problem, but the Arturia Jupiter 8 V4 plugin seems to ignore the second CC#64 value when they arrive very close together (the same timestamp in the MIDI monitor), leaving the last value as 90 or ON as it is greater than 64. I did manage to repeat this several times. The reason this had not been seen on the other rigs is the Kurzweil K2500 and the M-Audio KS 88, does not support half pedaling.

The fix was a quick scriptlet

// Remove half pedaling
var v : integer

On ControlChangeEvent(m : ControlChangeMessage) Matching 64
    v = GetCCValue(m)
    if v == 127 then 
        SendNow(m) 
    elsif v == 0 then
        SendNow(m)             
    end
End

With this scriptlet in place I could no longer get a stuck note. They had not even finished the coffee! GP Script to the rescue and some seriously impressed band mates.

3 Likes

Thanks for posting this — technically this isn’t a stuck note issue, so I’m going to change the title to make it clearer what this script is for.

Then you are lucky. I never impressed bandmates with a Scriptlet, I only made them suspicious :face_with_monocle:

2 Likes

To really impress a previous band, I once opened up a Kurzweil K2500 on stage as I was missing 8 notes in the middle of the keybed. Disconnected the keyboard scan connector reconnected it and finished the sound check with a working keyboard!!!

1 Like