Risset accelerando

Discussions, advice, bug reports and much more about the "bach" environment.
Post Reply
Premislaus
Posts: 9
Joined: Sun Feb 16, 2014 1:33 pm
Location: Katowice, Poland

Risset accelerando

Post by Premislaus » 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>

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

Re: Risset accelerando

Post by danieleghisi » Fri Dec 16, 2016 12:57 pm

Hi, and thanks for sharing!
I did something *exactly* along those lines for my piece "An Experiment With Time", I had a patch for a risset-generator given a starting buffer, then I also transcribed part of it into ordinary symbolic notation (with saw-like accelerandos). Can't find the patch right now, but as soon as I do I'll post it here to also share it.
I had patches both for audio- and symbolic-risset accelerandi.

Premislaus
Posts: 9
Joined: Sun Feb 16, 2014 1:33 pm
Location: Katowice, Poland

Re: Risset accelerando

Post by Premislaus » Fri Dec 16, 2016 1:13 pm

I knew I cannot be the first to think about it :)
It would be great if you could share it!

Premislaus
Posts: 9
Joined: Sun Feb 16, 2014 1:33 pm
Location: Katowice, Poland

Re: Risset accelerando

Post by Premislaus » Sun Jan 01, 2017 12:23 pm

Hi Daniele,

have you possibly found the the patches of the accelerando and symbolic notation? I hope that's not a big trouble for you and it would be great help for me.

And I wish you all the best in 2017! Keep amaze us with this awesome projects you do! Bach & Cage rocks!

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

Re: Risset accelerando

Post by danieleghisi » Thu Jan 12, 2017 1:02 am

Hi!

I did find the patches, but I couldn't make one of the symbolic ones work any longer. I'll share what I have, you may probably start from here.
I'll share everything "as is": not-very-commented, messy, etc. Hope this won't be an issue.

AUDIO:
This implements the actual algorithms proposed in the paper. You can replace the poly with two other flavours, depending if you want pitch transposition or not. Again, it was supposed to be a private working patch, hence it's messy, but the bottomline is: choose a preset (you'll see the parameters changing, e.g. start with 1), drop a loop audio file (possibly with equally spaced events! Use the included test_clock.aif as test, it's not the ideal one, but you'll see the point).
Patches here: data.danieleghisi.com/transfer/RissetBuffer.zip
Example of a result used in An Experiment With Time, just to give you an idea:
data.danieleghisi.com/snd/AEWT_RissetTicks3.mp3

SYMBOLIC:
The patch I found uses another way (a simpler way actually) to put things in shape. I'm not really sure this is equivalent to the previous one. If it's of no use for you, just throw it away. :-)
Patch here: data.danieleghisi.com/transfer/RissetSymbGliss.maxpat

Hope this helps,
Daniele

Premislaus
Posts: 9
Joined: Sun Feb 16, 2014 1:33 pm
Location: Katowice, Poland

Re: Risset accelerando

Post by Premislaus » Mon Mar 06, 2017 6:45 pm

Hi!

I've been exploring possibilities of the patch (audio one) since some time and I have 2 questions (or rather demands...) about it.

1) I've realized that there's problem with Tau value - whenever I try to set the float-num box to the value (0. , 1.) it seems that the patch lacks some instances of the "risset's rhythm". On the "powers" multislider it is visable - closer to 0. the value gets, less sliders apears.

2) I coudn't find possibility to change the ratio of accelerando. For now, it is set to 2 (I think it is the digit inside the box: "bach.expr ($f2*log(2)/$f3)*pow(2, ($f1/$f3+$i4)) @scalarmode 1"
I would love to have the possibility to set in to ralantando, but changing the digit to 0.5 makes it crash.

For now, I'm doing the reverse of source audio stream, put it into the patch, and than again reverse the outcome, which works perfectly, but is hard for workflow :)

Again, I would be more than grateful for your help!

Best regards!

Post Reply