Introduction Pour Scripting dans Kontakt, Partie 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!  

Donc, la dernière fois nous avons regardé quelques rappels de base, à savoir "sur init", "sur la note" et "en liberté". Nous avons vu comment placer un code simple entre ces rappels imprimés des messages pour nous faire savoir notre code fonctionnait.

Cette fois, allaient construire quelque chose! Je suis sûr que tous les dommages youve vu Heavyocitys et Evolve instruments. L'une des choses cool qu'ils ont sont déclenchées noter FX. Well Im vais vous montrer comment construire un script simple de le faire car je pense que c'est quelque chose que les utilisateurs aimeraient faire. Lets go!


Le Plan!

Voici ce que cherchaient. Vous chargez un tas d'effets d'insertion et de les contourner. Vous pouvez ensuite mapper le paramètre Bypass pour chaque effet à une note. Lorsque vous jouez une note, l'effet correspondant à cette note est activé, lorsque vous relâchez la note l'effet est contourné!

Pour ce faire, nous devons d'abord apprendre au sujet des déclarations.


Déclarations

Alors, quels sont les états? Eh bien laissez-ci Kontakt prendre des décisions sur ce qu'il se passe de se produire lorsque vous faites quelque chose.

L'instruction else if ... se retrouve dans tous les langages de script. Il permet à votre script ne fonctionnera que si quelque chose de très spécifique qui se passe. Prenons notre message simple de la dernière fois à titre d'exemple.


sur la note

message ("Vous jouez une note")

terminera le


Elle sera visible si vous cliquez sur n'importe quelle note, c'est une note de rappel sur après tout. Disons que nous ne voulons cela pour montrer que sur C3. L'instruction if est parfait pour cela.


Si

Heres la structure de l'instruction if.


if (définir certains paramètres ici comme quelque chose équivaut à quelque chose)


{Ne quelque chose d'intelligent si quelque chose est égale à quelque chose!}


end if


Donc c'est assez simple! Mais ce qui est quelque chose équivaut à quelque chose? Eh bien, il pourrait être n'importe quoi. Dans notre cas, nous devons dire à propos de l'instruction if C3. Nous pouvons faire cela en utilisant une variable intégrée appelée $ EVENT_NOTE (Il ya aussi $ EVENT_VELOCITY aussi!). Il en va de la valeur de la note actuellement détenu (s) comme un numéro de note MIDI et ne peut être utilisé à l'intérieur d'une note sur le rappel ou la libération.

On pourrait donc dire, si $ EVENT_NOTE est égale à 60 (C3) puis exécutez le script!. Alors, comment pouvons-nous l'écrire. Eh bien, comme ça!

If statement


Si je joue les notes que C3 ne coûtent pas, je ne verrai rien que ce script est spécifique à C3. Mais si je le fais!

You're Playing C3!


Alors que dire de toutes les autres notes? Eh bien, nous pouvons étendre cela à un si ... else.


If ... else

La partie else se rapporte à tout ce qui n'est pas sur la liste. Vous pouvez penser à cela comme un portier dans un club!


si (la personne est attrayant)


Laissez-les entrer!


d'autre


Renvoyez-les!


end if


Je plaisante (Ou suis-je?), Mais qui ne le résumer! Nous pourrions utiliser cette fonctionnalité.

If...Else Statement


Les fausses notes ont maintenant un message aussi!

Try again Bozo!


Alors que faire si nous voulons une charge de différents messages sur des notes différentes? Nous ne voulons pas avoir à continuer à écrire des charges de cas des déclarations de chacun. Il ya cependant une autre déclaration à portée de main appelé select ().


Sélectionner

Sélectionnez ressemble à une version plus souple de if ... else. Cette fois-ci, c'est que si un cas, comme au cas par cas. Heres comment cela fonctionne.

Au lieu de dire EVENT_NOTE $ = 60 à l'intérieur des parenthèses de l'instruction if EVENT_NOTE, nous avons maintenant il suffit d'insérer à l'intérieur des parenthèses $ sélectionnez comme ceci.


sélectionner (EVENT_NOTE $)


End Select


La valeur du numéro de note de EVENT_NOTE $ est passé à l'affaire.

Select

Cela va faire exactement la même chose que si notre premier exemple. Vous pouvez indiquer autant de cas que vous le souhaitez.

Select


Vous pouvez également définir une plage pour le cas comme ceci.

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


Lorsque vous jouez dans les plages youll voir ça.

You're Playing Between C4 and B4!


Bien sûr, vous devez lier la note sur avec une version comme ça.


Lorsque vous relâchez une note.


Maintenant que nous savons comment cela fonctionne, on va utiliser select () pour déclencher nos effets.


Chargez Quelques effets!

Im va charger trois effets dans les fentes Effets Insert. Ive a obtenu une distorsion, un Lo-Fi et un Phaser. Im allons contourner ces effets.

Bypass Effects


Cibler les effets

Tout ce qui peut être automatisé dans Kontakt peut être consulté par la KSP. Il ya une fonction intégrée dans la KSP appelé set_engine_par () qui permet de manipuler les paramètres à l'intérieur du moteur de Kontakt. Youll utiliser ce lot un!

Nous avons besoin de passer des informations dans les supports de cette fonction. Ce dispositif est le suivant:

set_engine_par (,,,,


Permet de décomposer:

  • Le paramètre que nous voulons effectuer, par exemple $ ENGINE_PAR_DRIVE sur notre Distorsion. ( Youll trouverez une liste de tous les paramètres disponibles dans la référence Kontakt KSP à la fin.)
  • La valeur du paramètre. Cela peut être transmis par un contrôle d'interface utilisateur ou vous pouvez définir une valeur.
  • Le numéro du groupe (le cas échéant). Cela correspond au groupe FX. Réglez cette valeur à -1 si vous souhaitez cibler des effets au niveau instrument.


    Définir certains paramètres

    Ainsi, le paramètre je veux effectuer est Bypass. Ceci est ciblé en utilisant ENGINE_PAR_EFFECT_BYPASS $. Mettons que po

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS $, , , , )


    Les valeurs de déviation sont 0 et 1 est est contourné. Je veux activer l'effet de sorte Ill mettre 0 dans la valeur.

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS $, 0, , , )


    Mes emplacements se situent au niveau instrument si mal mis -1 dans Groupe.

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


    Mon distorsion est dans le slot 1, de sorte Ill mettre 0 dans la fente.

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


    Ma effet est un effet d'insertion afin Ill mettre 1 en générique.

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


    Maintenant, j'ai fini une ligne de code que je peux déposer cette déclaration dans mon select ().


    Code Example



    Quand j'ai frappé la fente C3 premier effet (la distorsion) devient actif.

    Distortion becomes active


    J'ai besoin d'inverser ce un rappel libération quand je prends mon doigt sur la touche de l'effet est contourné à nouveau. Je le fais en mettant un 1 dans la valeur comme ceci.

    Code Example



    Je peux maintenant mettre en place pour différentes touches à l'aide d'un cas différent pour chacun. Tout ce que j'ai à faire est d'augmenter le nombre fente.

    Code Example


    Voici le résultat de frapper D3.

    Phaser becomes active


    Et puis en utilisant le communiqué de contourner l'effet quand je relâche la clé en mettant 1 dans la valeur.

    Code example


    Je peux déclencher plusieurs effets en même temps aussi, ce qui est un bonus!

    Trigger more than one effect at the same time


    Voici un exemple de mon script au travail.

    [Audio id = "12954"]


    Je peux ensuite définir un titre pour mon script comme nous avons couvert la dernière fois.

    Script Title


    Je peux alors aller sauver ce tant que préréglage pour une utilisation ultérieure!

    Save script as a preset


    Succès! Essayez ceci pour vous-même. Ive compris les extraits de code dans un

    Donc là vous l'avez. Un script simple avec un résultat sympa. La prochaine fois, bien jeter un oeil à quelques-unes conception de l'interface.


    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!