# Straw poll: How many samples do you ideally need to play simultaneously ?



## Elephant (Aug 10, 2011)

I am checking out hardware at the moment with some help from some smart folks here and elsewhere, and Kontakt/VEPro is my target software environment. 

As the key bottleneck is disk/SSD I/O, to help dimension the disk/SSD requirement, I thought it would be fun to do a straw poll to find out typically how many samples are playing simultaneously, and for what type of composition. 

A bit like the amount of polyphony on an old synth. So how much 'polyphony' do your arrangements need ? 100, 200, 400 simultaneous samples playing ? And for what type of composition ? 

All info much appreciated !


----------



## charlieclouser (Aug 10, 2011)

Thousands. Tens of thousands, actually. When you take into account release samples, crossfaded (not switched) velocity layers, overlapping tails from percussive sounds played repeatedly, the number can get very high very quickly.

My music has a few orchestral flavors but is by no means "full orchestrations". There's a lot of drums, a lot of chuggy spic and stac strings patches, and a sprinkle of sustained strings and brass. Hybrid-scary music I guess.

Just watching the voices counter on EXS24 when playing rhythmic patterns on something like a hangdrum patch, I'll suck up 64 voices by just repeatedly hammering on a single key. Stereo samples will do that to ya... I wouldn't be surprised if just my percussion section went to 1,000 voices at around bar 3, what with all the round-robins overlapping tails and stacked electronic samples... If I play Steven Slate drums in Kontakt from my pads kit, I can bring Kontakt to a grinding halt with all the stacked multi-mic-positions - with 6 voices per single hit, playing crush rolls on round-robin presets will use up hundreds of voices just on a snare roll...

That's partly why I still use EXS24. I remember talking to Clements and Gerhard around eight years ago and I asked how many EXS24 voices my then state-of-the-art G4 would be able to play - their reply was, "do not vorry mein kinder, ze number is many thousands" and my experience has shown this to be true. I have never run out of voices or CPU when using my 128-wide EXS templates... and most of my EXS instruments load up with polyphony set to 128 voices. For spic/stacc chugs I often layer five or six patches per section times four sections, and each of these instruments has stereo samples and 4-6 round-robins with long sample tails, so I wouldn't be surprised if big fakestra cues were using tens of thousands of EXS voices.

With EXS it all streams from one 7200rpm drive no problem. No raids, no SSD, just a single 2tb sampledrive.

If I tried to do this in Kontakt it would take many SSDs, raid, multiple CPUs, etc., especially if I used the modern resource-hungry patches with multiple mic positions and all that jazz....


----------



## Pzy-Clone (Aug 10, 2011)

Well the thing is...you really have to manage your voice count, if you just let it run rampant..it will devour your computer just like that.! 

My current computers , which are 3 years old i guess.. can each handle about 1000-1200 voices at low buffer settings. Now...do i want to spend 500 of those voices on 6 seconds of release time for timpani and epic percussion and what have you? Not really. 

So in kontakt, it is really a good idea to use the voice groups, either individually, or for the entire patch. Set a voice limit..., fade out time...and with a few clicks you can reduce the voice build up drastically. 

And furthermore, it can help clear up some "mud" from excessive release times, it is not needed to have each epic drum hit ring out its entire full release, you really only need that for isolated sounds and the last hit in a sequence, anyway.

So you can quite effortlessly reduce a wet patch`s (yuck) poly consumption by 50% or more...which in reality, lets you play 50% more samples before the entire thing chokes up and dies.

So anyway...how many voices do i need...., well that is an easy question to answer..., all of them, of course


----------



## Elephant (Aug 12, 2011)

@charlieclouser - excuse the newbie question here, but when you say tens of thousands, do you mean tens of thousands of samples playing simultaneously ? When I worked out the numbers, a stereo sample at 24 bits and 44.1kHx sampling rate is 24 x 44100 x 2 = 2.12 appr Mb/sec or 265kB/s approx. Each 100 samples streamed simultaneously takes 26.5 MBytes/sec. If you assume (big assumption) that the disk stream will happen at the sustained (sequential) read rate, and not the much lower random access read rate, then you are still in the hundreds. Am I confusing samples with voices ? Because as far as I can make out, even one of those little SATA III SSDs with a sustained read speed of appr 500MB/sec can only stream 236 samples and only that high if the samples are actually read at the sustained read speed.

How on earth does the EXS24 achieve such good performance ? And what sample libraries are you using ? Is it the G4 that is giving you tens of thousands of voices and if so how much RAM do you have in it ?

If I can get an old G4 that can run a really decent sounding orchestral library on a full orchestral template without it choking to death, I'll get one in a heartbeat !!

What am I missing here ?


----------



## Elephant (Aug 12, 2011)

deleted


----------



## Elephant (Aug 15, 2011)

Any more thoughts anyone ?

Thanks !!


----------



## Nick Batzdorf (Aug 15, 2011)

More importantly, how many tons of instruments/articulations do you have loaded up and ready to audition?

The answer is It depends.


----------



## Pietro (Aug 15, 2011)

In most of my projects, total voices count probably doesn't go over 12i00. This is with multiple mic positions, run patches and stuff.

Of course depends on the context. Some projects don't go over 100 obviously .

- Piotr


----------



## charlieclouser (Aug 15, 2011)

Elephant @ Fri Aug 12 said:


> @charlieclouser - excuse the newbie question here, but when you say tens of thousands, do you mean tens of thousands of samples playing simultaneously ? When I worked out the numbers, a stereo sample at 24 bits and 44.1kHx sampling rate is 24 x 44100 x 2 = 2.12 appr Mb/sec or 265kB/s approx. Each 100 samples streamed simultaneously takes 26.5 MBytes/sec. If you assume (big assumption) that the disk stream will happen at the sustained (sequential) read rate, and not the much lower random access read rate, then you are still in the hundreds. Am I confusing samples with voices ? Because as far as I can make out, even one of those little SATA III SSDs with a sustained read speed of appr 500MB/sec can only stream 236 samples and only that high if the samples are actually read at the sustained read speed.
> 
> How on earth does the EXS24 achieve such good performance ? And what sample libraries are you using ? Is it the G4 that is giving you tens of thousands of voices and if so how much RAM do you have in it ?
> 
> ...



Well, since EXS is part of the sequencer engine in Logic, it can do things that Kontakt can't - for instance, when the sequencer is stopped EXS can look at the MIDI events in a track and pre-render that track; it doesn't have to wait for incoming MIDI events to appear at its input and then hurry up and try to load the samples needed. When I first started using EXS the measly G3 processor was standard - I even did a NIN remix on a brown Powerbook laptop using all EXS and it worked fine.

EXS doesn't need to stream each and every sample in realtime - it can load what it needs way ahead of time, render that into a single stereo audio file, and then simply play it from RAM, as though it were one "frozen" track. If it can see that there are only seven sustained notes in a track, each note needing a single sample that is looped and is around 2mb, well, that's nothing. It can load and render that in seconds, while you're stopped. Kontakt can't do this, as it doesn't know what notes a track might contain, so it has to be ready to stream any and all of them from disc at a moments' notice.

The commercial libraries I use are EWQL (converted to EXS from original Kontakt format), Sonic Implants, Kirk Hunter, and things like that which were originally provided in EXS format, but my template is mostly my own samples, with around 64 instruments worth of orchestral stuff from these libraries. When I get a Kontakt library like LASS, Symphobia, or something like that I manually sample the sounds I want from Kontakt and rebuild the instruments into EXS format using KeyMap - that is how I get hundreds of tracks worth of playback. The process for re-sampling is a little complex but since I am a ninja with Logic and batch processing tools I can slurp an entire Kontakt library in a day or two. What I don't get is true legato instruments as there's no way to replicate that in EXS; for those I load up one or two Kontakts which brings my system performance waaaaaay down. I'm still in 32-bit mode too, so I'm up against that. When manually sampling from commercial libraries I disregard multiple mic positions and just take the "stage" mics, so that saves massive throughput as well - keep in mind that playing one note on a multi-mic library will trigger a minimum of six voices, two voices for each stereo pair of mics... so no wonder some of them are such hogs. Every now and then I'll put up LASS or Steven Slate drums in Kontakt, but that's like once every 20 cues or so - and I always bounce these to audio so that if I load that project ten years down the line, when many libraries will have gone extinct, I still hear something...

I'm not on a G4 anymore, nor even a G5 - now I'm on 8-core Xeon MacPro - but I did the first five of the SAW movies and a few hundred hours of TV series on a single G5 machine with no problems. Since I got on the 8-core I can work without any worry about how many EXS or plugins I use; I literally don't give it a moments' thought. My template is currently at 150+ EXS, each with compressor and eq, plus six Space Designers, six Stereo Delays, six PowerCore MasterX5, and a very complex bussing and Aux setup as pictured in another thread - and I have never overloaded my system or felt the need to go to VEP or outboard servers. Hopefully Logic X will have a new, improved EXS, and with the next MacPros with SSDs I may never feel the need to move to outboard servers.

Back in the day when Clemens and Gerhard told me that I could expect "many thousands" of voices from EXS, they were developing EXS to run effectively on the lame machines and slow discs of the day, ten or more years ago - and they told me that, for instance, the filter in EXS was actually the same code as a single band of their EQ plugin - no fancy "modeling" - it's just a one-band EQ, and as they put it, "basically has negligible impact on the CPU". In short, EXS was built simply to run many instances on machines that are less powerful than today's phones! I keep using it because it's so efficient and I like having all the controls on the front panel of the instrument. I'm an old Akai sampler guy at heart, and EXS is just like a big S-900 to me.

Clemens and Gerhard told me that all tracks using Logic instruments are pre-rendered in the background while the program is stopped, so when you hit play each EXS track is actually just a single stereo audio file that plays from RAM whenever possible, regardless of how many voices are being triggered in the track. The only track that's actually streaming each sample from disc is the ONE that's record-enabled to be played live from incoming MIDI - meaning that an EXS track, no matter how complex, puts the same load on the system that a single stereo audio track does - even less if the system has enough RAM to cache these tracks without hitting the disc for a swap file. It means that Logic is basically freezing EXS tracks without being told to. This is similar to how Reason works - any tracks not in record-ready are pre-rendered. A lot of the time when I play an all-EXS (no audio) cue in Logic the disc lights do not flicker at all - no disc access whatsoever. What you will notice is that when you move Logic's SPL to play from a new location, THAT's when the disc light flickers, indicating that Logic is preparing for playback from that point by rendering the EXS tracks that start at that location - then when you actually hit play, no disc spin whatsoever. Smart programming is what that is! Most of the time my system responds as quickly as if I was just using MIDI.

When I was contemplating moving over to Kontakt, I took an entire 128 EXS template and converted all of those EXS instruments into Kontakt format, and built an all-Kontakt version of that template. It couldn't play SHIT. I tried to play a large cue that only taxed my CPU by about half when in EXS, and in Kontakt mode it wouldn't even play - total overload on all cores. I tried it both with 128 Kontakt instances inside Logic, and with 16 VEPs on the main machine, each with a single Kontakt multi (this was a lot more efficient) but both loaded up my system pretty heavily. To be fair, I'm still on 32-bit mode, so maybe that's part of the problem, but still.. it was proof that EXS is much more efficient than Kontakt, even with the same samples loaded. Add into the equation the fact that Logic's multi-timbral and multi-output implementation leaves a lot to be desired, and working in VEP or Kontakt is just more hassle than it's worth right now, for me at least.

So I guess the moral of the story is that when the sampler plugin is built-in to the sequencer app, it can do things that no third-party instrument will ever be able to do, because it has access to secret knowledge about what the sequence contains and can plan ahead in ways that a third-party plugin never could.

Also, with EXS I can "Save As Project" and "Include Sampler Instruments and Sample Files" and then I have a COMPLETE backup of the project, which can be dragged to another computer and the entire thing will load and play without any NI Service Center, authorizations, etc. This is another reason why I almost never use third-party instruments or plugins - MasterX5 is the only non-Logic plug I use on a regular basis.

And THAT is a HUGE advantage and bloody brilliant. I can load up songs from a decade ago without any worry about whether the library has been changed, moved, renamed, or some seldom-used Kontakt library or VI has been authorized. That's part of why doing a VEP+Kontakt setup just seems like a massive step backwards to me.... EXS FTW!


----------



## Nick Batzdorf (Aug 15, 2011)

> Well, since EXS is part of the sequencer engine in Logic, it can do things that Kontakt can't



Unless I misunderstand, actually Kontakt can do all those things too! You can freeze, purge samples, do a faster-than-real-time bounce...

Having said that, no question - EXS is very efficient. It's a basic sampler by today's standards, however, which is a big part of why developers aren't releasing in EXS format anymore.

As far as backward compatibility, you can't open pre-v.7 Logic sessions in Logic 8 or 9 without opening them in Logic 7 and saving them. Does Logic 7 even run under Lion?


----------



## charlieclouser (Aug 15, 2011)

Yes, you can freeze a track with a Kontakt instrument - but you have to freeze the track and wait while the DAW scrolls through it at XX times realtime. And then the track is frozen. With EXS pre-rendering you don't notice that a track is frozen, you can still edit MIDI and play the thing as normal.

What Kontakt can NOT do is pre-render a track, as EXS can. And purging, etc. must be initiated and controlled by the user on a per-instrument basis, whereas EXS just does it for you in the background automatically. Hitting "learn samples" then play the track to "teach" Kontakt, then "purge" - too much work for a lazy guy like me.

Besides, if you purge a Kontakt instrument, don't you have to un-purge or reload missing samples if you decide to add to the MIDI perfomance in a track? EXS just does it. No user intervention needed.

I don't mind that nobody releases libraries for EXS - if I find something I like for Kontakt, I just resample it for EXS - no biggie - I've got it down to a system now, and I can put up my EXS versions of LASS spic patches next to the real thing and they sound identical. Took me two days to slurp LASS, which seems about average for all the Kontakt libraries I slurp. Sure, I don't get the fancy arpeggiator and all that stuff, but I never used it anyway - it's quicker for me to just program MIDI in Logic for spic patterns than to use the LASS arpeggiator, and then I can use those patterns to trigger any of my other spic instruments quickly and easily.

I know that the minute I'd finish converting my setup to Kontakt, EXSv3 would come out and I'd want to switch back - it's just how the universe works I guess. About three months after I got PCs to run GigaSampler to run Vienna legato patches, the program was discontinued - and I'm sure they did it just to spite me! No new and revolutionary product comes on the market until I've bought two of the previous, now-obsolete product - the whole MI industry seems to schedule product announcements around me! "Okay, he's finally bought his second 8-core machine, we can announce the 12-core now." In fact, I'm sure I'm the reason why Logic X hasn't been announced, so last month I went and bought two more full versions of Logic9 to hurry them up! I just hope I don't have to buy two 12-core machines to trigger the release of new MacPros...

As to pre L7 songs, I keep all my old CPUs in as-was condition whenever I get a new one, so if I run across an old song that won't load in L9 I can just go into the closet, pull out a G5, which will have the entire EXS library from that era, as well as L7 AND the songs I was trying to load, and just load it there - but that's never happened. For many years I was doing weekly TV shows, and I needed to be able to load a song from six years prior, a song that was 100% EXS, to make a few changes to the MIDI to turn it into this week's cue, and everything loaded fine. I won't need to be running L7 under Lion, that's for sure. I did go through all my movie scores when L8 came out and resaved them as L8 projects though, just to be sure.

I've got three Family Pack Snow Leopard disc sets, four separate boxed copies of L9, and enough CPUs to outlast the Lion-pocalypse, so no worries there. I won't put Lion on my existing CPUs, I'll wait for the next MacPro that comes with Lion pre-installed, and just move the current 8-cores into the storage closet without changing anything. I don't pull PCI cards or drives, just put the entire system on the shelf, ready to be pulled out if I need to recover a file or boot up an ancient sequence.


----------



## Elephant (Aug 16, 2011)

What a great forum !!  

@charlieclouser
Your detailed explanation is really appreciated. AFAIK VSL released some libraries in EXS24 format but I believe these are no longer availalble. Also, from my questions to VSL, it appears they have an optimize function which plays through the piece, looks at the MIDI data and kicks unused samples out of RAM. The advantage with your method is that by converting everything to EXS24 format you get to work in a seamless way with all your libraries. 

@all - I don't believe Kontakt has such an optimize feature - or does it ?

@charlieclouser - when you were running your G4 and G5 machines, which type of card interface were they (PCI/PCI-X/PCIe) ?, how much RAM did you need in each in order to get your work done and what audio interface connection did you find best ?

And the other question I have is that given I use Sibelius (6), is there some way of configuring everything so that I still get the advantages you wrote about above, and still be able to use the Sibelius sound sets so that the articulations and dynamics I write in Sib will get played properly in the libraries ? 

@all - really interesting info. Personally I like the idea of a simple rig that performs well simply through clever software architecture. 

Is there anything in the PC world that has the same type of integration being discussed ? 

Elephant


----------



## charlieclouser (Aug 16, 2011)

The only audio system I've used for the past ten years or so has been the MOTU 2408 systems, which are PCI. G4 was PCI, G5 was PCIx, 8-core is PCIe. I've stayed with the MOTU system the whole way, just swapping the host card as I changed CPUs. I tried FireWire interfaces for a second, but they didn't have enough i/o for my setup, and I reasoned that PCI would be faster and more reliable - so far that's been true.

I never skimp on RAM, usually taking it almost all the way to a full load of whatever the machine can be ordered with, but right now I have 26gb in my 8-core (I think...).


----------



## Nick Batzdorf (Aug 16, 2011)

What about the legato transitions in LASS? That would be the biggest thing for me to give up.

I like your "just put it in a closet" approach. Unfortunately I've usually sold one machine to help pay for the next one and haven't done that, and a couple of times that's bitten me.


----------



## charlieclouser (Aug 16, 2011)

Well, my EXS conversion process only gets me "plain" instruments - I can do round-robins, MW crossfades, release samples, etc. - but I can't do anything about the legato transition patches. Those patches are the magic of the big libraries, so that's why I buy and update them and Kontakt. When I feel a need for legato stuff I usually just load up a few Kontakts right inside Logic. I own VEP and all the expensive soft-goodies, but I still haven't really deployed that stuff on a project in a meaningful way. I keep toying with it, setting up a VEP template and so forth, but Logic's lame multi-timbral and multi-output implementations really put a damper on that action. 

I'm sort of waiting to see what develops with LogicX and I'll decide whether to move over to Kontakt and VEP at that point. It's kind of silly, but I maintain a full duplicate of my EXS library in Kontakt format so I'll be ready at a moment's notice to make the switch.


----------



## Elephant (Aug 17, 2011)

Would n't it be wonderful if we could get the best of both worlds - eg be able to use the pre-rendering technique from EXS in the Kontakt environemt ? - I wonder whether that behavior could be programmed by using Kontakt scripts maybe with some other software bits and pieces bolted in ?

VSL have an optimize button that works by playing the whole piece once through, and it then kicks samples out of RAM that are unused. Only works with their instruments though.

What we really want is something cool within Kontakt that optimizes when the sequencer host (or Sibelius) is stopped (like EXS24), and that also works across the network when VEPro is used to host the Kontakt instance on another machine.

Is this desirable, and is it technically possible ? Maybe some of the programming whizzes can give a view ?

Elephant


----------



## Mike Connelly (Aug 17, 2011)

I wonder if Logic isn't doing a similar prerendering of tracks with third party instruments. That would explain why "live" tracks can have a very high CPU load but tracks that are playing back tons of material but not selected for live input use barely any. I do run into some load issues when playing tracks in, but very rarely playing those same tracks back without live midi input feeding them.

If they're not doing that sort of prerendering already, I don't see any reason why they couldn't add the feature. It's basically freezing tracks in the background transparent to the user and switching back to real time individual samples only when the track is played live.


----------



## charlieclouser (Aug 17, 2011)

Yeah, it seems to be more of a sequencer feature than a sampler feature. I remember talking to Ernst from Propellerheads and he told me that such prerendering was critical to how Reason worked - but this was back around Reason 2.0, when CPUs were much slower, maybe now it can render on the fly? 

I would think that any well-designed DAW that uses VIs would do some sort of prerendering to lighten the load, but maybe Logic just had a head start because they forced themselves to do it when they came out with EXS way back when...


----------



## chimuelo (Aug 17, 2011)

Your knowledge of EXS and sampling is most impressive.
I love to see guys using their applications to the fullest potential.
I haven't even read anything on any soft samplers that explains the process as well as you just demonstrated.
Sad that EMagic......oooops.......I mean Apple never used you on their manual, I might have kept Logic Silver PC and continued forward..


----------



## charlieclouser (Aug 17, 2011)

Certainly doing a real "freeze" is easier on the CPU and RAM at the expense of a little wait while the DAW scrolls through the track and writes it to disc - for some reason I'm under the impression that prerendering takes place in RAM, not actually writing to disc unless the OS does this as a RAM-extender function. I usually have tons of RAM in my machines, so maybe that helps keep my EXS sessions running fast?


----------



## achabloopada8000 (Dec 29, 2011)

[quote="charlieclouser @ Mon Aug 15, 2011 9:49 pm"
The commercial libraries I use are EWQL (converted to EXS from original Kontakt format), Sonic Implants, Kirk Hunter, and things like that which were originally provided in EXS format, but my template is mostly my own samples, with around 64 instruments worth of orchestral stuff from these libraries. When I get a Kontakt library like LASS, Symphobia, or something like that I manually sample the sounds I want from Kontakt and rebuild the instruments into EXS format using KeyMap - that is how I get hundreds of tracks worth of playback. The process for re-sampling is a little complex but since I am a ninja with Logic and batch processing tools I can slurp an entire Kontakt library in a day or two. [/quote]

Thank you Charlie, very very interesting...
Could you please explain in more detail the process of resampling a Kontakt library and converting it to exs24 format?
I imagine using Redmatica Autosampler for basic sampling and creation of exs24 patches, with further enhancements made with Keymap Pro...
Am I right? 
I want to try your way, you're a great composer so if it's right for you it's right for me also...

And you're right, new libraries and engines are very very cpu hog...
Also on a brand new Mac Pro...


----------



## achabloopada8000 (Jan 8, 2012)

I discovered in an interview that also Klaus Badelt only uses exs24 instruments...
He has an assistant who converts sample libraries from Giga, Roland, Kontakt and also creates new "mixed" keyswitched sample instruments with possibly different articulations from different sample libraries (and probably some personal recording sessions)...
It seems a bit time consuming, but probably worth a try...


----------



## ed buller (Jan 8, 2012)

Hi

i built my system to do full orchestral mockups. Right now i am writing for about 270 midi tracks. They don't all play at once as for instance 15 midi tracks are just for piccolo . But with all the different samples i need loaded it's getting close to maxing out it's 32 gig of ram. VSL seems hungrier than Kontakt . 

I am trying to emulate the rigs that hollywood people have ( at less of the cost !! ) where every note stays in mid and is fluid until the final recording. Not only are there orchestral samples but also a lot of other stuff as well. The idea is when writing it's all at my finger tips. NOTHING needs to be loaded.

e


----------



## charlieclouser (Jan 9, 2012)

achabloopada8000 @ Thu Dec 29 said:


> Thank you Charlie, very very interesting...
> Could you please explain in more detail the process of resampling a Kontakt library and converting it to exs24 format?
> I imagine using Redmatica Autosampler for basic sampling and creation of exs24 patches, with further enhancements made with Keymap Pro...
> Am I right?
> ...



I do my sample conversion the old-fashioned way - with a sequence in Logic.

1 - Make a duplicate of the Kontakt instruments folder in question, identify which instruments I want to convert, delete the ones I don't want, and rename the remaining ones to my format. I name everything in the format "instrument-articulation-source", so I wind up with files named things like "celli-STACCATO rr-ql" - which would be the round-robin celli staccatos from Quantum Leap. The last two letters indicate the source library in abbreviated form. This way, when I browse my EXS library, all of the staccato celli are right next to each other, not buried in individual subfolders for each manufacturer - so I can quickly compare and choose which I want to use.

2 - Load the first instrument into Kontakt in Logic, and identify what it's got going on in terms of round-robin, keyswitches, modwheel crossfades, and what the key splits are. 

3 - Create a MIDI track that triggers each note I want to sample. These are not always purely chromatic, because many libraries just sample every two pitches. I try to keep the notes on white keys so that I can avoid needing flats and sharps in the sample names. If it's a round-robin patch, then each note repeats four times or whatever to trigger all of the RR zones before moving to the next pitch. If they are sustain patches, then I watch the waveform in Kontakt's sample edit window and adjust the tempo of the sequencer so that the entire sample gets played until just past the loop point. These MIDI trigger notes are always on barlines and always have a duration of exactly X bars. Usually I use notes that are three bars long with a one bar gap before the next note, and I adjust the sequencer tempo until the notes last long enough to trigger the whole sample. I also go under the hood of the Kontakt instrument and disable velocity>volume and anything else that's going to result in too-quiet samples.

4 - Once I'm sure that the MIDI track is going to trigger everything I need, I make sure that no plugins or anything else is in the audio path, no fader trims, etc., and then I do an offline bounce so that the 15-minute source track gets rendered in seconds. Sometimes I use a high-pass filter to remove LF rumble from high-pitched instruments, but no major processing at this stage. Now I have a long stripe of audio with each sample triggered one after the other. If there are multiple velocity layers, I do each as a separate bounce, after adjusting the source MIDI to trigger the appropriate layer and adjusting layer volumes so that the resulting waveforms aren't too tiny.

5 - Now for the chopping. I use Logic's scissor tool to cut the first stripe at the beginning of the second sample, and by holding the option key the entire stripe is divided into equal regions that are all the same length as the first one. Meaning, do an option-chop at bar five and you wind up with dozens of regions that are all four bars long. If there are release triggers, I copy the chopped track to an empty track and then drag the left-hand edge to the right by three bars so that those regions start at exactly the spot where the MIDI notes ended, resulting in a track of just releases. For the main track, I drag the right-hand edge to the left to shorten the regions so that they only include the sustain portion. I do all of these operations on an entire track with all regions selected, not each region individually.

6 - Now to rename. I select an entire track and double-click the region name in the parameters box at the upper left of the screen, and type in the basic region name and end it with a number. This causes all regions in the track to inherit the basic name with numbers that increment for each region. If I type "celli-stacc-mf-rrA-01" then the regions will all have that basic name with incrementing numbers. The numbers can be used later to be converted to note numbers or note names in an outboard renaming utility. Sometimes I will use copy+paste to manually rename the regions in Logic so that they end in a note name, but sometimes I do it with a utility.

7 - Now output the regions. Simply select an entire track and choose "Export all regions as separate audio files" in Logic. I usually dump each track into a separate folder to keep things from getting mixed up.

8 - Now work on the names. I use "A Better Finder Rename" usually, although AudioFinder and SampleManager can also do some slick renaming tasks. Sometimes I use them to convert the ending numbers into note names, like search for "-01.wav" and convert to "-C1.wav". I fiddle with the names so that once all the samples for an instrument are dumped together into a single folder they will sort correctly, since whenever doing a "save project and all exs files" in Logic this is what will happen. It is crucial that the samples all have unique names so that nothing gets deleted when this happens. I have noticed that many Kontakt developers don't take too much care with the sample names, and sometimes they are quite long, so I make sure the resulting names are less than 24 characters and all unique, while still containing a two-letter code the indicates what the developer was so that no duplicates exist when I have similar instruments from different developers. An ideal name for the samples of an 8-way, 3 velocity-layer staccato violas patch from East-West would be "violas-stacc-s-mf-rr8-ql.wav". This indicates Violas, Staccato, Stage Mics, MF velocity layer, Round-Robin layer #8, Quantum Leap developer".

9 - Now I get busy in Redmatica Keymap. If I have all the samples for an 8-way round-robin in a single folder, I use the Finder's "Find" function to show me only files with "RR3" (or whatever) in their name from the desired folder. Drag and drop on Keymap, and use "Automap using mapping info from sample files' names". BOOM - the samples are mapped. Do this once for each velocity layer within an RR layer, adjust velocity splits right there, and move to the next RR layer. Export as EXS Instrument. 

10 - Final sample editing. I usually drag everything into AudioFile Engineering's "Sample Manager" app and remove DC offset, check and delete any dead air at the end of non-looped samples like staccatos and release trigs, create a fade-out at the sample end, etc. This is done batch-wise and is very quick.

11 - Fixup and tweak in Logic's EXS editor. Now I finish off in Logic by actually playing the thing and adjusting velocity splits etc. If it's a looping sustained patch, select all zones in the editor and scroll the loop start and end points to a "close-enough" value, scroll the crossfade up a bit, and turn on equal power. Check and fix any round-robin group assign stuff and level out volumes. Often I combine instruments so that I have fewer EXS files to scroll through when auditioning... Save and done.

If it's an unlocked library like Tonehammer, then it's a little easier as I can use Chicken Systems' Translator to do a quick conversion from Kontakt to EXS, but this usually messes up the instrument somehow so there is a bunch of repair work in the EXS editor to be done - and the sample names are still a mess. Sometimes I use Keymap to export an instrument and copy and rename the source samples - it has the ability to force the sample names to inherit the instrument name plus various suffixes, so with a bit of fiddling it's possible to simulate the renaming described above. This usually means doing each velocity and round-robin layer as a separate EXS instrument so that the samplenames can be unique for each layer.

With these methods I can convert anything except for a true-legato patch, so I skip those. For the one time a year that I need true legato I just use the real Kontakt instrument.

The reason I still do this is because now my library is unprotected and I can audition patches very quickly in Logic's EXS browser, and all of my staccato violas are right next to each other in the list. Once I build a template for a project, switching cues takes only ten seconds, since all EXS samples are kept in memory between cues. The advantage to this over a VEP setup is that I can make any adjustments to the mix, plugins, or even EXS front-panel settings like envelopes and filters without disturbing the setup for another cue. Using VEP I would always want to adjust something for just one cue, and it would mess up all the other cues unless I saved a separate MetaFrame for each cue = a big mess. I got into this mode from working on two hour-long TV series at the same time all by myself. 

Now I can just double-click a single Logic project and everything comes back, and I can archive it by using "Save Project" and all the source samples are archived as well. No NI Service Center, no iLok, nothing - I can create a duplicate of my entire rig by just buying a Mac, installing Logic, and copying my EXS library over, and I can still boot up cues from 9 years ago with one click, and this is very important to me.

It sounds like a lot of work, and I guess it is, but I like to know that I can get at the samples whenever I want - and it took me longer to type this post than it takes me to convert a complex instrument. Hope this helps!


----------



## Nick Batzdorf (Jan 9, 2012)

I'm trying to figure out the most practical way to use Structure (Pro Tools only) with Logic as the sequencer. While Kontakt is the most advanced and it can do things nothing else can with its scripts, Structure can do a surprising amount of things without using them. It's unlikely to take off as a commercial format for several reasons, but for musicians like us I find it the easiest of the three to work with - although EXS is pretty easy too.

But I was surprised to see that it can select groups by playing speed, and it has a legato transition feature (I haven't looked into the latter in detail, but the former works really well and is very easy to set up). The user interface is also less annoying - you don't have to deal with tiny stuff on the screen.

(And I still have good eyes - no reading glasses.)


----------



## achabloopada8000 (Jan 10, 2012)

Wow Charlie,
great explanation!
It's wonderful to see a pro like you sharing tips and tricks with other people.....

Now I get the picture: you do it the "old" and "good" way, and for sure you have the best control on every step you illustrated, but why not just using Redmatica Autosampler to "sample" kontakt instruments? I was planning to buy it only for this task....
And then fine-tuning the instrument in KeyMap Pro... 
But if you do it in the way you perfectly described probably Autosampler doesn't give you the control you need on every step, right?
I need to investigate on this....
Thank you


----------



## charlieclouser (Jan 10, 2012)

I have AutoSampler and also Samplit, but to be honest I've never used either one. I guess I should investigate AutoSampler more, and I tried to use WireTapAnywhere to route audio from standalone Kontakt to AS, but gave up after a few minutes of not seeing meters move. I like doing it the old way because then I have absolute control over sample names, and can be sure that if I ever have to rebuild the instruments for some new format that I'll know what the samples are - I really dislike having cryptic names or names that are the same between different developers. 

I will probably give AutoSampler a more thorough look on my next round of sampling, but the thing about doing it in Logic is that I can do the bouncing in offline mode so that what would take fifteen minutes to bounce in realtime takes mere seconds instead. This is not possible with AutoSampler, so I'd have to sit there while it chugs along playing four-bar sustained notes, and this would drive me up the wall. It's probably quicker in the long run, but with my method I feel like I'm moving quicker since I'm never waiting for any operation to finish for more than a few seconds.


----------



## achabloopada8000 (Jan 10, 2012)

Thank you Charlie,
now I understand all the benefits of your method, bouncing offline inside Logic is the key for speed....


----------



## NYC Composer (Jan 11, 2012)

I truly admire people who have the ability to sit and go through the painstaking work you describe... and for days at a time! The results certainly seem worthwhile, but doing that kind of exacting, grinding and repetitive work sends my ADD meter into the bright red, DangerWillRobinson! mode.

No assistant to do the heavy lifting, Charlie?


----------



## charlieclouser (Jan 11, 2012)

I've had my assistant do this kind of thing in the past, but it just went too slowly, and I felt bad for torturing the poor guy that way. He'd trudge through a pile of instruments and then I'd find something wrong and he'd have to start over. When I'm doing it I can catch problems before going through a whole folder of stuff. Plus it forces me to make real decisions about what instruments and sounds I really want to convert, and get to know them on a first-name basis. I have so many sounds in my libraries that when I do the conversions myself I remember what's what better, so when I'm actually working on music I can remember where the cool things are hiding. I can also combine instruments and lay out keymaps the way I want, so when faced with an 88-key map of orch tutti fx I don't have to sit there hitting each key looking for just that one gliss or whatever; I've laid them out in a logical manner and can go right to what I'm looking for.

I've always been a bit of a ninja anyway with macros, batch processes, QuicKeys, etc., so about the only thing I use a trackball for is dragging a bunch of samples onto a dock icon - the rest is all keycommands on rapid-fire.

I kind of find it relaxing to do these tasks once in a while - I just watch Adult Swim and start plowing through them.


----------



## NYC Composer (Jan 11, 2012)

Well, kudos to you for not torturing people, and the old axiom usually holds-"If you want something done right, do it yourself." Still, I envy you your ability to do that work. You're a dedicated fellow, and I guess that sort of task doesn't drive you bonkers. Me, I go nuts.

It's weird-I can mix for days, and that certainly is picky work, but two hrs of data entry and I'm ready to chuck it all and go bounce off a wall somewhere. Anyway, cheers!


----------

