Routing and Control for Multichannel .WAV Files : Creating a Multi-Miced Drums Library in Kontakt

DimitrisG Member Posts: 21 Newcomer
edited September 26 in Scripting Workshop

Hello everyone,

I'm looking to load a multichannel .wav file that contains 6 channels into Kontakt, and I'm wondering if there's a way to route each of these 6 channels to separate mono channels inside Kontakt and individually control their pan and volume.

My ultimate goal is to create a multi-miced drums library. The idea behind this is to have all the microphones of each drum hit in one multichannel file in Kontakt, allowing me to use "Cycle random" while maintaining the consistency of the drum hit across all the microphones.

I acknowledge that my approach may not be perfect, so any guidance or suggestions on how to achieve this in Kontakt would be greatly appreciated.

Thanks in advance!


  • medusa
    medusa Member Posts: 69 Helper

    To individually control their pan and volume you'll need the channels in separate groups... that's the standard method for multi-channel drum libs. You can keep your robins in sync using a scripted robin rather than the built in method.

  • DimitrisG
    DimitrisG Member Posts: 21 Newcomer

    Thank you medusa!

    Can you please give me an example or a link of anything that can give me a better understanding on how I can keep the robins in sync using scripts? An example of a drum library tutorial would be great too..

  • medusa
    medusa Member Posts: 69 Helper
    edited September 27

    There are many many different ways to do it. Here is just one possible way.

    For drum libraries, I put my robins on different pitches, starting for example at MIDI note 0. Then the robin is which note you play.

    So you allow the necessary groups (which contain the channels you need), and then play the correct note based on the current robin. This example assumes 10 robins.

    on note
        disallow_group(ALL_GROUPS) // don't allow any groups
        if(EVENT_NOTE = BD_note)   // if the input note is the bass drum trigger note
            for index := 0 to num_elements(BD_groups)-1   // allow all groups needed for bass drum
            end for    
            BD_robin := ( BD_robin + random(1, 9) )  mod 10 // find a new robin, random not the previous
            play_note(BD_robin, EVENT_VELOCITY, 0, -1)
        end if
    end on

  • DimitrisG
    DimitrisG Member Posts: 21 Newcomer

    I am doing my best to understand that code, I am missing some parts because I am a new to this...

    Hopefully I will learn KSP better and return to this thread with a better understanding and modify this code for my needs.

    Thank you once again.

  • DimitrisG
    DimitrisG Member Posts: 21 Newcomer

    This code gives : ERROR (Line 2): expression expected

    I am I doing something wrong?

  • medusa
    medusa Member Posts: 69 Helper

    It's sublime code .. but it's also incomplete code, it's just demonstrating the idea

  • DimitrisG
    DimitrisG Member Posts: 21 Newcomer

    I see... I am trying to figure out how to achieve round robins in a group level, if such thing is even possible.

    I created a thread about it, please share your knowledge!

Back To Top