Shepard Tone in Audacity?

I am doing an animation of a bunch of cartoon characters beginning to pedal exercise bikes, one by one.

The effect I’m going for is very cartoon-y, and one sound that I thought would be cool would be like the “Batpod” in ‘The Dark Knight’. I know this type of sound, the illusion of a constantly-increasing pitch, is called a “Shepard Tone” because it was discussed on that movie’s “making of” features (

So, I go the sound of a computer fan running from FreeSound, and I was hoping to use that for the exercise bikes, with a Shepard Tone applied. However, I could not find a way to generate a Shepard Tone in Audacity. Does anybody know of either (a) an addon or something that can do this automatically, or (b) a step by step tutorial on how to create one?

Here is a page detailing how the illusion works:

If you can find (or figure-out) the math, you can probably create a Nyquist plug-in to do it.

GoldWave ($60 USD after free trial) has an Expression Evaluator tool that allows you to generate sounds using a mathematical expression. I’ve only used the built-in “preset” expressions to generate sine waves or square waves, etc. Some people have done more advanced things like make music with it.

I assume it could also be done with a MIDI synthesizer (hardware or software). Chances are, the movie effect was done with a synth.

A scientist would probably use MATLAB (and a student would probably use a free MATLAB clone :smiley: ).

There are many variations on the Shepard Tone effect. The important part in constructing this type of effect is to ensure that the end of the sequence matches the start of the sequence. The effect can be created from almost any sound as long as it has a discernible pitch.

For a simple step-by-step cycle you can create a tone similar to the one attached by generating multiple sine tones (Generate menu > Tone), amplifying them to appropriate levels (Edit menu > Amplify), then mixing them together into one track (Tracks menu > Mix and Render).

Ideally you would repeat the process for each step, but to save time I just duplicated this tone and pitch shifted it (Effect menu > Sliding Time Scale / Pitch Shift), then put the notes into a sequence (Tracks menu > Align End to End). The result can then be looped as many times as you like.

For an “ever descending” scale, simply reverse the order of the tones (or try Effect menu > Reverse on chromatic.ogg)

There’s a bunch of free plug-ins available that produce shepard tones.
Here’s the (Nyquist) shepard generator, I’ve in my Audacity version:
shepard.ny (4.69 KB)

I appreciate the other replies, but this is definitely the best option of the three posted so far, because it’s the easiest for me, MWA HA HA!

Can you explain how to use this? I downloaded the .NY file, and placed it in the “Plugins” folder. What is the next step?

There’s actually no documentation available. It is a demo from the stand-alone version of Nyquist (but intended as plug-in for Audacity).
You’ll find it after a new-start in the “Generate” menu.
I firstly thought that it produces a repeatable cycle, but this doesn’t seem to be the case. At least, I can’t make the transition seamless without a crossfade.
However, you can enter a start pitch of 24 and a end pitch of 72 over 10 s duration or so. This gives four cycles for instance.

It is also nice to combine this tone with the vocoder. The second input were chatting women for example, they get higher without getting higher :wink:
Something along this line:

Thanks, Robert J.H.

I had never used the Vocoder before (and didn’t know what it did). But your suggestion sparked me to find this Vocoder tutorial:

Combined with some playing with both the Shepherd Tone addon and the Vocoder, I got a very satisfying result.

For any hobbyists, though, I believe that a full, comprehensive Shepherd Tone addon could be very popular.

Anyway, this solved my immediate challenge, and so thanks to all. God bless!

Given that there are so many variations of the Shepard Tone effect that is a tall order, though perhaps a plug-in to produce a “classic Shepard tone” would not be too difficult. What do you think Robert?

By the way, the spelling is “Shepard” after Roger Shepard.

Do you mean another than the existing one?
I admit, the inputs are somewhat obscure and so is the source code itself.
There are many possibilities, how simple or complicated we want the plug-in to be.
We can output:
Simple glissando, scales, the input sound itself as with the vocoder.
There could also different wave-forms be used.
Shepard.lsp has some extended code but somewhat buggy, it seems, according to RBD’s comments.

Intrestingly enough, it is also wrongly spelled in the generate menu–Shephard Glissando or so.

I’d suggest that for an initial version, to make it very simple, but written and commented in a way that allows the effect to be expanded should there be sufficient demand.

Well, we could start with the following constraints:

  • sine tone (+ 3 partials)
  • exact one cycle, can be repeated with “Repeat”.
  • Start tone (e.g. c1 to c8)
  • end point in steps (e.g. -12, +7 etc)
  • duration for one cycle

Hence, we’ve got min 3 controls.
We can of course integrate the number of cycles or the output’s gain.

This sounds very logical to me. But I’m not a programmer.

I think that a “repeat for x octaves” would be useful. The wording does not need to be that, but for a cycle to match up smoothly it probably needs to go for a full octave per cycle.
Just as “food for thought”, there is a similar effect for rhythm.

I don’t think so, but it might be the most neutral one, without thirds and sixth etc. The Nyquist example has a minimal distance of 3 semi-tones.

I know that Chopin has some similar effects built into his pieces. For instance, he often uses two rhythms in one measure to produce a musical “moiré”-effect, e.g. 3/4 + 4/4. The brain constructs after a while more notes than there actually are, to fill up the gaps, if you want.

I forgot to update this thread with my usage of the Shepard Tone after I was helped here. A customer created me to do a cartoon for his bicycling gym, and so I used Audacity and the Shepherd Tone to try and achieve a cool sound of the bicycles all starting to get pedaled. Here’s a link to the cartoon on YouTube, timestamped to the spot:

“Better late than never” - as me ol’ mum used to say

Thanks for the feedback - glad it worked for you.


That worked well :stuck_out_tongue:
Thanks for the update.