What's new

CSS/ CSB Hanging Notes

jimjazzuk

Member
I'm having a strange thing happen with CSB with the muted brass patches... the notes don't play when you press the keys down, but only when you release the key. Anyone else have this? Very frustrating! Any idea what this could be @Alex W ?

Edit: only with muted sustains, using Logic Pro x
 
Last edited:

Alex W

Senior Member
Hi everyone,

Here's a slightly long yet hopefully useful update on our progress regarding some users experiencing hung notes with CSS / CSB in Logic. We tried to identify the cause by adding a script to Kontakt that monitors all of the MIDI data being sent to Kontakt by Logic. Bear with me because it's a little bit complicated.

What we found was that if you have MIDI chase enabled for CC64, and you then press stop during playback at a part where CC64 = ON, the following will occur. First, all notes currently sounding should stop at that point, because Logic always sends a CC64 = OFF command whenever you press stop.

However, since playback was stopped at a part where CC64 = ON, Logic will restore CC64 to ON immediately after it sends the initial CC64 = OFF message when playback was stopped. What this means is that any notes you then subsequently trigger, either by selecting a note in the editor or playing a note on the keyboard, these notes will be "hung", in that they will continue to sound as though the sustain pedal is engaged, because it is.

region playback.png

This is made slightly more complicated by the fact that there seems to be a minor bug in Logic, whereby even though you may have pressed stop during a part where CC64 = ON, sometimes Logic randomly neglects to restore CC64 to ON, for no apparent reason. Obviously in these random cases, hung notes will not occur.

But apart from those random cases, overall this is not a bug as such, and the same thing will occur whether you're using CSS, CSB or any other library that has long notes, e.g. the Logic default strings patches. If you want to avoid this specific situation, you could try turning off MIDI chase for CC64 in the preferences:

MIDI chase off CC64.png


---


Another factor that may apply to some users relates to the pause button. As mentioned above, Logic sends a CC64 = OFF message at the end of a region or if you press stop, but not if you press pause. Any note sounding in this case should continue to sound.

Also, if you press the pause button close to or at the moment a new note starts, Logic sends this "note on" command after the pause command to Kontakt. As a result, pressing the pause button will sometimes stop all notes, but other times the notes will continue to sound - creating the impression of hung notes. We will address this specific issue in the next script update, but hopefully this information helps folks that use the pause button in this scenario.

Some users have also reported hung notes after pressing the stop button. This never happened during our tests. It would be interesting to see if turning off MIDI chase for CC64 resolves this issue in those cases.


---


And lastly, this following scenario is something we're doing more ongoing testing on, but it would be useful to hear user feedback regarding this. Please see this video of an example of a hung note being created with the default Logic EXS strings patch. It seems that we can constantly create hung notes by placing the playhead within a region shortly after a note, or perhaps just before the end of a note (as in the video).

In the video, notice it is the second note (the A) that becomes hung, possibly due to the playhead's position relative to the end of the note. It seems that Logic managed to send a "Note On" message for this note, but it never sent a "Note Off" message to it, hence it hung. Again, this is not CSS / CSB, just the default Logic strings. It seems that the "pre-roll" function in Logic is to blame here, and switching it off should hopefully alleviate this problem.

As I mentioned there is more testing to be done on this specific scenario, but can anyone else confirm / replicate this on their system, and does switching off pre-roll fix it? If you want to leave pre-roll on, here are other things that may help avoid the problem:

Always start the playback from the beginning of a region.
Do not use the fast-forward or rewind button during playback.
Do not manually reposition the playhead during playback.

Do these things help?


---


Thanks everyone for your patience, hopefully we'll continue to shed more light on the issue.

Best,
Alex :)
 

Brian Nowak

Active Member
@Alex W thanks for the input. I have adjusted my settings and am making sure to use "stop" instead of "pause" when working through parts. I am still getting some hanging notes, but they are significantly fewer than before. I think having chase off entirely might be a big step in getting this behavior to stop. I will try some more.

Part of me wonders if there might be a small issue with Logic's Articulation Sets and how they interact with the library. I was going through an older piece from before I updated to a version of Logic where Articulation Sets were possible. I noticed there were fewer hanging notes on CSS. Lo and behold, I was using key switches. Since updating Logic I have been using Thanos by @NoamL. I wonder if Logic is a bit sensitive as to using articulation IDs instead of key switches. I'm just spitballing here.
 

clisma

Active Member
Thanks so much, Alex, for this! Looks like for now the solution is to disable chasing of CC 64-71, at least over here.
 

g-man

New Member
And lastly, this following scenario is something we're doing more ongoing testing on, but it would be useful to hear user feedback regarding this. Please see this video of an example of a hung note being created with the default Logic EXS strings patch. It seems that we can constantly create hung notes by placing the playhead within a region shortly after a note, or perhaps just before the end of a note (as in the video).

In the video, notice it is the second note (the A) that becomes hung, possibly due to the playhead's position relative to the end of the note. It seems that Logic managed to send a "Note On" message for this note, but it never sent a "Note Off" message to it, hence it hung. Again, this is not CSS / CSB, just the default Logic strings. It seems that the "pre-roll" function in Logic is to blame here, and switching it off should hopefully alleviate this problem.

As I mentioned there is more testing to be done on this specific scenario, but can anyone else confirm / replicate this on their system, and does switching off pre-roll fix it? If you want to leave pre-roll on, here are other things that may help avoid the problem:

Hi Alex, thanks for the detailed analysis of the problem! I was able to replicate the hung notes with the Logic Studio Strings both with playback pre-roll on and off. But after turning the chasing of sustained notes off in the MIDI/Chase settings I wasn't able to replicate it. If there's more things we can help you with to solve this problem please let us know!
 

ricoderks

Active Member
Hi Guys,

I wanted to share my solution to the hanging notes so far. For Cubase, that is.
Since I use expression maps and programmed them all to the corresponding cc85 value I've encountered this hanging notes problem. The reason was using sustain pedal in combination with the expression maps. I use a lot of separate events and at some point in my project there were these hanging notes some of the strings. So, i made a little event with all combos of the expression maps quickly switching right after another and setting cc64 to 0 every time a new articulation was selected. Like a reset event. However, it did not work! Odd... So I glued all parts to one big event to see if there was any other cc64 data other than my "reset" event. Nope! Also odd. I've checked my preferences for chase events and came across a setting which solved the problem. It's called: "Chase not limited to Part Boundaries".
Then it hit me: Some events were trimmed instead of using the selection tool and deleting some bits. That means you can re-trim the parts and the original data is still in there. Its been in Cubase since Jesus died but kinda forgot that there can be data in "non existing" or trimmed parts. And of course there was some cc64 data in there! I just could not see it anymore. Because I glued everything together that data was deleted/merged. I prefer to have this silly setting OFF and have all the events in the parts anyway....
Hope it will help to someone! Maybe this is also kinda the problem for other DAWs.

Basic feature but easily overlooked by me and probably others too.

Good luck!

Rico
 

ricoderks

Active Member
Well....
One problem fixed. Onto the next one. For some reason articulation mapping IS triggering cc64 to ON even when i did not program that in AT ALL. I can see it triggering in kontakt midi monitor. When setting a command to turn cc64 of with each articulation switch the sustain pedal stopped working completely. NICE CUBASE! Thanks a lot for the headache.... Someone got any ideas? the attachement shows how i would like to work with CSS/CSB but the sustain problem is killing it completely for me. Especially because the re-bow or re-tongue feature is awesome. And now I can not export my session into stems without false triggered sustained notes! :( You can clearly see cc64 turned to 0 before hitting the marcato accent switch. It also does not help to put the midi cc earlier or later, after the marcato trigger. Then the next trigger will be sustained. This is just bad programming by steinberg it seems to me. @Alex W, do you have any clue? I can maybe send over the Expression maps and midi parts for testing?

Rico
 

Attachments

Top Bottom