Seamless loop of engine sound

I am using Audacity 2.4.1 on Windows 10.

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 have found that this method of applying fades seems to work the best:

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.


Effect > Reverse.

But that still doesn’t make it go away.


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.

Good Luck.


Oh so you’re saying to make an equivalent sample as a second track but reversed and inverted? And then line that up with my current best sample and merge them together?

merge them together

You don’t have to merge them. They will all play at once (unless you prevent it with the MUTE and SOLO buttons) and Audacity will smash them all together into one sound when you export an audio file.

It’s still not easy or fun.

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’d still use the 2x4 on the accelerator.


Alternatively you could go with a very short loop, like this:

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.

The short sample actually seems to loop pretty seamlessly. Maybe I’ll try to make some shorter loops by finding consistent volume/pitch sections from the raw recording.

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.

And that was at a zero crossing where the wave would perfectly match up.

I think that fails because it’s a sound with a lot of different smaller sounds in it. The loop would have to get enough of the different ones to line up at the same time—and then do it more than once.

Still no 2X4? I can hear my production friends all yelling at me to go on-line and find a free engine sound that’s close enough.


Still no 2X4?

Schedule a reshoot. Hollywood productions don’t always go perfectly beginning to end. Reshoots are not popular, but if you just can’t get there with the stuff on film/tape/memory, shoot it again.


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.

Do you think this sample is any more consistent?

Do you think this sample is any more consistent?

You know the tricks now. Can you make it loop?


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 :wink:
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.

Actually my car has a shiftronic mode where i can control when the car shifts up and down. Sorta like manual. Maybe I’ll try to hold it in 1st or 2nd gear at a steady rpm and record that.

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.