If you're keen to move to an all-software setup, but still depend on sounds from your hardware synths, Redmatica's utility might smooth the path...
A few years back, I was bandying around an idea for a software utility that would automatically sample MIDI instruments for itself by firing out MIDI notes, recording the audio and sorting out the resulting files into key maps. At the time, no-one seemed very interested in the idea, but now Redmatica have developed a utility called Autosampler, which is designed to allow Logic 's EXS24 sampler to automatically sample hardware or software synths.
Ideally, such a program would also loop the samples automatically, but that's not so easy as machines aren't particularly good at finding the loop points that are subjectively the best, and Autosampler leaves this task to the user. However, it does go beyond what I had envisaged by offering the additional ability to create instruments that switch or fade between key maps or layer multiple synth sources, using graphic mix volume/controller envelopes to create dynamic fading between the layers. What's more, Autosampler will automatically create multisample sets at multiple velocities. The user chooses how many samples to take across the keyboard (if the default setting isn't to your liking) after which Autosampler does all the tedious sampling and mapping for you. It even looks at the audio coming in and sets the EXS24 release time to match. A suitable host program is needed when sampling software instruments, but as anyone using this program will already have Logic, that shouldn't be a problem.
The program also offers a few randomise and tweak functions for creating or modifying envelopes and treats the sounds being sampled rather intelligently by incorporating specific normalisation modes, a limiter, automatic sample truncation and trimming, audio overload protection and the aforementioned release-time detection. If you want, you can even set it to sample whole banks of synth patches while you leg it up to the pub! Patch names can be pasted from text files or from Sound Diver, if you have it in your system, and the samples automatically created can all be given unique names that are partly based on the date and time so you don't end up with any duplicate names. All you need to use it is EXS24 on an Apple Mac G4 or above running Mac OS 10.3 or later.
How It Works
Autosampler sends a series of MIDI notes at various pitches and velocities (where needed) to the instrument and records the stereo audio output, after which each sample is trimmed, normalised and saved into an EXS24 instrument. Sampling a virtual instrument works in a similar way. A simple setup window allows you to tell Autosampler which MIDI port it should be sending data to and on what channel, and also on what audio input to expect the signal, so you don't even have to repatch your audio interface to make it work.
If you don't like the default settings, you can also decide which patches and notes you want to sample and how many velocity levels you want. It is also possible to create what the designers call a multi-dimensionally sampled (MDS for short) instrument by sampling separate key maps for different value combinations of two user-specified MIDI controllers affecting the instrument being sampled. The example given is that if you auto-sample an instrument using MDS, specifying the filter and resonance knob settings as the designated controllers, then on playback you will be able to switch/fade in real time between multiple key maps sampled at various filter/resonance knob positions. As you'd expect, an EXS24 instrument created in this way comprises a number of sample sets, and which one plays back depends on the values of the corresponding MIDI controllers on playback. Alternatively, you can create complex sounds by sampling from multiple synth sources, using graphically driven mix volume envelopes to dynamically vary the balance between the contributing instruments.
For ease of use, the software includes a virtual keyboard and on-screen MIDI controller pad. A VU meter displays the current peak and RMS input levels and holds the highest detected peak to show how much headroom is available, much like the meters in Logic itself. These can be reset using a button, and audio monitoring can be enabled or disabled at any time by toggling the Mon button.
The Scan tab is where you set the operating mode for your sampling session: here you can decide to sample a single patch, a whole bank or a consecutive set of patches. Clicking Scan Parameters brings out another information panel where the way the program samples can be tweaked in enormous detail, though I think it's fair to say that most people will use it much more simplistically. You can arrange to send bank change messages and define the maximum MIDI volume the synth should be sampled at, and you can even have patch names imported automatically from Sound Diver if you use it. The default settings work well for the vast majority of synth sounds, and though you can plunder entire banks, I would imagine most people would sample one patch at a time manually. Still, it's great to have all this extra functionality in such a user-friendly sampling tool.
Layering Synths
It's possible to use Autosampler to create single EXS24 instruments based on up to 64 dynamically layered additional sound sources, controlled from up to four additional MIDI ports. For each source you can set up a multi-point graphical volume envelope so that the blend of sounds changes with time. A random function randomises the level envelopes to produce unexpected transitions and fades, should you want this. If you have the patience, you can create whole patches Wavestation-style using individual synths as oscillators, but in most cases, crossfading between three or four synth sounds should be enough. Certainly that's all I had the patience to deal with and the results were adequately complex-sounding!
As far as I can tell, all the synths being layered must be mixed to the same audio input port, after which you can double-click on the envelopes in the Layers page to create level or controller changes. This is dead easy and works fine, but if I could make make a suggestion, it would be some sort of solo function on the MIDI and layers pages. A more direct way of sending program changes to the individual parts would also enable you to browse layers more easily.
Using Autosampler
Once the MIDI synth is connected to the computer's audio and MIDI interfaces, starting the process involves opening Autosampler, selecting the MIDI and audio ports you have your synth connected to, and setting a destination folder into which the newly created instrument's samples will be stored. This new instrument folder should be placed inside the existing EXS24 Instruments folder in order for Logic to see it.
Next you select the required patch on the connected synth, check the levels are OK, then click Start. Autosampler measures the ambient audio noise level prior to sampling so that it can create a threshold allowing it to detect when a note has started and ended. Each note is held for a user-definable maximum time while being sampled, though if the sound has a natural decay after the note is released, Autosampler does not simply truncate the sample — it keeps sampling until the sounds decays to a point just above the noise floor. Additional trimming and normalising are done automatically using floating-point arithmetic, and if the user specifies 16-bit files, the bit-depth reduction and dithering is done as the last step in the process to maintain quality. Furthermore, in order to completely avoid any possible clipping during sampling, you can set an automatic overload protection option that discards clipped samples and samples them again at a lower volume. Normalisation can be selected so that the final sample level will always be consistent across all the sampled notes in a set, even if the automatic clip protection has made gain changes. Both conventional and one-shot samples can be specified. It seems the designers have thought of just about everything to keep the user out of trouble.
I tried sampling one of my hardware Wavestations using a pad sound and Autosampler dealt with it perfectly once I'd optimised the audio level going into my audio interface. I used the default keygroup spacings with two velocity layers, and a few minutes later I had a playable EXS24 Instrument, though being pads, the patches needed looping, and I had to do this manually. I was well pleased with the result, though, as it sounded very faithful to the original and also allowed me to use EXS24 's filters to shape it further.
Multi-dimensional sampling is a little more involved, as there are two controllers that can be set prior to sampling. MDS Controller 1 value is in effect latched by each Note On event so that only its initial value is read. MDS Controller 2's value is continuously checked, and on playback, changing this controller will fade between the various sample layers you created to give an approximation of what would happen when that controller was moved on the real synth. Of course, the more layers you sample, the smoother and more accurate the transitions will be. During sampling when MDS is enabled, Autosampler samples all the user-designated combinations of patch, note, velocity, Controller 1 and Controller 2 until the process is done. Of course if you get too carried away with this feature, you can generate a huge number of samples per instrument, and EXS24 only supports 64 layers maximum, so you need to set the step sizes sensibly, but being realistic, you'd probably use only a fraction of what is available in normal use. The controller settings are saved in a Scan Parameter set, and Autosampler can store one global scan parameter set plus 128 individual-patch parameter sets, so you can either use the global set for all patches, or use the individual ones.
Sampling For Fun And Profit
Autosampler is an extraordinarily useful add-on for EXS24 and it takes all the tedium out of sampling single or combination hardware instruments. Its more creative functions demand a little more of the user, but are still infinitely easier than trying to achieve the same thing by other means. The only spade-work the user has to do is to loop any pad sounds that need it — sounds with a natural decay are taken care of automatically. For most routine work, you can rely on the default setting, which samples for seven seconds every six semitones and provides two velocity levels, but it's easy to change these values if you need to. The more advanced applications stray into sound-design territory, but then why not? Often you can combine synth sounds that result in something greater than the sum of the parts.
In the short time I've spend with this program I've come to like it very much, and if you're in the position of phasing out your hardware synths to go completely soft, then this is a great way to assimilate you favourite synth patches so that you can hang onto them.
Pros
- Great automated results.
- Easy to use at a basic level.
- Lots of creative options.
Cons
- The user still has the chore of looping sustained pad sounds.
Summary
Autosampler is really a must-buy for any EXS24 user who wishes to create samples using their hardware or software synths, or indeed any combination of the two. The more complex modes demand a little thought from the user, but basic multisampling is a doddle.