# Kontakt Dynamic Pure Tuning Side-chain



## Phryq (Jun 1, 2019)

Is it possible to route midi from one Kontakt into another in a way that doesn't trigger samples, but that signals the "pure tuning" script?

e.g. I have a string section. I want them to tune according to adaptive pure-tuning, but each library is monophonic, and needs to 'hear' the others in order to know which harmonies to adapt to.

I'm pretty sure it was impossible in Kontakt 5, but maybe something in 6 allows this?


----------



## ScoringFilm (Jun 3, 2019)

@Phryq this factory script uses 'change tune' i.e. alters the triggered note. You would have to edit this script add PGS keys/values to communicate across script slots and then a second altered version to receive those values.


----------



## Phryq (Jun 5, 2019)

ScoringFilm said:


> @Phryq this factory script uses 'change tune' i.e. alters the triggered note. You would have to edit this script add PGS keys/values to communicate across script slots and then a second altered version to receive those values.



So how difficult would that be to do?


----------



## ScoringFilm (Jun 5, 2019)

I guess it depends how proficient you are at KSP; relatively simple for someone who is used to scripting. Remember though that it is not midi being transmitted but internal Kontakt functions/KSP


----------



## Lindon (Jun 6, 2019)

Phryq said:


> Is it possible to route midi from one Kontakt into another in a way that doesn't trigger samples,....



So *between* instances of Kontakt? PGS isnt really going to help you there, between script slots -from "Dynamic Pure Tuning" to any of those slots marked "<empty>" then sure, but between libraries - which is I think what you are asking, then short answer - No. Longer answer - you'd need to write some KSP to "review" the midi notes coming from the instrument ahead of it in the plug-in chain, and in this situation it wouldn't be "polling" all the playing instruments - it'd be just listening to the instrumetn in front of it...


----------



## Phryq (Jun 19, 2019)

But could you just set it to e.g.

"use midi channel 1 to trigger samples"
"Use Midi Channel 2 for the tuning script".


----------



## Lindon (Jun 20, 2019)

Phryq said:


> But could you just set it to e.g.
> 
> "use midi channel 1 to trigger samples"
> "Use Midi Channel 2 for the tuning script".




Well mf_get_event_par() has a param called $EVENT_PAR_MIDI_CHANNEL so you can find the midi channel of some incoming event (and I assume set it for outgoing events)


----------



## Phryq (Jul 5, 2019)

Lindon said:


> Well mf_get_event_par() has a param called $EVENT_PAR_MIDI_CHANNEL so you can find the midi channel of some incoming event (and I assume set it for outgoing events)



So how exactly would one do this? Is this require some serious Kontakt Chops?


----------



## EvilDragon (Jul 5, 2019)

Lindon said:


> Well mf_get_event_par() has a param called $EVENT_PAR_MIDI_CHANNEL so you can find the midi channel of some incoming event (and I assume set it for outgoing events)



That one only works for MIDI object events, but you can also use the regular get_event_par() to get the MIDI channel from note ons/offs sent from outside (sadly, can't do anything about CCs, pitch bend, aftertouch, etc.)


----------



## Phryq (Jul 5, 2019)

EvilDragon said:


> That one only works for MIDI object events, but you can also use the regular get_event_par() to get the MIDI channel from note ons/offs sent from outside (sadly, can't do anything about CCs, pitch bend, aftertouch, etc.)



So basically this would be impossible, right?


----------

