using matrixctrl for polyrhythm
Hello friends and foes,
Do any of you have the necessary objects to make a polyrhythmic implementation of matrixctrl? I sure think it would make this nice object more fun!!!!!!!!!!! anyway thank you.
perhaps i should add, i am looking for a way to produce triplets and the like…..
You can use a total number that’s divisible by 2 and 3, like 24 or 48, instead of the usual 16 or 32, that can allow triplets right in the grid. Or you can process the "beats" differently: each time it hits an active cell, it can
1) play 1 beat
2) play two beats (like two eighth notes)
3) play 3 triplets
4) play the first and third triplet
Maybe you could have multiple states for each cell, and instead of volume (which it typically is), each state could represent a different rhythmic outcome.
You just need to map the overall tempo to your "subdivided" beats, and you can get as complex as you want within each cell (which could be considered quarter-notes, ready for slicing and dicing). This approach also lets you do different subdivisions per track of the matrixctrl, whereas the top method doesn’t (though is easier to implement).
Yep, matrixctrl is awesome…you can even interpolate with pattrstorage if you use multiple states…way cool.
Great, Seejayjames. Thanks. I was wondering tho, What exactly do you have in mind when you say "multiple states for each cell" controlling the number and types of note values, I would be rather curious to see how you implement that.
I imagine he means using matrixctrl in dial mode, whereby each cell can have as many sates as you like, you just need to make a custom graphic for the matrixctrl and scale accordingly.
I don’t know about Max 6, but it’s not well documented in Max 5 – it doesn’t even make it into the .help file, but it’s there in the online docs. If you search the forum, you’ll find countless posts from me banging on about it ;-)
I have a large drum machine type patch which does exactly this; each cell can be any value from 0 – 8 and these values represent the no. of repetitions at that division of the beat.
The numbers are stored in a table/coll/seq~ and when the number is banged out, a metro is set at that division of the beat and is used to trigger the repetitions. It’s probably not as precise as it could be, but it works.
If I get a minute to whittle it down, I’ll post an example,
Exactly, the highlighted cells are no longer simply on/off or volume states, they represent subdivided rhythms within an overall tempo-controlled beat. With the right scaling of your overall metro, you can have each cell state play any pattern you like.
Great! But i dont understand what, "You just need to map the overall tempo to your "subdivided" beats," or they represent subdivided rhythms within an overall tempo-controlled beat means. It may be helpful if you post an implementation of these ideas, as I don’t know what they mean in the world of Max/Msp. Please bear with me.
Here's a fairly crude example. Matrixctrl graphic below,
----------begin_max5_patcher---------- 1760.3oc0asrjahCEcs8WAgkS0Iij3kIUMKlolsyWPpTcICxtUZ.4Bj6GIUx 29Hj.LXyCgavMYQiKj.oy8benqD29GqWYtk8BIyz3yFewX0perd0JYS4Mrp3 9Ulw3WBhvYxGyb6QNmkXdmpK1QdDgye8.QMFlawI6MM9ZQ2IGioIhGP9pvhF Of4AOPS1eeJIfqdMnsym.2YX6Xm+CBTdsZfngxIms8aez27zfqld0nm23OWu N+xcZJKb198QjNkEZBe7hhkGLG8VtvgEkMSmnP9dHN3WlsAVTO7tqjvcPVJ5 u7Zaf0qcvBtBvlPdVLhkiGm7hDNlAQzfG+UmpiL59DbzIMxNVBOi9cY2Pj.5 izlSonr2njZXeJJWyZyYBNVNml+cJUfmISE1AqvowjzNIkcQLL27NCywwK8X SXsAIIDK4OVd8wKNikWPSGuDS3oLAx.ZFK5sRKt9R9vW5p35zGsX+NZtDvNl vIoF.CnSuQ1xsYJ9qQfNc3ImAi+Y6JMb7507wZr7j8zwSGvAOZ.MPcxQSlkC zyt1JBNt8wHn2QKmiIkbhg0PVN09Y5hGK8rrTwc776ilfiklrtBZJFySouDv Si5jMhnYRdP9aEPefkR+t.X3nLAiRyCB8YC2RIOkjQD8worj5RuLfh5pumzF ABZH8I3.N8IBMFuWN8fpNdhlQ2FQ1939jv5jb.IJ5.UMClNOie0xHfc30OcP zTwiDJXrXVHo9qcB9w3z8zj5SV.K5XbhRU51mBNUD6kLPnhBGCnuRiibtTpk xTkL7eRMx+R1gOFw+m7tpKK0ciPtcr9SI7XO2.tOQR4zfFR7DFpwXWDNNajQ Z7uh.Mpz3PdpejzoWGdPfQGoo9DKxHQQCE7fXXnQDAKlILqq8zqLwGNTq4U0 dkbx6arzZFI4MQSTMAqZJkjafqdeeUiBUx5xNqjdqB6GU9b.Yl2VH2SxuP8s OhE7HIrlIsvGfrabiB6.I4zaHehFWZ9jzj5t7mOy4Vx22djyl8uCGP57kaU+ sxbeJMjkjChFuYdykSW8HOmvs7IRvGZ4k4LVzVbZQLmFpZgyANQDehSxyYUZ rBpdOZ7gT4xE0FKRBVLFOjEjxhhZLTpddpkdBEVCAjmog7Gji0I1pwVYqamU 2ssQ6m49JcxJIuA2Q3ktlfZczh6oiJWnMmBz2fz6XItt8DKBHGGSTzpoYYyx vVE9IWIWnlNytDUX+hJzEojUfdBKpagEbCD1FwsOa2WFaM10qMgbWF2UtSrF RXqgyGMYhrToCTrEUuyCq2UV08GcuqMmM+T5eX.+TuL50yjnAXxBxSs2jgYR 6qkIgSHSFSxxxS4qMpDzKONGTHTcbIPnJ6B2g7rcV5TH71SgpSRPaJzcIPgC DhjpUHxKV9bZBP5KWkwSyvidK7vieTj0z3RBYZLKsfP0lOkzn+Pz3lEtUYHI B+5vVkywpLaTo3A8TmmwPLo+BmI+veY7tXP5BpNO.c7qgfENOtWrwn2gEaTg E0M4QHbgyhpi8GB.uK91PkuMBp9tYNCRmnENclQhL.Zs38rPmH6SKcaAGjMW 5as4C+462daf0O3JKvfb4hXyMCejKsPXi4PWJ1xmZsDDp7ZmrhyzbrKmNJsH ZRWmJkDt482NQkwNlFTRCkfynIzCIYbZR0IK9kpbyN64dfFF17f7TG1Z3AlX 06rSGzfycEoSag.k2X7Usz3yl3XechybAaMQcd9H+FBauEEpyQCTGx1ZYQ1. cMRfWGtc8ycNgkg4AU2MWBjtlOnkkd.MF8.bwfaWcg8xhtc98D1dZBa2qC09 JeUPw2isHMMzr4q5qo33bkYI36oh1npPCG0gcz7Nf53i7gU2MSxp8Xr3VN92 xkqzZcsqL2m7BpMO6M0t9E6xp3lYRdr98LSNcsdVVIWnqsi8hxjW2fr9SPP1 xPTyXP1MiPblJkPQikE+hYF9IR38hYQra26wbdJc6QtZyl0qLm8Qrs3nhx1o ZS9UEIRqEWxbUQJ8zUWECy5SrvDUP04kVhwAT1PE4X20O7UWaVV9pCNDzWsY YO5p.sbhydf8LIjxUkPUIFUsTCL1pOxCbipVTgfpuJdEbzz1JgwIk.rxNnUT HZtTo5VU7VmUjfqj03+YkmUk7eRiIDo3sEO1klGRYn44tnrVN2Guvlo+jJzY IgK8oa2e9B62oDQNKRDAuYHZiFHx9lxQMOE.cVua1gjqFHx6lp1zEQKL0l6M ERNZfHIrGgdyRre.m7+QMT6QveSK2AK922vo5t2nfXoiSJZbbq0F4weY66p9 d6tWdm0lhE7PU28FEDzLHHuU6VMfzsGQHMPzsKZi7eLfgcktsKkhz069Zwj3 let9+AfkNK5I -----------end_max5_patcher-----------
I think the best choice for polyrhythmic UI is the mulstislider because it can be easily resized according to beat size. You may place several mulstisliders under each other and make a matrix-style UI with dynamic resizable rows.
A couple months ago I’ve made a polyrithmic solution suitable for me. You can watch how it works on my youtube channel: http://www.youtube.com/watch?v=POZqF6d6xh0
And there is the link to the patch: http://pattr.ru/sites/default/files/pattr_polyrhythms.zip