~vst envelope management in ~poly

May 30, 2006 at 8:17pm

~vst envelope management in ~poly

I’d like to get some suggestions on ways to monitor the envelope of
the sound coming out of the ~vst object. I have several instances of a
patch that uses the ~vst object loaded into a ~poly object.

How can I monitor the output of ~vst with regard to its signal level?
This is important because I need to be able to send a “mute 1 0″ to
thispoly when each voice is free. Ideally, this needs to happen as
soon as the signal settles at 0. I’m sure that the signal monitor
object is involved here but beyond that I’m not sure how to proceed.
I’d appreciate any suggestions on ways that I can track the singal
output level coming from ~vst.

Thanks! ::Norbert

#26220
May 30, 2006 at 10:39pm

[avg~], [average~], [meter~],… can do that for you.

meter~ will provide only messages, which seems okay
since your aim is the [mute 1] message.

if you put meter~ on around 50-100 ms and wait for
the second time its output beeing > 0.0001 before
you turn the poly patcher off, that should be safe
enough.

#77991
May 31, 2006 at 2:54am

intersting, I didn’t know MSP objects had their tilde on the left below the equator! They don’t teach that in geography, damn liberal education ;(

#77992
Jun 1, 2006 at 1:38pm

herber,
Are you sending MIDI notes to a VSTi? If so, I suggest you manage the polyphony before the [vst~] (see below MaxText file). I’m not sure using [poly] is the best way, but it works well for me.

hope this addresses your issue.
mitch

max v2;
#N vpatcher 313 307 1088 772;
#P user ezdac~ 200 279 244 312 0;
#P window setfont “Sans Serif” 9.;
#P message 155 212 26 196617 plug;
#P newex 200 53 40 196617 notein;
#N vpatcher 10 59 986 470;
#P outlet 463 364 15 0;
#P window setfont “Sans Serif” 9.;
#P newex 875 164 112 196617 prepend midievent 144;
#P inlet 875 120 15 0;
#P newex 756 164 112 196617 prepend midievent 144;
#P inlet 756 120 15 0;
#P newex 641 164 112 196617 prepend midievent 144;
#P inlet 641 120 15 0;
#P newex 524 164 112 196617 prepend midievent 144;
#P inlet 524 120 15 0;
#P newex 408 164 112 196617 prepend midievent 144;
#P inlet 408 120 15 0;
#P newex 290 164 112 196617 prepend midievent 144;
#P inlet 290 120 15 0;
#P newex 174 164 112 196617 prepend midievent 144;
#P inlet 174 120 15 0;
#P newex 60 164 112 196617 prepend midievent 144;
#P inlet 60 120 15 0;
#P newex 852 89 112 196617 prepend midievent 144;
#P inlet 852 45 15 0;
#P newex 733 89 112 196617 prepend midievent 144;
#P inlet 733 45 15 0;
#P newex 618 89 112 196617 prepend midievent 144;
#P inlet 618 45 15 0;
#P newex 501 89 112 196617 prepend midievent 144;
#P inlet 501 45 15 0;
#P newex 385 89 112 196617 prepend midievent 144;
#P inlet 385 45 15 0;
#P newex 267 89 112 196617 prepend midievent 144;
#P inlet 267 45 15 0;
#P newex 151 89 112 196617 prepend midievent 144;
#P inlet 151 45 15 0;
#P newex 37 89 112 196617 prepend midievent 144;
#P inlet 37 45 15 0;
#P connect 0 0 1 0;
#P connect 16 0 17 0;
#P connect 2 0 3 0;
#P connect 18 0 19 0;
#P connect 4 0 5 0;
#P connect 20 0 21 0;
#P connect 6 0 7 0;
#P connect 22 0 23 0;
#P connect 15 0 32 0;
#P connect 13 0 32 0;
#P connect 11 0 32 0;
#P connect 9 0 32 0;
#P connect 31 0 32 0;
#P connect 29 0 32 0;
#P connect 27 0 32 0;
#P connect 25 0 32 0;
#P connect 23 0 32 0;
#P connect 7 0 32 0;
#P connect 21 0 32 0;
#P connect 5 0 32 0;
#P connect 3 0 32 0;
#P connect 19 0 32 0;
#P connect 17 0 32 0;
#P connect 1 0 32 0;
#P connect 8 0 9 0;
#P connect 24 0 25 0;
#P connect 10 0 11 0;
#P connect 26 0 27 0;
#P connect 12 0 13 0;
#P connect 28 0 29 0;
#P connect 14 0 15 0;
#P connect 30 0 31 0;
#P pop;
#P newobj 200 193 223 196617 patcher midievent;
#N vst~ loaduniqueid 0 none;
#P newobj 200 230 79 196617 vst~ none;
#P newex 200 116 55 196617 pack 0 0 0;
#P newex 200 149 222 196617 route 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#P newex 200 89 53 196617 poly 16;
#P window linecount 2;
#P comment 244 54 184 196617 < = get MIDI note number and velocity double click to set MIDI input port;
#P window linecount 1;
#P comment 259 117 419 196617 < = pack together a list consisting of Voice Number , MIDI note number , and Velocity;
#P window linecount 2;
#P comment 427 150 285 196617 < = use Voice Number to send the MIDI note number and Velocity pair to a "midievent" inside the midievet patcher;
#P comment 428 194 208 196617 < = double click to see the midievent messages that are sent to the VSTi;
#P window linecount 1;
#P comment 67 213 84 196617 load in a VSTi =>;
#P connect 10 0 5 0;
#P connect 5 0 7 0;
#P connect 7 0 6 0;
#P connect 6 0 9 0;
#P connect 11 0 8 0;
#P connect 9 0 8 0;
#P connect 8 0 12 0;
#P connect 6 1 9 1;
#P connect 5 1 7 1;
#P connect 6 2 9 2;
#P connect 8 1 12 1;
#P connect 6 3 9 3;
#P connect 10 1 5 1;
#P connect 5 2 7 2;
#P connect 6 4 9 4;
#P connect 6 5 9 5;
#P connect 6 6 9 6;
#P connect 6 7 9 7;
#P connect 6 8 9 8;
#P connect 6 9 9 9;
#P connect 6 10 9 10;
#P connect 6 11 9 11;
#P connect 6 12 9 12;
#P connect 6 13 9 13;
#P connect 6 14 9 14;
#P connect 6 15 9 15;
#P pop;

#77993

You must be logged in to reply to this topic.