infinitely rising jet engine filter/ shepard tone filter/shepard tone processing

whitelobster's icon

I am attempting to create an effect that filters incoming audio to produce the illusion that it is infinitely rising as if the sound is being played out of a jet engine turbine. I have accomplished this previously using the izotope mobius filter however from using it alone I am confused about what DSP processes are being used to achieve the effect.

Does anyone have any recommendations about how I would go about building a similar effect? My plan is to prototype something in Max and eventually port it to jasuto or something that can be run on iOS which is why I cannot use a vst/audio unit. Please let me know if you have any suggestions or if there is anything you recommend I look at

Thanks!

Roman Thilenius's icon

the DSP behind it is actually very simple, the trick is windowing.

a)
use something like line~, index~, accum~, tri~, phasor~ or whatever as the main modulator. (you could use message objects as well)

b)
then create 2, 3, or 4 copies of the process you are going to modulate in pitch.

c)
then use 2, 3, or 4 copies of the rising modulator signal and add offsets for the 2, 3 or 4 channels of the target, so that the differences between the modulators are of equal size (e.g. 0% 25% 50% 75%)

then add windowing: whenever a channel starts over to be modulated from 0., fade the volume in, then let it run for a while, when the upper quarter or so is reached, fade it out again.

...

here is a simple and not yet very optimized, non-signal version of my shepard generator with 5 channels. it should be easy to change it to 2 or 16 channels when needed.

it does not include the modulation - you have to drive it by line/float (0.-1.) from outside.

every even outlet will be connected to your frequency parameters and every odd outlet will control the gains of the channels.

Max Patch
Copy patch and select New From Clipboard in Max.

Floating Point's icon

hey roman--
newobj: 110.split: No such object

Floating Point's icon
Max Patch
Copy patch and select New From Clipboard in Max.

adapted romans patch after figuring out what 110.split should do:

metamax's icon

Don't know if it matters now but here it is with a drop in version of 110.split.

Max Patch
Copy patch and select New From Clipboard in Max.

Roman Thilenius's icon

i swear i´ve looked twice if there is something missing.

spliiit.jpg
jpg
whitelobster's icon

Hi Roman hi Floating Point

Thanks so much for this this is extremely helpful. One question- when you say 'connected to your frequency parameters- should I be hooking this up to five allpass filters or something more like a frequency shifter?

Thanks again!

Floating Point's icon

maybe use a series of band pass filters (crossover network) each output feeding into a freqshift~ object. you'd probably need to increase the number of bands to at least 10 (1 per octave) It'll be interesting to see how it turns out-- let us know!

Roman Thilenius's icon

connected to ... whatever you want to control with this.

it will usually be something frequency (pitch, flanger, filters,...), but it could also be something else - for example speed (aka continiously rising tremolo or continiously accelerating rythm loop).

in your case you would eventualy like to control everything releated to frequency at once, all oscilalltors or sample playing, all filters and formants.