Midi sustain issue

Post Reply
kranich
Posts: 2
Joined: Sun Jun 14, 2015 3:43 pm

Midi sustain issue

Post by kranich »

Good Day,

I was wondering if your products could provide a solution to an issue that has been bothering me for a while.

It has to do with the Midi implementation of the sustain on/off command.

I currently use two different keyboards. At my studio, I use a Roland RD-700SX, and I do not experience any problems. However, for live gigs I perform on a Casio PX-110. The samples are streamed from a current MacBook Air i5 (multithreading) with 4GB RAM. I also have a Mini server i7, 2.6 with 16GB RAM. Both machines stream the samples from internal SSDs.

When I play certain libraries in Kontakt (8dio 1969 Legacy Piano, Cinesamples Piano in Blue) at a latency of 128 samples with the Roland keyboard, everything works as expected. However, using the same exact settings in Kontakt but playing with the Casio keyboard, I experience severe glitches every time I suppress or release the sustain pedal whilst playing chords. I recorded one example of each to demonstrate the effect:

http://www.mediafire.com/listen/5317gen ... pedal1.WAV
http://www.mediafire.com/listen/7ryvq63 ... pedal2.WAV

After much experimenting, I found that the cause is a difference in implementation of the sustain on/off command, and the way Kontakt libraries respond to it. While the Roland keyboard interpolates between the extremes - 0 and 127 - the Casio keyboard simply switches from 0 to 127. Please note screenshots:

https://farm8.staticflickr.com/7783/171 ... f5c7_o.jpg
https://farm9.staticflickr.com/8801/167 ... 8534_o.jpg

A developer with Kawai digital keyboards informed me that the Casio is not transmitting "progressive damper pedal values" - they are either fully off (0) or fully on (127).

So, my question is: Would it be possible to set-up your products such that they would send interpolated sustain on/off commands when using a regular on/off sustain pedal?

Many thanks, and best wishes.
User avatar
Rob
Site Admin
Posts: 4778
Joined: Sat Aug 01, 2009 2:04 pm

Re: Midi sustain issue

Post by Rob »

Hi,

That sounds like a bizarre issue, and to be honest I would think that Casio's implementation is the correct one. I've designed MIDI Expression's sustain the function the same as Casio's, but I could probably add an option to allow interpolated values quite easily, if that was a feature that was 'needed' and that others might find useful as well.

Does your Casio have an expression pedal input? You might try connecting your sustain to that and programming it to send CC 64. That by itself would likely interpolate the values.

Regards,
Rob
User avatar
Rob
Site Admin
Posts: 4778
Joined: Sat Aug 01, 2009 2:04 pm

Re: Midi sustain issue

Post by Rob »

I think I know what the problem your having is. In short, you probably need to disable 'half-pedalling' in Kontakt. I'm not sure how to do that, but I'm guessing google will find the answer for you.

Half pedalling allows you to control the nuances of how much sustain is applied. I'm guessing the sustain input on your Roland supports half-pedalling, which basically treats the sustain pedal as a variable controller and as such interpolates the values because of it's filtering system.

MIDI Expression supports half-pedalling, so if you wanted to use this feature, you could assuming you had the proper pedal. I have a Roland PD-8 and it works great.

Again, I believe you can fix your current setup by just disabling half-pedalling in Kontakt.

Regards,
Rob
kranich
Posts: 2
Joined: Sun Jun 14, 2015 3:43 pm

Re: Midi sustain issue

Post by kranich »

Rob wrote: I've designed MIDI Expression's sustain the function the same as Casio's, but I could probably add an option to allow interpolated values quite easily, if that was a feature that was 'needed' and that others might find useful as well.
Hello Rob,

Thank you for your reply. If you could implement this feature, you would definitely have a new customer!

About Kontakt and half-pedalling, there is no provision to enable or disable this for all libraries. Some piano libraries have this feature, but most don't. The libraries I am having trouble with do not.

I have been in contact with Native Instruments, 8dio and Cinesamples. They have acknowledged the issue. The support person of Native Instrument told me that he has forwarded a bug report to the developers and that he would let me know if or when a solution has been found. However, I can imagine this might take a while, considering the number of requests Native Instruments receives all the time.

I have tried many different keyboards and found that the more expensive (and consequently physically heavy) keyboards by Yamaha, for example, transmit interpolated values. It seems as if keyboard manufacturers are aware that there are potential problems with simple 0-127 values, and implement sustain commands "correctly", so to speak, in their more upmarket models.

However, my goal is to be able to use all of my libraries live with a more portable, lightweight and less expensive keyboard.

So, if it is at all possible for you to implement "progressive damper pedal values" with MIDI Expression, I would be extremely grateful.

With respect to my Roland keyboard which sends interpolated values, it only has a regular on/off sustain pedal and does not provide for half-pedalling. I recorded a short midi file in Logic at 120BPM, which shows that the keyboard rather quickly interpolates between extreme values, and always at roughly the same rate. This, however, seems to be sufficient to avoid the glitch issue which seems to be caused by a brief CPU spike. I uploaded the midi file. I would have thought that you can play-back and analyse the file in any DAW:

http://www.mediafire.com/download/dx4d9 ... al.mid.zip

Many thanks, and best wishes.
Post Reply