I have been reading Music, Cognition, and Computerized sound (An Introduction to Psychoacoustics) by Perry R. Cook, and it’s been inspiring for me. Today I decided to see if I could figure out how to make a Shepard tone from scratch, and this is how my process went.
I started by thinking about how a Shepard tone is constructed, multiple rising oscillators which repeat in a cycle, with each rising an octave by the end of the cycle to replace the last one.
I made three instances of Operator in Ableton on its default sine wave setting, and set the MPE pitch to automate up 12 semitones on each instance, with each one 12 semitones below the last. This resulted in a rough approximation of a Shepard tone, but it had a prominent tonal transient at the end of the cycle, and the top and bottom note were very abrupt, making the start and end obvious.

I tried to fix this by placing fades on the volume in the clip automation; a fade-in on the lowest note, and a fade out on the highest note.

This added a degree of consistency, but the tonal transient was still prominent. I realised part of what was causing it was the release tails on each instance of operator, so I removed these to have no tail, and it improved it.

I also adjusted the pitch automation values to be exactly 0.00st and 12.00st, as upon checking i hadn’t been that accurate doing it by hand.
I wasn’t able to get it perfectly smooth with no click, but I got close enough that with some reverb the click is basically inaudible.
I decided I wanted to save this to use in other projects, and I decided the best way for me to do this would be to recreate it in an instrument rack. I created the rack, containing 6 duplicates of the same initial instance of operator, and then set each one up to be 12st apart. the setup was similar to the initial one, however I came across a couple of issues.
The top and bottom instance of operator in the rack were back to their initial abrupt nature. I tried to fix this by adding slow attack on the operator producing the lowest note, and a long release tail on the highest note.


This worked for the lowest note, but the highest note stopped being automated as soon as the note was released, so the tail continued at a sustained pitch. I fixed this by instead of using the release to fade, using the decay instead. this worked!

I now had a Shepard tone instrument rack that worked pretty smoothly. I checked with a spectrogram to double check it was working as intended, and it was. I saved the rack to use in future projects!

I think this experiment was good for exercising my problem solving abilities, in figuring out what problems can occur in creating auditory illusions and how I can go about fixing them. Now I feel more confident in creating instrument racks, and I have a more detailed understanding on how Shepard tones are constructed, based on personal experience.
Leave a Reply