trying to build first sequencer with multislider
I am brand new to max/msp/jitter. i am trying to build my first sampler/sequencer. i have only used max/msp for three weeks now, so forgive me for my amateur capabilities, but you have to learn somewhere , right? can i use the multislider object to make a sequencer with audio? I know it is possible to do so with midi. here’s what i want to do:example , i grab a wave file from my desktop that when you play it, a voice says "1, 2
>, 3, 4 , 5 ,6 , 7 ,8 ,9 ,10, 11, 12, 13,14, 15 , 16" andi want to get that
>audio into a multislider , and set the bars to 16, so if i move the first bar
>up, the "1" will have a high pitch, then i move the second bar down,
>and the "2" voice will have a deep, low pitch, and etc., all the way to
>sixteen. do you think it’s possible? please be simple with your explanation, if possible, as the program can be overwhelming at first, and i have a limited knowledge of the capabilities and inner workings of max. Thanks for your time to read and observe this question!
You can’t get audio into a multi-slider, but you can use it to control audio.
Look into using snapshot~ to turn the output position of a groove object into a float (use the right-most output). If you scale the output of this to the number of sliders you want, you can use the fetch message of multi-slider to get the value of each slider as the sample plays.
If you want to have each word in the sample play at the same speed but with different pitch, you need to look into the gizmo~ object.
Make sure to read through all the help files of any object you come across, they are very very helpful!
Objects you might want to look at:
I could have posted a patch to do what you need, but I think its better if you figure it out, you’ll learn a lot and its very satisfying when things come together!
I’m not too sure about what you are asking for, but this was my best guess:
----------begin_max5_patcher---------- 537.3ocyVFsjaBBEF9Z8ofZu0MEPWMo20miN6rCQItriBNBoMc2YyydQvj5l MN5ZIYxMfd.N7e9NbPe02KXsXGUF.9N3m.OuW887LlZM308tWPEYWVIQZlV. m9aw5mCBsCon6TFye4a.zhCVEaUkTk5O0TqmC1TJH548P23aDbkj8hYTDbAr yLeaEiqWnYivcFqIprmX7hGanYJq6vv60qAfSaWJHBu39P.Z4B3Q+qcjUBFO g5sqbRkYWC9QCiTdPurbiMcbcGJJn01a99sMgSDJUTojTP+.UjJRipTHpGjL NCJoFlDYQS7p1VThiXBdNLg9RNIaev7xswccGaGHNfmQsv4nVYIKm1LgzjNL L.77InCb8XhL437FNXQXyAYaKJFNZVqWztZNA6.0vRVw9AIfdPt9zwm53JZz POBYCc64UGUCm5xR31pW.5xW+hhf8JfiV5xB3DWBjFZcIIid4IRj8VdaWbjK ARrCqZVucyFZydvWgOZebjuBFpWBgW3rJoNLkX5VlNRgD9yfIrCwTQiP7K5T vT2MMgy6Nmnwuyw9eCqvtDUn9nx3vfRF+zesxHpV6umeRw1lrCge2egDB9mt xoREiSTLAu2jRe2bdhkmS48+lXEKuVv3pNM.d3rIyoJoUSPQmH6Ksjv5cCMl jv2bRJ4ppnS.v.T55JoonH3sojPWMIkdyk2Rt4TT7DTz+yE.5Wdy+ufGtiGE -----------end_max5_patcher-----------
For the future, post your patches (using copy compressed from the edit menu) for people to help with. Just asking for something without any kind of patch based illustration generally won’t get a response.
thanks for your help timlloyd!im afriad i don’t understand the message you sent me confortable in clouds, but i do appreciate your response, and in the future, i will make sure to post a patcher.
i will fool around with what you mentioned. i wiil get back to you within the week if i can’t find a solution. i’ve never made anything before, so this will be a challenge for me. but i will try it alone without your help first. if all else fails, could you help me out? i have spent the last three weeks studying the tutorials. i have a very limited knowledge of how max works, but if i study a patcher long enough, i get it.
Ok, so i have a groove object setup. then, out of the bottom output, i connected a snapshot~ object, then connected a floating number box.after that, i added a "scale 0 1 0 16", then a +1, then a number box. good so far. the last number box counts to 16, exactly in syn with the wav file. perfect. now i am lost. i don’t know what to do next.i read about gizmo, but it is over my head at the moment. i’m supposed to make some kind of connection to the multislider, but i’m not sure how to. i could not find any information on the fetch message, or how to use. i do feel as if i am the right path. can you help me with the next step Tim?
----------begin_max5_patcher---------- 975.3ocyYt0aaBCEG+4To8c.g1SacU3KXf819bLUMQHNTl.6Hvr00pkO6CrC IzkDhwMAyCIz5vky4m+etXyqe3tEtK4OSqbc9py2cVr30lQVHGqcjEcCrvsH 94j73J4I5lvKJnLg6869QA8Yg7GD0kLmJV7lpm3BGNa+YvpKxX4Tg75AcitI Vj7TFK8GkzDgxDBPvG7t2AFHO.78j+Wy2NO16dwqEc2LutgWyYBVbAUZHeqL KNe+SOakbP9xe9Efua+KnJ6E4E.Zdbxg+6Gtq8Xyg60FGKqEBS7URTjz6H3N mbXWc+8RMl3Oanpaj6xXVp6gKqm+F5ZrasNm277MvsTycHre6gKOCBOqa0XA wMpri7O8lpwW+YZF82M24i08cR9smlVvgnEAIokWX6ABwbQfhVikRnoiRe1A X.eBjBHLRgI3C9lxmLlAzI55iGiiqhjRDLIxtwUnITxjvqYBZ4ogk+.vJDGH gkuLfJ.cIXgGT1zfptOFohfyGUje3t7MdVVEAt9LQvSSyoFvDDPJVBdu0geq 3neaGQtW+hNIw4TGOGP6Gxo8ZxP4STwFXOY45PxzlYMX5Rhjl8RA+LklQC.n HOUGLvv2anRUVJqEC6+qwRKxzQqOs0w6A+wWn1GIaiEATUoflGEYHi.2.HQe YUbhAc0gCkRGTXjpJT22WbUL88m.WKTcPlILxxsXbCpWVTmKxpxyVcttI1ik 8OtgRdB7T0QgXIj.ARUO.QLAVxdKNccCyk.Ezpp3T5wA34b9FmOZPq3HerZQ 48xG1FsO9H7w2s.d9zs.hnhQH2rtEfQ2fo8JAeiAIx14f.U9LzDNmCuA4yGf Nwkh1HCCPjZo6.0B48ClRDgmPDUR2jGmPGOfBT4HIvfIOuADNgaBTV5VCp3B UIUCCODfMssMgmQKNkrK5Qlg8v9hN08e.Pyns8ITEvDIYhpOCqvjILTJsjy+ EcqSb0p0ieca9XkvwWFLEZy0sA.SGzVVudMsbHnM7t1uaCnUxLqE5o86mQci cyyXG85qjtW6O7eXrhWWlzYl61DBmdd3JZkHiEKx3rdmT6d.2+rdJa0JJ6Mq ZqHa0FdS6b6LDmGO+jq11FVGaKvJlFHRGaKbr1FFKCXIpMPPE8FnBgCOzqcH fnVpkriz.0qG.19ZCuJ9VnVRBqfcjNlF1NJhl7bNf4I1j11E4V6tGYCiinkw E7V7N+LtombPsrMKENnmw0JLgSuwgz13rfjCqswYAImVSq91w1HyYvMmmUQy ZImVsZgrSZNj9UVAyzlTsTABjdSqu+FlZGn4v+fxBt7n -----------end_max5_patcher-----------
confortable in clouds, how do i get the patcher that you wrote up in my max/msp?
nevermind confortable in clouds, i’ve figured out how to do it.
ok, after experimenting a bit, i think i got the fetch message connected correctly to the multi slider. when i don’1 use it and connect my number box to the multi slider, i get one bar. with the flectch message attached, i now get 16 bars. now i just have to find a way so i can manipulate the wav sample’s pitch in the multislider, without changing the tempo. just to refresh, i have a wav file of me counting 1 to 16 in perfect time. i would like to be able to manipulate the pitch of each "number" through a multislider. am i on the right path Tim?
----------begin_max5_patcher---------- 988.3ocyZ1saaBCEG+5To8NXg1UaoU3Ov.6t8bLUM4RbRYBri.m1tVs9rOvN jPaSnNzTatHwMFv83e9b9eN1IO8kKlEbi7Adc.3GfeAlM6oldlo6qsmYccLK nj8PVAqVeiAKKjhMkAy2dsl+NWTvU5KB65cMSkcatX0uq3YJy3GCStJbN.Qh aahB0en4cv08FJ4FU2Xg551zm5uq4lAp0BXpf4ffaXhUA6e9kRgRvJ02VvOq xYE6rx7E5Nk27mKwgA8ef57G0O.DcUnt6+8kKZaaZlaMSJ400rU7cCrh+fx. KdCGNLqPCwJDtEOjDZaCVSrV7cLVAOJqNY7f9DvSlrrjKTuEOIHZHXorB.uD RA2ytCvefUttXOIKxE7L4Fg5EHydmNZjgcDciwqCSNNICOMZAcIsTapDfZAa c8sREPJFQLHFoC6hQ8vwPAgmJNhN+3Xr5MTyjDSh7qdC47iDA+9lQ9sNHc9F Oe5JNzHsTCJQq0PouGsfuCsNYUY2QouCfifOwZEYbp1apILJZr7IWLB5jNgh qnZWDBB4473NzkQmAhWcXXEM.rRLU6PLQWFengfEYP2lFT08ZTdQnoiWTThI dJLzydQvyOSTxUq5UBi8LAC0NKwcv37HwzO+bZv4OoSFqfCBAv1WzCOqoCpr ZJJyzzTwqSUVicmHx2dFDdUzom5IBqKdEa1+DAMd+h57UhFLbpLp2p5YCR7G WvxFQcJjDSB3jTitZ26uaAr8mOwAdPuSGaml5W4tOgL.kaJT40E4KNV9wcXY 2+tAkCnlLBlFXr1oGhoigU5jkGVHL37uW+BobM3qin1Rbz1cmlr24vQ61GSl No+vTSHB8SK8GJ8SXYuVIWOBcrsSPnQNC6xS3g5vC.qVwpTsQFi.QglXepFN QN8PvHNDQU70ErL9oCHXHhX1st6ENPHGdrF4qddDYbMvAljrOByskMQlPa2x bhNaOGTJwW0e.wSnCxHwDvjpS6XJzvKLwggRqpjx63OCX0KVdXhgGxKhXbbh zASIefpX2FRMe7AWP2Asa1rbIuZHnAGTk1jiOFaNCHuE6Y8YyaFX8W8xq+tA 0yu1K7JNVK2Tk0YlcmXIn2TbAuVkKXpbon+cge4cca9hEbwK12VY9h0xlJ51 ZIfqO9xq0FGzJiqU+1CFW6IRYgw0TDG.5biCY2xpmHGwJxA8hwglzFGcJabH aLtH+njLkWUgXqMN2qj.QVabH26xMgyO.sKVMdpabdvky9LqtmbVIj3mE0Xq x4m5GGtWodcDiyO0iXC27ToRVYas+Vv7QB+PqhS8C3rx1veX8s1NZZ9Om4hK XC -----------end_max5_patcher-----------
Yeah, you’re on the right track, but there are a few things you need to know/remember.
You don’t need the number boxes going into the loop min/max inputs of groove~, with loop mode on it will loop the whole buffer regardless of the length.
If you connect a number box directly to the input of multislider it will set every slider to that number, which is why it looks like just one slider.
Also you need to know about using $1 in message boxes. It can be used in lots of situations to be replaced by an incoming number, which is then sent out along with the rest of the message.
For example the [loop $1] message with a toggle is the same as having a [loop 0] and a [loop 1].
Its really helpful to look at the reference files as well as the help files to learn what kind of input an object understands.
You can also click on an object’s input to bring up a list of all the messages or types of input that it uses.
Heres a patch that I think is more or less what you need, but don’t forget to try to adapt it to do exactly what you want. Also there are a few things in there that you may want to fix but I’ll leave that for you to work out.
----------begin_max5_patcher---------- 4035.3oc4c01iiaaD9y28qfvH.IA2daDondqnn.8C8WQRSfrMss5JKYHQs6s IH2u8NjCkrrOKY50xzaSOjXaIQKO7gy6yPs+wG+vr4keQTOi72H+L4Ce3O93 G9f9TpS7AyweX11zurHOsVOrYEhWJm+el8.dIo3KR8oyKSWtUTWS7ZuTQy1r hbgT+0nlStprPVm86B84XO5serkMxiGLdJ4q6DHANaF4eatztT4hMYEq+sJw BIdUVjGb+HQdA52T2bBCNU22IaolRAp+yz.9rdTTQ5V8Owr+YUVZ9L0E9yO9 Q0KOXIprnb6VQg7afklZfHIqy98ske0dfId.fwa3YejudZGP0f.UeK.HYfoO O1MS+so0RQE44x7lsBx+35YMFAABBUS4XNB.ddit9yCmV.Xq.lmiuBaIO9JP RRNJiNMIn2L0mpY2Gbkl+VlNqSyJN8rgcxYCanYSc15B.QefLKq3LypvKYV4 Okboo40kj4hzJRVAAlqKIxMoRRdorlTtBNHqlrnrIeILHR11cUkOKV9.IEFX lj7h9JaD46HxRhnXQ5t5l7To.9hBRQYAbWAliUoKDjcoU38D9dvf2l9jP8wb khyE4MRXbhkORHjeo3v60CjZQNfU56I.AvGqIuV1PdIsPpojcUpaR8lrUxOk taWt3S+q1IZdVg.n+B8r0+bxfJBcP4xv2fbYLtvhpmCBzZlBYCsxxbilo+NQ 7kchpL0EI0KRyU5o0faibWiTsFssIWlUmmsDzfAqFKyVsBVdfgWkVrVnWFqE ayjkEvAv.VKvkmzsJrVc4cY.ZPjv3q2UVmIy.lg1EsSt3vukJHodIGXiHgM9 JgmqVIpK.17MkfnTVdNoP7L.3oKjMo44uhnJHK7E3LvgzGIfvpBD2j9rPcE0 hm9CzHxpxJinkFRIvcPuj7R5q5QDdRTmcKQc+XeskHDzY3RfOe.P2OxMf9uR ZpAt1Uf8Y.zZpxT73J9T.A2pwuMJlbCGLnRTrSTrLEYqq2IDKIelrrrYN.8K xyV7j56jWV9DL1ZPh4so54Zv4n.sIiPtV+BMNQ8l5fSiyzoEmOmWwz6kWwTM +FiYiSwrDWIwuXSYYs.LmJeQHJLFJq1llC14xV+UCG1BfJpJyygOprvgdQaX IAivK.fEtD5hQ8cPx1DvA54MKzaTIalib4tRrUrctRbV4Cy2QIKRKT9sznvJ v+FkJw5RiaHfMolTkYoZPbVsJ.iWqDVo0sRrKG7E.754U80dNMuQf2VvgnZk kPPnWcEEKdJns.n3eBcNwd1c9avPFh3HqcLiqge+gv8PWoQsVykB3BvtVgd+ UC+bctq8YfsW.ZJ0tJtJCb56lFOjId3DFZ3INbbYetSTHpktoOdC0FZh3Xbc hHxnekeFbg5Jch5vLTQD.xVMUFAsW1bf5QB3eiVMnQKH3oTsxoRs7nJ9.UbI ZLFNCH89pxqV31X91Z0pt2zrOueD.LFaTSyz3oNzbsxouAw8FM91KhITE6Er np0jdh.0wPd7LuzMouLC49z9fnO6wfGzIJ5zXXnSjlqT7ZkEkqVcRrz616di OlmGNJQG9sI8Y95Ek4kU3n8dLAFYRrZcHA70lEn9D2KJl6Cn4PfYvHfo4JG7 i.QVQChd3jeR+iLg5SGeEXpskfncH6l.y72Av7PJKnSmxh2TVssTr22MFwE4 DJgQ7uddN9PfxbH7SUZCO9cq.KLZmfDEXMnkcOGEsym.rJsVaDeUVEDuMLpF RlTr0jqIvuQiu0fG4dOX7hTYMGr1qCSu20oJetKgfwg6Ps4Fpwd2mOIit2nP i23dilNIuXmva9IxsTT8bIwtsFTHjfRqCy.NwtV1nXrtdQxVWAUbnlJCNC8e TI+8f5EkGl52Q+IMmU6Xp5CZeSmMreNJTTIJao3rI.6SURG0M0PimFh8bkBQ sz5WGPkH2YQ1XJhBlrwwC4KwQ5+zw0nqfxtLwRxxLE4l+JYUU4VsVQSdczgE qmScQJmIUpHuod1DggGadymSGExhcUtDzQTHMoNnCOTnUW1Cz49V.mn7ErLT UOUS9gL42qf5hBcvfsInQVtqe4L9wSZrH3lV7ATinmo7zZNynfAf4foElQvr 8dNuY97bw97OYeMaGzYk1efNUaGdBKxOa.leVcoB7SF.V5Ttf29eaYpLss0M 5l5HUOWT0ad.ma+XYvOApcTQe83JTGlmUqHaJPR.g.AVAtQAF0ARCTm.A.nT CqV+f+GF.U4NOWY6G9+Pzg61ElSSPr2HAg+7s+1QZp5HZqiv33mi1SOuoPAF Te1AkyKqXeQ.sWQE8wfj.ZbzkJEYRlWfoIG39iosJdhqkzp7RfPmnIIa79en 0i+wDcZqnLBFAi1vGwtw6SwW1UQ1U9xOvd7W9kG9tUzehx9wIBwdawO1BRQF EuQihRI+eAGSnmEbLLGUIVLQtscfvpTkejNSQRnGUmPArm4FDJhcVm.Hx6E9 6IKixLGjo5vHCdjLpzRnCCt35CpkctTsXShVMHCezBIGycEvbuQEieaFTY73 8icTx4zsCCU4O1miIwmDgBcRxPZM8XBFcbYIlS.mQZDW+IgqYe+NZQz5swdh AseFGXbSCqra0J4WwHx+Mr4UHbujPB2dIs2lSL1CWg9nqLgiyP4ttWCB.utW CRn6XTvlkNDlZUpe0+acUY4yBcQYUitprY8F8.m2n5qP229J7jjdkNiNdioE 4HW.RykhphTY1yXS6Af4hJAbrpN1ZvSAPjOq5+m4oyyekrrr36kXavlIIyEa v92UzOeGOnVE5ZU24Bxlzpks4OAtS6DU4u59UfnXr3k9FqGIitBvcUtmv9cV g5BjutE1uotdEisILKhig1NpGoQtq88P+.tYsqxYiYwXcfwGpB28fkPm0.ex RYZNQlsUquCUgARSRjgYSFnayzH0cJE0Nl3dgrDCjg0DzX0XHgrPmEoSVwpx upZytZ8Gq1padDR5bXV0yrfRqEHMBv0SX1bua.nozBzv3QAvINln4MRYYwTr uZNexALIUyuSyyHBZ7ITKCxJjVubB5gi3yljDSBU2eBa9fU.mgAgQGKJnPlC iBx6Q09EP+5MLNnyuis557s.riLGk0h5l1eS6G02c25qkVHACfFaByg5qkPO 2.IpJtMnXnCvjVS8l3l8GCSBlXKUuj9rPYF5zAG2VZPY1hm1lV8zA8gktOuZ eoe2ccHlzJrU0ji0Bx6r5pF4Cspw1Cn4oyE4GXL6YE4dVmvC6WYR+PJZDHre ysoME2gw8YQNpu2XTvZoFJBU+S2RZg7HufjCQFLmdfA+C9159CU0tbbb3G1t n8W76rxttBOsWGinhat2ccZK80FQkP4OR5AaNt1sI.F60qkMUjxpr0YEpFVt P7nxIlMopukdmyoaioGwcrkd2bY1gBeSUq0JwW1aG40tQw9Joa2SdPPg81Rk 0KT6bDR81xR4l7Wen8tquwYElan1QqRvEisGua+Nbq.hlSxJpkhzkseQ015b MLZEVdJuxhtoQua7CyT+31VjYfcAQPfq7qU2v5qU690L0NLY0C.XtdctnqW2 .x7kMYpMUV+dVWkzeIvyrVkxji1RIXf5RB1X6ySwMaV+VZG4nbeGvwRn8pmD iRGqC3B7cT+1zTUfPkY+SAxf+DrRre626tN+mgaJOdhlYE6C9gZ7+.G43y.9 B5hd40Ts.eK5kWtyJtDw68RUTZMAOl6w7INMXn1ooH.yyUNDiGFALKhu7s87 MXnhd.ZiuWr7sSZia9ilxdty1pUlsL9dS7JyOM0BbiiiJMwdb086ozjdLIzf QyV0TuC8uz103h0FXemZ362WXY7Ri4G65BqBduxtuYTvfO7DKxnfenqjqJ.e wT6BVRZ0ZU2nKe3TMt5ssCNBC6saDXrQ62I+oNYTXeNd6DfLsW5YEeXw8KZv YDe79KJHXpro4swAApqBPxrI60I9+3MXeVA70TU5DgP8VxGhRRJxyqOtjlXP QlRc1qvyoRSkmIsER.hpZitO5GZSBcaMnEXd5HnED8Qm6F9gjfaBAXkP0yc2 ujeZ7JxpD8w9qqQdiVJZrEBnNpkx5RvD06Fxbbd66sPCBJwi1m29NuhJp+K5 95.TqENr4xRFMvhItSdE+9xzEWxSGOuytgsRLtyEz95I0NF8lzA1e+Tzl8YI PyvnLz.V8tCSb+4BCdPw+Ci1ud+07N6hY6tCJ1zBHrg1f4HE28h2iAdzjP5I AstIc2ivtorHZkk6tm1Qvr+F0KHogLi3++t4MgFrW1X7zlvRlzxAJK2cm21+ l9JdbGDBcT0QkoUREC+cCSn8vjfnQwDtavDiG72sBFG2qovFW9mw9Kqajzfu AEF949qaZybcu9NRO8bGZ1bizCE0flvGElbS6Uh0UepZ8oIfSxHOgOXvhF0m xodKJmVLvtYgNtKkm9IOUBl3XJ5W727jmZdY0xC1fvizXDnc21crc7ntj406 kPO+DF6zO7M6RXqpXtfvRSg9pz6OvEzFKZzU.bdA8xMqO5MKKfO7iKoC5flw ftjvoC4rMvfnaRfAusn.TEmociiSsJxfSmLgjAfwVZuJqk2Pyy3P9R63vL15 MERFS+u+AO2.dqbXQryygo+d5bHdze4HzjpdmBb.vTW1TsnkMnMaqj8z5RQs LqnCt+48aIrdCZS1xkhh9P0vZe52pUayVtqDhwntMov5mJTAdL7wp09iFnSo rcNcD4NvbJ9Lyoin1qjlz+Yt3rDk9ojiKopi98FhpnNlpnVPUpGZNWBQwPFr HzV.Mh2cz0RtVSszKfZoZpMDeJ3PSBeL122mEaNkSPX8ykMGttG6YKP5O05h hXHygoZ.bZ2QNi4f4Lb9HImAV749tUn+neuAnpnKSLxcD06NjhyuLpxnQLA+ 6UDE+a3ygGE2tgbziTezUaVzhohpqItjYhwwBNF.gxYr1itRp8HBY.p0wNV3 cnxiA3Fng2AphdVpx+NPUduyvp.KPpPtSIIearDycq2AQ1H64V2mswkdGaaf YCGdhiE6XV4soiCxvp3wXtkn3VATWnt.eOLx5HrNMbNVzlCNh21iqA3AW67H 7FLOXgZ2NBCXc6KriOxr4EM1+Cm.u2sZhPcq1YpUdM4Z+2o9uCgpDqHpKjOT yFxRh503Xm9nj8i7JmGLar9oie1cAGcTFzFflbbJDrw7Gyw1jo1t1M4oX0jE IyivkH7wZygGYdlfYR.h9nqb9FZyZPfaiRxF0.gWpd.T7lFYdPei1PO3Hy9P zjaa8QWK3ZiaKgLmBt5etPaPWt6nIahfIvsA5EZihfP2FBSP76ObhaCON2wz jMZP372gzjaifwO1VZxcNpv7ldm.cQBVXNtXf1jwt.265z4nI+2cdR3V0.La J2saW2Xgu+R3Ci+9il7eGRSVkAQ+qgEGN3O+3+E.+RUUW -----------end_max5_patcher-----------
tim, fantastic patch and great comments. that’s a really fun one to play around with. nice work!
thank you very much for taking the time to help me. i will analyze the patcher to see how you made it. It would have taken me a few weeks to make that patch. i will start experimenting with very simple patches, then try to experiment with more complex ideas.
|pepperclouds wrote on Fri, 29 May 2009 01:31|
|thank you very much for taking the time to help me. i will analyze the patcher to see how you made it. It would have taken me a few weeks to make that patch. i will start experimenting with very simple patches, then try to experiment with more complex ideas.|
It’s a great one to explore closely, especially with the ample comments. Remember right-to-left ordering when tracking down all those cords, if this comes into play. To definitively set your order of operations, use [trigger].
Starting with simple and gradually growing outward is the way to go. Try to save little snippets of modules which do simple things, then re-use as needed. Get familiar with your most-used objects and what they do, check the Inspectors for all the goodies you can set, and click the left inlet to see what messages/attributes are available. With persistence and experimentation, soon you’ll be able to make patches like that in a few hours rather than a few weeks!
max/msp.jitter is a beautiful program. i figure, if i am going to make music that is based around sound, i should have complete control over it. max allows this freedom. commercial software is often frustrating. there are interesting and appropriate things you can do with it, but if you have specific musical ideas, the commercial software could lead to dead ends. this forum is amazing. it’s a great community of musicians communicating ideas and exoerimenting. so far i have studied the tutorails for three weeks. i read aand practiced about half of it, and i can understand the basic concepts if i study the patchers, but actually applying the ideas of the tutorials to a patcher can be very difficult at first. regardless, there is progress every day. approaching music with max is an exciting idea though, and it keeps me focused and inspired to learn the contents. i’m having trouble learning how to wire objects together, and some of the complex math equations are over my head. but i’m sure the repetition of reading the tutorials and practicing patches will pay off. i have countless musical ideas. it’s a matter of learning how to translate them. how long did it take you folks to get some of the basics down?
Definitely keep the right-left priority in mind, it can cause some really confusing problems if you aren’t aware of it!
In case you don’t notice straight away, heres three things to try and improve in the patch. Firstly, you don’t need 3 inputs for selector~ because the non-gizmo signal isn’t being processed in any way. It should already work properly with [selector~ 2] but keep tinkering, there is almost always a more efficient way to arrange things.
Secondly when using the gizmo~ version you will notice that values of 0 and 1 result in no transposition, and even though the scale range is from -8 to 8, scale is outputting:
-8, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3 ,4 ,5 ,6 ,8,
missing -7 and 7. -8 to 8 is actually 17 values, so you may want to try resetting the number of sliders in the multi-slider when listening to gizmo~. An easy way of doing this is to open the inspector and drag the "number of sliders" text on top of the multi-slider, which gives you a size $1 message. Its a really useful way of learning what attribute messages an object has.
Or you could try keeping the multi-slider at 16 and using sel and message boxes directly after the gizmo~ scale to make the transposition range more sensible. It might take you longer to figure out, but it is possible, and there is always the option of just changing the high output range of the scale object.
Lastly, try making the whole patch stereo.
Don’t worry about things taking a while to sink in at first, the longer you use the program, the more you learn, and hence the easier it gets to learn more.
|pepperclouds wrote on Fri, 29 May 2009 02:31|
|i have countless musical ideas. it’s a matter of learning how to translate them. how long did it take you folks to get some of the basics down?|
tough question. I feel like I know what I’m doing for most things, certainly not all, and the things I think I know have a lot more to them than I’m aware of. Every day, especially on the forum, something new comes along, often using the simplest of logic or objects, but in a way I hadn’t thought of. and I smack my head (there’s a permanent bruise there I think.)
also there’s literally no end to how efficiently you can patch, regardless of the complexity. if you’re not well-organized (as I’m not, admittedly) there’s a lot of repetition of actions. sometimes this leads to new understandings, but sometimes it’s a waste since you don’t learn anything new. keep good backups and files with snippets you can re-use, and know how to find them quickly. and Save As… especially if you’re trying something at the edge~ of your understanding, hehe.
Max is fantastic for music, but can do pretty much anything you want, since it’s all about numbers. If you keep that in mind, there may be a whole lot more it can do for you, since pretty much anything can be represented as numbers and mashed at will in interesting or surprising ways. It’s also a great environment to learn about programming logic in general, and more accessible in many ways than coding, for a lot of people.
The upgrade to Max 5 took what seemed to me to be a somewhat niche program that was powerful, but kind of quirky (without a lot of the niceties of modern programs) and really put it into the game alongside the big contenders (Flash, for example). With the hundreds of improvements riding on top of the already extraordinarily powerful and flexible core (that IMO is a lot more intuitive and efficient to work with than Flash etc), I think Max 5 will steadily gain ground and will find tons of new users who have hit limits with other software. And as a "Swiss Army Knife" for big projects, holding other software together or performing various specialty tasks as you go, it’s quite often just the thing you need… or the only thing you need.
soon you’ll open up other apps and think about how you could create their functions in Max. The more you know about it, the more likely you are to think, "hey, that could be done with toggle, preset, counter, and table…" … that’s one of my favorite parts of learning Max.
I definitely agree about looking at other apps and thinking "I could do that!" It really fun, for example you can make Logic-esq automation really easily using the function object, and if you feel up to it, Emmanuel Jourdan’s ej.function.js can be used to make it more flexible and intuitive than lots of DAWs in my opinion.
I just downloaded his ejies and zsa.descriptors and they are really really good for taking things up a step in functionality. Thanks EJ!
|timlloyd wrote on Fri, 29 May 2009 07:39|
|I definitely agree about looking at other apps and thinking "I could do that!" It really fun, for example you can make Logic-esq automation really easily using the function object, and if you feel up to it, Emmanuel Jourdan’s ej.function.js can be used to make it more flexible and intuitive than lots of DAWs in my opinion.|
I just downloaded his ejies and zsa.descriptors and they are really really good for taking things up a step in functionality. Thanks EJ!
There’s so many of these examples, it’s amazing. If you fiddle with transparency, ignoreclick, and layering of UI objects (all of which are attributes and can therefore be set on-the-fly), most of them can actually be "stacks". you’d have a main interface which does a set of things, then be able to switch to other, parallel layers which are the same in design, but create another instance that you can control individually.
It’s similar to the bpatcher idea, which is even easier to stack as it’s all one object, but this way allows for some items to be stacked (like multisliders or functions) while some things aren’t, and some you can see "down the stack" to the data underneath and some you can’t. Add [pattrstorage] to all those layers and you jump another order of magnitude regarding what’s possible.
If you’re mainly into audio, really understand waveform~ and extend it. So many musically-useful additions are possible–grid, snapping, selection tools, scrubbing–very soon it’s *much better* than any commercial waveform UI, and can be controlled via automation, generative processes, or pattr. plus you can have them in a stack too, or expand/shrink them with a "patching_rect $1 $2 $3 $4" message, just like you can with any object. Using this you can create a multitrack set of waveform~ objects, and be able to control how tall or wide they are with zoom sliders, just like you see in most DAWs. How much faster is that than what the DAW programmers had to do to make theirs? It really blows the mind.
Again, it’s all just numbers or messages coming into the waveform~ (or whatever object) to tell it what to do, so if you have other means of creating those numbers than a direct mouse action, you’ve just created an "instance of yourself" as a performer/experimenter: you’re live-interacting at the same time another process is going. all of a sudden new possibilities and combinations emerge… you start extending the patch to take advantage of these… play with it again… extend again.
For straightforward automation recording and playback, like in Logic or others, look into [mtr]. (BTW it claims to top out at 32 tracks, but I’ve used 47 for recording a controller, anyone have an answer about the maximum?). seq~ does it in a different way–less simultaneous numbers, but total playback speed control and multiple stored sequences. these are really amazing for certain parameter controls.
Get the Max Toolbox too, it’s very helpful. (note that actions with the toolbox can’t be undone.) Certain repetitive connections are a snap once you get how it works, plus it has distribute objects X / Y and the ability to send messages to all selected objects. the Inspector can also do a lot with multiple objects selected, Hide Foreground can be used to select all patch cords at once, every modifier key does something useful… the skill curve is neverending.
Thanks Tim for your help on the multislider. i have made a lot of progress studying the patcher you made me. the max concept is starting to clock together for me. i was trying to hook up a flanger tonight just as an experiment, but i/m not exactly sure how to. in the tuturial , they hook the top of it into an adc~ . i am using groove~, so would i hook up it up to the bottom of groove? would i have to make 4 ~objects like in the tutorial and assign it to the EZdac?
Don’t judge me on the presentation of this patcher. it’s my first time making a patcher. i’ve added a drunk object to mess around with the start and end points of the sample.
----------begin_max5_patcher---------- 2826.3oc2c01ihiiD9y8Js+GhP6GtUWu8D+dx8s62wrqZEf.StERPIgdlaVc 8u8K1UflvDGLfSrYkFACPfT0iK+TUYWk6+5m+omlMu3aoUyB9WAeN3om9ql2 4I06IemmN7FOMaax2VrIoRcgyVTrcaZd8rma+v5zuUq9fp5jx5OUUWr63msK odwWxxW+ZY5hZ31PozWBeNfivxmDpWfCeIL3ON7kVUjWmmrMU8i9uKyR1b72 Ke+1r7Mo0JIAc3cyVptzh4+meKN5zqsXe8gKN7ze8pruq90kxf5s+e+7OIet 4ommJb.yT..NRACQVFF3SFLjm90l63OhBaJRVNOIe8wOAjh5+6tT..lo9zOz 29rUHDItPiUVLgVFinZvHj0wn46qqKxuGjfPEJsO9.FbNRbY0knSccnZwBUp E+CM5p0qnXqqWioIMihTZLLdZaa5nnIylVGHsSO5TksNWpMAytfwtPAKLgZ1 OAe6XDsOLRnAiv5vnNhZZYKpb.VZt9rMoukVVk0LY3Dr9oYenRJEJDF4UOQi NUgZP60aJV7moKOkj9oYKSWcE+FE6Ry66xO7vYWZV9txzpFWXI0sRdmabx9M 0upAJ5dAqRVjp+q2+3zSyVWlsrHWJHc+tx2+vs7yAHlT3kOdhzqtj7jc880q KJ1LOo7srpr4aR6NdzXRmjmsMoNsNCDJb3Geyrs6Jyxq69y0I.oSG06LCo6G b9Lk8am2X077Ie9OL0Pdee9b9CcyO3gJPgBdCX+HGxElinmK474JT74emdlu nmW4oO3VZ+uO6OnHEBq.iFeTj6Mn3pMEM29gQwlqI4JvwHkCMBkM5vnveLF6 376rv+WjrIM.Ef3AnWBvuXBXaJHGxkOEiuePlqCjiF.jQ9HH2jyWPbzkIFtH FihfjQ4pmPgjQDki8FT9rzX6By0kI4U6JpxjQHDjkGTktMqIl+FWhW.LwLH3 sPksJhRFOdAV3.fYnVvD8BKlghDOBbrnHvWUzn6qhgtIR1QCLGhDH8a6JC1U 70+A9ke+2e9WVg9DB+qCi6l.0JGYDD8EVigKRLhXM9lXAdnLbiCgnChjn4nZ 3x7KC2A4U2k0fTARmXMvUPS9S0EkWjQkpVjPBOFbOwFQrLxuXTGhDX2pU0uG rN66aKdUt.MaSCngw7.5v1wsqEwEMfASVRrJ9KD2BFvXcfdrewFrMspJYcZ+ n9pToA7uftW1VZKk.rpXPLCnnw.d4HuIjqQfmsEGQvRlMl7rbxiQVX4I6p9R QC0.JzJYf0tbAH3oHx3QDvoOPofE9hLKW4+DuXIbVkiKJFR0Md7RBiyeHv40 kEEuk9dPR0xUF4S6Yy8tQHQPvDJBiHKPaPz.1B+g1PIr2qiqVjCVHdL6vic+ dcPlPMHSjwNlNDRo7aNyEvhgSgIbqgM3+1gM.ilMvFxCC1X9VZXAXg5GvBbW mYT5ELBWldrQ5st3xhXllylOn2TKp3bap3mrKiM4lqcq+Tpj7Bz.IUE6KWbv 7+P5GAmodKSqpyxOt6qe9C847q7KYKWd1Fcp.9rk6Jxxqakxf+v7QyqVAjom ZnBv7REPRLXlBH20SeTAHlp.xfsBv9mBfuJE.4eJ.5pT.+yDhxMUA5iuxCT. twJ.0OoQk6upgJfvOGALlEh6oNxLdRLyO8CvLlFk4mdh6Srzn.wdoe.pwwBw 7TZTiiEh6mNxDjqxD5lT.NrFuDgLsjwzZx34yzaWWfsylB8aAIFx1tyqZ2CF TLQkRl7Ui+PHxHaPp0sAO7ARcos5dqRdKc4qM2uljTeMottLa99ZHAvNU66E KM1gJ50gKaV8u6EqAWsUY6lh4IaZqb4iWzriZu0q+6pzMoxsy98.7EqD7AqB bLApnPnlWD2QkxS5qJvCcdkx+OCP5QnNUrVuqbjZMVYXbaMxytUzA2C5HhcN 5.6keUUPndP5BHDGH4Tz3Brc6zBgXxPn8aSy2OrkhrkJtXaUvDPyTEexV9zE PxpS21xb1HB46gMSZd5Z4So4KUasTp510xx17+dV9vxx84+Y6Emk+oduVi.d ohcj713QCjt9dgX8Qi0IY4uaROtbwYvskHoz07wlbKlos4m5adpN0FeypW52 Wlr38AabQZamapBW.J6a50I1HcSdt8gkypVkO3QJS2sQ5R8FIQPgv.CkD9Qk UzoBUtKhVL14Dsy2uZUZY28W135QQCjA6+G.V1tEeYWa6a4aNtA.ApuAa63l Mctk5VES2kEiHrs+mwZpdo6yfgNYVLVDS3.yJJlNJXBY5lE0owsLros5uGXf hDLZTrRnrGODgyfZUWLJHBQ3blVss4yMv6RfRQmBUzees2iwnEuOzhOYLuZO 4Itb65zeE2AIFzt9OThcMivjq5rnnS8L6XN3CqSFcTleguNFm6FXzMIav1n4 ZiWtsR4obgt1m49vrqK9F+xXhCVQHMsBy8ALQSqwjVNngZskAXeXsMJXOs0x 84DiMsrOZOVLtTapbiKRJrHWL3PUBcOmmH8kNAEMsS21teScV0lrkCEdzYqz 0w6NenHk3X3HS.rxfN8E0ohyZjsxl66qxysoSsOpRqaPoFwrM6V.nutydmKM 2r5CEbDVBjyaVmqkSmCFYj1TQHVdIPBcefSQXdXvphx.zu0Dp4WSdKH8aIa2 s4CvTtyVKJ1CUOHdnbY4s8u.rLqs8OF0V7YnvI6j8xlIy1ZAg4iRpatOOkd5 1nKVh3CkQG3MLhXW5bxjMSqtX85Mo2S1ZP9YBwMevfgoS1ACl9Vg5FMBfM0q cKAhsahpOjqPXaWOGONIhMY7GZcQuonX2c3glAyVPL1XrIED5iCuQ618FQuc dC6efBpcXWcTgJG6u0AdJrx4HnVkfc30hC7Dmu6TMIA89Pa2hIIIQHsgrBK. nkWeKD04fTesH50zdn8ePUBSgfv8irb42fPdvt3Ewum8wCgfBTR.qwEr5o1K VMzDtyv1Z+HPXhJ.eNGMJaZE+Qbi7PH3PtUzVwV1dWZheHAkPAbN3FGOJYDF NYfxcGwBpMpMN91y0gRenNDjOpxPQnY6SAYJ4Aj5DEGAVAiCKA149a2lVWVz DOQ3cZ4.+4C.rY3LKu.ItupfUURYiyBR.5jsT9VnUZO17iTzJQB6F.GF8.sV RvI5o.JbDL5viWAAKmYcBVat5Hv4lf.yFCtCt3ge8Q3v5oJvjwX8Q3QONyEZ amBdzs+WRB9izBjz9WXBAAMFKPh.82hEHgB0ZnfGOFKPh3dyjEDitmGGsf14 cc1An6G51LT29tVWa62sA65oKyzzgY8NhZrvIDlHbmqBSjvgwlHbLmHaFMnh DdtrglbYqaaUqqaScyXJwnICxpFvEyTMQ1HtwfiZDCma3PhMB2ntwfyHfCgb ivQ7Xg67Ig8KbtwmJlYDMhilOXFGmib3ajmKYoA5.OWDtQHmabcYTjRH2vxg 7YVNL0iQNiXfcinwL26vzOUkYtEGd5mNfLlj6pFVwPNzplMxNQ0YjeryoEur fF0jfO63tNwCQmrGTsupsfekGYsr1WYOr+hoePbSPzFYWHO8PbvLpHih2xMQ MHhMF3tJgCZjHVDGNihnGekc3nLKbB2vQQBMV3bvDEiX2ItIMcpY9rcT7DXi Qtomhgaj6FA1IHGW3yBmQDfb2vNiLylyQopajOWD1iENpa34hDlDIUr6jMyB H.6mK.tRCHSu+AyhjR3DfiFZrv4.mWQFKbNH.YjOKbXOV3hLZXkG6yBmi1eT ynRh7XgS3lzahMJChX2jAQrQ4dg8ZgK1iENx8u1Sx2n4o+OPILCmx -----------end_max5_patcher-----------
I’m not too sure how much this will help, but here’s an attempt at explaining the flanging tutorial patch, as it’s tricky to look through and see what is connected to what.
It might help keep things tidy if you enable snap to grid while patching, I find it helpful. Also one general patching tip I would say would be to try and keep things in line in terms of signal/message chain. It tends to get really confusing if you have lots of outlets connected to inlets placed above them if that makes sense.
In terms of the flange tutorial patch, you would connect the audio signal outlet of groove~ in place of the adc~. The only reason it has 4 [*~] is because it has independent flange speeds for the left and right channels, so the mix control has to control left/right dry and left/right wet at the same time.
You could just copy the tutorial patch and encapsulate it as a stereo flanger you can re-use more easily.
----------begin_max5_patcher---------- 3168.3oc6cs0aiaiE94jeED9ooaSCHotuXZA1G226aEECnknsUGYQuRzISZQ yu8k2jsjsULkrjhxfBLvNRlh5b934FIOGN+082sXI6azxEf+M32.2c2ec+c2 otk7F2Yt9tEaIeKNiTpZ1hX11szb9hGz+Fm9Mt59eFjwXeEP3fMrmATR7FvS jhTxxLJHsDPVshFySyWC3anfR197Dvyo7MpKSRKJnqD8JXWAsjxKq58UrbdN YKU8F9OhdKq9uTl9mpeAgeDZtc99so4YxdPdeyM2Q3waDu5uTHHAMuhijOC. 44J+xEFJ+BCeDB98i8DaOupqp5+zDEovV9G+DJBtPdy+996ke7vMheIzLxKz DPY55bRF3WFcHvGJ4Yen5qn9..ggCI.7YPRwKF1ezYdWjje877jeEf6Cy6Oj L+utQniDWPIbZoRkPn67hTaQIV.3oaoOB.+WNHlsOKArTnyvxof8kx1rkxKX .hPiR7q4bZwCfk64UWH09xRyojBUSdtpCjuE5+ae5SjLolGako2H.t.nyWKz ael7jncLvVVx9LAooUVqSQ+p3Fo4anEDQWTtkw3axokkxdiHFKyM8w5zmL70 pLQWqeM5lKHPk0fGqvDIspHcIvDL1BBFQ.GsZ.FqrGffNcSVvcvsDL5Z.Hnl wif5u5iJ.dHY6UTZxRR7WGea+tJV1Cq..udw4CpoegZsPG8O1WxEZEZ0KkqQ B3Ipvj3Jh3GNp0A9z9x8jrrW.YRMM9FRtf7AaSyxRKEZN4Ik+.34MoBGvhKJ 4BMSQak9hokZM17i5wBGNRmyIIh+Pnnqt+AqvO.hIZaBwhWxZgFbp9QWUHLb PyiEMbm.VK1uUpvK+Eg668YJ275t3xZ03QW3VaW2L.qFgcb6zHb.ZvMuKAZv RRYZr.lTA5jyI7TVtD7ddiHxoFFH464LIjHetDl3NZG.pdIIccJW7SB4iRSG HZq3wD2iS1crWdPzwzBgg6mY5eXKQhUhgRsefcJoJYDYhggCC6R+DpatSnSp 5bog7JGGqKHIZAvzboKqRQajOQBs5pku.H61kobfIYzx8EzJwKEkQkjEsEoC moQ5P+omuR5vMrSRG9QCpkOVQkyPgltVEp7AvWozclgfOKLWqv38k009DPpP EW37OSq7IbQ+9fnFunFKqn.29foA8ASyoOKd5yfTAvktcmHDlsrblQlqXX7r 32NLXblFf0v.9ZtVPWBFbpHFcC4urip68ElXiOzYJJPvVZzw.OBlHMiZLLT6 kb2hizYXUzNZGg995uvGITAruNiE+UZRsgq6Dglrpa8BaGM+3SnZXiOZ1xz7 5lEO8MSDpEe4xiPM+8UjXZqO7EG3uaw5hTQD0RhnwSJuc0qqtgiizspE4jcW 3g4LV1RRwSokohYA2XrPHTSxS2JTXktzU9DgGdNgjaQpVy8v8Dw3SRHbhlPp MLUe960jBZn3z39mn.oDrqfgyD1g09gKMMJGO8jHUBBdUedf7ZUj+Tw9f5Tv YB9KZzgUlQkO61zuA9D7mEwrH02B94mo7eXQUSUlRz+wCuGniCZfPG+dhNUg TCHaktB.e5WPOJBsLKCDmkta9.T3.3v.Td8EnzNH.eR4tc9.LnnARBx8FAlD 5N9l4CrfGH4EmdBKYqX0BCaDjZzzRq3C5swGMv3F4YM9.uL9fWzB.P1mjxpV qRQ+LeDMFHEFTOkLZ.Lo4CItzb5Cmt3omr7IucftuQvtcVXywWEsONTOma3o w7ZuzFxENj3UioFzDtJiIh4FHbFBU+C83viZ9VE4jYFCQXKPs1jTce6fmVkw HhW5uOkHKTFLlFee2PVsMfnnaAYCmQH6+50QQNEakqVWO8xD6eKnYzahlGlc 620vo2PgldvIGMEx6BZa5cvnAMiCFOabvfaCzbrPg9AvhkhndmLIQNIeyqSN phLxf5EIWuen8UTzcloXCeD+NnYqwSWMddKNz87lS3ImrSPBuCBnZOOlcl06 lDP8mY.ZZ9qh4k.mdSol4EomjTvs.oucPmBdLlkmqdwSDr9iu9dEbjYUZP9g O50e.MbdYD8cCL80fI9l.yn+ALUnndtPQN2.V5CmSXY7KwYz2O7DZhe+Frb5 i6MddbaejauaKa6ih5k+9kA5R19h3pWlYqW.M4iDZIOM+vdv8a0lM7IsbSZR RyM8RMVllriklyKq1rJqDM5Jc6aKcKC5eFQ2dVS2BiX.zGP5NbVQ2t1R2RCc yH51wZ5FOqjuUqyiUT9Litkwi+QjtsVuD9AktClWzsOrSVvmSTNtS1BmS1Tr OJk4kWyKE0TaT9LSN2dJ2ad44TsdOcPZYN4CxZu9xEIbVg41Gen6LCy86DlO mnb60P8mYTdvGVJ2cviaIlkwJLqyPyLjEcxJLbBOJBvPtvNtPcUKoKhulWYR IaGUCUWLZ.STmlf3PMjZtofEzIEcI4IZxWDuGZL+KDNuHc4dtdsRpmjzVjRv uU1BmwVRxL4e8g1rv1jU9hIobmxr46OhBCTQHvUUfnpFOHYY.YgdPyiI6JUU 9WxDTPpXTirmOrOUkoyfVXFpclETxVw+IYByVdHIq.rmnEx7aYp.EeeCnDzC PA6Or0o6jUodl89yUKQbdpkYCu6NfUURFijnRMfQuBkB07Jpddt1s5HAiasN RpkcCCGtrUVLhnop3MMqG+Uqb6KhLnVQl9gJ5CsfE8jSz4MfmihShZkSbuDm .akSpnIY5zp9p4MNVCQpa+kikVRCG8RZXotBiNrcFKN1VQHEJBIR55+P5AcL OZTQfbnQAWtQvGwdGaUneasx8XiPP0KrLKMQVUWGakaPi2Hrs9JnJThCQ9bA NF2CNVqvdcV10FN1yBNVK2bcN1yFN1YD4XKFi8p2SsxwNg1wwQ1vwte+LFiN FZeUTwCjGeU4ML9GIGlxUPCutN8vYOJbXOGFj07xny135t5OOO7rgsGz36Nu tVdWJgempMYWotqSJjNVC+nA8X434it3GOgAeSNtpCyuOA6iFzCkijhw+jHw QmUZ2DS2qSqgJKs8ibwlj9RW8KnNEBJLZfCAsk.yaqNWFwRf2fN5j0NpOwmC CaEbpWwECIBcd8pL9HjNILi5yYD.zaBQn5EJwMhJ325L4n95bbdkQXCpXwIm vGMXw41QE3nfJMpEjwOnPyQ1z0VHD74.PTzUzUd3VVPjoBFLAIdCvPvXBCqI o4utnqp7UKqWsJPIxqSLk20jsOrbGy2wVyf5gP+5wXKbLGaaw9W8pVZzWHTS vVWc1QWv.XDZh8Jbr3iFQukg0qve2dDkUDdJgkl0PzXdxdUeCC75i3hyDiKM KEnQGZL06mePOfF2VglyJ2mgAd9wWG+.rbqWs3WnDdtNtDFMsVXlLLwA1Rk3 XAlD9cJlXNtjc5AjD7QNP7pkiq+QfF5+NDkRixEZzkNLmiUmWdPVHc3NJRGz +LgD22HyCw0p1IWutc9o1mEjStGxj0zKr+xrcC0dKe8nppBH2QmwEcZ11tC7 550FhTxY6Fe7votNuSevC7jgGjBtTLYzAkfF1AC5Al.mn09Mc8vsDUW8zz8v rX6touwwuXaRJEzcYxrnaZjSLVR8fcWNwaZDSVte0JZwq.Nsb72eKCnngi.T 2Chv4cHFh0EL1SzgDgbZGgzmGXl.IBB5NBgsXIwtE8pcjb5Alc45Z4tL7wH2 HH9gK7G02crkrhjFoTj8VZ7MQhns5pW1CDDeVm2fnTzQ0GntEDygYwHS2Qgb v9b0uh9Xga5cgyQugSHW0FVF4NdnVv2EnV0zeiP0NxtvnQD27uNto5tlU+uF FOMc8Mf4aWE2sjf9MpAoySM+KmV9mMvZKEEXAEgmTJBAmejDd9QRtyNRJLzB RJLZRooHjEzTj6UnIqJQnyJOnPUU+34pqDHrNwIabU05dpKjH0U2J+ZiXQzz ZhIxFqdnfYJMglLZBODhpCLLEYiJc3jBS1QSQSJMEFMCU6brgllVWDQVIiil VZBZKNMuLEnxsntfSQZuLHuikjpi9+MUtw30rB.8l3fHcleDkUZjmR4iOR4Y svFZ1QUgSLVEZ8H3ThUQVQUSqvdnuMtom1vYBsI53vINRz.aooILbl.aC6aJ mCtMtYNQp6pDE1UezL3DnWjN2CWMIjaTPuHWyQdqKJn1Afq4Jri9+9+vFFyc pXknahUBqeV9ZtxLp3Am5QE3LTx9Tq71Bvt5D707e45mbkYso0ACpt5l4EaV vkS43wGgsJf5awYj3h+99+OP5gbzy -----------end_max5_patcher-----------
making some progress on this patcher and learning much along the way. my latest problem deals with the samples tempo.i can slow down and speed up the tempo of my sample, but when i do so , the pitch changes. example: turn up the sig number from the groove object from 1 to 2. the sample increases the tempo, but so does the pitch. how can i adjust the tample manually, without touching the pitch? i think the transport object may be a solution, but i can’t get it to work properly. am i on the right track?
----------begin_max5_patcher---------- 5048.3oc6cs0iqiaj94N.4+ff27vLI8zGdmT6tYA12C1GxqIKNPssbezN1Rd kUetLAa+aeEYQ2Vx1RhtaYR1.YvfiMUKKw5iEKVUwpJ9O98+t6V7X02y2uH4 eM4ukb2c+i1qbm4Z5qb2gKb2hsYee4lr8labQY92pd7+Yw81+VS92aLWuNYW Qyxu75eXWVaqhxm9bc9xF3UPjnGP2mjxz+Kip+WR6UR9uO7aJedaQ4l7FyaB 04pUO2b3x3CWdcUYSY11bya++rtHayqua31a9wtb3EuXww2QwJyOnkF9kT9h tOr8E+l49wjGPlK++86+c5Oa+3dmgmlpmdZS9XnfDYPABGe..FEFvS.CmQqE kMWlbwTzh2LcsdSUaGXT5RnLjhfn+f+FoKxaY3ssyk0r39jEOlU9z.DOQL+C 1CMWXadScU6HLZb9fTCDkJzeH3SfWjYb5vXvDc9gokUa2l2xUdFN8WGCeRA9 IFyfOX0aieB4.9zk9wodj9+KNP+bXlj2neoGo+5784MIMUIiNQAK.DPZlufe qRVtZj3Fr5v1786ydJ+bjXb..SA.v7Ak7.G3G7fjhAjRfowB1HNfMjnAavgX Fzx1+bdqNXYkigVJpAsXHPlpcEna9TITZHfj8MYkqxpWMshoBIrTCxrHLl3I YsHoGmEoFE.37N7EDmmE83SKq1TUCODzCoLNJUcu9aXpjv0eigjJFs8wcxS6 FM6CwiELUgj.lJsbSebwTepS3TRvXf4E10BodYlZpOkesNaUdRSw1QMhDivF bPvLxpDX+fCR+xHj7WRPII+01Wfbbv.An.XLsR5Gvf4OCJ2uLaSdBtUU3V.Y BzHka7uBO0.CoSsDuXFkeLnqGT2fIPs82GyqGGI3frBg28HgFIF0eDpawZ+O uooX+lhUcfkWevhwbEgBAlZC5+n.sCI7tPE7b6szjHEgSElEjnbRJq62vSCy spo0d4VJvNK17REc+cmtTnPutG7VRIX3MqWIDO5RgjgWu69gVyScbxca2bey O1.n37Kl6qUadHYToaf5nBvc.TleDtgle1ymxJJe4BLlpwHdvkw1k4XfHM5U qDkhHYbrlegJXRjgygyvXovMNmGqpOk4GyEJA0nWVq9YHCao9Axjm7HOiqae wSkZTeL4kG0rbeScwt7duZtdZmgZj1WX62rzUuW8uVV8X+YPZMHMpPlpm1X5 zHQ6+cnSeC8OrccIAACpEGY9Gd942cAR.e+B70wlKyoX+ofye7E8byQ27HP9 m.PIvJ.O4tb6D1KBR73BjH1MS.GWfD2efTqYCDsEAiCSRvpIgSFOwlw4cGE9 OFfI7IfkruUyjmS1WmUtpZaYd68O5l3ZjUAKHioDunNhZX7nWWMu1h.Gff16 uXS9Wyq2WTU1s+b2htd+B7gLn9q.VZho5RTZMJ1Ts7WyW0s2e2hU4quxmS0t 7xi+Dysz6eN4VKJ2ocnYYSVikB58xyZU4+yC.I8ug0YKyG9me4gf6V7Tcwpp RcGo+uUe8CuxVsz.6F3858laoLa2k94MUUadLq9qE6KdzpY8Qft56YkEayZx MNAQOQCc7WVrcWsQsotOtdgwP2Q+dyJ5+GF2Ge8mhf6c4K5ABitM3TXmpROy WeCK6cD4uSLAYJe3c5jHoXwoO3yDrb2QgK1ud+aFR6Kv4DGZjuIAmPRnSgrR .XgXlfa.1dRaFVhyE.V16AXMJJc+4eNLfi8KdOJKLZRfFDnqRiXN3i9gMBPz IEJPk.TJGXOUhBDUFQxDRNWCjAE3ZXSoXipaf+pd6hEPWA1dQG.+QX9MlYWa hMvFkGErinXhcTqV7zvpkSLc.S38Amnh3WXyPKtsxs0OO7C+6H3BxQ1sw21g g8jq4ubvOr5+7hA.lNJwtonbPMKMzr9FF.x1W8b8xC8wCBaSNAAVkuuon7Uk 6+aGEsb5c9khUqNQOZy.SwpcUsHfsWZcgmSi1WOAj9Qm.PtR.5oTQHAzpzQq dytL.Hi19uaLPoev6+nO37Owa+m3R+WaraD1+uT25Ck.HEyUB.+wlA5FH.8v ePSJG1curulu5ysuuV0l9bVSScwiO2.ZbzyKlS5puwbh262MfW9WNXm4oMUO lsw5Q1WelKdk5mceXWm3lyqEf15P.kqXgOCjH9yO+08rm4xYjBE1ODHXPUAG dTzfjfVf0JBZpmSPKoZwrOp+TVy3DKXfl.1DrIitjae7yK4gXm3k1chmDk6D uj4SwD6KdZLnxFPyV+ZRCeZbxTdLju22TsaTzQBninS7IGz7QgQ8XXpNcpVb PdiMhC49ISKRCRn5heHg7fKRcfcOLk3wP0Ej5b4Pgh6wn7dJcRrI+GChiYle hycIwiHvjRTTXXoIH9O8yLFIxmQ5+lre3BB.Q4umB4DgLVRwQFjQ8BJ9Xh.G zkT3odDZvt.M3C4Hcny9SNxiPiItZFCc.aWD1biUFdcQDdMOPWVUuJop7SUq WOFLQAc0DTyLKkeRoLpJDl1RYjNgll6l1dVhXbHH5U5Pdm28atjShtaRLQr3 1LuI4aYecbnBBlOA3kHQZvm7f8XALY+Z8ZxujPbP7hDeH1rdStNfNKQQ63w1 OsGE1iUlvUJhIOH3oDL2jKEHJlJOM8ZGJtS0dv01q9W9uL8H.6LgFVKfnSjJ TpPGbmvUV7us3cjmECOhAx6lXLyJ.PhseDIAHtX3AnTBmk1MOUNIiU72BJfw sIKaeQ0UaFCk4PbfxgEdU9ofkHTdbw0MqqRZ439eeNub4OR9o86xyW8yiZGm zFjVReVDWD9Tgi0aZk.kWmrJeWyn9.AaSJWB2qXAM.XggwXzzIvVXiXdEK3R +iEixQvAmoBt.xSdEi4ypZPQ4975lj8Ya2sIO4K404imrWF3.xCYreL3m4Sd Bvpjj8eyrjBr4kI55VicijO7Czas8xpmg.ViL1RNP8TDrdwNMRuaN2VHiEj8 myF0uTOu8bLxhafvgV4iOls7WaUqQWyhvi5uXBr80DgvmBKU9rfVsp9Ge5as yCP+xDk4BBHxjXS4FesHJKD6NIAAh.SixRqofDBLACNEl.1vDcXRPxmbqZDD .MhNLAEDLwtiIw4N6yUAASv137fEkXBwqI+bgQizsUksVzNsl5oPbxfAyXI9 r5JMlCTviXc2LjgzJaMqFz1hC5ev0a9x0kgzN8b9mYHcTlgzNkzOLPZqvCY8 yIQvvY6f8fo8y1hum7Sn+bqll5Yvx+bq5l+7hvjiTTbr.WhAgqWsPIaq1Pzj e5+.+Px2J1rIY4lhcgB4rmk.Q.xwGF4rNA6f6QCCRgSiEdL1jHE35z.gSjXg ihNHNcY2tO63EzgmBvNDYVbmALWy70ta.7fXQ1yqJpR.khRZeRghswaytNU+ uwK2DCBUEkyORch6b5qi8+dxgkPlb4PAXWhxfixvjL0XVLkD5Pzj9f18fs++ Q2CNgBXTvsXWHjRG1Fk4NM+mPJGlIiMb1TacAz1UbFl3egpraDgyp3Am+iu3 .OrckXlcWLbo5dbqJUESJykk9QCb4eXvVtmED22wYSXylcQp2aE+f79m4ely zNGHowCSZSV4WdYZlTf8TxGHp+uJL9FykxhJI.nGHthtPbFvHQsL.dLw5tqk .dwwkun1ZVWby7JhJ3sn7ktGadCJB1ZsEX5kLf.baedYUYoomMLHGQJ59mbk 8051HrP4PMWLbhGhJcacEZEudNSEyPa5GQnELKKkFyHqHhbvvxerbStynKhO P7IFSn6apX3cqp4aNWx2LloGgELGmKXQFqLhPBf6NAjdd0w5iEAnhRBv8RFk VxXDR.T2IfHsrAxbtxMFoD.G8Am.beRL5iNADokdRA55VIHFIAx0IJMFkDcE ZDEmqGeQM0FhDhz4BWAIviy0jMtt5ZXjhwE0bWwBsePixQgqP6TVjNJHttQg XjDthoyhHkDje7IA1sPGoNYCOterPiO0ALmPsX37xgc3vIxdH22sEApDHT3f 0ggd8Lf7VAQoWmwr+yBvabU.dGoJlkU27oIqkY.6Fr0BRkeNJauA0.fVdjlp RWpRlH1rjkpq6W.dvudBvhds.7ftTA34xmhUWtVDS6k5IlDOt6Qn68GD+Pzm Byz26AF6fExj7MsfXU8KISbRWpfRrAcfPEzoivwYOObTH+k6R+ojQqMZb.fH jim2OdpRuLbAN1i0gyMUYqzU.pjQqsdPA3jY4hHu2You+pe7MnHD77T0XSfS wVhMsG0dtfBEM4asK419FKe1VGlxMGKd4kqLUCobS.JcnrFjr3d8+rp94xe0 dyEkeZz60VRYSVTqyQ.8Wxr2to1hL3oEuRnOzueUpU5zG22tTJpzifuplwny .teryWd7MHuOy+sUYKeYTglPM.TnTG2FOFeZYBUqW+Tc1JC7hesxYoWEvrFj tvYIL0nIAs86mBxmLtHOVmsPs2No62FYvAcIT73rktcQxgWktNdQL0otieia O3yeeqdMXskqNe2FsdZik8srN0ZcNJ3EVNhGy21Ged857101y1uZ83XDD7TF LRxdS0oPr0FICClDwUpQYvtYoybPpm8Hqx0QYEifGjpng3PbjFmXxsnNs+71 GGOc1kPEifK4dGSrqQNLhv3g.Q3PNyPUQHhPkAoN1+K5ZYuXzxJIjtQLawoF Q8XYQXPqMn9r3+0zpc59cU6KztwJonLYe91hlJcjDMp+PLS+XfjILyO0dXx. hZvOvS4Xk7FJClBt9gwhRYvD9MBXFZRV922Umrq5a+D4g+9e+9+vZ7mvjedb 7yvovDRSoNGKCtEqDY.Ylf5GBBqAiniYRci.lgOGELESPsf6VbJYcl1MZNH8 gCJDYCtyaekO22Sx1sdcyKIOU7aaq9L3UnDFJUjvFu7xA7VLX2RDnHoRIyv2 Hza6yaZJ1uoXUG0id8oKFUgIJHRGBpcndoi6kD7Kfm646jkwEMFeHPasOmeg xG+E391m2zd41NeWy7DC5wA6qBy3nTkwC.sehXtYK3iU0sc7Oq2Vitb5mKab PO8bzkms868M+new7QewCOlavIDw5bsDg+v39I1N9AaXAO7mXUDed1ynHBTx 5p5DrVK2uk80j7uapQsWeIXUZqdAXjOqAq3fTU8rLMTZZLpGmGOt7z0uq8eo pcAFLxA.i.5+N4gLBwOG0WTeaOooFVX9e4CiukDoP9oSFn7JDjSFMYHlpQgC 7JLMJKfkDOddGsopZ2TKlQ4cN9Ei.mqSCRIxlkdTKLuVirIo2fyqGSrknG7G kjwzNZpyC+gcE0mBWKd5kwiF.5gihTvQcTO52fQqaodbo5mpqp9Z9z68DK0l d4JmN8Vnyn.2yNWitLng8YPlnDXG1oIaoml4ySTnAkBgIAYuT.VELFGe6b.W DlcgDDCKiRUWnogYWHslGRiRKmPAbWHUrHbK27XvQrMuotpa8OYjS+DqTFA2 ixaGAk7XXOZhcrVVFZqIQhwk9.AzFDnMJ4aac74ckIhyKcC+79Ei.KvcZX2e .9NKb6S6mtJNkvrWHF6GH95u3fpy8MhKcMLKH8MkxkNmfOYmqWfuIzQjnITs w1XP63254K5SSiCoI6Ljvt0PH1XhpaKg8LxhJz2oo07.DHW.hSgqo.BEkSRM jO4ruMEPXNoQwyD4ISch73AgIDicoywvWamixfh9HDxOGZorkyT14sn1XIqc sFts07PfB5sgB0gvrtmx60u4yV+1oAlynNWFYfNLDuiGZYCfeaL0zqE1dPfA zqo0rPgLmj+gwAYdAyI32H4hFycNr26bNJtCcsCqPvnXOAB0wX9gV9FRI9e7 lFwyTRcpyQoQbmijFFYLNo3LNLJFvbRoLdXFVoNIigGF85YNYzAEEFChbSeu XtygCiojX2FVCinDp67b9Wi.pShRHgY4qSJyCi04Hgw5L7jCqgA3XNqTh+AN t6ZLEf4CNIBNLB4XQrllDkyVx6+AUhzI4Hpvfbt4hVYX5bNs7PfVWMls7hF0 SVcREcZXDyQcaxZXzBN0k07YgwpPhS5YFl9lzoAUbXj.icZsKYXjxwIt6qY+ uxp.4duy+9hUbE9om4+d2ULxx8uzDmr8R7V2.zKUA6tMStmI53l3MJm5a3.Y CI51z4XPn9HHPgWx1BRjSFwrQ2lVyCQjdaIBlpGQv6QD74Z6FcxBAYfhTBmz BWFlU1ScRDKKLNsT5lZGARgM21+ivnSjj4Lx4eUhvNMgfekgNDhIQbSE1JUW Hq3c+1XqgZEFIsA4wgPGpaKAjgyDpIJILslGYu7afFDzWqzXGCgJFmkhHiiC TtIrIDBkWoNbXbaifOS7f2DEKvtxWf8AeA9U9h6OzxF2nLj4PDyzxiTtgmAG FdlI8sAOLdrBSmoNWegp5hBHUypndsPDJE5ha6DBUY8EpR6ITkBBUgXgQJAg pyUrvPcaKw3QbPSPuZisjBSTsxgr.lqfByQuVTHeGoolQFSq4Q8VlKLdpvHl W4jW0TgQIMkaldEwaqg5psnRfLUYYFjpkRU5qslmI+XmiJ8qxYaoP.xJfxeb JTC252xNaiB0ap9sD1RbtzbZlZZMOB8Qzayvz7HryIaPBi8QNIFNL8MLhGua oH1sH6NPQVm6y9upf5H0NK1dxLzeFNT4.52RXiDcACluOWh23J2cH9UQgXlo mRmMAwXGMxOPQCmi8tq1mbXhY4Mbp8js.xCwdsHjT+hwBzalJTGqrL8ZP.c2 sM3dloQfeyDDuKA0ogIeR7JMPdiz.AN6ARsopY2FoyFikaasElPCj+CQt28d eBWzWn8i+enLKTRD -----------end_max5_patcher-----------
Unfortunately its not particularly easy to adjust speed independent of pitch and have it sound good. One way would be to just buy the elasticx~ external for about $20 which works exactly like the groove~ object but with separate speed and pitch inlets. I think it uses the same/very similar time stretching algorithm to ableton and kontakt.
Other than that you would have to build either a granular time stretcher or phase vocoder using fft.
Although, you could try using gizmo~ to counteract the pitch change caused by an increase in speed.
For example, if you change sig~ to a value of 2. the speed is doubled, and the pitch goes up an octave. So you could scale the outlet of the number box used to control sig~ and use it to simultaneously send gizmo~ a value which brings the pitch down an octave.
I’m not sure how that would sound, but have a go! My guess is that it will work for non-extreme time changes, and then will begin to sound strange, but I’ll try it as well.
I’ve just realized that the change in speed isn’t going to scale nicely to the change in pitch. Might need an [expr]
yep, just tried it, sounds terrible with negative values in sig~
it works "ok" at [sig~ 2.] but the scaling isn’t correct so there are slight pitch changes inbetween 1. and 2.
It also causes a really odd phasing even with sig~ at 1. and no gizmo~ transposition.
Not the best idea after all!
|timlloyd wrote on Wed, 03 June 2009 22:30|
|yep, just tried it, sounds terrible with negative values in sig~|
it works "ok" at [sig~ 2.] but the scaling isn’t correct so there are slight pitch changes inbetween 1. and 2.
It also causes a really odd phasing even with sig~ at 1. and no gizmo~ transposition.
I use this a lot, it’s probably not the "best" around (that elascicx~ sounds interesting) but it works well for around a fifth up or down. (this stuff is tricky to be sure…) I clamp the transposition to gizmo~ at 0.01 or so, no negative numbers as I don’t think it’s supposed to work like that. When you change rates quickly it’ll take a moment to "catch up", depending on the fft~ size it’s using. Also it’s (one?) signal vector behind the original, so that might be the phasing you’re talking about, not sure.
To get the right transposition, use the float going into the sig~ and take the reciprocal:
float –> !/ 1. –> gizmo~ transposition amount. (also definitely have a way to unlock these from each other so they’re independent!)
It’ll sound a little off even at 1. since there’s the processing going on anyway, and it’s somewhat destructive to the wave. One experiment which is nice is to have multiple gizmo~ objects which use different fft~ sizes, plus a way to test the difference if gizmo~ is bypassed. Small sizes are better for percussive sounds, larger ones (all powers of 2) are better for sustained sounds. Of course, "better" here means higher "fidelity" of a sort, which might not be what you want.
Try a sound at a super-low speed and a high transposition, and vice-versa, and whatever else you can think of. It’s amazing what you can get with independent control over each… quick sounds at sig~ 0.001 will give you a thousand times longer to mangle the sound as it plays back, so messing with the pitch can really open up the possibilities with such stretched-out samples. I’ve made some truly amazing and bizarre sounds from something as quick and simple as a snare hit this way, like screeching ghost violins, robots slowly dying in space, etc… yeah, the kind of stuff I’m into sometimes.
would it be worth it to buy the elasticx~? So what do you do, pay for it, download it, and then you can use it in max? do i have to do any rigging to get it inside of max? i’ll try to find it online.
is building a granular time stretcher difficult to build?
for now, i will look up the elasticx object and try seejaw james suggestion.
ok, i bought elasticx~ . it’s perfect for what i want to do. thanks for the lead. I am dissapointed that I had to spend more money on this program. Couldn’t max have included this object in their program? is it really that difficult? anyways, for anybody having the problem that i have had regarding tempo, elasticx does the trick. i just want to know, does it bother you that i ask so many questions? that’s how i learn the fastest, by asking questions.i am slowly merging on the path to doing exactly what i set out to do with this program.
If I understand things correctly, you’re mainly paying for the licence for the algorithm that elastix~ uses to achieve its wonderfulness.
I just replaced all the granular time stretchers in a patch with elastix~ and it sounds great – definitely worth the fairly small fee IMO.