Saturday, November 20, 2010

Managing Samples (Drum Hits) via Kontakt

Like many folks, I have accumulated a vast amount of samples over the years. Free/paid--covering all kinds of just, stuff.  Following is what I have figured out--not saying its the best, or only way--just one way:
  • Place all samples under one directory, organized by source/vendor
  • Access to samples via Kontakt patches
  • Use common script(s) for all sample "patches"
  • Focus is on drum hits for now
For drum hits, I used to splash them on a piano roll and drag notes up and down. But what hapens when a selection of hits no longer fits the tune?  Now I have to go into each region, find the notes, move them, etc. Yes, "select all note" type functionality helps, but its still a pia. So now--each drum part gets its own patch, and the patch selects the sample...note the note.  Means we now have fixed pitch...which is ok for me.


I. Buy your samples!

I buy all my samples--the amount and quality of samples is really quite high--and often prices are $20, $30, etc.  Don't steal them--there are plenty of great free samples out there.  There really is no reason to torrent a sample pack at this point. 

Trust me! It's better to buy--because now you are committed to using, instead of hunting for the next great sample pack and waiting for some cat in nigeria to finish stealing credit cards before sending everyone the final part. And if you get burned by those packs that are all unusable loops--well...yeah. That does sting. I've got a few of those laying about *cough* any trance pack from 2003 *cough*.

II. Sample Libs: Raw WAV ++++
While I'm never opposed to any sample distributer who wants to supply nicely programmed/beautified up sample interfaces, I will only snag sample packs that include raw .WAV:
  1. Allows me use in external midi hw (samplers, sample manglers)
  2. Allows me to drop in tracks / audio editors for further mangling
  3. Allows me to use in itb sw au/vst (samplers, sample manglers)
  4. I have several propiatary library formats that are unsuable due to OS upgrades, vendor dropping support, etc: EMU-X!  where is 64-bit? EH? 
  5. That said, I do like Motu BPM. Sweet!
To rename files: http://file-folder-ren.sourceforge.net/
Sometimes sample packs come with naming conventions that are make life tough for how I process them. In general Hard Kick\Kick001 and Soft Kick\Kick001 might make sense from one perspective.  I would rather have Hard Kick001 and Soft Kick001 to help me tell them apart when both are persent in the same sample patch. To rename, I use Metamorphose2 found via some googling.  Of course, extra care is required when vendor provided patch libraries refer to the original samples. In that case, I simply make a copy.


III. Where To Store Raw Samples
I'm running Windows 7--so I placed all my Samples in "Public Documents\Samples\".  This blog will, in typical American style, assume everyone else is JUST LIKE ME, and only refer to Win7. 
note: I also have Mac OSX / Logic which is used for midi...in general, same rules apply. If you have massive questions, hit me up and I'll provide a Mac OSX specific guide where deltas exist.

From there, each distributer pack gets its own folder, which I usually retain, to keep updates easier (hur hur: inside joke, there are rarely sample pack updates).

At this point--I am not splitting up loops from hits.  I might, but right now I just ignore loops. For now, until Elektron Octatrack comes thru..hur hur hur.


Libraries\Public Documents\Samples

IV. Prepping Kontakt
 I would like to have an private/my use only "Crufty Sound" library, but haven't figured out how to do it yet. I muddled through this...hmm. Right now, best way I have figured out is to have a "Personal Kontakt Library" folder to keep all my custom patches.  This way anything I do stays out of the way of Kontakt 4's business--all though I know for a fact it handles custom patches w/aplomb.

In Libraries, Public Documents, I created a "Personal Kontakt Libraries" folder.  All new patches I make will go here.

Libraries\Public Documents\Personal Kontakt Library

V. Key To Game: One Script to Bind Them All
My current focus is on drum samples.  To this end, I've cooked up a common script that is pretty generic--goal is to allow me to build a drum hit "patch" consisting of up to 4 layers of samples. 
Generic Drum Sample Script

Script Download Location: V1.1


GNU: Feel free to pluck it, steal it, mangle it, and redistribute it (for free)--but please do not sell it w/out contacting me first,

Download to: Libraries\Documents\My Documents\Native Instruments\Kontakt 4\Scripts
Libraries\Documents\My Documents\Native Instruments\Kontakt 4\Scripts
By placing script in your Kontakt 4\Scripts directory, it becomes available to any of your custom Kontakt patches. When (or rather, if heh-heh) updates are made, simply copying over the prior script ought to automatically 'updgrade' all patches that refer it.  That is the plan, anyway--we'll see how well it works!
Notes:




1. Pitch is fixed--this way I can put notes anywhere on a piano roll.
2. Typical way I use is to solo the drum track and adjust, then unsolo
3. Sliders are level

Caveats:
1. Probably not the most efficient script
2. 2012 Update -- I can't remember how it handles automation.

NOTE!

The order below may be inefficient...Can't remember if script will automatically pick up new groups, and I am too lazy right now to figure out. so, at some point, I will update (in 2014?).

Thoughts for future:
1. Attack/release settings per sample layer (or global)...haven't had a need
2. Would like it to be multi-channel (midi in, audio out) so that 16 different sample layer configurations could be created w/same drum hit patch (as opposed to loading patch 16 times), selectable via midi channel knob. Not sure if its possible w/how I have it setup right now.

VI. Add Personal Library to Kontakt

All this prep (30 secs, really) and finally--some Kontakt specific stuff.

1. Enable Browse
Start Kontakt (of course).  After starting Kontakt, make sure the browser window is visable:


2. Go to Database Options
Select the Database tab, then click on DB Options:


3. Add Database Folder
In the options Dialog, select the database tab, select the Add button. Navigate to your personal library and add it. Click Close to exit.



Now, when I save any personal patches to this new library location, they will show up in any Kontakt database searches.

VII. Create Script Preset
At this point, we have placed the script in the right preset directory, created a patch directory, and added that patch directory to Kontakt.  Now, we will want to create a script preset and finally, create a few patches.

New Patch




1. Create a blank patch, select the files option, new instrument




2. Now select the edit patch icon


Sample Setup


3. Select Mapping Editor. We will add samples first.

4. In Finder or Windows Explorer, navigate to where all your samples are located.  Again, I have my split by Sample creator, Type (Kick, Snare)...but nothing more then that.  Select all the wav's you want to include, and drag them onto the gray area above the keyboard.  Try to drag them as far to the left as possible, such that they start at C-2.

5. Select Edit, Select all Zones.  They probably are already all selected already, however, if you ever aren't sure...this step will ensure all zones are selected.

6. Now select Edit, Move each zone to it's own group (empty).  NOTE! This is *not* Move zone(s) to new empty group.  We want each sample to have it's own group, this is how the script works--by muting and unmuting individual groups.  Moving zones to new empty group simply sticks everything in one group, e.g. playing all hits at once.  Feel free to try it a few times though! :)


 7. Set mapping properties on all zones at the same time--repeat "5. select all zones" if you are ensure. Set k.range to C-2 - G8, Velocity 1 - 127, Root C3 (or whatever the sample root is).  This will ensure that your samples will respond to each possible midi note, each possible velocity, and sets a pitch of 64 to middle C.


 Apply Script

8. Select script editor, then apply a script you have created already.  I



9.  Select one of our sample manager scripts...if you don't see them here, simply go 

 and copy/paste the code in!  Saving the script itself to a file is trivial, check out the Kontakt manual for details (GASP).


10. Don't see a script? We'll provide one in other posts.  Then setup your initial patch, and save (in your personal contact folder)!


11. Now save your instrument



12. The options I use...



VIII. Conclusion

Phew!  While this looks like a pain in the ass, honestly--it doesn't take more then a few minutes once you've done it once or twice.

There are lots of ways and means to manage samples, this is not the best way, the only way, or even the right way--just one way.  I had fun making it, which as important to me as anything.  Getting to know Kontakt was a important as anything.

I someone in this inter web of ours enjoys and this helps in some small way!