I’ve been working on thees two modules (Flux Capacitor and Wormhole) for quite some time.
They both use the technique of modulating the delay time of delay nodes to achieve phase modulation as an audio effect.

The Wormhole takes parts of the input signal and plays them faster or slower to change their pitch.
This is achieved by modulating the delaytime of delay nodes with ramp LFOs.
To get rid of the click thats caused by the ramp LFO resetting, the Signal runs through two delay nodes that are modulated by ramps that are offset from each other by 180 degrees. A third LFO crossfades between the Signals of the two delays so that you only hear the signal of one delay when the ramp LFO of the other one resets.


Input Signal Range Notes
IMG_E0038 -1 to 1 Audio in (left and right)
IMG_E0041 1/octave Can be used instead of the ‘oct’ and ‘freq’ knobs, to control how much the parts of the signal are pitched up or down (0 -> no change, 1 -> one oct up, -1 -> one oct down,…)
IMG_E0044 clock Can be used instead of the ‘speed’ knob to control the rate of the ramp LFOs.
If a clock signal is coming in though this input the speed is controlled by this signal. If you change the value of the ‘speed’ knob the speed is controlled by the value of the knob.

Output Signal Range Notes
IMG_E0039 -1 to 1 Audio out (left and right)


[Knob, Button] Function Notes
IMG_E0048 Feedback Controls the amount of the effected signal that gets fed back into the uneffected signal.
IMG_E0049 Width Spreads apart the phase of all LFOs for left and right.
IMG_E0027 Dry / wet
IMG_E0028 Level (out) After the dry/wet mix
IMG_E0029 Soft clip Determines if the signal runs through a spline that soft clips it
(after the Level (out)) .
IMG_E0040 Pitch-change-control-signal-switch Determines if the signal from the 1/oct input or the signal from the ‘oct’ and ‘freq’ knobs is used to control how much the parts of the signal are pitched up or down
IMG_E0042 Octave Controls how many octaves the parts of the signal are pitched up or down.
IMG_E0043 Frequency Adds a value between 0 and 1 to the control signal from the ‘oct’ knob.
IMG_E0044 Speed Controls the rate of the ramp LFOs.
IMG_E0045 Blend Controls how smooth the crossfading between the pitch-changed signal parts is.
IMG_E0046 LFO rate Controls the rate of an additional sine LFO.
IMG_E0047 LFO depth Controls the modulation depth of the additional sine LFO.


Meter Displays Notes
IMG_E0040%20Kopie Pitch-change in 1/oct displays how much the parts of the signal are pitched up or down.
The ‘N’ (negative pitch) light is turned on when the signal is phase modulated through zero, witch means that it is played backwards

Version History

Revision File Date Notes
V1.0 Wormhole.audulus (161.8 KB) 03.10.19


Revision File Date Notes
v1 Octave shift (Wormhole demo1).audulus (254.1 KB) 03.10.19 Keyboard controlled
v1 -3 (Wormhole demo).audulus (402.2 KB) 03.10.19 not really musical just a cool sound it can make
v1 Glockenspielish (Flux Capacitor Wormhole demo).audulus (444.3 KB) 03.10.19 The Keyboard controlled Flux Capacitor demo with a Wormhole


Hey, that’s a great module! The sound reminds me of the eventide harmonizer with it’s feedback turned up. Great UI design also. I like the way the switch shows when you have the 1/oct input active. The internal SVG logo is also a nice touch too. My only suggestion would be to scale the knobs to be 0-1 (I have already done this in my personal copy which I was playing around with today) so that you can modulate knobs like octave and speed with standard sequencers and LFOS.

Anyways, here’s a patch I made with it :slight_smile:

groove generator.audulus (710.6 KB)




Greate Patch! :grinning:

I haven’t thought about modulating these knobs but why not?
I scaled all knobs in the the Wormhole and Flux Capacitor modules to 0-1.


I believe that all the current versions of Audulus now support the use of clamped knobs rather than the original version. I would recommend that you consider using the clamped version going forward and do your scaling internally. By using the clamped knob you can insure that an incoming modulation signal will always be between 0 and 1. This can prevent unanticipated results (I blew a speaker by accidentally modulating a feedback control over 1 causing a run-away feedback loop). Additionally I think that the clamped version will be what’s available in version 4.


Ok i’ll do that but how can I get the clamped knobs in the IOS version?


@biminiroad: by clamped knobs, do you mean using knob nodes and doing all value scaling adjustment post-knob (as opposed to setting the knob min and max values in the knob settings)?


The knobs are clamped in that they have an internal clamp(x,0,1) expression - this makes it so you can’t change min and max, and all modulation signals going to it are scaled to that. It’s sort of like applying a 0 to 5v modulation standard across all Eurorack modules (if we were only so lucky - some are -5 to 5 and some are 0 to 10 also).


Is this something that is in the MacOS version but not the iOS version?


Yeah I guess Taylor forgot to add it to iOS version - you can just copy/paste it into your patches and use it from there. It’ll get added at some point I’m sure.


Copy and paste from what patches? If I download the refaced module library, are the knobs in there the new knobs?


clamped knobs.audulus (2.1 KB)

Here are some clamped knobs, use them wisely :wink:




Thanks :grinning: I switched out all the knobs with the clamped knobs


BTW I think that @biminiroad has replaced all of the old style knobs with clamped knobs in the latest version of the new library.


Very cool effect! Thanks for sharing :slight_smile:


Fist of all, thanks for all the nice comments :grinning:.

I made a patch where I combined the wormhole with a prototype audio looper I made some time ago.
looper synth.audulus (1.1 MB)
The idee is that you record some sound e.g. your voice (in the pitch of a0) into a looper, so that the looper puts out a continuous sound (in a0). This signal is then effected by an instance of the wormhole that changes the pitch of the signal depending on the 1/o input which is connected to a keyboard node.
That way you can play the recorded / looped sound with the keyboard.

I mainly use this patch to create some interesting pads from my voice an random stuff thats lying around.

A downside of the patch is that everything you record into a looper is lost when you close the patch, because the loopers are basicaly just a bunch of delays with 100% feedback.