envelope to send CC 7 (volume)
Oct 9, 2013 at 8:34pm
envelope to send CC 7 (volume)
i’m attempting to build an envelope to send CC information in particular volume.
i built one in M4L using
this seems to work well enough in M4L but when i do the same in Max it does not seem to have the same resolution with obvious audible issues.
after some testing i’ve come to the conclusion that “control rate” does not seem to work as i thought :p
so, what can i do to make a workable volume envelope ?
Oct 9, 2013 at 10:29pm
i believe that you have not enabled overdrive in maxmsp, which could be responsible for the difference you see (in max4live and pluggo you are always in overdrive)
i see not reason why you would use [line~] with [snapshot~]. you should just use [line] to generate number output.
also, using a grain rate of 1 milliseconds for the output will not only waste CPU, but might also overload most (probably all) midi hardware devices in question. 20 or 30 should be fine. alternatively one could put a [speedlim 25] behind the [line 1], where the values 0 and 127 are excluded from, so that they appear any time, while the rest is limited.
Oct 10, 2013 at 1:12am
well overdrive doesnt seem to have any effect.
i don’t really understand what’s happening . i assumed that anything operating at control rate, for example [line] would put out a value at control rate, so i thought (0, 127 127) would pretty much put out 127 values, rather than the 7 i got with my earlier test.
this might not be a problem with most controllers, but with volume it creates very audible artifacts.
so far, i’ve found using clocker to be the best sounding object. it actually puts out at control rate if set to :)
Oct 10, 2013 at 3:00am
nope, [line] is outputting at a constant rate, which can be defined as argument.
though when you set that to 1, [line 0 1], it should output 127 values when you send it “127 127″, thats right. not sure whats wrong there.
however, i dont think it is a good design to do it like that. you are trying to bind the frequency of generation to the resolution of midi.
even if it is guaranteed that you use it always in high priority mode enabled, i would prefer to treat them independently.
i.e. work in float, then convert to midi: send “0. 1. 127″ to [line 0. 1], then do [* 127].
as floatint point will be much easier to perform a logarithmic distortion over the range, among other thing which may be required to control volume.
also look into [slide], which can be helpful building something this.
about speedlim: you are right of course. but when you send data with 1-2 ms over midi, you will easily run into situations where the receiving device wont be able to work with the data in time, anyway.
and remember that this is not exactly a usual process to send envelopes in realtime as midi controller. :)
Oct 10, 2013 at 5:45am
yes, this volume control is a special occasion :)
line is really not working for me.. no idea why…
when run the [itable] has maybe 7 points on it.. as shown in the attached picture.
– Pasted Max Patch, click to expand. –
Copy all of the following text.Then, in Max, select New From Clipboard.
Oct 10, 2013 at 6:01am
What I see is the expected behavior:
Oct 10, 2013 at 7:51am
lol thanks :)
i am having a problem though getting [line~] to work, connecting it up similarly as above, it seems to be working at 10ms… but i cant’ see any way of adjusting that.
Oct 10, 2013 at 8:34am
i guess it is snapshot~ and not line~ causign this. but it is still weird; snapshot~ should work at 1 millisecond, the reference at least doesnt mention a 10 ms limit.
Oct 10, 2013 at 8:44pm
pfft, well i don’t know what’s happening with my “testing”..
i’ve just been playing with overdrive, i probably never clicked the audio interrupt option as this seems to fix the [snapshot~] output.
as does playing with the I/O vector size.
You must be logged in to reply to this topic.