I’m modeling up the car I drive in real life to be played in Need for Speed III: Hot Pursuit. I’ve put over 500 hours into this project since last summer and I have one last thing to do. Make a seamless loop of my recorded engine audio. The audio sample has to be a 22050 Hz, 16-bit WAV file that is less than 1.5 seconds long. It can be Mono or Stereo and I understand that Stereo is more difficult so I’m trying to get it to work with Mono first. I’ve been searching youtube tutorials and making general google searches to learn about looping, fading, crossfading, the importance of zero crossings etc… for about a month now and I just cannot get this to work. There’s always a slightly distinguishable “zip” sound at the looping point. I’ve done linear fading, adjustable fading using all the presets, crossfading. What seems to get me the closest is either adjustable fade using cosine in and cosine out presets… or doing a crossfade with a fade type of constant power 1.
I’ve attached my raw recording and the best loop I’ve been able to make so far. I really want to know what I’m doing wrong. Is my raw recording not a good sample to start with? I tried to hold the engine at 5000 rpms for a few seconds so that the audio was at a constant amplitude.
There’s a really tiny pitch change between the beginning and the end of that track. I think the only way out may be to play tracks or passes two, four and six backwards. I think there’s a tool for that. Looking.
The best I could do was select and copy a stable part of the sound > New Track > Paste. Effect > Invert. Effect> Reverse.
Use the Time Shift Tool to shove the new track so it lines up with the original
And even then I needed to go into the magnifier tools to fine tune the waves. It never sounded perfect.
I think what’s killing us is the sound itself. You’ll never match up all the different tones in the engine, particularly if you’re hand-pulling the accelerator linkage. Put a 2-by-4 on the accelerator and record as much as you need.
You trim it so the waves are going the same direction at the transition and then you close up the hole with the Time Shift Tool.
Doing the Reverse and Invert to every other one doesn’t guarantee a match, it just gives you a better chance at it since the pitch and volume will be the same. You’d never get away with this with real life sounds, but who’s going to notice your engine sound going backwards?
I actually forgot to mention that I did try extending my sample by reversing and inverting the stable section but it always added another “zip” sound right in the middle which never made sense to me because like you said… The pitch and volume would be exactly the same.
I would select the stable section of the raw recording and trim the outsides. Then I copied what was left over and pasted it right after itself. Then while the pasted part was still selected, I reversed and inverted the sound. Then at the middle it would “zip” and that’s what I’m referring to. And that was at a zero crossing where the wave would perfectly match up.
I made about 3 attempts, zoomed in both horizontally and vertically so that I could see the shape of the waveform, and looked for a repeating pattern in the waveform. I selected just before a “zero crossing point” (where the waveform crosses the centre line from negative to positive), then pressed the “Z” key to snap the selection to the zero crossing point. “Shift+Space” to loop play.
Seems to sound pretty smooth. The only thing about the short loop is that it doesn’t really sound like the original. I wish I could get the copy, reverse, and invert thing to work without creating “zip” sounds. I mean in theory you’d think that would sound perfect.
Here’s a second recording I did, but this time it’s in stereo. I’m sort of hesitant to hold the engine at such high RPMs for anything longer than a few seconds. I’m also in the cockpit when I’m recording this because that’s the exact sound I’m looking to have so I’ve just been holding the gas steady with my foot.
Here’s the best i could do with a short sample. I spent probably 5 hours trying to get this right. The “zip” is less noticeable than a longer sample but it kinda sounds as though a stormtrooper from star wars is using a machine gun. And to me even though it’s a pretty clean loop, it doesn’t really sound like the engine anymore.
My raw samples were recorded from my phone (Oneplus 7 pro using an audio recorder app set to 22050Hz stereo). Maybe i just need to record it with different equipment? I also recorded these with my engine in neutral. Maybe i need to try recording while the engine is under load and it might be smoother.
You will probably be able to get a more steady tone if you record while holding a steady speed on an open road. If you live in a city, then perhaps a very early morning drive is called for
If the tone is steadier, then there’s a much better chance of being able to use a longer loop, which is likely to sound more realistic.
The problem with holding a steady speed is that the RPM’s aren’t high enough for the engine to be heard clearly. I was thinking that as long as the acceleration is linear and steady I can correct the pitch like they did in this video (jump to 0:41 to check out pitch correction). Although this doesn’t look like it was done in audacity.
The engine sound under load sounds much better than revving the engine in neutral. This time I tried making a loop out of Raw_Accel_Stereo.wav. There are some artifacts in there from the wind so I started by taking a clean section without wind artifacts and copying that to a new track. Then I added a time track to the project so I could level out the pitch throughout the sample. Made sure the start and end points were zero crossings. Accel_Stereo_Time.wav is the result of this.
It still does not loop well. The only other thing I might try is holding a constant RPM while driving and recording that. But I don’t see how that would fix my issue. I feel like I’m missing something critical in this process.