change pitches to rests random in score object

Discussions, advice, bug reports and much more about the "bach" environment.
Post Reply
gratkowski
Posts: 41
Joined: Tue Aug 21, 2012 12:50 pm

change pitches to rests random in score object

Post by gratkowski » Sat Jan 18, 2020 11:13 am

Hello,
I want to turn several chords random chosen in to rest. Kind of filter out notes by probability.
Somehow all my approaches failed so far.

Can anybody help me with that?

Thanks Frank

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: change pitches to rests random in score object

Post by danieleghisi » Sat Jan 18, 2020 4:30 pm

You can send a message such as
[unsel all, sel note if "random(0, 100)<50", delete]

gratkowski
Posts: 41
Joined: Tue Aug 21, 2012 12:50 pm

Re: change pitches to rests random in score object

Post by gratkowski » Sun Jan 19, 2020 1:45 pm

Hi Daniel,
Thanks, that's easy. Unfortunately it doesn't treat tied notes throw bars not as one note or cord.
I found a (much more complicated) way to generate new score objects but still can't solve the tie problem.
I also would like to generate a second voice with the complementary pitches and rest. In other words I would like to split the voice in two parts randomly. I got that worked out too but the tie problem still exists.

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: change pitches to rests random in score object

Post by danieleghisi » Sun Jan 19, 2020 4:02 pm

I understand.
You should use bach.beatunbox and bach.beatbox if you want a clean solution hqndling ties.
But I agree that there should be a simpler way with in place selection .
If you wanted to only select non tied notes you could do that via
sel note if random(...) and tie == 0
but that is not the cleanest solution. Ideally one would have a @withties message attribute so that if you select a note, you select all the tied sequence as well.
Doesn't look too hard to implement, maybe for next version.
For the moment, you can rely on patching with beatbox/beatunbox

gratkowski
Posts: 41
Joined: Tue Aug 21, 2012 12:50 pm

Re: change pitches to rests random in score object

Post by gratkowski » Tue Jan 28, 2020 2:58 am

Hi Daniel,
unfortunately beatunbox doesn't work, wehen I have a tie between bars with different n-tuplets. i.e. last 16th of a quintuplet gets tied to a first 8th of a triplet.
I got it worked out with a quite complicated patch dealing with cent, duration, velocity and tie separately. Is there maybe an easier way because the problem also appears when I just want to change pitches.

thanks

frank

gratkowski
Posts: 41
Joined: Tue Aug 21, 2012 12:50 pm

Re: change pitches to rests random in score object

Post by gratkowski » Tue Jan 28, 2020 3:12 am

Daniel,

the problem with the ties also appears in your example file for rhythmic talea (looking glass o) and the permutation (looking glass p)

best

frank

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: change pitches to rests random in score object

Post by danieleghisi » Wed Jan 29, 2020 10:44 pm

Hi frank, can you send me a minimal example of the issue? I'll look into it.

gratkowski
Posts: 41
Joined: Tue Aug 21, 2012 12:50 pm

Re: change pitches to rests random in score object

Post by gratkowski » Tue Feb 11, 2020 7:42 am

Hi Daniel,
sorry for the late reply, I was on tour.
Here is the example. It is your Looking Glass Patch P
Beatunbox doesn't work with ties between different subdivisions ...
I found a way to make it work but it was not simple at all and makes beatunbox useless.

best

Frank

Looking Glass P :
<pre><code>
----------begin_max5_patcher----------
2603.3oc6cssbihqE84juBZd3TmSUociD2m2lGlGNeCckJkBHGyz.xGPjzdl
Z92O5BXCF4XL9F1sb5XrkDrkVZs2fHr18e+3CluR9Itzz32L9twCO72O9vCh
h3E7P82evLC8ynTTonYlQjrLbN07IYcT7Oohx+u4FjpBiHTI9IiOvFnBrwRb
wbRQVR9aFHiBTdLIiWVVEEQSH4F+aVQFe+UTzhYkQEnrWSwOajTJNPjW+SbD
8Ke4+XPxSWwdyft.aDsfTDarLgFs.WNqoSjljiiHU4hdhScgyI4zbTFVz698
hDTZSyWhX6NqS8RAyBxwND5My5I1FK9FPnMeiG6KFOWuS4UrwQJlJPAvlBIU
zlRspKMIVXS1H3qN.yVcmxj+Rzc.vYV7R+mGej+1SCD5ywevNl8PdA9MufjE
8uJLGyfGXEJF79.9l.nDI10X2V4XGnXra0XSY6nqVhkFzzb8g9LCKMzpiBWb
DbifvOGW.CEWrCFAtTWbI5cb7KReiWPTZQxqUToC7CqgmGLeGWTxbvXckWwE
7JCr.VBrUBtmHHNkfhyvkkFQoXzZt2hj3Xbd6A+Ag5dBz1VB5gfSDnCgWFx3
tBOlL2XEox3CTN8IwmhP4FwDQPsRFzv9.OLIKL263TRTBMAW9Ekw2rGCn5.c
aGeyIfuww+niuwXUWn.bTxwFdCDLjvaPkCc69C8P2cyndp92SIyh6ngdC2Cc
hqxVNJbwS3a4IHFNfwfJJ7yBt9w7eEin78d7XhskLFjjwraTwannB.buDxeM
BWkebXLHPFQx0al6gGg2SwoU2u63SCw075B60W0Bo.2J3+OP44D40LSIkoDZ
6nwu+WDRlvxfYt.1Ovif3aKiFDBquhGO9K6v5W9qAM4UfGmPYWU+aM3bdUZp
o5YQ+lACgrrt0emMM.D+iYJym4SJaWz5i06jjHLerT1Zma2.AHUPShpREvTY
ebhCGyQQ3NXG+3VtDEw.C4QVb9Q2YdsGFs3cgsrW7JVOJIRgonjbF17dBmYz
dIIu9A6xCXfexqIoIzUqoKMTNJZ9b945qGktq6Db2uHRJonUmbyafV9NsbHb
OLGhV+9JhCGOuY2kQDpe0lXltpnCB3+4NUw34npTJiLi46QoRhSCeFXAlA7A
A9tMyVJ801LOImMaGz3iEjT7KB2oWhQTzKVqeUa5ZWsZFEuSkjOmzhLJqP3G
w1hxVxl4phwF3b9EpsDa1l7ZJ.Y114U4QbdX2Z+Adk3fzsToKD6Cu7y5e3AA
dYN6pqodNqKzT3UXMv1ArBrr.dAgdcrUYSWdn1pU2Dur.Wxt1VT+A1aELdWm
RVUliV1sH1p+QI4m9ApOzKzF5DnvXGwvkhyVRJPoYjXrb3yir79Vy2L+Rbdr
4167GIwzEhtQUgB3ZAN4sETAUnhR5VWIKTTpv6XNgEPCGKbVp4haZVDY4pOV
fyK47wd1GEwbDJkcaTLJO9ihD5lt95FB2leysqgZx6fn1+uKB0V4LtlZqo1s
ZnsRpcJg0ERJopo1I4z9UVyr+3tKnc8IiMGNaLHLvw2x4SIS4rq84vHRCz3g
t9NtvfyMaCLJ1li5.o7wxtoa6n5ZBG9tKT5AR3rz7rd7L2cFUamQzTRtJzQy
zQy1IKya2Qy9jHYJIZTcTLM+Za9kuR9k3dLpjd0ulZ10Jy6ZzcbW4av1n67j
T7mbUHJqsFfqL0z2d.bXO56xcEXreM0.axkItnGvB.fVWh3h+RrpRfkxPW.K
0S+88OjS+WiSJXMQQTfZDEnQzQFdBn9t5AfZDcrHp5alDvViniEQUeCS.NZD
crHp5aM.vUiniEQUuLXfmFQGKhpdge.eMhNVDMPMhFnQzwhngpQzPMhNRDEp
dMSP8ZlF8e1d0qYBpWyznQT0qYBpWyzn85UulIndMSiFQUulIndMSiFQUulI
ndMSiFQUulIndMSiFQUulIndMSiFQUulIndMSiFQUulIndMSiEQsUulIa8Zl
FCh19XkkwZSY+GveBE2rMJaqm3WgpyW+gdUWfk+0ya1tyYAEO20WTyZecLqy
0wrtWdyto1LTwOvEkaUXRbRzBTdNNsOMus7kZzfxlZ488ELBd+Z59liDt2T8
V8qT763z5vFcsO3av0edfOdet9d1tAN7Oa0w22peOrsggc6he09ahaFz91qs
6tVmo96XNzdVNtf0GZfhC8ylGDn.9F3H6D6b7YeziOqcL9rTyLGOorW0AGFG
Q9GqQ7k+vybe.yWq2g9wRXGpfyDkXHiyi15C22Drskk2egCxMKvm8yPbybNe
dvmgC8gNmsoK7GtJ3dGVuKL.re+uAGZAd1.9C+P6Y45GdfG5KEfdoCnc9bz+
p7Pacb73OMFZGiAM62hsT0cO04tNGm7cCfwyWX0yaOyl8B52H1c2wKi9fZUz
6WmBatJpnGdsUQOvcFHryq6.Q0Ct4EUOiTZCfSHM0WmviVcDRp2RKn9eQTcb
+6hzcqX5uHjZsT50j5CWF8JEJ+.TQ+cWbZspSmxZn+tKBpV6omIEz2Sm76Q.
85.Y5.YW.4yqCfoYWmKwyeeismHoyK8bGs94uNXbfEDX6tUn4Ir544X7gKg9
KSrwaNAzOgWK4NDOeJ6k5o990nCccGpi9o9YbugET+jGZucUV+jGZuckX+jG
Zuc0Z+jGZucEc+jGZucUe+jGZuckg+jGZuc0i+TGZ6KL+lm9F0Xq5ZqSncwW
qLEnucfs2DcQY8Epu7Y64.Syko5zb4PjremGcM0P7mzD0+myw8FO9TIl+F8n
rqnvppsFgWnQ3gHt+MO0pGXzBpNmsdWI0+IOzd6p4+IOzd6J9+IOzd6lE.l7
P6sa5.XpCs2v4EfoLzdfIHfOSA4mkTCv4zf1WZC5boMn6kzf+hkB.Fn3MOQo
..vIVm9mzT.PWIxdkRA.CTmtcRA.aDSK3jHlVvTM6..9jrCvEPPw5bLPy7f+
jNQ.bMSeAiWa1m1tvYKQBL3.vWlbTvFEsClfo.fgkyRNdc8eRSBLmmT.fXWL
aIj6lLBfPE97x6lW.JIUEQMZylqb6PQD90VNlc0bI4x6u5lF4XIajxbOvAYI
3PrD7TXIq8XI6.YiNJKEL.CANA1Q.K60PfSvrj8PFRMcmiyRCf30LSdzFBND
Cso2zIAH.B8r7C3I.AOHak5.QpPHLvxNTTV.z10dSFLnHVlw..GcedPy2WBv
QXH3I.bXKyaIIIuIYL.7bm4x+yAaySsDPfubSmuEFJR6Dg7iZ6WN000G3sNJ
7Pjay2Gx2M9xhj3Xb9wOm2LeNDSebFheVu8XmtgA1Zhy0IfOwA7EYzEWenXN
py27Du6awaG+ymft7din2CZjmcDsbYc97PXDtILyP+ojCG7j3qI4xuJRmGlE
3MITEnnDTQzhDJNhVUHS4M+zywTtqDFuKuJod9mM3djmdUVkt8YjWmsbl+1r
0B9pFDJvLrkuOhFTWbFqEIML5lAiHq9HxVMKqy2Lhj+yi+yi+ePBoJtN
-----------end_max5_patcher-----------
</code></pre>

My most likely very inefficient solution:
<pre><code>
----------begin_max5_patcher----------
2779.3oc6bssbihyD9ZmmBWbchWIwAA6c+WrOEolxEFKGyLXfBjygcq8c+WG
PfvHbvFmLoxJmYrwsDp69SsZgvnu+4tENaJdkT6r7OW93xEK9m6VrPHhKXQy
2W3bH90jr3ZQ0bRJNbfjSctWVFk7JUHeWZUMcYbYY1aKyRYGVraYx9hps02u
jtmjub6wCkpyJKMmjTbLWbpnFgkwzj8o4OsthjPklDxOZE39kHW96Pe.+CW1
WV9ilyI+3gz7LBUXavNgEGoJofFooaE1Ywle9.B5vk8u2cG+s6mnmuINY+p5
jhJhla7q377BZLMsHmVTmUP0U4y+cQwAtfP2UtrWHbTyK+lZricZ4wGHBE7+
pRiybNCZDrJxKp6kK59kAdqBh78.tX+fPrG79k9Q3UXf1KOeF1ABVE.hfQHu
v.jOLDE1hgkoLMQ1lRqhyehHUECCyxbLCyXk2WTT1T6GcXpP7OVGjyOXeSIB
oD01VOWjlP39bs1IqWAApVQSSNlIv05g.KG11EmP5A171stLNgAZxVFHiZVA
i58R2qzhShzT+12XFXZhAMSKxYP0yo0LCiK2qQ9lWXCLX8YoaRyRouI5zAPf
5zpow61wi5abZ+VifO.JoHqnRyl6dCpEqqE.CiTgIRGf9VopiiClm6+ah4vy
O5NcQil27ROxN6spdP.VC7qS+agBgnUJWbKYW7wLJaz.geF0FCjTCHf.7JfK
DoFG7LohinrdjMjpSAOlTYmq9f7W1WjQVKFNtdaLMdcW.eilaFp1Dfwsoz7c
EZwlxBDC+Xe9LIqHg00sjjyOrj3nGJ6HfX1m6NlmviJ6W5uHu4bRvuib3D6f
0u17GOCx5cYEwz.uVgxyCLw5AAg..LHLJnmtpUF7T0klYRJqH0rT5wCcqmpX
Ac8j7VcdbYeQaKNDmle6cTLJfkhyKzfxlg6RIGJKphyNTrkHcedVlmOo2lMn
jjucPW5Koao64GDejVz+L1SReZO0bY0rTRYhQE6JXI1HaECRZBB6pVRQ4auv
lprtjkBYftiSXi.pklb7137suTkR6L61JhNMvlq2klCa+xDTaru1FTaCpapn
qwf5zbJ+RMMGSarvuo4oal60Y5gggQgdXf2YihxYWqykEAMQkG4i87QgezgZ
vqJTyyb9StuLdv1HE+MMC5EFtArQYChx7GKg1nIyrIxrIxtnPrfwSjcljX1D
X1DXSI5BaL5Rb6.MFbMrDSwVe2v1q6pcCMOxMMiblq.wXo+Nw3P.B55eRp4u
LwuQFw35xwRNNrjOybiAP.Dh.eF4F+1uVRHvXWeF6k4t9gkXScMJ3BMBtPnY
ncHH8eAn85xXAMem8fHKzNan078WB5Zg1YCslueJPOKzNan07MQ.5ag1YCsl
W7LLvBsyFZMuxQH1BsyFZMuvQXnEZmMzZd8h7GDCKzNOnEMX8XpG+FyXq4Rk
3qyVmeSHL1MzM3K5hxPCVTl7Y64xtScNYN1E7NDaGrprdO6Zlg3yTkFrN96c
b7UloXvxz3ZaO6bFKKroRaP38VD1.BOX0ZcOeqWX1Bpicttg3q4krgrKYa9P
q4krgrKYa9Pq4krgrKYa9Pq4krgrKYa9Pq4krgrKYa1Pqq4eBMWfEZmCzp2V
GNvpS8vcqPAkn+o1ov2rU8NP+26U9fAn9bzNBCOE4eRJz8yVgde1Jz+yTgck
dHt5WjpSVk4gzsoI6YWaOIaXfr9pSUaYltRUKpZXI8eySBwcEehckQdlj0jg
nu9g+Ap83I9nlD.7wQgd7iA8ddG.CsPcEi5ahO39GHv6eVCLWvkaud9v22du
ll1GG3521zPCM8ObtHPA9GvYZDi5et592e46LznuLsFEBguqqCLGzd8wqCJN
7xBej+pRmfAfaBFLJx+PiZGllhYPgyKbdzXtofVyV6Sevu3Whp2fMuOn37qp
oCwr+9XZ520puz9rOJSXpInPeXIfu7ldxwDZM8eE37EKqk93vNq6b4SBuxw6
d299td1ExYXMNYOoOXyD2RNAOtDt7GWAYAjSdoXyOGxRBOIXQ.VoOHIGgGnE
OH1bymYe+65IHAATfb+rGH+1Xrf.x3taGZXSjGN9lH+V5yM7lPU7gMYmyMQH
vJ+V+LDed2DNY2L3btoZ+4G+LY6ZV0YVy5XJsJcyQpbCmun0aGaapKJTfUWL
kRbjRKxm.lHH.Cjm58YBIAcZj0qPnjp0j7XduiFSGL.sZXNfaWfQYCAg799O
TFM36eihIPSHjPXMxdY8P.9yYeSXfViuvItrTS7BsSgCF+TxuCg22JJMWJB1
JphzQqDnVowULLgx.jiURVB40.OmtloXKoJ+XpnkjBYcKMljnCPvzFkMbkgn
eRUbGJ6AkDrRfH.KvOj+gGHrCmY8vOkUj7KxVsPDF7URXqPr2yRtdwMayl0l
YLh9keBcdzuPiTjxBwN4tHmaD5XlPrRcOxI.DIMfn4LhZjGW1cxs8ixb.iTX
MyIOVuIth2S0LdoUszhhr9E05KYjczlhKSYK5tOJRKJGuvJ98kZ7h2TvJ7v4
ZaQI0qOlKKcMKnftlmuqe8hyxZFl1u4eMNO8PLkPSkcAHPagxbF6Yo1K3b7g
FNIK4YCkrkEjmPj2wNthzCFXUOsTED4z1KuM8I9s7nmLZ7S08kTSeSB5r4XW
0t+tTEdbSyv4076xXFyeNopOnFtq44cDij9nY8jc8jeRRO1vt53mHsiU0y78
3x..fEOtjefeyAXlDb62fpCPpJhTRbURbaj3GwNHvSI1SUQekDekj.kj.csJ
OPIITIITIIRIIpQBVY8s1KFpjnLbrxvwJCGqLbrxvwJaFqrYrxlwJaFqrYrx
lwJaFqrYrxlwJaFys4t1PX35cE8XfJOsBLLIjj2oXNnH6H.I9PaRnQuFrwmL
5zIjb80MtwtdrtqyXgZ52qIxTXmNSwm8jLtU66i6wfK0iaurrydwFZUQQ7X5
i5EsY9VxqZy+cSfHo8LILBAhlJHAGEj.i.RXm4h.cS5oQ+TmBJBmiWtYnot3
XUhpmQEttruixReSSyauFfG6b.dEmTWykZExaf0DrBk4dV3QLAxH3S60eLbt
E4UQy5V5l.RqnCrZJt3LflFuS+xzl5ROtnoGYWq1l3rlozZM9oMWY2TqW+5Z
5O2W27d5b.3DI3N4RebitUK58Ful2gjB3EQoexk16hEyo3G5wWrSTjfr.aeg
geYopuKfG93qp+cXduuHbqG3ilb8lCA5YIJOKQ4Y4TLKQ4YCpsA0VhxyxuTV
hxyxyTVhxyRTd1DYVhxyl.yRTdVhxyRTdVhxyRTdVhxyRTdVhxyRTdVhxyRT
dVn0RTdVhxyRTdVn0RTdVhxyRTdVhxyRTdVhxyRTdVhxyRTdVhxyRTdVhxyR
TdVhxyRTdVhxyRTdVhxyRTdVhx6aLQ4Ac8veZDkGZ9rYWjuu+GCQ4EfBP3e2
DkWeiXZDk2joIIL.+0mM7PiyFdWki9YQ4cv.fqIz8B698hh98Qbd87AvMwGt
.52Kb1DYW.H7ih98B.ffOJ52KB349ea52ioaf6GD86MMBv75Z5H2nubYTuhA
98cjuFj5GD696hT+DmRe9wPt2+OkQJZX.fALQQOhnXDRn.0wAEC3XfopGzDz
ihULlkhD+bsuqlBuEZJbJZBDcKTUvTcJ3b0zTTzPWRFGdBSxw0wILH2IrG2P
liabVi6TFiSPCImv8IRecTNOYD9NoOWmnblQ3ft69269+wNvzC.
-----------end_max5_patcher-----------
</code></pre>

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: change pitches to rests random in score object

Post by danieleghisi » Tue Feb 11, 2020 10:11 pm

Hi, I think you want [bach.beatunbox @merge 2]
That should solve your issue, because otherwise it only gathers chords that are DRAWABLE (it will never gather a tie spanning 5/16).
Perhaps that should be the default, and maybe it was at some point, since the tutorial used to work :-)

thanks for notifying, please tell me if that solves your issue.

gratkowski
Posts: 41
Joined: Tue Aug 21, 2012 12:50 pm

Re: change pitches to rests random in score object

Post by gratkowski » Wed Feb 19, 2020 4:43 pm

Hi Daniel,

thanks a lot. All works fine now.

best

frank

Post Reply