How to get a seamlessly looping clip
AmbienceLayer
in Looping Clip mode is the fundamental of most ambiences.
But the first criteria is that the clip used must be able to loop seamlessly in the first place, which you have to ensure it from external audio editing application.
This article aims to help you get that!
Randomly search for good seams
An easy and unexpectedly reliable way is to not use your entire field recording, but only part of it.
Then if that part doesn't loop seamlessly, you simply nudge left and right looping boundary and hear it again. Repeat until you found it or you give up.
If the software can be left playing while you adjust the boundary, that's even better. You will find a good loop point in no time.
Close your eyes
While you are doing this, it is easy to be influenced by the play head visual that "it is going to loop now!" and you may not be satisfied. If you close your eyes, you are closer to what players will experience. The loop may already be seamless enough as it is, or the loop is not as seamless enough as you thought.
Process again
After you successfully cut out a seamless loop, the duration may be so short that seemingly uninteresting sounds starts becoming obvious through many times of looping. You may want to take this already looping audio to RX or Audacity again and perform spectral editing to take out repetitive noises. Make sure to not touch the edge since you already managed to make it loop.
Blending the seams
This is a technique used by tileset artists from ancient times.
The idea is that a "strip" of thing is continuous everywhere, except at the left and right edge.
If we wrap those edges to be at the center instead, we had ensured continuity everywhere except at the center.
Now that we can see discontinuous point right at the center, we can blend it up easier using various tricks.
Congratulations! You have got a seamlessly looping strip of thing!
If we apply this idea to audio clip, it should work with some effort to find a point where small cross-fading would make it natural.
If the crossfade isn't smooth enough because both ends are too different, before giving up, try changing the ease curve to bias more towards one side and listen again, or make the fade crossed for longer duration (this may make the ambience sounds fake).
Zero crossing
If you look closely at most field recorded audio wave, it always swings up and down over and below 0.
These data in the file bounce the speakers accordingly, then air bounce similarly, finally your ear too. 0 is when diaphragm is completely flat, not moving, not making sounds. Statistically there is higher chance to find a sampled 0 number in the file since any other number swings around it. Moreover, the bounce is often smooth for natural recordings. Square waves can came from synthesizers, etc. and they also crosses zero to move the speaker.
To reinforce this knowledge, if one make a fake audio file with only 1 (max) in the file, the speaker membrane would stuck at "up" and you won't hear anything. Just making sure you don't misunderstand that it means "very loud audio" with only 1s. We need vibrations.
When stitching audio or making a seamless loop as we are trying to right now, the most meticulous way of joining is to join where both end of the clips you are working on are at 0 so the jump of value between seams continues smoothly to the other side. When the join is not seamless, you hear a pop in audio, which is actually a fragment of square wave. When value suddenly jumps, that can be thought as very short square wave. Any other number would work but chance for both edge to have that number at the same time, around where you want to stitch, is much lower than 0.
Having knowledge of zero crossing does not allow you to join any audio, the sound must be similar in the first place. It just helps prevent little glitchy pop when you think they should join properly but didn't.
Anyways, I have been "randomly nudging" without caring about this at all and can find OK sounding join point just fine. (Not sure if my program RX is secretly helping me out lining up the zero crossings, if so then thanks I guess...) I remembered Audacity has a command to move the play head to the zero crossing as well.
Spectogram Techniques
Sometimes perfectly looping audio is not enough, you must preserve natural interval of things you recorded such as insects or precisely avoid obstacles in the clip.
These techniques require viewing the audio with the spectogram to better aim for the right looping point.
Natural intervals
Many animals make the same sequence of sounds. When cutting out parts, try to find a spot where it doesn't cut of mid-pattern of prominent animals you hear.
Many animals maintains an interval of making sounds more than we thought. For example I have recorded this crickets at night, which it shows up on the spectogram like dashed line here. The interval between them aren't exactly the same but pretty stable!
This makes this looping cut slightly "wrong", as the loop begins with a cricket immediately but the last occurence had just waited about half of its usual interval, making the loop unnatural because at the end of each loop you would hear double crickets.
Or how about this cicada (Or crickets? Actually I have no idea lol), apparently its voice organ produces sound in a set of 3 very fast shots! (Rarely 2 or 1.) Don't cut in the wrong place and ruin this mathematical beauty even though you can get a seamless loop. Spectogram helps you preserve signature properties of things you recorded.
Preserving syncopation from nature
It may get complicated if you got different kind of insects or something that has intervals bunched up in the same file. Almost like nature is using Tiny Ambience! (lol) Essentially to cut out seamless loop you need to find LCM of all subjects where they all restarted the interval at the same time.
Supposed you have 2 syncopating subjects together in one file which cannot be separated. (The ||||||
insect, and the ,, ,, ,,
insect.) The goal is to preserve both having their own pattern, but at the same time get a perfectly looping clip that accommodates both.
To easier search for this perfect cut point, start by having the first subject fire its shot at the left edge of your cut. (No offset) This will make the other subject has an offset less than its usual interval. (The little red line on the left edge.) Then it is a matter of assembling the remaining offset on the right edge of that subject to get its interval time. (Red line on the far left and right combines into its natural interval.)
As you search, look back to the first subject if it happen to cleanly ended the shot at the same time or not. If it is, you have found a loop point which works for both subjects! That was quite involving but kinda like playing games with your recordings...
(In that image, actually there is 1 more hidden actor that also sound in intervals a bit over that ,, ,, ,,
insect! Can you see it? But having to deal with 3 would be more difficult to explain...)
Frequency-piecewise Looping Clip layers
I went to the mountain to record some nature, but unfortunately monks in the mountain-side temple is using a megaphone to preach something, it echoes everywhere! Supposed that in the recording these red boxes are the monks. How can we still rescue this file? Seemingly there is no point which we can make a seamless loop that make sense.
With the power of Looping Clip layer type and spectrogram editor software, you can cut out several files like these 3 green boxes for use in multiple Looping Clip layers. (The top one is drone-like insect you hear in rural area, the middle one are the birds, the bottom one is just noise floor.)
The point is to fill up the complete spectrum with different continuously looping clips, plus avoiding obstacles in the original clip. We now get a nice loop without the monks, and staggered loops even help the whole thing sounds natural! You also gain flexibility to swap the middle frequency green box for a different bird loops. Note that many layers may use more computational resource, but you can also save device space by using multiple short syncopated loops rather than a single long one.