CSS Control Panel - legato delay solution + other features (1.5, now supports keyswitches!)

Discussion in 'SAMPLE Talk' started by Ihnoc, Mar 28, 2018.

  1. Vadium

    Vadium Member

    114
    65
    Jul 21, 2017
    One note trills are not works for me (with any state of a "one note trills" button)

    Also, if I apply a downloaded source script, I see a red line
     
    Last edited: Oct 10, 2018
  2. OP
    OP
    Ihnoc

    Ihnoc Active Member

    It looks like you have applied the script to an instrument. The script must be applied as a multiscript, which would explain why you are seeing script errors.

    I'm not sure how you've managed to unlock CSS (resaved it or something?) but using the script on an instrument is not intended.

    For curiosity, what are you using there in the middle for articulation control?
     
    Last edited: Oct 10, 2018
  3. Vadium

    Vadium Member

    114
    65
    Jul 21, 2017
    I use a Reatiqulate in Reaper.

    Later I will test same setup in Cubase
     
  4. Vadium

    Vadium Member

    114
    65
    Jul 21, 2017
    oh, yes - it was a cause. Now I open this script as multyscript and all is works OK! thank you!

    But first legato note sounds early - not correct
     
    Ihnoc likes this.
  5. OP
    OP
    Ihnoc

    Ihnoc Active Member

    That is frustrating. I thought I had solved that issue. Could you confirm:
    1. The track is offset by -300ms?
    2. The CC you are using to turn on the script's delay is above 64 before the legato line starts?
    3. What information are you sending to Kontakt to play a legato line (CC58 value, or legato on/off keyswitch, or both)?
     
  6. Vadium

    Vadium Member

    114
    65
    Jul 21, 2017
    I just have tested same setup in Cubase and Reaper:

    1) Yes, offset of track = -300ms
    2) Yes, I use CC13 <63 for play and recording and >64 for playback
    3) For advanced legato I send CC58=6 and note34 with velocity 65

    in Cubase all works OK and first note is OK

    in Reaper: first time I press play in fresh open project - all is OK. If after it I switch CC13 to <63 and play on the keyboard different articulations, then switch CC13 back to >64 and press Play - first note is bad. If I do same in Cubase, first note is OK
     

    Attached Files:

    Ihnoc likes this.
  7. NJlo

    NJlo New Member

    3
    1
    Oct 22, 2018
    This is an amazing solution, thanks very much! Only I have the issue in Logic Pro X, that the first note is not delayed correctly. Is there anything I can do about that?
     
    Ihnoc likes this.
  8. OP
    OP
    Ihnoc

    Ihnoc Active Member

    Thanks @Vadium and @NJlo, I think I have nailed this down. 1.3 is now available. Page updated.

    It looks like I wasn't resetting the length of a legato phrase when playing something other than a legato note. I did 3 compositions with it in this state so I'm not sure how I missed it.
     
    Vadium likes this.
  9. NJlo

    NJlo New Member

    3
    1
    Oct 22, 2018
    That works perfectly, thanks a million!

    For anyone else reading this.. I was having an issue with MIDI imported from a notation software that another arranger uses. The MIDI notes were somehow all on another channel, so I had Kontakt set up to receive in omni. However, this multiscript doesn't do that, so if you use it, make sure to change all notes to channel 1 (or whichever one you choose)
     
  10. OP
    OP
    Ihnoc

    Ihnoc Active Member

    Allowing Omni shouldn't be hard so I will consider adding that. For curiosity, in this instance were all the notes on channel 2 and the CC or keyswitch on channel 1 or something?
     
  11. NJlo

    NJlo New Member

    3
    1
    Oct 22, 2018
    Nah it was way weirder... The arrangement I got in was written out for 12 strings individually and they basically had their own midi channel for notes each, but other parameters were somehow on two totally different channels.
     
  12. OP
    OP
    Ihnoc

    Ihnoc Active Member

    So when I want to play a legato line, I set the sustain articulation in CC58 and the legato keyswitch within the same expression map articulation. If you don't set that keyswitch, I believe the script will assume a sustain delay (witch is the fast one) when switching to the sustain articulation.

    Having said that, I could add some memory to whether you were in legato or not, which might help this problem.

    I would much more likely blame my script than blame the precision of Kontakt itself. Certainly different short articulations and different round robins will have different attacks. They're never going to be 100% on the grid.

    What I do suggest is creating a quick passage with the delay on and then bouncing the track to audio. That way you can estimate how far off different articulations are and adjust to taste in the script. Very simply though, the script does a Slow Delay - Shorts Delay to decide how long to wait before playing a short note. This is calculated in milliseconds but Kontakt goes down to microseconds in delay. The execution speed is going to be so fast that, if the script works properly, the inaccuracy would be imperceptible.

    If you have a case that reproduces what you're talking about as a midi file in these shorts, I'd be more than happy to take a look and try to improve things. That does sound like a pain!
     
  13. saxmand

    saxmand New Member

    7
    1
    Jan 3, 2011
    EDIT: THIS IS SOLVED. SEE MY POST FROM NOVEMBER 14.

    This is such a great idea and concept.
    I've been trying a couple of times now to make it work, but get a bit different inconsistencies and problems.
    So I'm in Cubase. After lots of try an error it seems that if you have the high negative track delay (like -300), notes starts to be all over the place with inconsistent timings. Very Noticeable with short articulations.
    And it doesn't seem to be ExpressionMaps causing it.

    Anybody else experience this?

    About the script:
    I found that when I use ExpressionMaps, and go from Shorts to Legato, the legato mode gets set to 0, so I need to hit the key switch 24 (Bb0) to enable legato again for the correct delay values.
     
    Last edited: Nov 14, 2018
  14. saxmand

    saxmand New Member

    7
    1
    Jan 3, 2011
    A bit further investigation has unfortunately shown that Cubase Track Delay compensation is very unreliable as soon as it gets beyond -250ms.


    Gonna report it to Steinberg if it's not already.
     
  15. saxmand

    saxmand New Member

    7
    1
    Jan 3, 2011
    Hey Ihnoc.
    Only saw your response after my last post. Had already figured out that it wasn't necessarily your script, but something spooky going on in Cubase.

    Okay, so you set both key switches and CC58 on the ExpressionMap. Didn't catch that from the instruction :)
     
  16. OP
    OP
    Ihnoc

    Ihnoc Active Member

    This isn't my experience but I might just be missing something. I'm on 8.5 Pro, in case it helps. As a wild guess, this might improve if you increase your buffers in your ASIO drivers? If they are particularly low, that might be a reason (but I really have no idea).

    I will update the description. Even so, you've made me think about the legato memory. I will look into that.
     
  17. saxmand

    saxmand New Member

    7
    1
    Jan 3, 2011
    Great news. The solution was in Preference -> MIDI.

    Changing the MIDI Latency Mode to "Normal" or "High" did the trick. Mine was on "Low".
    Seems to work almost flawlessness. I think I might still hear once in a while a small shift in timing of a MIDI note or two when doing it with a very percussive sound, but it's very minimal, and I can use it now!
     
    Ihnoc likes this.
  18. saxmand

    saxmand New Member

    7
    1
    Jan 3, 2011
    Awesome. Looking forward to that. Then I wouldn't have to rewrite all my ExpressionMaps :)
     
  19. chrisphan

    chrisphan Active Member

    257
    88
    Nov 30, 2016
    Not sure what I'm doing wrong, but so far I haven't been successful using the script. The main problem is that the delay compensation becomes laggy after starting a new phrase. For example, if I start a legato phrase, end it and start a new phrase (whether legato, or another articulation - using CC 58), the compensation is no longer precise.

    Could you help me troubleshoot this? Others have had success with the script so I might be doing something wrong here.
     
  20. OP
    OP
    Ihnoc

    Ihnoc Active Member

    Hello. Thanks to some sample MIDI from @alfredsolax, the script version has been updated to 1.4. This may be more accurate for some users and phrases, especially if you are moving around between articulations regularly or stopping the playback in the middle of phrases. Please try it out.
     
    alfredsolax likes this.

Share This Page