This is a compilation of what I posted some years ago on PW. I prefer having it here too
By default Garritan CFX and CFX Lite have slightly "unforgiving" re-pedaling behavior, i.e. it has a relatively short timing window for re-pedaling compared to what is usual. To reiterate what re-pedaling is: on an acoustic piano while holding one or more notes with the sustain pedal, you can release the sustain pedal to dampen the strings but if you press it again shortly afterwards they will not have decayed enough to be silent, so they will continue vibrating. Logically, that is also applicable in case you press a key and lift your finger but immediately press the pedal. If you are fast enough, the note will keep sounding as though the key wasn't released at all. This behavior is supported on all digital pianos, however many software pianos don't support it at all. Well, Garritan CFX introduced it in one of their updates, however by default the re-pedaling window is rather short and so it's still insufficient to be realistic. Some people would colloquially refer to this as "unforgiving pedaling".
I communicated with Jeff Hurchalla, who is the main developer and he explained how re-pedaling timing can be reconfigured. I tweaked it to my liking and CFX becomes a much more playable instrument IMO.
The file that needs to be edited is as follows.
Garritan CFX Lite
macOS: /Library/Application Support/Garritan/CFX Lite/Programs/CFX_Lite_Full.sfz
Windows: C:\Program Files\Garritan\CFX Lite\Programs\CFX_Lite_Full.sfz
Garritan CFX (Full version)
macOS: /Library/Application Support/Garritan/CFX Concert Grand/Programs/CFX.sfz
WIndows: C:\Program Files\Garritan\CFX Concert Grand\Programs\CFX.sfz
Warning! Please backup that file before editing it. If something is not right with the modified file, the application won't start, so you have to restore the original file.
Open the file (on Windows you have to edit the file with Administrator permissions) and find the following section:
<midi>
type=com.Garritan.Piano.MIDI.Preprocessor
vendor_specific=298|1|299|0|296|24|297|64|295|7|301|0.150|302|0.127|303|0.101|304|0.084|305|0.074|306|0.068|307|0.062
(On macOS that section begins on line 398)
I have changed some of the values in that vendor_specific
line. Here it is:
<midi>
type=com.Garritan.Piano.MIDI.Preprocessor
vendor_specific=298|1|299|0|296|24|297|64|295|7|301|0.020|302|0.020|303|0.020|304|0.020|305|0.020|306|0.020|307|0.040
Here's a quote from Jeff regarding that line:
Starting with the 301|0.020
are pairs of values where the first one determines a region of notes while the second one is a delay in seconds. When you press the pedal in repedaling mode (i.e. a note has just been released) the actual catching of the release portion of that note won't happen immediately after you press the pedal, but rather after a certain delay. The line specifies the corresponding delay for the corresponding region of the keyboard:
301 (stock value 0.150) covers A0 to D1
302 (stock value 0.127) covers Eb1 to G#1
303 (stock value 0.101) covers A1 to D2
304 (stock value 0.084) covers Eb2 to Bb2
305 (stock value 0.074) covers B2 to G#3
306 (stock value 0.068) covers A3 to G#4
307 (stock value 0.062) covers A4 up to the last note with dampers (G6)
Any future update to Garritan CFX would override the line, so you will have to redo the modifications.
My response to Gombessa who asked why I think that change is needed:
Basically in the default CFX there's a very short time window after you release a note and can then catch it by repedaling. As a result when playing as I usually play, I have bass notes cut out, ones that my repedaling couldn't catch. Can't say I've played hundreds of different grand pianos in my life. Most probably about 10-20. But never had this problem on a real piano. So I tweaked (prolonged the repedaling window) entirely to my liking, not emulating a particular real or digital piano. But it changed CFX for good for me and apparently to other people too. You can try it and revert if you don't like it. Or if you are happy with CFX as it is you don't need to bother at all.