Additive Synth with multislider and oscbank~

May 20, 2013 at 1:20pm

Additive Synth with multislider and oscbank~

I was hoping someone could help me in creating the basics of an additive synth using the objects listed in the title. I know that this has been done before, and all, but, in the hopes of learning more, I want to make my own. I’ll edit this post to include what I have so far, but I can’t seem to get it to work.

Another question: When you add a decimal point in front of a number for a math equation, what does the number become? Is it considered a float, int, or what? I’ve always wondered this, but I’ve been too scared to ask out of the fear of looking like an idiot. I’m done just “going through the motions” of Max, so to speak. I want to know every possible concept of it, and this seems like a good place to start.

EDIT: Here’s what I’ve got:

– Pasted Max Patch, click to expand. –


I’m pretty sure that the way I’m using the multislider is NOT correct, but I couldn’t figure out how to do it correctly, obviously. If someone could show me an example of using it in this way, that would be fantastic.

What I’m trying to do is use the multislider to control 16 different harmonic volumes. 1 slider for each sine oscillator. Any help would be MUCH appreciated!

May 20, 2013 at 3:02pm

Your trigger object after the multislider was changing the output from a list to a single float.

In max, ints don’t have any decimal points and floats do. Max tends towards ints, so you need to be specific if you want a float.


– Pasted Max Patch, click to expand. –


May 20, 2013 at 4:51pm

So, without opening that patch, you’re saying that my trigger should be, instead of “t f,” “t l?”

Also, the decimal point changes a number from an int to a float? That’s what I had been assuming, but I was never quite sure.

Thank you very much!

Edit: Unfortunately, all I’m getting out of this is a single click noise, and then nothing. I don’t exactly know what to do next. =S

May 20, 2013 at 5:02pm

“t l” would work, although it wouldn’t do anything. (list in, list out). I went with [t b l] to bang the left inlet of [zl lace].

Have you manipulated the multislider? Try sending a message like “77 127″ into the unpack object.

May 20, 2013 at 6:17pm

I have copied your patch into an instrument of mine, and it does the same thing. I have manipulated the multislider, and still nothing. Could anyone send me a working patch so that I could compare the two?

May 20, 2013 at 7:06pm

I didn’t have your ADSR bpatcher… maybe there’s some bogus data coming from there? Also, I’m just testing in Max proper, not M4L.

May 20, 2013 at 11:11pm

You can also take a look at my Bertha, it is essentially additive but doesn’t use oscbank~  (i preferred cycle~)

Jun 1, 2013 at 5:09pm

Thanks for this, but I know how to make one with cycle~. I wanted to use oscbank~, because it, in theory, makes it easier and more tidy to use a high amount of harmonics. While cycle~ may be easier for a small amount of harmonics, it isn’t very efficient with a higher amount. I want to use up to 32 harmonics and eventually learn to create something like this:

Here’s a problem I’ve recently come across when I was trying to replicate your patch with my own twist; When I try to use the “patcher” object, it doesn’t seem to be loading anything. I’ve put in the file name and all the preferences are default, so I would assume that this should work. Unfortunately, it doesn’t. I’ll probably post a new thread about this, but if someone sees it here first, that’s fantastic.

Jun 1, 2013 at 7:34pm

Okay, guys. I got this thing to work the way I want except for the fact that I can’t make it polyphonic, nor can I morph the partials while playing the synth. Any help? My patch:


– Pasted Max Patch, click to expand. –


EDIT: Fixed the morphing issue. Now, I need help with polyphony.

Jun 4, 2013 at 11:59am

You need to hook up the output of adsr~ to thispoly~. (thispoly~ is key to voice handling–without it, you have a very expensive monosynth…)

If you also connect the third outlet of adsr~ to thispoly~, you’ll get muting. Be sure to provide some default arguments for adsr~. (maybe 5 150. 0.5 200. or something like that)

Jun 5, 2013 at 7:33pm

That wasn’t it. It happened again in a different patch and I think I had to add extra arguments to the “poly~” object that had the synth in it. I’ll try it here in a minute and let you know.


You must be logged in to reply to this topic.