Looking for an explanation behind the methods of this patch by Katsuhiro Chiba

doctordinosaur's icon

First of all, this patch is absolutely lovely, its so chilled and relaxing. I was just looking through different more complex patches like this one and I was wondering if anyone could give a few tips on the building process. Obviously none of you are him so you cannot say exactly why he did something the way he did, but just looking for general pointers.

I am okay with everything in the main patcher, however it is inside the sub-patch "sub_synth.pat" and in the "delay" sub-patch where I get a little confused.

First question is, where do each of the mathematical formulae come from? Are these more of a thing in which the numbers have been fiddled with until it sounds good or is there some logic behind it?

Second question, is there any particular process to knowing what signals should be mixed? There is a lot of multiplication of signals in this patch, and its hard to see just now where you would even start on planning that process out.

And last of all I am still not entirely sure on what function the "base C" and "random range" variables actually carry out. There is just seemingly a lot of actions performed on these numbers before they come out sounding like beautiful and pleasant sounds.

I will admit this is probably a little complex for me at the moment but it doesn't hurt to ask the questions now I guess, just found it to be a really interesting generative synth patch. Best sounding synths I have heard in a patch for definite.

autumn.zip
zip
Wetterberg's icon

>First question is, where do each of the mathematical formulae come from?

We have no way of knowing that. I do recognize one commonly used formula element. In the delay subpatch there's [expr 60000. / $f1 * 0.75], which converts tempo into ms, and then it's multiplied by 0.75, which gives you that dotted rhythm. - the builder was most likely informed of this mechanism somehow, but then perhaps improvised to get the dotted pattern.

>Are these more of a thing in which the numbers have been fiddled with until it sounds good or is there some logic behind it?

..that's really impossible to say - [expr 1. - $f1] in the subsynth, towards the bottom? That's an inverter, so that when the random fades up one side, it'll fade down the other, making the patch crossfade. A talented builder like that would have no problem just doing that on the fly.

>Second question, is there any particular process to knowing what signals should be mixed? There is a lot of multiplication of signals in this patch, and its hard to see just now where you would even start on planning that process out.

It's an FM synth, multiplication is at the very core of how that whole thing goes down.
Also, in max, if you're looking to vary the volume of anything, you're likely going to want to multiply the signal with a modulation source using *~ - the MSP tutorial set goes into great detail about this, and if you want to see very basic educational FM, load up simpleFM~ - (which incidentally is like 50% *~-objects.)

>And last of all I am still not entirely sure on what function the “base C” and “random range” variables actually carry out. There is just seemingly a lot of actions performed on these numbers before they come out sounding like beautiful and pleasant sounds.

"Base C" basically defines if it's a bass or lead, in a way. It's an octave offset. "Random range" defines how spread out the notes are across octaves. It sounds pretty and harmonious because of that keyboard on the mainscreen: It transmits to a shared table, basically forming a quantizer that each subsection refers to.

>but it doesn’t hurt to ask the questions now I guess
Yes and no; when you're learning the ropes of max this type of math becomes more common and you're likely to learn it organically through building your own things, which is way more rewarding and educational, in my opinion. Sure, taking things apart and learning how they work is good, but if you're not picking things up from looking at them, interacting with them and playing with them then they're probably too advanced and won't really help you much right now... it's likely to confuse more than anything.