Function slot domain values' variability according to tempo

Discussions, advice, bug reports and much more about the "bach" environment.
Post Reply
Phthalocyanine
Posts: 15
Joined: Sat Dec 10, 2016 10:56 pm

Function slot domain values' variability according to tempo

Post by Phthalocyanine » Sat Jul 08, 2017 5:57 pm

Hello friends,

Can anyone please tell me how on earth to get function slot domain values to correlate with the note duration changes caused by tempo change? I doubt there's not some parameter that can simply toggle the correlation on/off, but I can't find it. And it seems also unlikely that one is called to patch in a calculation, which first isolates note durations, scales by tempo change percentage, and repacks the message to send to the individual bach.score function slot domain values. I've actually built most of such a patch already now; still it seems that writing a realtime "sel" message in order to select each and every note briefly, prior to sending its appropriately scaled and updated slot domain values, would be unduly and extraneous clunkiness. I will be obliged for your guidance. :-)

Dimitri

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

Re: Function slot domain values' variability according to te

Post by danieleghisi » Sat Jul 08, 2017 11:26 pm

Hi Dimitri,

sorry to be carrying bad news: currently the temporal slots in bach.scores are uniformly spaced along the note duration, and are not warped according to the current spacing --- not sure whether this is what you meant - if not, could you provide a small patch example?

This is a quirk we are aware of, and it's on our to-do list --- yet a warped representation also has troubles: for one thing it, is much cpu-demanding than the current one, and in many cases an "approximate", faster, linear one might suffice. We might eventually set an attribute for that, as you imagined.

For the time being, if you need precise alignment between function points and notes in other voices, my best advice is to set either Proportional spacing (but it looks bad), or - better - Note/TimeSignature spacing, with @spacingproportionality 1 (i.e.: pure time signature spacing). If I am not mistaken, this should guarantee that graphical alignment will be ok. Have a look at #spacing to know more.

Hope this helps,
d

Phthalocyanine
Posts: 15
Joined: Sat Dec 10, 2016 10:56 pm

Re: Function slot domain values' variability according to te

Post by Phthalocyanine » Sun Jul 09, 2017 5:09 pm

Daniele,

We may be referring to 2 different questions. Have a look at the example I have enclosed here; I'd appreciate it.
Thanks,

Dimitri


<pre><code>
----------begin_max5_patcher----------
3075.3oc6bs0aaibE9Y6eECDJZc.zxNW30.Tf1cA51WZeYWzhhzEFiHGYMIi
3vkWrsxh8+dOyLjTjTTJVINFIBQw1hZtdte9H0bxuc8UKVoeTTs.8ZzaPWc0
uc8UWYaxzvUse9pEa4Olp3U1gsHUucqHudwRWe0hGqss+86POv2gzqQ0aDnJ
ktVluVi1Jpp32IPqDJ8CKQY5sbYNRI2JqqP7RAhm81lpZQFBZtTvUeWsbqXI
rHMUvmWqDovBcmcQy00BTVSIuVpyQoa342IpPo5RsRwK2gp01gUK1Vna61C8
OzOHtWTtDIdTVYWp0M4o1UnkXtmqZf04AY8F3ScTOr41dax4qWCDgHaIhWgx
Da04U0.MHx7PnediDlotQkgpDhsNR.n7hRQppIaLwTsDXxJ8ZdILHdsaa5ol
TcdMHXQ4BPXzt4.uUJTl8xrxaE0kxTPDA5fBckzLMtpah.07C.oIyDkHg2cd
FNwRxx5gT3u1HAo3ZcSdF2s.pcnTX9kvR4Xr6jonwaAryazYFkalXsL2HE44
YnUMRUl4CoMaa.xTduPsC1yIblRtprU+TJ.ISkgM4k0xT6j.h1tZ5xbtwzx0
DvN+jLOUXXiJARnDl9p9SFZrIstwX5T1Iek42yKkbXYa0hbDvIY6kP8Lyx8J
3YsC5E4lNLK1HMHzhRA1x.e.xQXEEdcNBJYtHEjpVugj1FK30o.4b2sf4Psy
Ki4G4gWhX3POFFi8SVh7iIllHTnGzuzN07lsxbkn150QZaTlY80zqd62QwK1
ORcSc2PwssVUuSIridgoge+5qM+Y4mnW9OaEF+Sd46.t50nzRMvfBvTVdGHz
qQq.aa5RPBAWSP+EDAiVUrcwGTbPYQ8hCFKvKJIIINFZGeFhDRxmSQxZkFV1
SvJ9QIdLRXDg.pzn.uP3UbzRT.1xgzAbxZc4VtcZgOUdye+NWBtI0hxaE47U
NFBOKeSOjuaawMn5cEBGoCcfVrBrvWzSh.4H2B7qY08vOilPt.9NWvwoC.oR
q2l0adkTIq2Mq+E83ZgPelW.nEn9fVHItWKPIIV+N14XPw9bZP0lZ7.AzM8I
OugftoUDgQ+Axqd0qNo4W7rLNIz24gcLFmNCiGrn2RMu1DV110eCzJp4EIjy
vVafa.DQW9daGD1GkUVt3AffOPFthmtwqIufm9NKpg+JPEn5SEGBbdwz3fPi
zKv2KDBFw.omOI1i3Ccvl3B+AscBOWQXxSWDBwhfvGfOqL291zOO72tllWpS
+nj5VwaEjpr25sZi9Aij1vniDIJN.8aMeK3L65f01w8ZY59gCL0pl6L7cGYV
nKZJfHHMF2g1w.QVCVhh6GSo7tM0oJY56LCZz1JysZ9MBdlggq0cinOpHXb.
1.cRUx.FotovnT.nJqEkB.Dhc68aGAOqCXQUMfhofaU5lzX8ZUKuMRLr5tTs
RW5XCrWTneDNbIbEo8JKDfgY6VoKAnbilUBKLjZGECbyCrWYmY+jpRMfggrv
ilGKHgEY2MV.DfHwdkebjIC6vYqz5hQSztE9IgLRj8p3.ZXx34rWMxU.Hfgg
GMKWqt8FvDjX+AH3EuxXP11DvOKH+Y+E1l2q7OJRAHJGdOjIHXuC1P+LAD1h
5gTA3ltUvqdPlUuoPTVsaaStzYqDQh60ZEJ9NSxG4PsVKXUKZvgsOx4OZFSt
8lacSI0caCf2H.NZaEPlf8mXb5DmEokRclTwIyDXg1G9P6nLi8s6dv.X9h2+
gi6.2OTELOfKVIr55nDbGQvadDbUA35fw88hpQlCD+.v9o2Vkwv9rwVCERCd
Pv+nz.WtU4m2nTKlwfYXfH5d+GSP7QaKd4f+PFGCdl3mc5AyRuWOvF3e2YX1
oa1B3YAQxH5gLxxX.8z4nF.tOVmwDBfUMbheHrKl4YrEFEcQXugVc9T4ZRf0
CKlECYgrqeDM.OQ5V0rJSduzn6tqTlMZMf3ArDeK8PwLVbqV5.W0ViL2zLYz
.WvvggctyHwFJJXdwF33cl4ltaAG9fLOS+Pu8ZXuH6chccQ0+9UCT8BkNEvz
A2KUlpkH5jLuWqsfMAbJrPbDap1zxrG5VMKR1S86XTto5hcitSTys7YMdFCp
gudsA.ZKSELJW5ZvOdna7z7q8FYOZ77yDpZ9NSeA816.j2L4cx5Q4GMAsf6x
04jNxzLneMcJq8IG6+ALLAam8zIHlbvkZe0GInSrS7wdShCUTpK.QtMSmAHt
8NAX9XHYxLgGGFol3axbPB7.Oij.ysCgsQsI.5aHRCNXOg083bLR2dCIhGqy
Z6fjJOrQqD2ZwdbaFuleKt+UqEPKtDWFlEcfoGjxw0gMznAezVIHcg36CSLs
vZQYPV09PBF2KXeaday3Vcw7fKt8w1+YvIcqEbVneeiKrIAwOwwQf.AgILpe
7n8BXqhyZuFPlhQo0F02tpbdQ+mdZzWXBgFigTUsKz9UycuKO+RjXBlQiv9y
rYeBxEm4mQ2abHKMoKG18FgAro4JdSsdbeP5b.6pKvI3wHxbgPbVaiEJzo1e
cIsmy5yd+LyX4cDB+IZOA4Z7CnweN3N1Ttyda9JHekRVUOOS1dCJmlG+L4aE
iwjv3jvWBeqLwZdip9LTTwIw9SMy+BRY6Oqx1RIGWaejteA04ujwSOSc9Wr9
0AG0u9a9zWT9zgG2m9D9yeyW9qHe4nopX0tRYZ0EBBj3ob2ZoRbhzQm.eO9x
Fc+KDX8YYvuR.qmbPzvhiEG7vddIMhBIXBgheILhdYj7D7rIhH34k9v8uK9p
JLEgLO+QtT3O577G8Rg+l+NcMeiwWF7272bGw+Rg+l+NZLew2WF727.4Meqz
WF7Wz77WzkB+EOO+EeoveIyyeIWH7Gcd7KzKE7Kz4wuPuTvuPmG+B8RA+Bcd
7KzKE7Kz4wuPuTvuPmG+B8RA+Bcd7KzKE7Kz4wuPuTvuPmG+B8RA+Bcd7KzK
E7Kr4wuvtDvureBlynNOOq5vCGBLwguOXJazkYitX3iMy8Xl6d+nRiYNM.uP
aH6kdC8eo2vfWxMbeusmgvIMJyjlJGJWnFYFdyg+g3DUS51cxXm9jcaaEO7n
ydHEoD2KTsNnyryC6NdxxGelGAn3PRDiD6att8gI2e3qNz45Y6YeynX+1uiA
FbcD4i5gce1m4nmymc+wLmFcnDMMzrcfoJdx6e75MpeRxP8F9zTAXkWWUySS
mRIyPNG2z9aFpeyP8KBCU73pN3fyVZeAm8FDA8KOiEA2+xTTRDS8.iVoq2Xp
axJXKLkAK.IvTXqhesgqLku6ZsRoen50n+W9OYeDYneF7EdM5u29MWurqi+s
sNleM5FrGxKlgvduBcCM.9j8mWglsT5Xe3ZyLHd1Zyz+bJWUxWrkqJYX4pRe
p0qJI7SudU+nJWU6puXvgQuSBYIVS6ikSU5lxztCGeWgogn6O.1BSUw2WgKu
Ye4lhvCNl7CpzfPV.0UoAQrHZfsFgH3.a0PXK2fYUfOYxKXzNeDxiNZP.LqB
sLu6fv6GG6gaqDx.VjWfo5EBM2SCsWQc71sMm.WxBBMGi89V9TYL+mBi0x8e
Z6jQ5D8g1ovSIBiBAsKv799rdQCCDqAckHYe6inUmwIunnsBirDpgLA2025r
frGreSQY49nM7C.11UUK8kYGDPG77pE1B825C7XrqfJWrUmIJyab0o00FAz0
s9JSbH5q8oMBUg4T.cqsVD+Nhysq+7bMRXNrnodSWYS0KkNnzjBvjjPSUsMy
UjQE789523M1ZcsStsrU0VZ9e2fIU94hs.8YYT7DSgdd6cUJy+iO7eLBqSwW
SKfoQ+4YhVrivQOeOjJ5O9eElLWOQpB6kDhihswUhCiho15UDG6GSlHKmTJk
LhoXJMCNLvOA6JIKSSVkQTxyOyUJxdxLUXX.N1Unm3vv1R9jEFa99mOESEiS
BnthriFjXYOFjsYZEaB.b.1YrXLIJhYmZbBNJvVrmXJgjPeN00t5t1nlOs+z
LD3oTXO2D3Orime1DHllD3a0TfjjQcElGHAIrmeB7GKEhOBJzFmgYd4pgX.e
bzyOw4bfOapKlF3pW3nXRLwUrjfDM3jgDolAgwwOWLfsr49QsJ6rI+80lcPB
k3pKSxvX5mOABy42u9+Cjglbf
-----------end_max5_patcher-----------
</code></pre>

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

Re: Function slot domain values' variability according to te

Post by danieleghisi » Sun Jul 09, 2017 8:39 pm

I understand, yep, that's a different issue.

This is not a bug: when you change the slot domain, what happens is that you actually change just the domain, not the content. What you'd want is some sort of equivalent of "setdomain", rescaling the content to the new domain, I guess --- but I'm missing the most important point here: why don't you keep the domain between 0. and 1.? Temporal slots are designed to work this way, and you can always sequence things via [bach.slot2line] or [bach.slot2curve] (see their help files).

Or: is there any reason why you need to change the domain each time a note is played?

Best
Daniele

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

Re: Function slot domain values' variability according to te

Post by danieleghisi » Sun Jul 09, 2017 8:43 pm

Here's an example of what I mean. Look how the function warps according to the tempo.

<pre><code>
----------begin_max5_patcher----------
2559.3oc6bk0aiiiD94jeEF9gE6BjICOzA47zr89v7x93BrXQiFAxRLwZZIQ
AczIoGLyu8sHontLsichimiVYlNVQ7ppO9UEKZoh+x0Wsdi7IQ85U+vpOt5p
q9kqu5J8sT23pt+9p04QOEmEUqq155XYo32Veionh1bYaSlnQWHp6toI5pJ2
7yeWfsl0MOmIz2dTaSKrMkzcyxnl3soEObWkHtwHWzP9snaV4gQpOvzgOV8I
Ui90quV8qaNREP70jn3iWA7e6J.mpjXBibqOnF9Zkw+UJ8EhGAoxJAMhmziw
5MQwau8yhmqWgW8iPCRDkMaWQbqkjc0Rpsllp07bovH6fxp58hGVu5SGGPfO
vLomAI3d5oPeyeQdGfh1hxn3OWHaDtg.9tP.YuPv8YxnFENjVn+X9eO9e1ac
FPKBSyzIAZFCF89gVkUfXu5+H+2oE8308xhl5zupEcrZnOR6ELdbOTDkaT9+
YUZT152LlfYZpCMjnwDiKAB80hIs4aDU+1IoxNLdHziPkSePCX885NrLnFEp
5a4WGKChLZruOJVLddwkMHBa7lpQPe1..10lbYhtOHmORVFvqdynL+kA4Cfo
mjKLxKBezvP8G72F+6.1j0YxFhB3.Ni+peDTsUMuUHL7U.gmj2LuWF3rPF4M
gbFHJVV41eEoGS17fBHGWH8VVHmyC6Q87RYR5CoFMfZa2iwxbPMR2jlk17rp
nPDGYW2nLETPQRZSEvqrPUQaV1HnRjAJeprHVlIqLUAcK1ym6GdCbEixPDl5
JTHwGQA2YirBKqD0hhlHUGL1mn6kwLZYWbb3aF9eBf3fUde2BDJ8phZYpQpZ
03duNtRlksIpZhLS84zvfazWEDR35q7XgL1TYd7p.jWlp8kuJk45Q2avsXMr
tMPbJqjkf.BJejE9UiIBjDaqkowhtZ2sdogRELVhJpEMicHBb0bQT8ioIMaK
EU0Om2VjZffPLqWJRZqzHux9SWWcMtkZIMVIG3uz.TH0NO.bzMhn7DQVSjVn
86JHJA3JZsotIppoLRCUgCzTYUhXJpyoAADM8.VsyyWe094Hiszvdp.Mw92h
AdtOvB7PLSLyza4HDxeW9vVQTx.c.MxizDYBcyneMVTxjxxI0TKud7.JVS18
X9j.9LwOK5Yk0W5DF3V4ieQjIi6l06ue6ljzujVCp5CUoISFK.cnbO0vvIHJ
0vJmNVZ1hhFVC7oGJFqjYQaDY2GkC14hIt.Tx2nwA2o39.uWOuvA3kELcb1o
2SD2G0l0nv3QlnybU31o6A92rUy.LSMALFu17vDHJLvKDoMgwcWYUm9dQs6g
tg+CaF5bvgiwTaxrgwtyJwim7ZZKUdm.t48hJQQWC8bsZQ3HRX1yUow0CTvv
YDTk26gRsSQJa4VXTzwwM1IOweviBHTpoREEerv9Ev7GXSl1ti+cYYaYNzwS
8qBrZlCN0jQdvnNOp5yvfLoT7fb0Dc+8JGLcc+fQYT6S5BmuvA37sediRQdy
Vx.XQlnJ59oOzSPE.TOMuM+wzhD4i8dzB5Elw9ATx6.TaCi.JU6nQUpdX9fr
MS7U6fDKKpgECg8Qnb.VCNdAJhXxlDrTTff82WaWfBTl0+CEkt6Vfk0Z726s
Ve6dUyUrsp4UkHqmAdgsMX1BUnYq2Li2AXunTvYnGueTpReXaSbVZ7mmut3v
TcmBro8AUbPeZp8POvFdKyxjdbqLSbmNTk6RhZhtC0+iMHUSXLFHPOakBn7H
LwTfdQT0NLySA3.hJXLxsVaJp16PagNniokB11pO1N8tlXWfKt6ot+SEV0c5
seD30ey05YIzQVOLDMS.mR7XSFKPsJOowZjXJlDLzjxTqEL8NOWWDUt9nE1.
NF1mMLaMtORj4.S9BgLlA6MfOFVmhCnBksxremgh2JTzZ0UQsMxokA1o.O1D
gLDskHQ6psi0MTsXY4yOtU.1zPvXqmO9QwfgdsYlJJIpH4wpzFQ+.0WQxblr
0ChKdrdyPN3v6Q0OR7GB81ymv9iI9PmiOpwcUFDvSVZciaXp6qa5vnz6jcNC
gvALdvkvNuKLpSXplwYPfNd+YftfeUzEOmzEstre9xdJ9BxZtjqNbhrFzecI
K9602xhekE+JSFsf86W4.9TV7m7Mk+jv4jDy92Whkqqhr43y8oYhCrr7A10F
5an8rsrEr2WyV9N91K2mW8cK4RRGCvHLlftDzw+rr8YLx4ByXj64uBYg3aLm
tXraDB+WPD50Y+iItQHxBBYQH2eKLX5BBYQH2ewCXuEDxhPt2sM1eAgrHj6M
YhCVPHKBE5FgBWPHKBwbiPrEDxhPb2HDeAgrORJ2wTSVhotGgbGSMAufPVDx
cL0jkXp6QH2wTSVhotGgbGSMYIl5dDxcL0jkXp6QH2wTSVhotGgbGSMYIl5d
DxcL0jkXp6QH2wTSVhot+0XxcL0TzBBMquxyg5Tu6K5orQL9yQMYqrJYxEie
DGlGtn8y8hmNde7tPCH8ROfdW5Az+RNfCk18hlO6loIowaiJJDY6Rji.Rdba
l9wgYeaiGJ09lfuaIS+E1.wyJ175aO+o20cWz32u6c0jLwWDYctFv610iKlM
q6Y8WejulQA3PJl4ott6AF1+BXuqQ449oPSoDTH9U8vLO4Gz84T12GEbLgRi
ds4in2nYe95myHdb934LzgkBvxnotAbLOWRbHN6mVuPRWHo+tSRQSSIlcxqj
XYagMK4mjSs5lrdTlFYSwVchxnt+zDssV1VEayDstSFgUj9ANAVbJsnOwT+X
epEuZHUj1lljHllGbo0QaxD5LvB4LgeOVogOYjbKM5uZoiVbr4OkJEL0Y8ya
R9BOB4i+VDu2e3K32OwS+pHD9RSuWLxF8HPK0DN9hHMJ8N3EjF5ECaNFht9c
u4rXHZ7hEUV1k2lZgSIZf6ye1jlj5bFUkh2l+TmjnPrzlrFtOWFA+uwag8kE
2zVYxJ8mB7VaZpDF3h1ztwF.kq6NxCl44rOg12JxJUuZm2oyh3uq6rOo+EEd
B.NNOP+n9baXR9MZ6yOZSS99R2IMr8QXdfJ4IcbEd3DU3ltoyJALvyN3FVmC
xWpkDLd5uW29bcVJfG+2so1SQG2507bjdxuNSxhtFF44CYsh+1+SjkIe7PR0
rDflhUo.sBnB783HSBbqtkF7BGRBzo4fe.JjoyrbVPHinSfZDyigwuSJWEXI
bBJECw8IlzAl3y0pGE4wmevLn9hIJlRg37vPptoLNJzWelNfHXLmLsoSZTPf
OhYxhbTPPW9jSCXpW3kyGbXNUTTSyG1dxgVcnY4ys.9udNp3jEPDg66owM.9
oDyAAB.6X54W.+oJg3UHgZmIT0OliK.Hb1vyuvYLfOIGljaQ9bDhcHZMi3aN
vIBYXF1bdM.H94kepOw.9IYVxICtCGCC9bB1bNvfeaNtg17qW++QRNpgo
-----------end_max5_patcher-----------
</code></pre>

Post Reply