BEAP - polyphonic?

thetechnobear's icon

Hi
are there any examples of using BEAP (Max7) with polyphonic voices?
(i.e. without copying multiple oscillators etc)

I thought about using poly~, but not really sure how to go about it?
... or is it BEAP really fixed at being monophonic?

Charles Baker's icon

As i understand it: Placing a BEAP instrument into a poly~ is not the issue: the problem comes when one wants to share preset info and have "everyone" (all instances) adjust together (walk through all instrument copies created inside the poly~, applying the same parameter changes.)
This is very possible, just not automatic. I gather the OSCiLLOT package for MaxForLive handles this, as well as needed Max Live midi enhancements, and providing an edit space for user patching , I will verify all this later today when I get off work and get back to actually using the OSCiLLOT package I just purchased, :).
cfb aka j2k

thetechnobear's icon

Thanks, just had a short play, and yes I can see your point.
Its fine for polyphony and probably manageable if the controls you need to send in have CV inputs, but if you want to start changing the UI controls, I guess this has to be done via the scripting names

yeah, Ive just OSCiLLOt, very nice.. its a pity the it doesnt work in Max7 (as an amxd) at the moment,
but great in M4L :)

Ernest's icon

hmm. what about putting a polyphonic synth isnide beap as a module?

thetechnobear's icon

>hmm. what about putting a polyphonic synth isnide beap as a module?

not sure I get what you mean?
write my own poly synth modules? (e.g. oscillators/filters/envelopes), wouldn't that mean duplicating alot of work thats already been done in BEAP?

Ernest's icon

well, from one perspective, yes, everything you do is a duplication of something someone else did to some extent, but kist because someone has made soup before does not mean you cant make a better soup.

I was wondering about putting Gdfel in a BEAP module. v3 is not quite ready, but a video of the alpha is here:

thetechnobear's icon

Hi,
So I finally got around to doing this ... and thought Id share my approach via a few videos.Part 1 of video

this shows building a polyphonic BEAP based synth with per key expression, and running standalone or in Ableton.

first can I say thank you to the developers of BEAP, it really is fantastic to use, and a great way to learn about modular synths, its so easy to use and experiment with.

these videos only cover the basics, but could be extended to cover voice muting, or more controllers (e.g voice per channel midi, or straight single channel midi)... assuming there is any interest in this.

Im sure most here, know all that is contained, but I would be interested in comments on how to do this a little more easily/ efficiently.

a few notes:
- voice muting, I will show in a different video, its easy to add ... just send mute 0/1 at appropriate times to this poly~
- busy status, this is not required in these videos (or VpC midi) as voice allocation is dictated by the incoming midi channel or touch id, i.e. we don't need/want to have poly~ doing voice allocation. but for single channel midi I would use busy status, to get poly~ to control voice allocation.
- usually, I don't put the 'transport' in the same (M4L) object, I put in a separate object so the instrument object can be swapped in/out... and I communicate this via message, since Ableton does not support multi channel midi M4L objects.
- optimisation, when sending in many 'control parameters' i usually send as a list, and then use change to ensure only the altered parameters are updated.

observation:
one small thing Ive noticed, it seems like the BEAP objects parameters are not initialised (or init in correct order?) inside a poly~ (or may have been when it was made as a M4L object) ... I noticed this first, because the oscillator is usually default to a SAW, but when inside a poly it defaulted to a Sine (which meant my cutoff did nothing :)) , I assume as this is 0 in waveform.
this is no big issue since, I either:
- have as a control parameter, so it gets saved in the M4L preset.
- use loadmess to default parameters as I want.

small question:
this is a bit academic, but I noticed when translating midi to cv (-5 to +5), I had to use scale 0 120 -5 +5 (as is done in the midi IN), this seemed counter intuitive, I assumed it would be 0 to127.
was this done to have middle C (60) = 0 volts?

thoughts?

Mark

Wetterberg's icon

Mark, you ace! That is brilliant!
Not only did you put in the work, you document the whole thing with three videos?!? That is awesome.

And yeah I think you're right about the midi, I seem to recall an editorial choice being made about that.. I think it's commented in the code... "somewhere".

andreas.