Old 02-16-2018, 11:07 AM   #1
Jason Lyon
Human being with feelings
 
Join Date: May 2016
Posts: 720
Default Simple MIDI keyswitch chasing

Sorry, but dimbo here has done a fair bit of research and is still very confused about this area.

I think it's best if I just describe what I'd like to happen and maybe someone can suggest a way to do it.

Let's say I start playback from a certain point and a keyswitch triggers pizz, so we get pizz. Then I move the playback line and start from a different point, in the middle of a legato phrase. The keyswitch to change to legato hasn't been triggered, so the patch stays on pizz until the next trigger happens.

What I'd like is for the program to look backwards through the MIDI tracks when I hit play and find and trigger the last used keyswitch.

I'm aware there are all kinds of fantastic solutions involving UACC, but I'm just too dense to program them for specific libraries. So I was wondering whether the sort of "look back and trigger before playback" idea that I have in mind has been implemented somehow.

Thanks in advance guys.
Jason Lyon is offline   Reply With Quote
Old 02-16-2018, 11:44 AM   #2
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

firstly Jason... if you're a 'dimbo' then my light is not even on... hahaha

anyway, yeah a nasty problem and I don't know of any solution other than the obvious, like put in longer keyswitch notes or more of them as needed...
I'm sure you thought of that option...

The solution you are wishing for is a nice wish but I don't quite see how it would work given that keyswitches as notes can be a wide variety of note values, so how would reaper know which notes to chase?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 02-16-2018, 12:39 PM   #3
Jason Lyon
Human being with feelings
 
Join Date: May 2016
Posts: 720
Default

Dunno - I was thinking of maybe ascertaining or defining the lowest actual sounding note and just searching below it. Perhaps referencing MIDI note names or something like that.

I suppose I'll probably have to go another route eventually. Program change conversions and UACC and all that Jedi stuff...
Jason Lyon is offline   Reply With Quote
Old 02-16-2018, 02:28 PM   #4
jbraner
Human being with feelings
 
jbraner's Avatar
 
Join Date: Nov 2017
Location: Edinburgh
Posts: 488
Default

It's easier to just put a (redundant) keyswitch note every measure or so ;-)
jbraner is offline   Reply With Quote
Old 02-16-2018, 02:36 PM   #5
Jason Lyon
Human being with feelings
 
Join Date: May 2016
Posts: 720
Default

Maybe you're right JB. But it's a pain.
For now, I'm exploring Reaticulate. I think I'm about halfway to halfway to understanding roughly how to create user setups for it...
Jason Lyon is offline   Reply With Quote
Old 02-18-2018, 02:22 PM   #6
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

Quote:
Originally Posted by Jason Lyon View Post
Dunno - I was thinking of maybe ascertaining or defining the lowest actual sounding note and just searching below it. Perhaps referencing MIDI note names or something like that.

I suppose I'll probably have to go another route eventually. Program change conversions and UACC and all that Jedi stuff...
yeah but some lib's have ksw's up at the high end

still here's a temporary thought\workaround

make another midi track and send it to the track you are working on

Make a small item in there with all you ksw notes but mute them
Use named notes to see the ksw names

when you want to use it, move the item to the place in time where you are working... unmute the note you need and carry on
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 02-19-2018, 08:11 AM   #7
Jason Lyon
Human being with feelings
 
Join Date: May 2016
Posts: 720
Default

Thanks hopi.

I'm still working with MIDI note name files and "hide unused" for now. Not such a chore really. I always add an artic at the start of each phrase anyway, so it's only when I play from within one that it goofs on me. Not the end of the world.

When I've got the time I'm going to incorporate some new acquisitions (CSS etc) into my main template and I'll take the opportunity to dive into Reaticulate or some other UACC option when I do.

The difficulty will be writing bespoke Reaticulate files for libraries that aren't "factory supported".

The other thing I could do would be roll up my Lua sleeves and write my own "poormanschaseback" script.

Method would be something like:
for each MIDI track
build table from txt file containing KS note numbers (wherever they are in the range)
** or parse MIDI note name info and build table from any note that is non-note text
reverse search the MIDI file from current cursor until a match is hit
send the KS
next
start playback

May sound like a painful way of doing things, but running through even huge MIDI files by script is virtually instantaneous.
Jason Lyon is offline   Reply With Quote
Old 02-22-2018, 04:26 AM   #8
Indirect
Human being with feelings
 
Join Date: Dec 2015
Posts: 122
Default

I arm whatever section I need to record and "play in" whatever keyswitch I need at the moment. The problem is keyswitches must be held all the time to prevent other articulations taking over. I could use looped midi item with color-coded keyswitches as item takes and just cut pieces of whatever articulation i need. Also this system doesn't interfere with "punch ins". I use three tracks per instrument as I have keyboard navigation of arm and select track worked out. Its just easier to arm 3 tracks at the same time and play part I want and then redo just automation part for example.

Midi filtering is through JS plugin (the one which limits the notes and with "pass cc's" on/off switch. As garrritan uses notes 0-12 for keyswitches it was easy to figure out

Now I still have audio part of the template confused. Its all through one track right now. I love what garritan's convo engine is doing, and I don't have much of a impulse library. Could I use garritan as a convo reverb?
Attached Images
File Type: jpg keyswitches.jpg (38.9 KB, 134 views)
Indirect is offline   Reply With Quote
Old 02-22-2018, 01:36 PM   #9
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

well IF the script would work as you imagine that would be good.

CC artic's are better than ksw's but also are their own pain to keep track of even with rearticulate...

I'm helping my son build a rather huge template for kontakt and though it has it's own pains, it avoids ksw's entirely by having each articulation loaded to a diff midi chan in kontakt and then sending a dedicated midi track to that.

the up side is obvious... namely you can have multiple artic's playing at the same time

lot's of work but you know how templates are... do them once and have them forever.

this one is quite the chore in that you can only load 16 midi chan's to each kontakt instance [practically speaking anyway] so a lib that has 40+ articulation requires 3 instances of kontak loaded....

such is life... a complex situation of pro's and con's no matter what you try
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 08-27-2020, 11:11 AM   #10
Ben Osterhouse
Human being with feelings
 
Join Date: Jan 2019
Posts: 51
Default

This is a couple years ago, but if you're still looking for a keyswitch chasing script, I made one myself:
https://forum.cockos.com/showthread....55#post2337055
Ben Osterhouse is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:35 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.