SynthMaker

Help? continuously waveforms

Archive · 2011 8 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

talnadav ·

hey there ! i know how to make a continuously pass from wave A to B but can i make such a pass from multi waveforms? how can i make a slider or knob that will run smoothly and continuously from Sine ti Tri to Saw etc . . ?

rl ·

assuming each waveform starts and ends at 0 mixing of them should be no a no-brainer. You may want to do the mixing like: slider * waveA + (1 - slider) * waveB so at start and end the mixed wave is always zero.

trogluddite ·

But A->B->C from one slider is more tricky.

Haven't time to try aschematic just now - but this is the essence of it...

For three waves, have a slider range of 0 to 2 - so say, 0=Sine, 1=Square, 2+Triangle. Then you need to seperate the slider value into the integer part and the fractional part (split it at the decimal point). Use the integer part to choose which pair of waves to mix between (0 and 1, or, 1 and 2), and then use the fractional part to set the crossfade between whichever two have been selected.

philter5 ·

there is a module somewhere here on the forum, i think it was in exonerates developer toolkit. the name was "float array blend" or something like that. it has 10 float array inputs and a 0-1 float input to smoothly blend between the 10 different arrays. of course this helps you only if u use float arrays for the OSC wave

trogluddite ·

Yes, thinking about it, streams would be more tricky - you'd have to make the selection between adjacent waves without using selectors, because they force a recompile/stage(0) when they switch. You'd have to use a custom mixer/selector of some sort - but you'd lose SMs funky ability to shut down disconnected modules.

trogluddite ·

Has a quick muck about in SM, and it was easier than I thought - once I drew a quick graph of the mix levels needed, it turned out to just need a little maths. Here's an example with 4 waves to mix between - but you can easily have more or less by adding/taking away 'Mix Level' modules, and changing a few properties. I call it Mexican wave coz that's what the mix levels do as you scan through the sources...

...have to be careful with CPU though, thoses oscillators will be running constantly - no automatic CPU saving here!

Might have a go at an all stream version -you could scan at samlple rate with LFOs/envelopes etc. then. Given that the osc's all have to be running anyway, the mix maths itself would use relatively little CPU.

oddson ·

You might want to check this thread out:

X/Y that outputs 4 values

datsound ·

Hi, This is an easy question, but you need to have 2 oscillators of sine/saw/pulse going at any time and simply make a maths operation that makes a button that makes amplitude go from 0 to +1 and +1 to 0 simultaneously on each one....

you need to have at least 2 oscillators at any time and crossfade through them.

If you look in my modulation exponential in the forum by typing exponential, it crossfades in between 5 parameters, code boxes that you could replace the code boxes by waves to have a crossfade between 5 waveforms.

Crossfade waves is cool for LFO but doesnt give you much sonic for the amounth of maths it uses, it doesnt make much richer sounds cos it is simple 1 frequency sounds.

if you want a REALLY cool wave that mixes 100 waveforms together, make a serge wave rectifier or serge wave multiplier, it goes like this: sine oscillator multiplied by a knob that goes from zero to 20, so the sine has an amplitude of 0-20, and send thes big sines through a maths cosine module... you have to do it in code

streamin sin; streamout rectifie;

rectifier = cos(sin);

you can also use saw * saw * saw * 0-20 to send through the cosine for interesting wave. listen the sound when you turn the knob it is better than sin saw pulse

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.