Frequency generated Poly synth using poly~ an ADSR object

drewmcm's icon

Hi there,

I'm having real trouble getting a polysnth to work using poly~.

I want to use frequencies and note standard midi notes, and control start and stop of the notes with a slider (divided into sections). There will also be a slider controlling velocity. Both of these will be controlled by sensor inputs on a DMI. This will be a type of electronic wind instrument with a slide mechanism controlling the notes, and a breath controller/pressure sensor controlling velocity.

I'm having multiple issues, though I think I've followed the tutorials and other forum questions/answers, but having the following problems:

notes not turning off - so having notes stay on when they should have triggered off.

I'm also not sure what the best way to control the velocity of each note would be with the breath - velocity slider. Basically this is going to be breath pressure from a pressure sensor.

Now I seem to have also lost all sound output as well.

Any help solving or focusing on these problems woud be greatly apprciated

Thanks

dREw

BreathPolySynth.maxpat
Max Patch
PolyFM2.maxpat
Max Patch

Source Audio's icon

Do you need poly at all ?

Such instruments are mono anyway, so you need clever

conversion from pressure sensor to create attacks

if you want to emphesize "notes" when frequencies change.

follow sensor input for amplitude and release option.

Nothing else.

drewmcm's icon

Thanks for replying,

first of all, I just seem to be having trouble with voices turning not off properly when the frequency changes, even to use it simply without putting controls on the velocity/breath input sensor.

Yes you’re right, I do use it as a mono instrument, but what I’m looking to do as well is create more complex tones by having long attack and release times to build up multiple notes to build up multiple notes using a number of voices. at the moment I’m not worried about the attack and release times being dynamic/related to Sensor input from the instrument. I’m just going to have them as set numbers in the main part of the patch. I just really want to be able to control the pitch with the slider, and the velocity with the breath (also attached to a slider for visual reference)

That’s what prompted me to look into making it polyphonic though, wanting to overlay tone/voices to create more complex textures

Source Audio's icon

you are sending frequency and 1 which triggers max level adsr.

But no note off.

your poly subpatch is strange, why this ?

as first you convert float to int by using midinote message

then no freq output at all.

with monophonic input, you need to create something arround it to create more voices.

For example when freq changes, turn previous one off, but then

what when same freq needs to get retriggered ?

It is more a logic problem, then how to do that in poly~

drewmcm's icon

Thanks again for replying,

I’m gonna have another look at it later, and try and make it clearer. But I thought I had it so that as the slider moved up, it passed through an area where it would send out a frequency with a note on (1) message, and is it passed to the next region, it would send out a note off (0) message, before turning on the next frequency/note in the next region doing the same thing throughout the range of the slider

However, that’s obviously not clear - thanks for looking into it. Will get back to this later, and if I need to update the attachments

drewmcm's icon

I've tidied it up I think so it makes more sense, but still having the same problem - notes not turning off... I realised I hadn't properly had the ChestaTone subpatch generate a '0' when each number/frequency changes, but even though it now does, it still won't turn off that 'note'/frequency when it changes.

As far as I can tell it looks the same as the youtube tutorial - but just doesn't act the same way. How can I get the '0'/off message to the wanted 'note'/frequency when there's a change?

New updated patches attached - any help greatly appreciated as I've been struggling for days on this.Thanks so much

dREw

BreathPolySynth.maxpat
Max Patch
PolyFM2.maxpat
Max Patch

Source Audio's icon

here is one example patch , based on your infos.

But it MUST receive both frequency and volume from sensor

at same time.

Set freq will sustain and change volume as long as volume conrtroller is

higher then 0.

when volume = 0 then adsr releases .

bthpoly.zip
zip


drewmcm's icon

Thank you so so much for looking into this for me.

Thank you so so much for looking into this for me.

It’s been overnight here in New Zealand, and now very early morning. So I’ll get a chance to look at this in a good few hours. And should be able to hopefully get my head around it

and now very early morning. So I’ll get a chance to look at this in a good few hours. And should be able to hopefully get my head around it

Again, thank you so much. I had really got myself into a whirlwind of circular problems, without seeing any solutions

drewmcm's icon

Thank you so much for sorting this out for me. This works perfectly as I need now. And I feel confident in how I can adapt it to other scale sets and frequency sets

thank you so much for sorting this out for me. This works perfectly as I need now. And I feel confident and how I can adapt it to other scale sets and frequency sets

The way you’ve set it out really helps understand why I couldn’t get it to work, and what I should’ve done to make it work.

why I couldn’t get it to work, and what I should’ve done to make it work.

Again thanks so much

Drew

Source Audio's icon

You are welcome.

Now that poly voices work,

you can implement functions like hold note,

harmony etc, with not too much logic arround it.

Check adsr~ retrigger modes, to match best what you want to hear,

while note sustains and level sensor changes.