Multi Waveforms Oscillator

Hi all,
I’m new here

This is my first time posting a new topic, and I need help to build my very first module.

multi waveforms oscillator.audulus (68.4 KB)

This is what I called ‘multi waveforms oscillator.’ It’s a simple modulation table (with waveforms monitor), can be played with my custom made frequency knob or by using the keyboard as an input. I learned to make this from this tutorial Know Your Nodes by Robert Syrett and remake my own version.

I just got Audulus in December, playing around with it and started to understand the basics.
Please take a look and give me some feedback, so I understand what’s going on. Is there something wrong with my patch? Can it be better or cleaner? Let me know.

Please help me make the documentation and I’ll post this module under VCO category.

I have some experience with audio visual programming (I’ve tried ‘pure data’ and trial version of ‘max’). Mainly I’m a digital artist, I do design and illustration but I have an interest in creative coding (processing, open frameworks, etc.) and digital music.


This is a cool module! What I would do is add a 1/oct input as I’ve done here:

Core oscillator with 1:Oct.audulus (7.1 KB)

This will make it play well with other sequencers and quantizers in the library.

The next is adding a morphing section - I’ll post that in a few minutes, I need to mock it up. That way you can crossfade between the waves instead of hard-stepping, which will make modulating the waveshape more fun!


Woah, I like it! Lots of great permutations going on and lots of great visual feedback.

I guess If you wanted to condense this into a module that anybody could use, I’d start be designing a front panel, like it were a eurorack module, and then port over your favorite bits into a mk 2 prototype. Maybe take a look at the Rubicon mk2 and think about making a shape parameter that crossfades between different waveforms to create interesting timbral transitions that you can modulate.

I really like the logical waveforms, that look like they could be used in illustrations on their own!

as a side note, have you seen that Toon Boom Harmony uses visual programming? I think this is the first time I have seen it outside of a predominantly audio context.


Here’s an added morphing control

multi waveforms oscillator with morphing.audulus (128.3 KB)


Interesting use of the mono to quad node to crossfade waveforms.

1 Like

Thank you @biminiroad for helping me with that, I learned something new! :smiley::raised_hands:
BTW, where I can find the complete list of math expression function()?

1 Like

incomplete list here.


Thank you @robertsyrett for inspiring me with your video tutorial, I’m totally new into this and glad to found a useful tutorial that I can follow!

Yes, I’ll make this module condense over time, with a simple interface and minimal visual feedback.

As I know about that visual programming, nodes are also used in video effect composition and 3D shaders.


I’m glad you found the tutorial useful :slight_smile: Hopefully I’ll get back to posting new videos in a couple of weeks.

I gotta broaden my horizons!

1 Like

Incomplete? Are we missing some in the docs that exist in the expression node?

I believe the smoothstep syntax is incorrect, you can use a^b as well as pow(a,b) and the tanh/atan function is omitted, I’m not sure what other wonderful functions have yet to be revealed :slight_smile: It’s mostly complete I’m sure. Maybe “including but not limited to” would be a better characterization.



The v0.2 with auto cycle option. multi waveforms oscillator 2.audulus (73.2 KB)


I had no idea the mono to quad node would do that when used with the waveform node!

1 Like

Final result (without documentation) :smiley:

I’ve clean up (almost) all the unnecessary patch, replace some complex parts with the right math expression and simplify switches

Multi Waves Oscillator v1.0

multi waveforms oscillator v1.audulus (107.9 KB)


Looks good! I made a few adjustments to my copy that you might consider:

The “Hz” input is really looking for a 1/Oct signal. Some nodes actually want a Hz value, so I think it’s worth keeping the two things distinct.

The Select toggle doesn’t keep its spot in between loads because the sample and hold node resets. So I just made the Preview out a quad waveform breakout port when in “hardstep” mode. I also changed the scale knob’s max value back to 1, and added internal scaling of 0-10. This means I can attach an LFO directly to the knob and is sweeps the full scale of the options.

The rest of the stuff I changed is just personal taste:

  • I like to adjust amplitude downstream so I took out “amp”
  • I’m fine with using an oscilloscope when playing or just plugging in “-10” to the 1/oct input for waveform preview. But I did like that you had it set up that at 0 it triggered the Preview mode.
  • I don’t like hidden keyboard nodes as I forget they are there and end up accidentally triggering them and go look for them in the middle of a patch.
  • I’m fine with an external frequency knob.
  • I made the auto cycle look more like a heart <3

I think it’s a neat idea opting to have the Reference frequency be A or C. I’ll test it out to see if it makes using external eurorack gear easier.

Thanks again for sharing.

Edit: And I’d like to reiterate that this is really impressive in terms of complexity and execution, especially for a first draft of a module. Things are also pretty well organized internally, it was pretty straightforward to go in an make the adjustments I wanted.

MVO v1-RHS.audulus (89.9 KB)


I’d like to second that. Great job!


Thank you all for the positive feedback! :smile:


MWO V1.1
MW-OSCILLATOR v1.1.audulus (114.2 KB)

  • things get more organized and efficient
  • 1/oct input is now labelled correctly
  • replace built-in ”hidden” keyboard with additional Hz input
  • the amp is now output as 1 when nothing is connected as an input ( input?input:1 )
  • all knobs are now 0 to 1
  • built-in 1/oct knob automatically disabled when 1/oct or Hz input is connected and both will be disabled when holding wave preview button
  • select button will perform hardstep cycle, while select knob will perform smoothstep cycle. When using knob after using the button, cycle position will reset to one due to knob initial position.
  • auto cycle mode will always use smoothstep transition.

Bonus little demo :slight_smile:
Bonus patch.audulus (143.9 KB)


Bonus patch dinner remix.audulus (759.8 KB)

I had fun patching with your demo while eating dinner. I like the timer based sequencer thingy too. A very different approach to what I usually would do.


Ahh, thank you so much for that “dinner remix” hahaha! I’ll learn a lot from it. Also, it’s morning in my current time, your patch sounds like a mood booster. Thanks again @robertsyrett :pray:t2::wink::indonesia:



You know what… this is the first time I noticed that the font Audulus uses changes the apple logo character into a bug icon.

VERY SUBTLE, @taylor