DSP Sample Looping Tools For Macintosh
Could this be the first time that a software manufacturer has treated the subject of sample looping with the thoroughness it deserves? Mike Collins thinks so...
Picture the situation: you have just bought a popular sampler like the Akai S1100, with a library of samples on CD-ROM. You load up the strings and the basic sound is great, but you can hear irregularities in the looped portions of the samples. Or perhaps you sample some sung notes yourself, then go into the edit page to set up a suitable loop. Despite your best efforts, it proves impossible to entirely rid the loop of irregularities — there's always a cyclic element introduced into the sound. Is there something mysterious about looping which you are just too dumb to understand, or do you need more than the basic tools offered by your sampler?
Dr Anson Hildebrand, the original developer of the Infinity software, obviously though the problem worthy of consideration. Conveniently, Anson just happened to be a PhD computer specialist involved in developing software for the analysis of complex acoustical data from seismic surveys who'd bought a CD-ROM with samples for his S1000, and was annoyed to hear obvious loops in many of the samples he'd paid good money for. Not being the sort of guy to be beaten by a situation like this, he wrote some Macintosh software to run with Digidesign's DSP cards to make looping more controllable. He realized that the conventional tools available in normal sample editing programs were simply not up to dealing with the complex, non-periodic waveforms found in most musical sounds. Instead, he took a new approach, using sophisticated DSP techniques to analyse and re-synthesize the loop data. Using an Akai S1000 and his trusty Mac SE30, Anson went all the way, and invented a completely new approach to looping sound!
Anson's friend, Gabriel Sakakeeny, a professional composer and music technologist, took one look and instantly realised that this software was a breakthrough for musicians and deserved to be released as a commercial program. Subsequently, they and their partner Terry Smith, another talented software engineer and systems guru, patented the new process and founded Jupiter Systems, a company dedicated to creating innovative new software tools for the music production community.
• Real Time Loop Adjust: this features a waveform editing window similar to the one in the Alchemy Mac package, where you can insert a pair of loop points which appear as the expected 'butt splice' between the loop start and loop end on the display. With the sound playing, you can move the loop points interactively during playback to adjust the loop. This design is much easier to use than the looping controls provided on any other system I have used, including Sound Designer and Alchemy, or the Akai S1100 and Roland S770 samplers.
• A Crossfade Looping window is available which has automatic buttons to move loop points, and also lets you set up crossfades on your loops and audition these before processing.
• The Smart Autoscan algorithm searches the soundfile for places where the sound at one loop point matches the sound at the other loop point. The closeness of the match and the number of places in the soundfile that are searched can be set in a dialogue box.
• The Matching Threshold parameter determines how closely the loop end must match the loop start. A value of 100 here makes the program search for a perfect match; zero means anything goes. A value of around 50 is practical for most non-periodic sounds like string orchestra or guitar chords.
• The Match Trial Points parameter is the number of locations in the soundfile which are searched during Autoscan. Conventional auto functions move the loop points to the nearest zero crossing or the nearest zero crossing with the same slope. Smart Autoscan compares the amplitude and phase of the major harmonics at the loop points and searches until a good match is found. The result is a loop point which always creates good crossfade loops, without unwanted phase cancellations of the major harmonics.
• The Freeze Looper is an automatic looping algorithm that creates a perfectly seamless loop with no sonic variations. You would use this to make short loops in relatively periodic sounds like solo instruments, or for 'freezing' the timbre of decaying instruments that have clearly defined harmonics, like harp, guitar, piano, and so forth. If the sound to be looped has nearly uniform waveshapes, the Freeze Looper will change the aural qualities of the sound very little, and result in a continuous uniform loop. If the Freeze Looper is used on a more complex sound, the resulting loop will sound very different from the original.
The Freeze Looper actually quantises all the sound energy in the loop to a precise harmonic series, giving a waveform that is perfectly repeated in every cycle. It then outputs a constant pitch equal to the average pitch of the original loop segment. To accomplish this, it uses the MIDI Note Number of the soundfile as an approximate starting point for its sophisticated pitch detection algorithm. (Each sound file can have a MIDI Note number which you set to identify the pitch of the audio in the soundfile.)
• The Rotated Sums Looper creates seamless loops by randomly distributing sonic irregularities throughout the loop. It is very effective with sounds that have non-periodic waveforms like chorus, string orchestra, noise sounds and so forth. You use the Crossfade Looper to loop the sounds first, then process them with Rotated Sums. The Rotated Sums Looper creates a seamless loop by adding together many random rotations of the input loop. This distributes the irregularity of the inevitable crossfade 'bump' problem in complex sounds throughout the loop. The more rotations, the better the results, up to a point, depending on the individual sound.
• The SPR Looper uses a process which randomizes the phase of each spectral component in the loop. SPR means Spectral Phase Randomization, and it is excellent for looping sounds which have very non-periodic waveforms and especially good at looping complex sounds which require exact preservation of the original tone colour — like string sections, choirs, and so on. It is similar to the Rotated Sums Looper in that it rotates loop data by a random amount through the loop. The difference with the SPR Looper is that it treats every constituent frequency of the loop separately — a more thorough approach. Because the SPR Looper rotates each spectral component randomly, different trials using the same input sound will yield different results. Like Rotated Sums, the SPR uses a two-step process, separating the loop processing phase from the attack/loop merge phase. Normally you'll experiment to find the best of a series of trial loops before merging the attack and loop segments.
"Infinity can also be used to create original effects which sound quite different from the samples they are based on."
Once installed, Infinity was extremely easy to use; the interface is similar to Alchemy and Sound Designer in many ways, so I instantly felt at home with the software. The manual contains clear descriptions of the looping tools, so all I had to do was open a Sound Designer file from my hard disk and get on with it! First off, I looped a Tibetan Buddhist chant which was a stereo sample with quite different waveforms in each channel. As the manual suggests, I started with the Crossfade Looper to find sensible points for the loop, but could still hear a pronounced bump and an exaggerated cyclical effect at the loop point, where the pitch seemed to drop and then rise. The SPR Looper turned this into an attractively processed sound which looped without a pronounced bump, and with just the barest trace of a cyclical effect left audible. Fortunately, this effect was very much in keeping with the nature of the original vocal chant, so I had achieved a perfectly useable loop using SPR, where a conventional crossfade loop was definitely nowhere near good enough to use.
Gabriel Sakakeeny gave me some feedback on my attempts with the Tibetan Monks loop: "Mike, it is not actually necessary to first use the Crossfade Looper before using the SPR. In fact, by introducing a 'cancellation/reinforcement bump' in the spectrum, it makes it more difficult for the SPR to create a seamless loop. In the Tibetan Monks case, try looping the raw sample directly with SPR, and you'll probably get a slightly better result. Also, since SPR (and Rotated Sums) is a random process, we recommend disabling the 'Merge the Attack and Loop Segments' portion of the process and trying several iterations of the loop, undoing between each, until you find an optimum loop. You can use the same settings for each iteration if you like because the process will yield slightly different results each time. When you have a loop you like, then turn off loop processing and enable the Merge process. This will blend the loop segment into the attack region and you're done!"
OK Gabriel, I'll do just that next time! Next up was an Indian Harmonium, again recorded as a stereo sample. This was a kind of droning sound with cyclical timbral changes as part of the characteristic sound. I simply adjusted the loop points 'by hand' in the waveform editing window until the cyclical changes repeated perfectly around the loop. In this case the standard looping window proved to be more than adequate for the job, with no need for even a crossfade, while the other methods produced unusable loops! I could have created just as successful a loop using Sound Designer or Alchemy, but the great thing about Infinity was the ability to adjust the loop points while the sample was playing back, which made it much quicker and simpler to use. A vocal sample of a girl singing 'mmmmmm' was a bit trickier to handle, and it took some experimentation with the SPR Looper to get an acceptable loop. The final loop had an audibly processed sound to it, with an audible cyclical effect also, but I judged this to be subjectively very pleasing and appropriate, if a little unnatural. Certainly not as successful as the Buddhist Chant loop, though! This confirmed that the results depended very much on the state of the source material.
Again, Gabriel had a comment to make about this: "The best way to loop solo vocal samples, since they are so sensitive to any processing, is to use the Auto-Scan feature to find the best loop point — if possible one with a high Matching Value so that no crossfade is required. Also, you should use the Real Time Loop Adjust feature to find a loop length and location where the natural variations in the voice repeat 'musically'. You'll find that any processing of a vocal sound will yield a 'plastic' result. This is because the human voice is the only solo 'reed' instrument that has a non-period characteristic. This is caused by the wildly flexible timbral range of the voice. Even the best singers have difficulty controlling pitch, vibrato and timbre to the precision of a clarinet or oboe. The Freeze Looper is the best choice for vocal DSP processing, but the sample must have a perfectly even timbre and pitch or the resulting Freeze Loop will sound artificial compared to the attack portion of the sound."
Lastly, I decided to try and create a useable sample from a chord played on a DX7. The DX7 patch was an ethereal kind of developing sound with plenty of timbral movement in it. The SPR Looper produced a sustained sound which was similar to an analogue synthesis of something between a string section and a choir. This was related in character to the original sample, but had a pretty constant amplitude envelope, instead of the fade-in/fade-out envelope of the original. The panning effect in the original sample disappeared, but a pleasing, yet subtle, cyclical effect had appeared. This made me realize that Infinity can be used to create original effects which sound quite different from the samples they are based on.
My overall impression was of a very well put-together piece of software which will definitely find regular use in my MIDI Programming workshop from now on. Infinity will encourage me to fine-tune my existing sample library to perfection, and will undoubtedly open up new horizons for interesting timbral creations! If you are serious about sampling, whether preparing samples yourself, or fine-tuning third-party libraries for your own use, then you need Infinity.
As a first offering from a new company, I cannot recommend Infinity too highly — it did the job well, was intuitive and friendly in use, and only crashed my Mac once during a couple of weeks of testing. Jupiter Systems are intending to further develop this software; and add other useful DSP tools to their range over the coming year, so we'll keep you informed when we have more info.
Infinity $495 US. UK price yet to be confirmed – expect in the region of £350-£400.
The Synthesizer Company, (Contact Details).
Syco Systems, (Contact Details).
Review by Mike Collins
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!