< Back to IRCAM Forum

setpitchbend example

Hi All,

what am I missing in the embedded patch to make the “setpichbend” message work?

  
----------begin_max5_patcher----------  
3371.3oc2cs0iiaaE9YO+JTE5C8xXWRp6AEsos.oH.onAsEnOrav.YYN1pqt  
3JQO6NYwFzeM8GV+kTdSxR1RzzdkznYeHdGSRYc3GOmCO2HyGuag457OfKMM  
9Ji2XrXwGuawBdSrFVH+9ByzvODkDVxGlYTdZJNiXdunOB9CDd6jCEYF4YFj  
cXiTLoH+mUMj0GVuNAWFuAyFHR15i4Yjx3ej2FzdEn0f4MJaYeHIZWb11GJv  
QDAkZAAzGvvFfV4buAzBx+F8Sien5WuX6Z1XA0+vwa3jY95+0RTaJaedbFQN  
XGYOYGRiyRvjxlTBsw7CjpVAMlHYgobZ17OTDGlX7GyS1Xx58S2cG6i60DaS  
wkkgawmgskXx93ncqwYaL99jPB1XIXkWP03DDE448XA7XZdDGZhxGAiNvTGO  
AlZy+GX.h+OtMvzFHnssYW.EpSfBN7.UF98Tx3bbxfjuL07pm6R9IGGeF+jD  
A76YpiLGNdDY2Q4I4EBRArxw1AD3eO8u7q9Cm.DzwiRSLRZ3fqj7vMqCy11K  
eDuyafWBh3bOHfi.VUhmvq.OGAVozCIj3xDp1oh9kmtuoLEYWbz6xvhm2VgD  
k.Erjye6.NlzGL.Lq+kJnyLBt3AbVnTWHPEDkWDSUHGRhyyNYrMPNzM.MOlj  
S+Q5EUncGRXPysxl3540.fbTJ1YEby3yI.wjoMJINCSEdMbzju5JzUK4rPtb  
U1dJAN+NkurdgAm8gQuiCN.vvtMlT0S.WZKvVIz38xtK1XKeUgEd5He4Niku  
NjtVg1Yl0aeNnTfP9wRGTBMeQIR91sIXknT8TpelEILf.Ue1ILXMPv.b3Tnv  
84Po5jOSwHnKWYB0FQULHySCi+ULeafWPSymgFFwVPVp2HBLKglkzoHPOolq  
GWfblEKKU3BJXVhKEgYaxSop.fiD3.C35XbUxzf7eYAm9h1wSgEOyC0A20bh  
z2bo+62ajkSXSZicg62iyJW81r+4tPhQXpw2ZjFWVR662W8axLSLJ+fHDDVi  
WLS.PlysRVRnv9HOj1wLwq2flD7hFyjANT.dN0gVBboPAfbeEFJfK3pqzXpK  
YsfDlfBSKEeBC5CmbtZyEPClSr8ESMdbz9ZtrqwOGNn9fHAGKOtLluxHoglq  
QRKsb6R5qd+Ax0KDAEN1aa6xT43ozILj0qOgn93ohHEIIwkjqkaBpDL84d4a  
I3irEhZdcClPnyKK6DCJvahIJC4gTGysF8C6.NakikMO5+tBWUr0cmLugxGN  
6oKXIF+I56nHOIAWT9cJYvt0HJILCyA3vvz.ka6AA9lCmmtMoIbgDajfC8oh  
SvOQmzxXaJeEKLo1U0n4EMdDFh9uDR+t2W2TblnIXcSE3mhqd9iCLrfhLDJr  
bnPPoev20TzIcU7tpGslUDwS8DzIPnvWvJ52vsY5J91j7n2g2zf6htvQMKLN  
aeAtriP2tvbC9wvCIjG5dArc+OFFg68g6GwWXtsHdSdFiRZ83rlqdmuwfasn  
ey4Cu+rv8c7nkzoxgx0gELnUJPgp5jjmmztq5USpPQXVbJcCYRrfdQf5ez3z  
8EU1ZV0lPdcWYDSln0Oknmm5nmMzE7H76i2P10R2.qG5vi2WsJXViPah2hKI  
saiDtsrcKsRgZSNwlR6sZWkT+Idgc99vWXmEEB98K7KbVkuY8Y9p1W1SOWA.  
ncGmuSyEUWtnRkoTf6FATNIcEvUW65dLAnB3PMnD7YBJU9YxYrFPjnskJmkU  
YpkuFu8s0l+N7rVRXTvgI9rokvmBi98Bin4Bu0EPzwCIsDnGvVj5GgsO8Ckd  
yenT7lMuv71QJHBzSRzs24Mr24M3EVRLJAGVLZbNAsXbrujLny7mwQwFlmTS  
CZjIfaFQ8PcWcCmYu7MvQNe.ThQhwZ07l2+4inNMPTotMUHp+M.onYCjRM6e  
OKbw7fCuYjMqChDlveQEmP2W07oTu1JFanTnBE4dQn70sHeAkpvFmDLKMh2v  
MCr1blS2KyhBtg8lPyQiZBtNiZrBFYqZN5dOKcT83MKehv5uaXnL+PQTEigz  
oHi1SIpm1j3r53c7lZq9OYb6h2rocrEDtiWxbtWDIEsVxtVJ1WSJ1c1Pwdu5  
nXGMoXqfYCIizjjY5mlIjLyDICnFzry7hj0BlgyGZ180G2bGvWO377QoQGRV  
8PyymMSzEl8d0QwCkNCQxWqyrhYY3S3MOPeCTCkdHjPJhWSsDs7zjBMHY+3x  
oX4JRJPmTxknf9dyaSxWGlHSHV8OPGIf3tiv4UlmwCTiAOboZ.octDo9WkJd  
3eKNcO44em4Mj3VQYA3CZj319yx3PUw+V5kAxvhh72+Xgb.fgK6saBi9I5Vw  
Hya8bz3HN5HNmEWjVokAdEY9eDpCK7OxlmlJV8EkOKz4XYLv9ry4x0TpnfYW  
EkaCrDk+Bu.ETWQ4vfuXqn7pSoo.FTWQ4Pu4ZEkiFgJJuBY7r3RzPjRNDm4c  
8ACF9xmt57XB73ojNPI739BWhv8ULXeSN03pu9Q1mCcAFVgOV7yqpumpBLDZ  
69E0Y0UV831V9Wt.cg1ewbVcKZAWCSYphZTWgVpEx59POCtIdnWVfLM44xUB  
oxulQcFb4zgU7TVp8xSenkZdTqA77OeNzxqOMvJFV5FbugfTZPIZ5xEGvNor  
opIflH3By2ii2tiiDz2ys6hhpkux3sYgIC5ZV0QVWHT35pVZ.LpqYfUHK5Bl  
Ka4x01BZ4w9KOpbAv9lV8pes+cNvcrXRa3TYwVLYY8OgXIHOCaNNqf7iOxx3  
rFkW9ftL5v468ufRM3qqkwncgYY31U031v3Lor1YxkeOCj+VNFOlqhhpSTpM  
8udf723x+CqBUQsqHVUg9pUn9pcQEoyhZM.e6KoIwOgWwdG0tq+T3w.M8mYu  
79V8pz717uX+W8YUmmw3idE1n.macjF.MVHkm3plKmOlGcnbcdwFbQKrGbei  
OZB18qJv1WTfNNVm8VZsKbse3QIw6enluTgWoU8sItbeR3yOP8HZqDmV5c9g  
RnSquO4t6natzpKkHwQ2pEfX6a44xYAc8g.aaNynmiqWW7h0LgJXGeJL4.N+  
wyqp9iHPRb16XbKsS+byAjmssK1oVCpbWdA4hiph0CzQeooBoDAX2U+gbo.j  
cmcGmESnB5muf10npY.OF06FC5.cPkjmE+J120LL2CtNWFC9x87KAJnARp0k  
eX1F7CEBr5ZFQT1K.n5vTftB+LQifOBWmd2vnHpi6TSPVJWhWtOuLlIHt7C0  
q1NGqKBEi+YEimNmU7BfrIARuG549dnn7rRxxjbAyCUmvwTXjQeV9y44CZX4  
9iE3+ciGvst1OvYaI6.hVcZ2J7jVSy2H.U2NL7nA6HkyhcFK45wbNRB7FWVK  
BIBI.iqrd.4wkkxiEyJqZ6Tad2KwtSCp5347CrXwU6xSPkWiSkUOeG9wQwT1  
Jid7rTK8Y8kssrUH73rj1Ld.BejF9nBT4ZhLp.WH6WN1u5CKv4.4HEbflVuR  
UKERWQ+oyWmkczLSb5Yd6suVaKN9PpO.zPGGyAOYlWmn6MrBPYGH4YZlYj0L  
SFaQRGY7BrC.HNGnXSc8rpGgrpLv9DyragrWyEz.bnCREu7AFksDDgr08BrU  
durWrhi8salsqfEH.b46sK3se6JRaJNkNOXNZb7b5eSVyRgmpeJo1uQ69gcf  
S3TURWDwgAJR+TeYbxaddk87ME4o7qrmBbBNrDytjdvke0aydqYqKwm3R4cX  
LGqMH4r63GdSTociiiKRDEUZOgD1Ckk+divmBiSXrUFwYFgYOaH1Ackw+fcU  
A8L0S+OvFZy0qO9WDaLIGpACE9jwG49g+IwCx+aivBrwZL48XblwaVB+e+m+  
K7Gt2PVFSreUfwuHKuHkBcbh7WdOkB1HlKBFOC7iOxdEzw9q+MKMxyvF4QD5  
N8qdqYm2FQNpu2g5JmR7rxItKADmMdeGcuXFFxj00fug+xaWV6B1nSqNNIyj  
5RrtmJhicgHerbaOub3NuT3NiqdHIGVhOaLnwjbrg5PONtSGAAzff7lLxwxW  
G1Gv7hdZWsxiK8nC+7ID8nROt5POSH+isFzCZBwGKcvmoS+iER20K3Lhdlts  
KrzQcn0zodFEnC8Lc5CQ5nODMc5CQN5POSm7ERK8OSG+CLPK6MlL4KnmtzyD  
gOt9ZYf3Dth4nGDMgXjiNaxyqOjIihXydzkDyrlXB5hPzDZnnfhfZQQpD8Si  
2vyfSY08KSfnVrkmse9EfG+aGeSC3bvVKQAzDhpVZQQdSHEgzhhrlXJ5hbdS  
H8nC.4Nc9Db5tI83j6DxUaoiUBSo98STKofflHyVrFDEQmnL0heU1R+G4+K0  
vtiuINHPr+m1li7aighVjVgkBMc9Yb56pOD2dBon4lYY5oXaJoHfNhs7KD2I  
ihzw7duqTt0wSbkJiDGzTf6JWj5uCjeaLjcA9ZA5AW2bz01SbsQyO8wttAm+  
MaOGwI1zs9aix7aDCPsHaGmb8HynjStVjO4JQ97qC49tJjoumOc2+G7A3bzK  
-----------end_max5_patcher-----------  

pitchbend, not pichbend…

…just copied it from the release notes…and it’s without “t” there too :wink:

is there a method to tune exactly semitones from setpitchbend?

The “setpitchbend” feature is really useful (I should say of extreme importance) for who utilises modalys in realtime. It can solve the old problem of changing resonator’s pitch in systems of patch where the pitch is dynamically varied (and if you want to use modalys in a real musical context, you just need that!)
This feature simply allows you to change resonator’s pitch WITHOUT recalculating its modes and avoiding alternative tricks.

So, I stress the accent on a desiderata: why don’t create a STANDARD feature, using the same principe, but giving the user the possibility to tune (to flex the pitch) indicating this in cents, for example?
let’s say something like: setpitchcents between -1200 and 1200?
or a setpitchbend with the possibility to indicate the interval in cents?

this would be really useful for all.

thanks

Very good idea.
The [-1…+1] interval is a bit strange and no one (but me) knows what it does…

So if no one screams at this new idea, I will change the pitchbend parameter to be in cents in the next beta, with p ∈ [-1200, 1200].
The message name also should be changed, I think (pitchbend being too much MIDI related), and setpitchcents is a good idea.

I am also considering to add a public controller to any object, so one could control the modulate the pitch with messages like:

Plate@pitchcents $1

(in that case the specific message setpichcents would’nt be necessary)

What do you guys think?

R.

This would be really great, Robert! A public controller in cents for people who want to control pitch precisely and a setpitchbend message for people who need only blending the note.
I always prefer to vary musical parameters using a pertinent unit of measure, not a generic -1…+1 that doesn’t make much sense to the user.
The name of the message is not important to me but its function and it’s correct intonation!

To be more clear: using modalys~ in “real musical life” (implying polyphony, multiple instruments and multilayered resonators) means managing and varying dynamically pitches or sizes of the resonators, re-allocating them without artifacts or clicks.
I personally use a workaround to solve the instrument instantiation problem, moreover I implemented constant micro-variations in the pitch of the resonator while playing (this provokes a more natural feeling for the musician). All this is CPU demanding.
So, having the possibility to vary the tuning of the resonator with less CPU usage would help us to build better instruments and better music :wink:

L

Robert,
i’m making cpu tests varying the setpitchbend parameter continuously…and it’s really great!
only 1% more in cpu utilization! it means : this is the way to go.
great job!
this is the best present of 2014!

to make an example: normally moving an access continuously adds 6-8% cpu utilization…
here we are varying the perceived pitch of the resonator without clicks and almost no cpu charge!
this solves one of the main problems in using modalys in realtime

Great news! Thanks for this report.
Robert

when sending a conflicting object name appending the setpitchbend message max crashes
Example:
{setpitchbend RectPlate .5} while the message should be {setpitchbend Mono-String .5}
Not a big issue but a bit silly though.

i wait the next release to make more tests for the setpitchbend in midicents and the cpu usage problem…

Robert let us know