Shepard tone generator?


#1

One of my wet dream hardware is a Shephard Tone generator in a box
Axo looks like the perfect platform to make it so here I go...

I always liked the PD patch example for that (D09.shepard.tone.pd) and I think
I will try to migrate it to Axo in some way.

It have 20 sine waves, and I understand the overall structure but get lost with math"expr" etc inside the Shepvoices.

Somebody can help me to translate a Shepvoice to Axo subpatch?


Divide by constant object: why just 128 maximun denominator?
#2

I think you can do most of it with the regular math objects. The screenshot below shows you how you can convert expr $f1 * $f2 + $f3 with Axoloti. I'm not that familiar with PD, but you will need the blue version since the PD expressions generate a signal to control the pitch of the sine.

The expression with the exp() function can be translated to Axoloti in a similar way. Not sure how to translate that first expression though.

There is also an mtof object in the Axoloti library that does the same as PD.

Hope this helps to get you started.


#3

Thanks!
I'm also totally lost in what means $i1% in the expression "expr($i1% 10000) * 0.0002 - 1)" and the exp(-$f1*$f1*$f2)

What "$" means?


#4

$f1 means that this is a variable. In the expression expr $f1 * $f2 + $f3, you'll notice that there are three inlets. My guess is that these inlets map to the variables. So this expression means the same as inlet 1 * inlet 2 + inlet 3, or in this case phase * interval + pitch.


#5

Thanks !

I still working on it. Some parts are vey confusing..


#6

I try to make Shepard tone : (new release 08/06)
Shepard Tone - up & down.axp (54.5 KB)
Shepard Tone - up & down FX.axp (84.2 KB)

and Shepard filter :
Shepard Filter - up & down.axp (53.2 KB)
Shepard Filter - up & down FX.axp (80.8 KB)