apply rhythmic cell to new pitches

Discussions, advice, bug reports and much more about the "bach" environment.
Post Reply
TWTP
Posts: 39
Joined: Sat Mar 19, 2016 4:37 pm

apply rhythmic cell to new pitches

Post by TWTP » Wed Nov 20, 2019 11:48 pm

Hi all, I am trying to develop a command which can take the rhythms from one selection in bach.roll, and apply them to a new selection w/the same amount of pitches. A draft of the patch is below. Type a phrase into the first roll, then click the left-topmost bang, then type a new idea into the top roll, then hit the right-topmost bang, and in the bottom roll should be the rhythms of the first idea applied to the pitches of the second, adjusted to begin at the first attack point of the second selection.

Problems:
1) I want eventually to apply this operation to only SELECTIONS of rolls, but the "dumpselection" message has a somewhat different function, as I understand it. If there is a way to dump only cursor selection from separate dump outlets in bach.roll, I have not found it in documentation.
2) The overtype feature only works for bach.score, but eventually I want to replace these items in a longer roll without altering surrounding content.

I am sure there must be a more efficient way to do this, so if anyone has implemented something similar please let me know. As always, thanks to Ghisi and Augustini for the amazing tools.

<pre><code>
----------begin_max5_patcher----------
2598.3oc6c08aiiaD+4r.6+CD9ornYC3GRTRsuzbE8g9RKPQe6tCAzRzwbWY
IAI57QOz+2K+PxV1gVV9VYcZWnDDKaRJNyugyvYH4n3e6ie3lEKyekWs.7mA
+L3la9MUI2XJSWxMMEbyhMrWiSYUlFtHNeyFdlbwc0UJ4uJMUHWyABIujIE4
YUf07RNfk7ksURftJUYbYEPlCVxeRjAX1hqXaTuHYkRQ1SfhbQlDvprUwiyy
R.hDNCbqbsH6q5lvVyYI5tQV9l9yp2wSDxOKx9bQJKl+ocbVpHS0CayLrGso
zrsaDYoJVQWJpoTQhAC4K+xmQPxttnfIiUD9oGK4wRqbBgnv6g2A7C7zWP9l
OEFbOD7qsnQ9VYCQflR+ee7C5qpK28sKqshFV4afx7zzEW.1PcisPMX7BLWB
I5WwvqAxx3un3m2Crkr302mIWCPpe+qJRA1idKgkuUvsb6hEGvW6QN1AxCoc
CbeMVoTrYLEYQN9zHGM3H+ymFmBsJ7E.U+tfpW.RCNBMxfwn68uVHcCuph8D
+8PMY6lBPrRwtZXFaCB6BvDnwPkDYLTsn+5.3kakx7rSiokrrmZgqBVoZxO0
LlOxyXKSMsB1aS4fNmkhfMpvzPikL1q40wSe9OsqnU4pQZw+0fOikU+zy02V
lR.Y5sGJErSLOmSMBXmV6PBRq1WatWaCPFSoiYdtX0b2Zl5hET+NjRDWRotD
RQQFwR.D2xWv3KizQTbrif9Kmtq9uARqB0KsJrYhF0GOmHi78wLMzNmdEEDX
hY.6+G0LMWsXFndc5H023AkP7u5wLzsmTaj0CDjwcAYpuAjVmJ1w8wMHIyPc
QdorkYqSq9iL.NqNte2gPXwseD15T8b.GO3.WBVt+2yX2eWOudIhmNC1fBsq
HxXODfOmzgdcTKJ4OML1.dca1iMvjZWwfu+YMBZJth8LO4QEATc0iLorTnlE
2t56a1C3aVv2rjmre0UMBpor.qSsCb.8dObneXXHM.EFXbQF7cfv6jq9lUTj
9FnnLekHkq2.hXdZJ3m5+xvIcFdpuJjKk7J.56SodPJVIwr60.J55sh7QMjB
bmS2RUAMcr..dsitnSerCicBoy8ffDRswMZ.o8C+QDNQx15svaX.Mt6flins
VbdD5GgXn75dYUs2LhfeP1LBbmXlDUqYaPqeyqiWXixeWwMcAwGgw8.+9H6B
kN2XNY38X8PrbKKE7Rd4WqJXw7KvUUmirXOSrvnP+1K4ENp6Edbdwafx0uIW
uQDuyqrwk7CtOK.b+GWoWXjMHrdK.pcTSHipf.cO3u4TVrpLeSs.Ab6gywCX
YI0S9cGnRlWx0G8xlO8KY36A+qrXkfLuPvSTUx06UUcnNfWDp0aaN6FErVxK
A4q.EBkDhWAt8ItDrRTVIs8rtN6scGPWk9rcRDqVwK4ZBX3NWM+g6.rjDUyY
RvyrzslPsXpJpOJIC6lXu+JIu.f9KppqTswDeVCFAohJUqaKD1Ex1c.0zjf+
8e++7v+3eZ4eSqa0XUST7aFPx9pBq7Wp6MsXyRFUe8SlOVxWtUjlXNQl6+kL
x8fGLMn7nQC8QWogjtyLjPjALmbE3VUOx0iGOyK0SNApdKSxd8DmnEJp+G6i
+Y13Ji4qGp0AZgonqRTllEdz9LqNXy7v62Luz77BK+Y3mClS4zazmi+NZtbk
rsRoUXUa02dPDr8NHZcjX+YuTynZmHjkpNqgnYaUvnW6r3y4hXtdhWglU1gI
zAGZn99Woma9jddotlgpOgTFFcOhRo9TuHOTc.09XacJlHjn9wOLf5Q8B871
yR5oVhySyKObfn9kCTPLPTC+5iSdwsZY+mVbJUnvVEaEOGtdOIa0Js5dc24u
uedYcdJ+QsNziILI6Q3teporU8plCpRykhrU4MEfZpvLTotx1TjJjaS3.d1y
7z7BtkwaZmQKScc01rX8zIGV6W4uot.OnLqNh5MO9Z8uZs9GWklyjTucEZuO
XOaGBFBgHZXD8.ZU0vv8kVsXSdQIuR4Ig8dX8VUFqX2m9zgUljugIxFd.Ffo
QDUDENH12.LeQjHWaFH4aJxKYoGBl0bwSqkFEgsx72iV7w5KZEJfakgIiphS
I4rpxUVUg3TUQjI0gL3VSwYk+fNmRBeEaapbQ+GjCiB8BfdtGi5YeD4G34iC
unARO217ZRb5gxST8OnV8W3fIbzGC8Okw3IMDmMBmTFgzSaD1gA3rw2Tv3K3
3wtz2JEwUtG2L6ewYG1FC1N7X1Vud8Nlw2YsC.yGBwHh+Q1bmi4idm8RworT
deMiogBEAQHLbLLT9FCnCAcNGDB5VrlkmwmFJxHjaFGM4Yb2K2Bgm7Lt6f+Q
jIOi6NXWj2jmwcGgmdqNm3Lt6HaPzIOiG3lwCl7LdnaFObxy3QtY7noNiic6
4DO48bhc64DO48bhc64DO48bhc64DO48bhc64DO48bhc64DO48bhc64DO48b
hc64DO48bhc64DO48bhc64DO48bRb64jLo8btuU5jSgkkT89iaMWxaes0srN
uL4f2zdw81sWo45IgoiyqajHHYrIn2XSP+wjf6q8ox7sEGsmgaXkekWdbghD
Q7ZVVFOspVkaek21K09HBEa14MBAg81G8ZO2uNJF6QB8tfM3KDGDo2fODr0F
ZcnQ6Y6JTX.1yx0zHeZXzEx09QzvKhqQzHLhB+14ZhkqinnH7Ey0gQH+9w0X
kb1JfPDnBs9mfygGkoJGmgI6R4peFf.+5nl6SGmjQyY9z9jZq6DS0PGOa9od
btN07iGYNWmly0o4DXYNWmlUUly0o4bcZNWmly0oYiv4bcZ13aNWmly0o4bc
ZNWmly0o4bcZNWmly0o4bcZNWmly0o4bcZNWmly0o4bcZNWmly0o4bcZNWml
y0ouCy0I3tDcBseJuIchNUywdv5zUZ5mjSvcI3Dwy65kfSQDJpdzTe1EvqQ9
MYusEsxOkc46jIuazUbTVOUkusLtIWgZ92CHnUBzjnLODY1MwrUqv1Vc5Drp
+DT2U3yQP8+ONGHB1zUmAgCK.QmiddCK8NO9PCGAQ8gfCG87FWxo6IxYG97r
CxCD8Nu5B4vVobuYSTP3PHf6sDlLLCnj9PufiTyFVH2OVfbBV.M.rf9eb6.u
QbhPCA6ml8.RPbuTsGFBF1qo50eIL01V5Ec2a95M6QaNrhcTypT1SFmr9ikI
+wfYPU9nd8VRMPCM98xfCdlgFz0dnQ+EV0X5swmzGcgFtZnHn+4HHc.iGpWR
TexvhvyRP5vIRC5qJyvDvPP+7cMbvC0aS2Ahfv9BPzvAPbenWqFcvCjPn4YQ
.FEFDz9clGMggX15QdRodsBF5vEn.EOxKQajmiu2Ce3AaEEmUc1287e06o.q
nn9YRxPLCoVrg8EqJu8olYwFQl8y1mLnEk7mEM2RcQrx30BIOVtsz9LH8Zy2
bWK1jqhmIaqnIjFMX0j17TYYdDdJpeviLO8Ve7CpF7+g86pem
-----------end_max5_patcher-----------
</code></pre>

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

Re: apply rhythmic cell to new pitches

Post by danieleghisi » Thu Nov 21, 2019 10:58 am

Hi,

I agree, it should be easier. For the time being, here's a hybrid solution. ;)
Hope this helps!

<pre><code>
----------begin_max5_patcher----------
2689.3oc6cs1aipqE8ys+JPQ2O1aje+3JckN2eGiFUQSbZXFBDAj93bz4+90
OfTRhSBPnIcliaUCM1.auWd4MdSX47W2e2jmxeSUNI5+D8sn6t6ut+t6rEYJ
3t52e2jUwuMKMtztaSxTul+zOl7fqpJ0aU1h+yzo+HOIqo7rMqx2TkpprGDp
tTWQUuuV4r3jIOn+K560UuNtZ1xjrmerPMqxsGTHYJkCIHQ8qT5CQLBaJPug
OU+FDZJX6YPa1jr8sZxbaKT2p+2TzDSY+882ad4gN5xOsopJ+HtF7Xt1SwYO
2eWix4FWCQZd0uqA83ZvIasUQ7JUkp3QUV7So1FDX.t8Q5oeJd1xokUp0Qnn
+P61Qq7iLzS1o29u9S.fV7ABs7fiy.HGBSDYSqsL9E07G0kos0iwUUEI59Y2
Xg61hH2M4EUQYRdl979jpvTo..AV3zgm8EUWoJKieVc.rlFu5o4wQ4Ykppn+
az+B9PTcQy2TDWoaBlRQ8jEN.rkWCp7SisdFcQDSFQ.Y9lUqKUo5Vqw2+iBs
uoJhVkOOYw6Y4UpwDID.iyh41MPIs+tNYrc8sc6kODYeukYTNldMV6h5dbta
vDq+c3X4jQNtRV0xwzCQb3TTKBNiwztnzxvo8uWFiuwAOthPGjhl9AvoekPu
HnCcigtY4qVoxpN.6PSibQYhphKdVG60DaoLZopX63x0EpR8gZGM9XZRlZV9
lrp1N5t.N33nJChMPGQuApIiTFQRfD.CYmICzBq7dbUe71q5uHOqpL4Os8sP
wTLQJXTACKkXNjOxbsepdu7rghO4r9F3ziby7ChNCAzGRA9hR.wSiLDrxHKj
zWBElnul09vDxhNPYuoSH1mFc5XtOb63ux7MEyTtwe8FGX.gkY.3dFXMDjfd
sGXUE8j6W+9N4jIZ7vQ1dxK+CglK+isrEJp2inP3uNISU6KnAl7DBL1IO0uY
05JYrmUKQZ480yuSB68Esghwd9cyxSsi0MIN9ZQ75H3n5vTxgACMTCi+S.m1
+wd7e1W646EAi97SHDwsQV48eNeP5MF9LVZSx3mnHyyEYfzC4WF6aaHqSieW
anEaRS0mz1yS+jgkfjIeFSb6bQa9Dl3FhfcSbC16Ky.QegGDtHMt5yOqKrKq
KR+wNv+fvNjjOsMzoCbcIX2s9FEZwnB80K8iQh5ReIOYldpJqZtK9S9lYT52
+.ozIr9y3L8nca9qU4ko4UsmL84u+rs9a2Q+kUwKVXRHt11zs0XlzroQY8j+
WQRbauv1j2A1OZjVuIJSQtr.g7oBr9GpfyHLhfP1ZemIVGOKwzdMmO2s1qcJ
.qSzFUMOopP6TMNelNDcKrKOecqCGz5nsvZQUxrMotaS2gH6b0h3Mo1.slpJ
8ZBCRsHdlp8AZN2yeWieIyJ81g4Fa49w6ESXM3fWRYckO8pNoLMzm7TRZR06
6WsYzpd9Z4E6h.0u.agEsF0v8l1jYd4e3ZouWriiwqq60k4opGMT9GmGWE+H
X6O0HmazPME2bzIYKxaJ.1Tgk2o2FuZs1s1LWEoxdQkluV4FYzreVJud6hMY
1Yiuas5qTp2.1oLGQQ+OO9V8ulAoOtHMOthQ1Vn63.cb+f.A..YBIaGaU1zf
6psZ0LUsuiU65VOWn6r1oj2KyhWuaQyyWEmjM9NJGwjXDQ3wXWf6VoVsNuHN
cU9bky8MiHeYudaMYVkM+ftzWSlalOlIwrBOv0RUxyKqrroMU46V2r70u+5R
UVoglcvINdlN.Toq8DOONa9qEIU60lVn4y4uZhOrTuOsOEa2Gz9rZCsOxOk8
KCg1a+bfPGHz5WvdIzIYUoIkU94ydq72z3y0yYXR2ofBofvAjSxfxxy5I6oi
FWR4DJRLXJF7yfhQ7Gyz3CGmjcjp+MMpYOoYf.6Z69POV.riF7JD3JD3pSTK
1wCbchfVg.Vg.VmhUw2mU4x+1OixdK5NKg5WF.8SYJrh8AzEIopSLyBu0dKg
UA.Awz8B8dy4oxCh9s9Xw8NrlqYXOFD.gHv0Hr2u0oBBAdudm4CsvWm9giFB
glN.Rg9gT3+HfzOkvRP+2BNyGKY.RGHj5+l.AwAHcvPp+a5AjDfzACo9yz27
TsDfzABo9yv07bVEfzABob+PJO.oCFRE9gTQ.RGLjJ8Cox.jN3OYX+YOgBYO
MbH0e1SHX.RGLj5O6ITH6ogCo9ydBExdZ3Pp+rmPgrmFNj5O6ITH6ogCo9yd
BExdZ3Pp+rmPgrmFNj5O6ITH6ogCo9ydBExdZ3OFh9ydBCBP5Pfz1lZ0J8on
7vGK+7JU6ssNjk4Ey24eZ+gi59fya1dzN.OOwzWIChu1FjbsMH8ZZv1OZ24a
Vu2yoxp3hepJ1uvj4IyVFmkoRKOjc2RjNM5E4iZaXzGVy25y3QDgIHh9cTBJ
Sv3BR2O.HShfL6+25oHX2PIm8TgAZihwbAxcNQ.LkQ6aSWvnxqeSmIfD.fhE
1yIB.g.FpuMcNCSu5Mc2oBQ3Dhj0yihAHT3UuEyfZdAiSY1SIFwnLfr2zDH4
5yvQDJAw3.qrr0McMcmv.8soSoB9MhlP.ZqSQ8ll.k2JhMwvU.8N.HGhv2Z5
glZ3X48Cr0D6aFXKAR80NtsQQ.6px380t41kHquEAi9dP9yCS9ydWNiBxe9q
q7m2tVUr+J9Qqd6fxnCJiNHjzfxnCD5.gNnL5f.CCJiNHzvfxnCAtBAtBJiN
DvJnL5fxnCJiNnL5fxnCJiNnL5fxnCJiNnL5fxnCJiNnL5.jFTFcPYzAkQGf
zfxnCJiNnL5v.+fxnCJiNnL5.jFTFcPYzAkQGTFcPYzAkQGTFcPYzAkQ+EPY
zM5G0oxNHARPebGY6rBowT5sVffHDCKHj91zkLw0WaiDjjHYb8qtltjw.P5u
DntDybJRGSvTLnu50kgPjdg2ZzgKAjKqQCEbjCpwBnF3j+RvRLsZbsRiEDw.
j0sD1QBBRiyN.BhAZukNlhRmPnbJo2zaoDKuAXNAvA.DSTq5Xpj.6OveKV1E
1uoyoPJuuMcFjig2JASK3hAr7bHMeEReyELs8HlzRlwM5m1pZXS46ph5x7ME
yZzyqUSpla+4GpUctdtFIYtm5sO1IBwsSdUpcurD9LVx9gENJVBcNKwFKKAO
ikvxwvRfNzO0zYdQVhH6.5QQNG+hrj8jbVtmXr7IPW7oK1RhNXI9N6idZ3qy
SxZz.OEQlB936odyZMxCQb.29MUOeJe+uD6OQUD.5vUH.gbJ0aUWnmi6Tuob
D3MXbWsD5RYnvtZoKk2f6x36llyEYIC4ictPVfwHjUGLDbLFyA6Byy97mcwi
tIcez8k4Rzt3RrQXvTy0AOMeX2qysWDKBCOkteDKchZlvRXIXZqZ3lmz5STE
haW9RvP1z1mPcfp5511FxKl6V0N.WA2GMX2mhmxO7s5cxtNgH4Sks..BootC
cS3EOV7by8ZLBiI6JYZLBtbtIdAGinXPPWIHW7k.5B3MJwKEWKCQFjgbI0Du
dc8Jzi0JFaLYU7ObK4N1U3I8.wL2asKSNSJTujzr+TaIwEyVlTolUsovsbK8
FiLwcn45wUYaRpGZo8NsIsKvT10Kp00q5P10gp6+66++.17OnCB
-----------end_max5_patcher-----------
</code></pre>

TWTP
Posts: 39
Joined: Sat Mar 19, 2016 4:37 pm

Re: apply rhythmic cell to new pitches

Post by TWTP » Mon Nov 25, 2019 11:46 pm

Hi Daniele,

Thanks for your solution; unfortunately I can't get it to work. When entering notes into both rolls and making cursor selections, and after pressing final bang, I receive error message for bach.nth objects in the max window "Address llll can't be null". It appears the llll coming out of bach.collect is null, and I can't figure out why. I have tried:

1) changing the order of bangs in the trigger
2) checking in bach.roll inspector that fullpath playout is really enabled (it is)
3) @out t on bach.collect instead of @outwrap. It's indeed a "null" message coming out.

The only thing that confuses me about the patch is the @router syntax in the message; I have never used that, assuming it interfaces w/ bach.keys somehow? (

(Using 7.9 on windows, I know that's not recommended; I swear I will get on patreon eventually.)

If anyone following the thread could quickly try to replicate the error I'd appreciate it. Thank you.

Tj Shredder
Posts: 34
Joined: Sun Jul 30, 2017 11:09 am

Re: apply rhythmic cell to new pitches

Post by Tj Shredder » Wed Nov 27, 2019 7:39 am

seems to work fine in 8.1

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

Re: apply rhythmic cell to new pitches

Post by danieleghisi » Wed Nov 27, 2019 9:10 pm

Glad to know that! (indeed, the new release is just out on the PM and on the website).

Post Reply