Risset accelerando
Posted: Fri Dec 16, 2016 11:43 am
Hi!
I'm into an idea which, honestly, has overwhelmed me. I would be delighted if somebody could help me. I am pretty much sure that, if succeeded, something great would emerge and lot of folks could benefit from it.
So...
The idea is to have patch which will create a grid for Risset rythms (so eternal accelerando/ritenuto). (example of the rythm here:http://ia600207.us.archive.org/5/items/ ... _accel.mp3) I imagine that one could define number of bars, tempo, notes' division etc. and than receive "perfect" risset rythm in bach.roll - than quantize it into the bach.score.
There's a paper by Dan Stowell (http://c4dm.eecs.qmul.ac.uk/papers/2011 ... 11icmc.pdf) about scheduling such rythms which provides mathematic equations to do it.
I've found the website which do something similar in midi format: http://www.fransabsil.nl/htm/rissetcalc.htm - which is almost the thing I would like to obtain - it gives us the grid, but it doesn't f.e. includes the power of the streams (and it is quite basic).
For now, I've implemented into the Max the equations, but I really stuck there. How to use them to obtain what I want?
I also started to code the patch which could change any given sample to a risset infinite loop (so the audio version), but this I have to work out before posting
I'm surprised that no-one before made this, it seems that it might be great opportunity to make something big
I attach the Max patch I've created:
<pre><code>
----------begin_max5_patcher----------
2625.3oc4csrbiaiEcs8WAJVopIcGaYbwC9HUxtY8rp2MyTonjnsYZIRUjT1
t6TY27GMeBol+qgD.zVVsI305ABjxhVxTVsz8bedvEWB+aWdQvzxmxpCH+H4
eRt3he6xKtP8RcuvElquHXY5SyVjVqdaAKypqSuKK3J8uqI6oF0qy5ekx0MK
xZZ9xpL8GaP.4ea9UqRalcedwc+RU1rF8uE3LwD5UDNS18DKYhr8Q1D5y+mx
mq97Km9qWyi6+RJVuLun8qQISLyKV27kEpuzfMdaZwQ89ftW72u7xtGtBIbK
xdr8a9aP6pxGGDu2tnLsAGnCC6dJjof9PfV3bPe65hYM4kEi.wq59N0+aZZw
c1gLUD2gRHRgbFkptp6o2Bzrjfm+rpRWl0jU8KYEoS0Pk9VJD.oBQrCJj5E4
yyp1MO7Ps4kynZfqvsX.bKBOZ39.58WOKcQFgNg.SHTBvh1KMCKA5dJIwVTf
f8lQAgGynfEkseHCCsuws+1xpkoMaJVuAnYTUhtXgxQPRsAZ1wyafsCJjYkK
WlUz7MtCUObUqav0joY2kWTzBWxpEoeYZ5rOSpRaxBrnLXQc3OJBz4FdND4M
0F7f8AwzCm++GIgzI6S9+D1FvlKs5C.NO8+Pk367Wmz5xRo6V7NOhqPZrtpm
vFrgDeoT+h7htbcVyCXG1gJXy4JXK3VgczaBa9eBQ0+z0j5x1bNcn4uUSdrp
rMv99rprISlXIjNF5Y1zRjCLY3GHhV57.5AcsmH2Q9qzPcAcw3zWCctK8P11
F3lO0lvdQ9ruNMkr9yk+u+yruVV7kY2SZR+bye7eezhEF.cFKQhF5IBa1Xgy
swCBZRVagpFvlyKMty.FEqJK0ZSkCCLHz8P63PIIRprmFTamRBDR8JNICjzt
gLkb6f5IkN5JLUpi0qSIBzY0.qpFYbfuPI6Soqaiu+6qa4e0tNNR4sjl6yHs
VqzooU1B.ztBgQpmfvHag1fL7LIBvXlMvdjH.YzoPDvGI6EE09bBRDskAjRe
gr10GDTa7CFC0BeA02bPPsTubjQPsvaHl2kiOezb74EijgWGsKhimD0hat8X
eg6SwaC8HwOB0PKOVEMNAvPjBTreL24GvJcOzwiM6grE8E4papxRW9uJBFGr
7PceGXIVKyIbeYt1Ogo1Z3HtVtZPYLGiI0uppMzB03S100oo66lw+drjbbuo
oKrcDvIZtaHwq37XiU5Asjqiqir6xy7pRYGtj4I5kwZr8hQB7AmmKeXJqCpA
FsLtP4gar7i4tS8ECe1SqpHeWNP9g1GYcOdKe2h26IwwdUi2FRCvC2q9LdH6
EU4xr6RCF0xZpUKruhTt7jrTcOFQUolyOI1UntFLNeqFPXu4ClzVOyJKzpol
kbRZp6AINSM8jvT2Pr0TUSlIiY0LmGCZUiOIsp8XDkU8DYacWTdG66e5Cjel
z9S.s6Guw7irOXMLV2DEpZUUfL1tAW3K6pqpVrBeju+6tE5PKcBmBz8qhbud
PO+KC6Tre6t8grh7+nbBQzse9oUsItusNqAQzsNtteevhFBkr8yZ+bScKZpy
+p5sBs5U+YqTLV4PJl7.voRijk6S2E6c7EiOrCf+rs+prAyJqU4BHerkXN6C
s7ygcLWP+zuoyEvsyNefo.3OicJ9mtlT0lHrZlsD9ZlZIlcE1Z5dHzi1y+8H
4dbnFm50aJsOKKf6auxz0MMVFfSDzTEa3vpic6d7swGMvSlLwMqg+BIk2Ymy
zPmA5A0ydBKZr2T1dW4qATltcYbTD1nQmKa5qtYg5oOcjR0T4oPo5CMCViFp
2wXDFrTvqxBvm.BUcanUMv1qx1IlgU2ZpfjDuISvTE48h4OlOu4dRdAobVS5
CY0AiNADR8HcIsNHtIxykAeRad0UusmAH4znoacKci2Z80aBJYU4iY153VOs
zjMq0OvZ2R.eYoa1.OzB9Y225Jj00ywWMG5jxGxpHM4KsNQ5xWTHbyNmLjBg
dJnPXiBVy7IKstx83DeArCjy+G1uYfgq2XAodKCsOnewvYxf+X.sHAwvKGS8
oMK8PLam8lboT0Pdql7Hoym6miSIOP2g5vXchel0hdQ7+BLoi8ZDgl5C0ZTP
D87Z523IbcF.ck.qdCgIdy3MuKC8kPn6OEpY9J7zban5MmgHVSanesKTGmzc
lb7b8MW5HJjSCJ9sDYul7oVVrjrEoqpylaymmBa.efxs5y6O2pNul2tZFBBF
MCtgFCHrhRYh2z.5ccVFY5p1RFh40NjdxOIiFyKN3BmImPDFLa57Th0NOIi8
IRI3ljw26DMxTS22y00r3BH2ukkK7f6BKSmVEZNJibWXIh8lz1u+Q9Rei1zW
ex9DeIhNI4jwjnYfHNc1kgtYV8ijEEcayF4ltgWcGqkI2H2N.V2gAt+bCT+9
HnXZpn9lHcD9Ib4IO+D8rGC7HDmnSbuwjV8.QQs1vpF8YXh9.OfEatiYAqFW
5YxNmXlhyXD2uruLQmmqGhM56ady4fvXGhMhSyhXbCQTDy2Ji8WftFZB.vbr
evN65bNny4YxvO1ohfubGydy91mX8wTVLlavHuop1ttDDAnizivbNPvOSppw
0i9jDy4fhmM6tGh6WXsCNFzmb10oTFWtg+t8FkF4MLz20VpYVPBJF5mGMTqe
tNzS5Xr8aLX2C4CwMVltEYLL8YvMwupuZ04m2VmvvJou60esJotbc0rdL2ed
+RdAAyypaxKTEx17MId0a5974yyJ1DGyyq6f17gC9vJOci32nxiZ58IfaDHN
BAZKo9nJOXzOtyd0MnNiJOci1gqjGJB4YKg9XJOaA82VdjwtUd.LxiaBuhvD
dwbn8Bi7nlUcWIPXbn2RpOlxSXheEfojG.i73FG5tY9XT8Sn6pWDhwgdqrlG
U4A7qDhgTOSdvj+wYRiDC8vH248zsyyiGs6X4ggQd.2IOiRmOzs5GNF4wM5G
AlpWR24+Hj9k8p675ZT4Q3N4gGhM+ia7e3buJ8reIMLLNOL2YrXXnZvbmyLC
SxYl6nZ.n5kPj6jmHLTmc2Rc.TreTGMyNUh.TRD3HIJBkNxgd0RL0TgPpCkH
g24G4UEN.LMkxcKgGPwRTcbR4JEj.UlnQIJtLe9px7hl59Cla09RIg3I.q6O
JGghMt9kusCLN.T3.dG3HRMtxci3nBGw5+N.Yt9nfCTY8DNLhV8cwFMGi38o
YAfpbIB0mZAQ5gIVc0QQshJuzVKR43qVATRjqRNI7NcD26jHF5zkLGIQ.lvS
Qx6K7LQerwHkIaDcpt5nDcBnryNjXk.PEcRcXzIEkNxgzgww8zcxCpV5rMEr
iqDw8M+ZNNuHGxPmEdPHfdHkHTVMovgRDl7itrLHtF73vcWGP0hmsk6iqDgJ
Ti5vD1.1I7wQkznnV6oSkHTKSf5P+ZJfdr0bjDgsU76h3nm5vzUqdHqp17Yp
jjfko+ZYU2kQWotLuPeo5u5EAUYOj2+9US6XPZ0r6yaxl0rtROxiOEquCDCV
VNOqpXctYdOa+l+8K++fUGhQz
-----------end_max5_patcher-----------
</code></pre>
I'm into an idea which, honestly, has overwhelmed me. I would be delighted if somebody could help me. I am pretty much sure that, if succeeded, something great would emerge and lot of folks could benefit from it.
So...
The idea is to have patch which will create a grid for Risset rythms (so eternal accelerando/ritenuto). (example of the rythm here:http://ia600207.us.archive.org/5/items/ ... _accel.mp3) I imagine that one could define number of bars, tempo, notes' division etc. and than receive "perfect" risset rythm in bach.roll - than quantize it into the bach.score.
There's a paper by Dan Stowell (http://c4dm.eecs.qmul.ac.uk/papers/2011 ... 11icmc.pdf) about scheduling such rythms which provides mathematic equations to do it.
I've found the website which do something similar in midi format: http://www.fransabsil.nl/htm/rissetcalc.htm - which is almost the thing I would like to obtain - it gives us the grid, but it doesn't f.e. includes the power of the streams (and it is quite basic).
For now, I've implemented into the Max the equations, but I really stuck there. How to use them to obtain what I want?
I also started to code the patch which could change any given sample to a risset infinite loop (so the audio version), but this I have to work out before posting
I'm surprised that no-one before made this, it seems that it might be great opportunity to make something big
I attach the Max patch I've created:
<pre><code>
----------begin_max5_patcher----------
2625.3oc4csrbiaiEcs8WAJVopIcGaYbwC9HUxtY8rp2MyTonjnsYZIRUjT1
t6TY27GMeBol+qgD.zVVsI305ABjxhVxTVsz8bedvEWB+aWdQvzxmxpCH+H4
eRt3he6xKtP8RcuvElquHXY5SyVjVqdaAKypqSuKK3J8uqI6oF0qy5ekx0MK
xZZ9xpL8GaP.4ea9UqRalcedwc+RU1rF8uE3LwD5UDNS18DKYhr8Q1D5y+mx
mq97Km9qWyi6+RJVuLun8qQISLyKV27kEpuzfMdaZwQ89ftW72u7xtGtBIbK
xdr8a9aP6pxGGDu2tnLsAGnCC6dJjof9PfV3bPe65hYM4kEi.wq59N0+aZZw
c1gLUD2gRHRgbFkptp6o2Bzrjfm+rpRWl0jU8KYEoS0Pk9VJD.oBQrCJj5E4
yyp1MO7Ps4kynZfqvsX.bKBOZ39.58WOKcQFgNg.SHTBvh1KMCKA5dJIwVTf
f8lQAgGynfEkseHCCsuws+1xpkoMaJVuAnYTUhtXgxQPRsAZ1wyafsCJjYkK
WlUz7MtCUObUqav0joY2kWTzBWxpEoeYZ5rOSpRaxBrnLXQc3OJBz4FdND4M
0F7f8AwzCm++GIgzI6S9+D1FvlKs5C.NO8+Pk367Wmz5xRo6V7NOhqPZrtpm
vFrgDeoT+h7htbcVyCXG1gJXy4JXK3VgczaBa9eBQ0+z0j5x1bNcn4uUSdrp
rMv99rprISlXIjNF5Y1zRjCLY3GHhV57.5AcsmH2Q9qzPcAcw3zWCctK8P11
F3lO0lvdQ9ruNMkr9yk+u+yruVV7kY2SZR+bye7eezhEF.cFKQhF5IBa1Xgy
swCBZRVagpFvlyKMty.FEqJK0ZSkCCLHz8P63PIIRprmFTamRBDR8JNICjzt
gLkb6f5IkN5JLUpi0qSIBzY0.qpFYbfuPI6Soqaiu+6qa4e0tNNR4sjl6yHs
VqzooU1B.ztBgQpmfvHag1fL7LIBvXlMvdjH.YzoPDvGI6EE09bBRDskAjRe
gr10GDTa7CFC0BeA02bPPsTubjQPsvaHl2kiOezb74EijgWGsKhimD0hat8X
eg6SwaC8HwOB0PKOVEMNAvPjBTreL24GvJcOzwiM6grE8E4papxRW9uJBFGr
7PceGXIVKyIbeYt1Ogo1Z3HtVtZPYLGiI0uppMzB03S100oo66lw+drjbbuo
oKrcDvIZtaHwq37XiU5Asjqiqir6xy7pRYGtj4I5kwZr8hQB7AmmKeXJqCpA
FsLtP4gar7i4tS8ECe1SqpHeWNP9g1GYcOdKe2h26IwwdUi2FRCvC2q9LdH6
EU4xr6RCF0xZpUKruhTt7jrTcOFQUolyOI1UntFLNeqFPXu4ClzVOyJKzpol
kbRZp6AINSM8jvT2Pr0TUSlIiY0LmGCZUiOIsp8XDkU8DYacWTdG66e5Cjel
z9S.s6Guw7irOXMLV2DEpZUUfL1tAW3K6pqpVrBeju+6tE5PKcBmBz8qhbud
PO+KC6Tre6t8grh7+nbBQzse9oUsItusNqAQzsNtteevhFBkr8yZ+bScKZpy
+p5sBs5U+YqTLV4PJl7.voRijk6S2E6c7EiOrCf+rs+prAyJqU4BHerkXN6C
s7ygcLWP+zuoyEvsyNefo.3OicJ9mtlT0lHrZlsD9ZlZIlcE1Z5dHzi1y+8H
4dbnFm50aJsOKKf6auxz0MMVFfSDzTEa3vpic6d7swGMvSlLwMqg+BIk2Ymy
zPmA5A0ydBKZr2T1dW4qATltcYbTD1nQmKa5qtYg5oOcjR0T4oPo5CMCViFp
2wXDFrTvqxBvm.BUcanUMv1qx1IlgU2ZpfjDuISvTE48h4OlOu4dRdAobVS5
CY0AiNADR8HcIsNHtIxykAeRad0UusmAH4znoacKci2Z80aBJYU4iY153VOs
zjMq0OvZ2R.eYoa1.OzB9Y225Jj00ywWMG5jxGxpHM4KsNQ5xWTHbyNmLjBg
dJnPXiBVy7IKstx83DeArCjy+G1uYfgq2XAodKCsOnewvYxf+X.sHAwvKGS8
oMK8PLam8lboT0Pdql7Hoym6miSIOP2g5vXchel0hdQ7+BLoi8ZDgl5C0ZTP
D87Z523IbcF.ck.qdCgIdy3MuKC8kPn6OEpY9J7zban5MmgHVSanesKTGmzc
lb7b8MW5HJjSCJ9sDYul7oVVrjrEoqpylaymmBa.efxs5y6O2pNul2tZFBBF
MCtgFCHrhRYh2z.5ccVFY5p1RFh40NjdxOIiFyKN3BmImPDFLa57Th0NOIi8
IRI3ljw26DMxTS22y00r3BH2ukkK7f6BKSmVEZNJibWXIh8lz1u+Q9Rei1zW
ex9DeIhNI4jwjnYfHNc1kgtYV8ijEEcayF4ltgWcGqkI2H2N.V2gAt+bCT+9
HnXZpn9lHcD9Ib4IO+D8rGC7HDmnSbuwjV8.QQs1vpF8YXh9.OfEatiYAqFW
5YxNmXlhyXD2uruLQmmqGhM56ady4fvXGhMhSyhXbCQTDy2Ji8WftFZB.vbr
evN65bNny4YxvO1ohfubGydy91mX8wTVLlavHuop1ttDDAnizivbNPvOSppw
0i9jDy4fhmM6tGh6WXsCNFzmb10oTFWtg+t8FkF4MLz20VpYVPBJF5mGMTqe
tNzS5Xr8aLX2C4CwMVltEYLL8YvMwupuZ04m2VmvvJou60esJotbc0rdL2ed
+RdAAyypaxKTEx17MId0a5974yyJ1DGyyq6f17gC9vJOci32nxiZ58IfaDHN
BAZKo9nJOXzOtyd0MnNiJOci1gqjGJB4YKg9XJOaA82VdjwtUd.LxiaBuhvD
dwbn8Bi7nlUcWIPXbn2RpOlxSXheEfojG.i73FG5tY9XT8Sn6pWDhwgdqrlG
U4A7qDhgTOSdvj+wYRiDC8vH248zsyyiGs6X4ggQd.2IOiRmOzs5GNF4wM5G
AlpWR24+Hj9k8p675ZT4Q3N4gGhM+ia7e3buJ8reIMLLNOL2YrXXnZvbmyLC
SxYl6nZ.n5kPj6jmHLTmc2Rc.TreTGMyNUh.TRD3HIJBkNxgd0RL0TgPpCkH
g24G4UEN.LMkxcKgGPwRTcbR4JEj.UlnQIJtLe9px7hl59Cla09RIg3I.q6O
JGghMt9kusCLN.T3.dG3HRMtxci3nBGw5+N.Yt9nfCTY8DNLhV8cwFMGi38o
YAfpbIB0mZAQ5gIVc0QQshJuzVKR43qVATRjqRNI7NcD26jHF5zkLGIQ.lvS
Qx6K7LQerwHkIaDcpt5nDcBnryNjXk.PEcRcXzIEkNxgzgww8zcxCpV5rMEr
iqDw8M+ZNNuHGxPmEdPHfdHkHTVMovgRDl7itrLHtF73vcWGP0hmsk6iqDgJ
Ti5vD1.1I7wQkznnV6oSkHTKSf5P+ZJfdr0bjDgsU76h3nm5vzUqdHqp17Yp
jjfko+ZYU2kQWotLuPeo5u5EAUYOj2+9US6XPZ0r6yaxl0rtROxiOEquCDCV
VNOqpXctYdOa+l+8K++fUGhQz
-----------end_max5_patcher-----------
</code></pre>