Introducción a Guiones en Kontakt, Parte 2

In this 5 Part MPVHub Series, Toby Pitman explores the wonderful world of scripting in Native Instruments' Kontakt sampler. In Part 2 you'll build a note trigger FX script!  

Así que la última vez que miré algunas callbacks básicos, a saber, "en" init ", en la nota" y "en la liberación". Vimos como la colocación de un código simple entre estas devoluciones de llamada impresos algunos de los mensajes que nos permitan conocer nuestro código funcionaba.

En esta ocasión, se va a construir algo! Im seguro youve visto todo el daño Heavyocitys y Evolve instrumentos. Una de las cosas interesantes que tienen son nota activa FX. Bueno Im va a mostrar cómo crear un simple script para hacer esto, ya que creo que es algo que los usuarios les gustaría hacer. ¡Vamos!


El Plan!

Heres lo que estábamos buscando. Usted carga un montón de efectos de inserción y derivación ellos. A continuación, asignar el parámetro Bypass para cada efecto a una nota. Al llegar a una nota, el efecto correspondiente a esa nota está activo, cuando se suelta la nota el efecto es anulado!

Para lograr esto, primero tenemos que aprender acerca de las declaraciones.


Declaraciones

¿Cuáles son los estados? Bueno estos permiten Kontakt tomar decisiones acerca de cuál va a pasar cuando se hace algo.

La instrucción if ... else se encuentra en todos los lenguajes de script. Permite que el script se ejecute sólo si sucede algo muy específico. Vamos a llevar nuestro mensaje sencillo de la última vez como un ejemplo.


en la nota

mensaje ("Estás tocando una nota")

finalizará el


El mismo se mostrará si se golpea cualquier nota, se trata de una nota sobre la devolución de llamada después de todo. Digamos que sólo quiero que esto aparezca en C3 embargo. La sentencia if es perfecto para esto.


Si

Aquí está la estructura de la sentencia if.


if (definir algunos parámetros aquí como algo igual a algo)


{Hacer algo inteligente si algo es igual a algo!}


End If


Así que eso es bastante simple! Pero lo que es algo igual a algo? Bueno, podría ser cualquier cosa. En nuestro caso, tenemos que decirle a la declaración sobre si C3. Podemos hacer esto utilizando una variable incorporada llamada $ EVENT_NOTE (También hay $ EVENT_VELOCITY también). Esto es el valor de la nota que está declarado (s) en un número de nota MIDI y sólo se puede utilizar dentro de una nota de devolución de llamada o de liberación.

Así que podríamos decir, si $ EVENT_NOTE es igual a 60 (C3) y luego ejecutar el script!. Entonces, ¿cómo se escribe eso. Pues bien, como esto!

If statement


Si toco las notas que enviaban C3, no voy a ver nada como este script es específico de C3. Pero si lo hago!

You're Playing C3!


Entonces, ¿qué pasa con todas las demás notas? Bueno, podemos expandir esto a una instrucción if ... else.


If ... Else

La parte else se refiere a cualquier cosa que no esté en la lista. Usted puede pensar en esto como un portero en un club!


si (la persona es atractiva)


Que en!


más


Enviar a la basura!


End If


Sólo bromeando (¿O soy yo?) Pero eso suma para arriba! Podríamos usar esto.

If...Else Statement


Las notas equivocadas ahora tiene un mensaje también!

Try again Bozo!


Entonces, ¿qué pasa si queremos una carga de diferentes mensajes en diferentes notas? No queremos tener que seguir escribiendo un montón de sentencias if para cada uno. Sin embargo, existe otra declaración práctica llamada select ().


Seleccionar

Seleccione es como una versión más versátil de if ... else. Esta vez es el caso de un caso, como en una base de caso por caso. Heres cómo funciona.

En lugar de decir EVENT_NOTE $ = 60 dentro de los corchetes de la EVENT_NOTE sentencia if, que ahora sólo tiene que insertar dentro de los corchetes $ selectos como tal.


seleccionar ($ EVENT_NOTE)


End Select


El valor de número de nota de $ EVENT_NOTE se pasa al caso.

Select

Esto va a hacer exactamente lo mismo que si nuestro primer ejemplo. Usted puede establecer tantos casos como quieras.

Select


También se puede establecer un rango para el caso como tal.

You can also set a range for the case like so.


Cuando juegas dentro de los rangos interminables ver esto.

You're Playing Between C4 and B4!


Por supuesto que es necesario vincular la nota con un lanzamiento así.


Al soltar cualquier nota.


Ahora que sabemos cómo funciona, se va a usar select () para activar los efectos.


Cargar Algunos Efectos!

Im va a cargar tres efectos en el instrumento efectos de inserción ranuras. Ive consiguió una distorsión, un Lo-Fi y una impresora Phaser. Im ahora va a pasar por alto estos efectos.

Bypass Effects


Objetivo Los efectos

Cualquier cosa que se puede automatizar en Kontakt se puede acceder por la KSP. Hay una función incorporada en el KSP llamado set_engine_par () que permite manipular los parámetros dentro del motor Kontakt. Youll utilizar mucho en esto!

Tenemos que pasar alguna información en los soportes de esta función. Esta es la siguiente:

set_engine_par (,,,,


Vamos a descomponerlo:

  • El parámetro que queremos llevar a cabo por ejemplo, $ ENGINE_PAR_DRIVE en nuestro Distortion. ( Usted encontrará una lista de todos los parámetros disponibles en la referencia Kontakt KSP al final.)
  • El valor para el parámetro. Esto puede pasar por un control de la interfaz de usuario o puede establecer un valor.
  • El número de grupo (si es aplicable). Esto corresponde al Grupo FX. Póngalo a -1 si desea orientar efectos a nivel de instrumento.


    Establecer algunos parámetros

    Por lo tanto, el parámetro que desee efectuar es derivación. Esto está dirigido usando $ ENGINE_PAR_EFFECT_BYPASS. Pongamos que pulg

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, , , , )


    Los valores de derivación son 0 y 1 se encuentra en está anulado. Deseo activar el efecto tan mal poner 0 en el valor.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, , , )


    Mis ranuras están en el nivel III Instrumento para poner -1 en grupo.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, , )


    Mi distorsión es en la ranura 1 para Ill poner 0 en la ranura.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, )


    My efecto es un efecto de inserción para Ill poner en un genérico.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, 1)


    Ahora tengo una línea de acabado de código que puede dejar esto en mi instrucción select ().


    Code Example



    Cuando llegué a la ranura C3 primer efecto (la distorsión) se activará.

    Distortion becomes active


    Tengo que invertir esta devolución de llamada en un comunicado sobre lo que cuando me quito el dedo de la tecla se pasa por alto el efecto de nuevo. Hago esto por poner un 1 en Valor como tal.

    Code Example



    Ahora puedo configurar esto para claves diferentes con un caso diferente para cada uno. Todo lo que tienes que hacer es aumentar el número de ranura.

    Code Example


    Aquí está el resultado de golpear D3.

    Phaser becomes active


    Y a continuación, utilizando el comunicado de pasar por alto el efecto cuando suelte la tecla poniendo 1 en Value.

    Code example


    Puedo disparar más de un efecto a la vez también, que es una ventaja!

    Trigger more than one effect at the same time


    Aquí está un ejemplo de mi guión en el trabajo.

    [Audio id = "12954"]


    Luego puede establecer un título para mi guión como cubrimos la última vez.

    Script Title


    Entonces puedo ir a guardar esto como un valor preestablecido para su uso posterior!

    Save script as a preset


    Éxito! Prueba esto por ti mismo. He incluido los fragmentos de código en un

    Así que ahí lo tienen. Un guión sencillo con un resultado genial. La próxima vez bien echar un vistazo a algunos diseño de la interfaz.


    Quick Links


    Introduction To Scripting in Kontakt, Part 2 (you're reading it!)

    Introduction To Scripting in Kontakt, Part 3

    Introduction To Scripting in Kontakt, Part 4

    Introduction To Scripting in Kontakt, Part 5

For the past 20 years Toby has worked as a professional guitarist, programmer and producer. Clients include Sir Paul McCartney, George Michael, Shirley Bassey, Yusuf Islam, Giles Martin as well as the London 2012 Olympic Ceremonies. He has also worked extensively in TV, Advertising and Film. As well as composing himself he has also ... Read More

Discussion

Want to join the discussion?

Create an account or login to get started!