Category Archives: Assignments

Project 1 – Kinect Depth Projection Mapping – Adam J. Thompson

This project was an exploration of how the Kinect might be used to map pre-rendered and generative audio-responsive projections onto the faces of instruments.

The patch uses adjustable maximum and minimum Kinect depth map thresholds to isolate the desired object/projection surface, and subsequently uses the created depth map as a mask. This forces the video content to show through only in the shape of the isolated surface.

The patch is less precise on instruments which expose a large part of the body, as, for example, legs tend to inhabit similar depth thresholds as the face of a guitar; it is better suited to instruments with larger faces that obscure most of the body, such as cellos and upright basses.

In attempting to map to the surface of a guitar, I also toyed around with other uses for the patch, which include this animated depth shadow, which places the video mapped shadow of the performer on the wall, creating the potential for visual duets between any number of performers and mediated versions of their bodies.

I plan to continue exploring how to make this patch more precise on a variety of instruments, possibly by pairing this existing process with computer vision, motion tracking, and/or IR sensor elements.

The gist is here.

Jonathan Namovic Project 1- Launch Pad

For my project 1 I decided to try and make an instrument out of my computer. I separated out the keys into distinct regions and assigned them midi values based on where they were on the keyboard. I then used these note values in different modes to produce different sounds. I also included a boomerang effect that allows the user to record a short piece of audio and then the patch loops it and repeatedly plays it. I created ten drum sound effects by filtering noise in different ways. The main instrument portion is a square wave filtered in a similar way to make the note sound less harsh. The last mode is a saw tooth tremolo that repeated plays the same not so long as it is held. The launch pad is polyphonic and can export the sound in the loop buffer.

A short example piece that has been layered three times

Audio Player

main patch code:

<pre><code>
----------begin_max5_patcher----------
5518.3oc0cszbbqakdsSU4+.KUYUhhBN3MxT2EypY6Ty1bSkpUKJ49590zMk
s0M03e6CIAeJ0M4gV3PPswRMkk.vGO367F3e+G+Ce5l6O78zy2j72S9GIe5S
+67m7oxmU7jOU+fOcytUee81UmK+Ody9zuc39e6laq9YYoeOq74mS91oMYoM
+fiqxV+4M6e5ecJccleHLNycray+hn3KRUw+x42wR9m0+RmydYaZ4etl+N6e
d2l8aSyJGcnySO7bV8iY0OdyCk+x4Sv+JXM2T9z+u+3en3q4e4VzKxcomOu5
oz2tJKWiea0WQsNkkqSs7sqS+bO6kio9eiatAOFvuLF.WDCfedL3ZunOM9KZ
PqcEKZqQW9lVDVDfMADvH94Qf0G1sKce1UjBNmjcHI6yoImSWeX+CImROu42
SeH49me7wzSM+Ra2rO+m+79rdu6tDnYLk3j0VJv.JVwWDRp1eH0DfLqOktpD
ZZwEOdjrJ+aWe33lpeX9OJK+uv4jCOV94G2b5b1kAMwPflhWtWSXT2ITF.LE
HWIyhzRExIzjKSUBGIqNc+lrSqNsY6KIaOr+oedYKPatyn5HbonU3RHCOwy1
Cqd39U6eZPp278PBI2Jj2lnp3eYHXeJ+69tghKw.4rTrM6y4y2pcRknPxtCO
LHkrVIuK+8OH4cHW3Lhd+yYDrnOmdL8TC6xWReImxca5pyoIUpqOOnNIlDJV
ytVhBNXIEE.wrfBGy07bFGFnLM6Nx2hNa.ghBqPJzfb5v1AWuRc96bGOmUHm
5iUx4ojwyXDsK7.wS4xB+HgiGFjkuqU.BX37lm1uJGga9t2sUp7KAKJSbTVv
sVuRQgbAnn.juCi0u+4rrC6GTHvxqLFWUnHf62FHi0hUXhEmfkUJ5KYlBbHl
zABNMzAivFTC.lR4cIJ.31P3h5k17KHQLH2rfSX1LHrhBg.Y7DB3LWbP.k16
sYtUQwFAHfJ373HfAj24DJMylS8azMFCI0jFWJNSG9kaVx8I2O3qadtE+7B9
NuhegDqttaCkZ.9EACYrTCjK1Up7WCtXaVnihnzktNcyWysLb6giCqNv.kQP
wxrEDAVNd6Bowx.KADhmS2+.Bn.JrMtwN4RjvvHNJ0JZe2CivJnes+QK.A.I
gB.CiGrB8.x4U.PDKFPlU1rXMFdrYAsr33bL.uYOvRx4XabbRfmiJE1Kn8gK
HxdI.FMs9F6SFohKVB9FaHf.7ukuemwFDDbLsmCPh1ifMEodfjLWpsTPKd+y
OVjjtgkET7NtGqzQLbgD3XzCqV+igW99ryay8WPUjWsoq8iOkjPZncesewnL
tkv9ZEA6q+yIRFFHPKKC2kfG0c0JBr18gyGOmUnmGEL.kg6PKPBC4Zzdb6gU
keS0mmF5bE4C4EQm2gRtrCO8z1TLw8Sosn2L7StVOt5zpcoYom9Wo6Wcu+2Y
JDeJKAkty4rCGwfO5bJ+hcJh3U1NJBbA93guT5Q3X9.WgBU7+lehfgIl.+ul
.i9Otc0KSYk5C7ggOIa9oKlXfl.OBOuZWNK4gcm+AFHwHJYIMtIAIdhRhvDB
TcVV4LnvCssT4ozPQnQljUwJJBMx1DFJT.JybnPOgPGSj6fZMAJHFwgXSaXB
TdiI3dqJigJB26QP34c2mNbxgzBuW+lRpQECoy++rjhSvdgKJN3Xj5EQQXAp
hN.K9dQXov3H.clxX7HK5CVMI4Kb7Hl1CGjWM7.gL5vFajVq836zBXVVrTTw
9mSyR9SCG0eMW4izeo8Nhx+sHqfAVz9wbTuL5S4OrXL57384zek+I9uR2m90
U2fe2fjBWERS+BFCnqJg.iszgIe4SMBtMUaDEjBdffBza0WRXIr6PAchRdTq
5ijHGHYTTACaR1LBjo7VgJa8MYDH68Ewl2M3cQaUjRJH4xmlixx4soqtfe3e
rD4Hvwm+xHt8TKvo5XwCBAtkClQfsCO+6aPYpruJBz.BgrdUYzswCCEWLRbL
JUuBnj+7ZG9HpdUQPtq2cN6PYzr9AF1NkvqsPh.7BPjrnQkglf5Cy2IYXrxq
BIccybBJwv2Q.AHBG4D4ewnfnR5tSqLbtIWAreasxEu7K3dGQXtn4me7voc+
.8505WoduG0RbRNC7Ma2bNahwVTcYvQeQvQ172vuIoQhy+ZlxHM0Tktfos4r
hcVqEjtjASNuRcbUWRKaBHcy1raj.uVW1UUQXVfIiCMaLHJX6RWrJEmJqIkh
1pyOl0iijhDygBHZpFOi2pFKsAhSXiSC4AxbB.IO2E+h2zpNgUJZckmwQfMC
hA0clquDpzcZj9lSfEOaEXDvC9WF11As2jcG5DMPWAKw3Trk+qG1rd3N0tFD
rrqUV1Ac+NiBFdDqRipwLQCTUBtQreLAJJ6lsu7ijyq919CYoIvfQbpnMsUM
oVBXxIU9EzT4EN27WCphb884LffVWzXBpqYHT.qCUGEYdhMVoYxzcRwlAhLS
uSSXmHc+gC4l9Nl5eH2vlZeApZKMfyhb+HQQ244aGITfRwYyQylAaEy.s1+Q
QG38m+A5Nuy3ObhPo4mxpsRRvFhhSroeLRdG5hEZefzkZJKNwI3L36Id3Wkn
7OAiwT1CR7miORHZLkJ9bWAN8hRhznhbI3PR8YyPEYrp1xIlKdGM0fofiC.p
JMOQzqBSMDEfn2VAew5rD.CBbT7Kou77QbBE9pxyWy93Zqk29k2sSUWpoVnn
X1ywE7RHLwREYhQ2808j.yArYv0p2SibhH8AciXXcsoF2LGX3QnK+jEM1Wiq
jkZHhaq9YDwpS+5IQ3sRbQ1teFJJDrwO0i5d.opsM4UAUllHRTQSXZ4ATG.f
QOk7umReFUF4aVperxFuwNTx3AR6WVQQbXq4Tmfpk3zzrVVL5Y1dXTkdm303
rVhKTph3TLxonQW905.4CSJK9z0YoTbTxz1Vw.ZAkpifVh6sXJNXkZas3IrZ
8moPKl9KljiWKbsWbWXoJJuKmdLlh1JCQKF2CS7LEQuOislXzlw8zk3MbeAz
qwjztkCV.HxbphlL9D8B.QIl45+P5is6hn9OnnvHvT9G0XvrT9Gbcbp1KAqy
sQfdAbBrqm6z5zEATwtupswQTuKFXcyQ0NohSwNIU1hhcxSqG8hchz5X2BsN
AwUKmZ51PRWDNVU9v02YqNlUE1NQbKtGvhTDl5wvBtv4SWEvWLv.I2PdeI8k
BMBCx6Yaqqm5apJUDum7nnQGOkdLc+CI617vlhxeD81DoBZuM2XANdRSgvf6
hKpzrgoSj5iKfPhUBH1tzW9v1dIdoMzZs.2PwQDw5xyHB7KXPQVGvLoxgetc
FD39ygXgRzZEQjaI.4LiAcslZIgCp4VVnmkTKHff1yl7pc.KI6nYzdpM2887
hZYSQn.4iT2iNd4gtHyLMwcpj0cyckeZ0Pgvfm8agfB.E4ZEXnuZRVL3.ANO
86aSN+78nrInCJH4w89o.3w.I5YYvRBMDQQtnm8AKI3PRTLF9eFNhicEO.cG
OHrwKNCTD8ULIavwjW7pON1W5q.EIc32S9dx5julbex9jcI+5udaxcI+MznS
GIEvejXVbLLP3wDGHtxQ7y+4oMq1NkCbJvPCwSAPgMd2f9NCH4BQc9LFC8tM
RH3k4prwgqpG48hgrxEoyAiptdcIQTwovl2UImSdH4wjmR9bxuk7kjs4jU+G
nPldjT7OTjTbHJjT8cq9iMKEmGIVpJWOVJDTbQjHnDB0hifhh9o3+M4aIoIm
RxRdI44jMIGRNhBW5QOo+XQOohC8TcbNYpOzLS5HkfrlTE5zyVtwXLxxMFvv
UIA4esY0Fu12wM24DRpz2IY9pGPXLKjTg3l6zCxUkM0zBBA3yMBTsQXAAADP
JrI6vpQ5q415oSxBdEEIlPYTpHRAv+8oQz.nEMIJwq37RDhAj9W6nLKfcY33
VXojDPEoI6sd27RZACjtf8D3Kn0qjO6I4Uwj24pUlKfkPp8Lr4NOuFoWO1BY
8CydFdq6P6EBBn0wHGd8rqsCPD4T3IhRhtqstc4fCTTOrHvgZabWN.gjpxFe
Tq7pDJ.qaP27ms5FOVYHQ6gAkcwD.R6RHStM.SG4iOZYwUGk.PVaJZt6iebi
+HOd7RUjzKEhIVjZpUAuw.lkD4DrDxdaOvoGA0GqL3JiCAUcvA9XyPwiECUW
eKVHrTQp9RTRyRjjZIjA2dPSOJpOTYwMRIwsWPa4tOxzTFhBi+XUXhOSFUAv
mQa.7Uw3LK1u.8G3GKwikW4bed+XDrlNAWZ6bUmEuC8m2yAkvUAg5FdNmisS
quVbiHTdLY0aJdwiEIYy4mgxZaOVjJNjnl+iEICU2UPEPztUeI8DejqKHQtG
qcttf3hEv0EDE2bbdX4gSOu67Ki.If+3jqBRbtHe0wHdGbIqOraW59rKjEgj
eoDK9087eoTXI+6D+RwULUR1ozcoa2d3xatDCxJ2r2RmuqpwpG+NrhyqQh5t
dB.ncGdHMYryH9NqWtWgTEcKinkJA9L9zpbxzAUsHfpqic+cFgDaLyCRbyuz
EptgBm+Ntc05TLvf+XVQFO+8zjbdxM55Wqk9swsFWHos1PTJJqZfp0Su1fMx
UIAAau+qIbLff2IUlUG6B+RZixlai2y7t3PD2gKiT+MxkssI+h3vTTJm6SSw
tPPzOMEo4thdzMCcw.eLDHlnWL2mBL05xj7ER8tJhRytWy9KUKlZjIZA1uBK
VHwzWDoiSWi3MslVjUAHn3V08ej6y69zj+IBnfCsBDUGprePBeuvEkv2WsQh
a9HmfQIa1uw45T48K13ZSQqhNVaYzAWVBslwaO7J8CSYXxN6G8FHob4T7CdE
vb9vymVWOU808UtUoIcVPOjdNay9UYaxchs6+Mi++10eKfeHMBTColGrgzYw
LhFc3FPGlAzY5++5voGROU99edmBvElBrYaJXcWAE3gZJ.iJqwBnrlBkzsIb
anbRTiH2FtQD2NXyq3V1s4giGxIHqXqj4F6U24HRP1IZX9dIn8YgYRyCwjVn
pNDv0WX9pC57EEyrT6EvCw.xlD.EhQDy.xC2NEqECafMvC33LfgCQsFTCnlP
EOHmBBBU77502UlBxvA6nH80pvMfRzfLYumwo1Q8JKLdEeJHjtl66Za0APhr
pNht7GULd+eCpjhPQ.GR1BTDv1voG2h6MXvFOCJBeS3LFyfhKxDND0fi4gek
8krYaJvYTpC.2b.tpdnPX5uQhQYesyngX.En4KBiAaFTVzZBmZNCJFwRCsCz
JDEinSDtAL+uDezwyENDEiLphRmzQMCDVJIKv7NVDNoXMpALfgeRihMrz8qv
HEqwYcX3TrqQQ8oCmeNZTTepvoXWih5SENlAMJpuvY7INCWB1voPYJnhOXvX
.txUF5Ek+ZpF3rpLXbwOl6KRiiCkOiHBMbqMPIHzJPkMD3KXgla0XE.dTzmd
5W+Qq7sXrURGFiz2EfRLF0dFQ3X8Tn30EgSykBEMqSeE6SfYaJnXT9dFWjXC
36YF5P+FlAThiwRxFltPKjk27yUEygxva9XXlln1zKBmKcRj9wFNOdjJzKwq
GTshan2hDRv6TSQd941GElYKJBIY.egfxPSQ3rrUhh9gGN69j.ZmEBz.hhr4
0pdBJGOtoffOnPu1HJqaEW2CUWcSyIdsmK51B44OW08QDoPQfhtUxHzsebSA
wv1GZjdHuy0Yng0dy.esmKDlN05X4eh1GQjHlvF8JxXBSAxdqaidEYHPkCVQ
332D3huT3XvEZz6tCz.JiursL9x1x3Kaix5DihRT.0TPonTV.kISxvEKIAfN
KAAZ.QYuBOb9mIPUEaALbmbG5L8DnADklIc3Xo43RMLCcIrw0skvlBjsGkLZ
IsVShaknnLWq3lBk6SAjfYq05Rq8BOmHxKtZJwz6JqDkR2dlXyZ8un6Jr84Q
ckvoTkLGkJYd37VmiR6W.qDVNJccuNAfuRbot.R6JzycV+4k2PB7rYaEb03n
ymsofbX1iFPzHuSUChF3UOip8Znr.AWoE2UJvJdkfAUBA3hvMmRg..cf1fQg
Pit6MbW+GQkH.CWLzEgKksblYt6jFNCmidp.Ohia7qzErXviiQjxBXF0LPvH
Lsa.xd7vEt5xAv0wCP.6SK.YOOnAB8WF6jPpHLGmfEG8kNbgsBrHygeHGRbI
zKfUDL7yUp9uoRWxccnsn2MU2eot9OKPSXNJB2.V9XfEWuYMFHA7tfj+jQiY
UMWbvV+osXPlwL7YFdfYLyIZmcL+YgXuUAiErYLt82ArOewsWSDv8ZFbMeIH
B3PhrMXnrBZQOIjTpAAW4nCrPB93h7a.sQwftrLg.MfnbKJb0dDnc36qqPMj
HMDPENXEWQf+lMVgcaKxIg1R41VsFk59.17h.tBhGBX0T2L8GaUR66aEdarA
xdeiSWgNfzzZwj7sfj3KgcRHMjJALgIAcR..tzIxFtycMrxx6rpJOyUHHa9X
fDalRo2ccGm7W+dcNtUqhRX6iH6sMZc2j8tFYuHDR1cjkluNftZnv0RWjZC9
DlCz81FmtbUHeaqvKfEHa2TH81IjBX35sWFx1URpdS.bJeFYxE3xKJiTqev0
IGfbD0NU5YL7xZ0MWips4iA5cMDh208ZcJK+suusbBeeiKR5R2DVCJmum5pt
pIK+LYhJLL8gMHCni8HaAFS3Nuk.IR2d4AbUpl6LF5eIMpNIoKviHBo+.F3Q
IxrkQYapgcRXI0LHb8uhwD+4vaRwYfeafKCABGoHwDlDjYUpbJsO40prCIzV
5bforWR5d3609LxfRTlPwoDHQ1JCgSCEtR4NfQJBWob6OuNIqzGvNIH0wcbU
fMDvSGQ.WMXCr.lOdNtHACC25ePQmlUd4B2d7wCEU7UumQk3Bx0.ar.UUuF5
bClIptaoadFYRaHWCFJiPKtJV1OWoaemBuDIani0vRuT4VYGIxp2vVI0RjHO
QfCXXfvU40P.6IF.WYCCfbXtClPemnpDL3Em88MWZx4d391e.YuyPtZfQJnj
tqltzgcqClA4DYy3pgYIkOAmdbZsYC4j30lW91RaxeOA4DMl91+ccyOfLATb
tRDxRQ.b3eAFpgDmMPFEkBtHmDvvmBHVNu4FrfqZuworR0EdNUhMXWKCGN0d
qkNzZVCTrE3UOmp8x3JFG+RFh8jX3ZkzAsWuI4+aKf1EnadNYBGHM+OfN4.J
7uCC0PhybLV.sMBvYNFKfV.BHU4GvX1C.dfMPQDAX3A1PMj3hlc3fUjcxTci
4DjgzNIqjBxPZljidAYHQ18AgbHUy+PJm+gDo2mALISLbzcA7frAG0yULFt5
xBa0wieM8z4peE+XcytU+1gRc5la8edyd+m8WOY2bJ8qap+U72Na2r5z5OuI
Kcc1ym72uYeunrB8+1GxsPX+yapMRnbNj+O++ncrTl.
-----------end_max5_patcher-----------
</code></pre>

note maker code:

<pre><code>
----------begin_max5_patcher----------
1282.3oc0Z01aihCD9yYk1+CH93cYY86Fe+UVspxk31xdIPDP51pUW9seFaH
caaJYHmcSuJEHwDX7yyLyy3wo+5yeZQ500OXZSS9qjukrXwurirvMV+HKFGX
Q5F8CEq0stuXZk4m0W+izkCWqy7Pma7005UWqqt8vU1p6Jtqr51qZLEcdafE
xLzxDJVzeRf5ORHYnjuOdS065Va55dbqweGotG4SWus6w0tKkdvNU61TVYuI
2zC+ai5eVOe3xUta1hfuHSci8Oe9S8msmVBlC1XZa02ZdMIfIHH3m4Nwgf+Y
fcBbryOereqtrZ+jfjgcfLWMBuk1wPShx1xaqzqSWljVV0cNt6s5F8FSmo4J
Sk9Z+8fNNePNBeHXmOg7VID+YB9DACdpQw7wD.BFlG4Li3AFIBICbwTvWJy3
V.mStvoBLb3c86p1pK96oPeNsGvJ2QlBnq+7SONcF.MBY.s+Tu8zj.ll6R.h
FKPlAKvi.KXVaQrULXR0.hRjIsIDRmNffCsz3xPjWbLpfINep35ccc0UPfKF
6x+IrwiWjkBPTg2s+GSVjjw7JdJuiV4zBIPpQFEQPEJBw8E50l8InDbhjaAG
JgLY8.DIiRoLknOPvWZzuNwPyKhYvKjvyKqKqL6AyDH+pClAQrb1YJyPUPQO
eB4lcUEckSqKH587HDNmdn+.j6DFM8JHuw1+gq1v3qyUsXFqjjcLBhc34qWs
ZassT0PCVBZVNIOGyVlfxHJqG1hQKxxQzLrBwwh9KfD1+j12k78fG40XZqq1
aWrkKaTxAHPQ49ZzHVLxDYyHSjGUEp9WSJOwsweuPdRcwUmDW.0omQDezTmx
iq5jKovpNw+eq5j5sTmn3LElpH8ZPti8NTZFCQYLmhkjdPwRRxyjDBW0+wLt
b3B+GTrdydH+BdJ+AEw6W3DSJAuJp3r9IrJFalzjP21uD4iA1YQqmIDHFf5V
CMmbwaYJBcQXsXBn3.N1wBT4qYgyrQIzw70O4QZ02aVckcP6T4JcWWSosqO+
lIu3ITZ0YrW5ph5MaLUdH4IoQVJnr0WSvDY1o2xABwUwxuQkmHjwKcGmLGY3
CXzqZa1aKKkvPVs479BTS1GN1Gvvk9FtxmUk7md2LSp3vKYgivhb5tqrca85
G2OcwEjKyZXir44e.1kNLOFaTwz5rC6m+vVUPIwXQuyHoQDEQ18SqxNvAbla
8tLVbEYSiPmeEcSueTX+1uRc3jghgSlNCkwHruKa5puA.Efyg+6wDmciDGg.
fxpoCv80E8+tjTzEC5rWou4MiqszW9CU6fQ+EdAgzVuqoXbdN10is+9CS3Ul
1txJsqaue6akmdhlXfavgG0ILnHbFT.xfHOODBCxgXv.BPFHWHMbFjBhQIgy
fDPFrm2IgwfHvFLPHDhKDqBp8NI9vrfYOID6EN5Tv.guvYOPY7giN4uy1iAB
fjvEex.gPZ.QHHIFF944o0MqLMtB1uaSAL94eqCSAT.lBTPz9KiFB+T3jRgr
vUbAFlwx2.ygvySAIWQCm9HEzRFFcEAvfDPEbTpHRx.mBrHFaigU1EEL+LFT
cWb3VKJV.csuwREE1L.yioaV3WHJroPHLHHMyvUcFyduiiIf6gKPFDCBgGuJ
zPe45sau2zzNbKdaktQ+iZWflbo+ykU9O62AnzFy8ki2heKeS0ME2U1YJ510
32JgGDC+iTjto1F1VsqbL4wMGrG9WyCwE8A
-----------end_max5_patcher-----------
</code></pre>

drum patch code:

<pre><code>
----------begin_max5_patcher----------
3187.3oc2cssaiajD8YGf7OHHf8kccH5aUeI+JAACnsYbTVaICI4ISPv5u8s
uPIQ40RrnmpU2ZeXrGSJwhc0UcpCqpql+8O9C2L+tUeqay7Y+7reY1M2729i
bS7XgibytCby7ma+18O0tI9Amur6OWc2eL+19yss6aaiG+eMiu+fuzt89eew
xG+x5t62lt7Vosgc6LAO8KWC3+ongM6W28kV851m51t8udoK8MluXo+6t+za
19WOEOy78hY4qOuXo+6DuwDCNZ5REOLe2gW7P7K6u2+INWNOdz+yO9Cge6+0
se2i++wLNCgBfaUge0qMJlBfQuB3oUsObW6xGOmRfKk5v.WAgepYHTBwKIds
.eJZAymWK7b2lMsO18+pF3L37Z.+303M9Mtnc.GgJHWFA7O+v+w1EKe6riSg
iE7w8lZ6Fg9+PwN6.cyhGW19z7ampoO+vMx51m611s9KcKauK8cXerJQ7gpD
A89E+yyqmzVQix4rFqW+vjBzvi8Jq7Xavx..wltkO71r65Z2hWgvS.klO.o3
ShDv9vgKOCC26aep6sYrY7YFveuylIN631oTMVoTZT2NykPG3bMB3gIaHnmh
gPF7HdZwxt2vqKTQLR4DTE2N4vFhI.Rv9NXO7aut79sKVs7ridqmi.vXbgHD
lHEgfE8.3ryCf9a9fvaCC+c+6yF8bB.opOTGo1Kf1Gd3kUd77ddlgX.NPabd
2aViwOD6CLb3fbqVqMwS33lF.DfRF+zFuMQ3+M6WI2nbc2lUKeaFvhtpFXBf
1t94FUNbVUSwYExJLV3emGCynDuGCyUdHLM8ZkkqVroCef8dcgJK5hoP4kYJ
Ab9QlEUGbtMyv4ACgqc3b2ofy8TU8nyLAOfOGvs6Atk9PXFIW6BGGT6OdORO
WEQ5Y77AnOBuagwFbOMfth3c6JGs6izGWFZ2tJf0s21M.MI.QEw51UDR2GoJ
pLTZWt4bqrwzUbchO6NMaatqwSqFByowQVXR0SISXzfSG4Ty5wlKMm5iAjqE
N0tRSoV5gheG.UwoT6JCi5gVH0BiZWQHTejQQsAUma9zAyfqWn5+uiIs0npO
hz1hQj9H0wkgGssB3Qy83OUGOZaQ3Qejpnx.ms4lGMynudAmsmlGsDZzRqHk
fZsMh.qjxFf4jpCbqMbnQI.PJheNWcju5ignqEp01BSs1OwUcLqsEgY8P6iZ
gXssDDqOxjn1ftyLu5fQ.vXLM+pE9lNt0RVijasBUjacInUq7jFC9jBnhnUq
KFs5iTGWFZ05xSq1HiENi63UDqZcIXUejlnxPl0YlTs1Htd4TalTtoUJUCWY
cxXtos63Oe6LMnabgyrmrcg4TeL9bsvo1TXN0fj8d.qhyo1TDN0CsOpEN0lR
vo9HShJC41jYN08FAt.AyqT3ax3TGVNTJsyvKFkZsN5QZqoDUCtRwndn13xP
n1Tb9zRQptYVQUsFqK.p7QZhJCUVxxKprPaiY5Pd0loCfMIR0uOO0El57Q3v
0ByYfW3E5gP+dnohybFfRvbdf4QsPbFzknPhCsHpLHZvj4TdDsAbJyUKBskr
bQarM9GdxXj8DmEeGv2mrsUOeuKqSsuIKNS.rh0ypfhd+vWW9R68+6yWTals
IjIJteJPahHRNj8u8muWVQz5BY.UZye19x40E7C5h9l6UlMkwT5iCUQ6X0P9
YAwknpDppoUUUgUPL3jURYIfB1opIUA.0UcIzWvFUUwfqvvzZyoBSmxQUiUE
CB6i4AgTXB6RdUxcWCNvnNbLmyOqK3BiIiI4ZxcpZ.aJ87Uk+wrz1hrCK3UA
59mhn30P2UQMoaO5c4qQCqX8nKrWKT95yvKc24VagvLhKQy4dsF8xHOYZ.EM
JN2+Tlg3PwF8JtcKIrRGKFuxLnvLlFiFLt3yWpRKsUNKXSXXodDS.6qCe+Ji
xYSQ3RQGU9KMmok1zkPr+Re7IxYOJLgtbMDNTYtDaqLlpo+VSN2VacPUWTx9
asGmiUU3bhKT+sdchyIN8ZHJrmv3waNTrCgrwI07H7jhuG2JDg2BdrnHPzAD
JIHaLBohopEF68PTZmqNXrKbyKwdyPjwNuJXrqL0QO.ODDu3L1U1h0CvvdsP
wYrqbEr8eqxHYf3xz9uWmQxfIwX+niYzePlnD4aya.e6tdwHTK00UitVMDpk
lR2nq0FLjzdYZz0qSXHoCOg5zS763pTgo62vFcCWm9pCqS+iOwt7CDV.Rw7.
DylPe1H77aisJ6fzmezmKmfaSs6YqIB4J17BrEOTS7w4UQiCGKAd0PGWTpFG
tlXiKKWOCmrFprnfJ0EnmguVCBpfyV628ITZPUd6i9kxXt+fwvYpgA9zbwg3
YRudIlzoAkHtOk3LvlwDN8S9ojyZy5BI0+1P4OP+VHHeuMJxfW6isa6F4Exg
ya6xrI+19WKIdFsHBsMzz8j+66WS8QO.jHGQ95dxqSBdsmmuaXUdYS4bn2rQ
CXe+cPhF4CA3zkrgz22DAWlxIIJVqB41mtoKzPMC149gS2hu1gnHgb+i1EdE
s.wUEfUV5sXP50EdI914eeMsWIvEQubkJuagY6uBaZ+Z2CeweL+sxWZ2tc8h
6dca5kT0MGFl9P19S8k6W87ycKSiojVZmZpB5xrJqlqP45xr5rjq5KWWlckV
1UyDxRjv0n7S2J9QapvgYZngaLPpeGTG52AAXZbFqQHGjcaoKroVZTpH0Z6g
52BZt+xvXoc6RchysM8oicHS+txVoassCQJqmB3dwWxkC0BURNij0Q68IC9L
0RNijEImQCLNpk7FIkkq89RVD0V0STYu89ttCMJgw5afCkDY2QrC+qAKRRtP
03bNqLVRWt4PsT7w7jJej1T5ibCVLS9PmJ+obYLGRetspr5hzK2VtsprpjzK
2cQ1pxtR46xFwo1cXQSqbdRnflE4oJYC1U1G9x0fK5as2iV8go1GxyKLx9sl
aengI4pZ3yxg4EXu3buZnRHzpqhM5spZIIBkZedamsQ0TGzxsMuUkQ8x.89E
KGI+oLldeexm1qwjDuuILACBQUjdUr6XdW2OZ.+SuBO6OTXGbxxz1TqW02OV
os+TiHw3+PVzbdaKsPwXvIoLjTAQO396j8SXwIfvId2z1lUut99cJ1TAYjyi
W6cisG51rcwx13z4gOlfOeDRKSPhLLRb+MFEhThShLxjX3sAjOR6HRzYoSfV
LCQmlNAZPIPBUoZzBjSi.ATBjNOiva6ODFMz4W3P4W3DzIPAJAFT7BZDHCs.
IZDhCogNUpEERikNjFKJjFKcHMVTHMV5PZrZzBjFjFKJjFKcHMVTHMV5PZrn
PZrD5VfBowRGRikgVfzLBMnb7Mz43aP43anyw2fxwWSmiuQiVfz33aP43qoy
w2fxwWSmieXmr.gUJcN9FTN9FBMZ3nlCczIPFZARiUpFEoFMcHMZTHMZEcBz
fxsfNnMMNjF5hVnAzygzDOTiJhulNGeMNGe5h3qYnEHQiPTOaAcxCP42CzEc
Jr25NtaHXnSfnXX.DpRQMGBzEr..zBjlfE.p.9.c98.J+dEcQm.TA7IzHkgQ
iJoiQCtPEjYwnPAynnSgprnEHQiPTvLB575UZzI0mnQHfwFUQGiscWpQDHcv
LJT7YTzELTIPKPhlCQgqonCmQgh.kjNV2Jr.azHNIpLzHoKxjDEvljNjToAs
ICMbtknvYjzgyHQYyHoCmQhBmQRGNiTfVfzfyHQgyHHzs.WAmoCXC0THcOTg
.WQmnysWXwUkK5DHp7yHnC5Vfi.Egyg.ZmBZPREnxDrftLAKvsPSnCIUHPy5
lHUZvf2NZwlem25p0OzsNtNktb2BpSbKvn5VvLZgvxtVX7agrqEziljfrqEF
+VH6ZA0n2BxbqEF8VPaxsV.FkOfM2ZA4n2BYehXbs.K2SDhQebEH2ZgQuEjt
bqEFmve10BiGZN6Nki5QHxN533TvxtGga7GMJ6woPbOT9oBdN0BnxxOmtbDi
hcLmtGohi6oTo6w94Vz0KkF9+bbEnktjSw0nrYTjk5FNpmRkvU2JGU52f28r
rj5Xh6V38UbgTzINpmUmxFlfavkgGJaKDbqXSBEH+RuVsSwQGehjQ3njgCEj
QHPOCmwCiQnH03EIQPgLbXgLBcQX3vAXDBDvv05TLJcRvwLgQXfaFCuHoZTh
dsUQzXDUgylel9Lr8kW9Z25M8eijjl+b6erJFmyba5uWrL82xzeut6qK18UR
MU47102+6K11c+1WWmZayuo6eMPM+4U9nlKecwtX2w6A+O9u.BVtZdB
-----------end_max5_patcher-----------
</code></pre>

saw tooth tremolo code:

<pre><code>
----------begin_max5_patcher----------
1063.3ocyXE1aaCBD8yYR6+.xebJyiCvX79qLMEQbnsdyAGYS5Z0zxu8gg3j
s0LGbGVYUJl5CiOdu633g+9aeyhj0MOo5RPeD8IzhEe2ZYgyVukECFVjrU9T
Ysry8fIZ02ZV+kjkG6yndx3ruUYZaPPF9TW6jlxGpz2upUUZ7NgvHoYKQTRQ
JdIhm0ekPRwnOOLnl8lZkw77NkeDIqk56SN2em44ZWWIm7id+1JscPt4G4Wr
5eWNyvf4pMtAagv6oPhy3Od6a5asMKClEVu2XZziAUfI5QGP4NPxFtFOnBgC
Uh30C0+V.+cGFC9BVJwFoIYTGvK5C6WIR2UcuVVOOwZBDeBnqTVqNfvHv8iL
FcPY4trgBWSAOfD+ISG7IPG33SG0UZ0gP3.NougNANXYrJCPt.W.+CqMtaut
zTMdg.hfmxs+kwsvEbfFicDQeyHf+t5FooG6C+ds0G1Iak1xyp1UJsbseL3K
SPrKPPhSud4lM6ZpzliaYXQCImmUXAFNsPXwXtEbKQ4Eo4hbBk0aOicxNgwR
4BrHC56fRbFy7jANE39A+aOD3eHgfjV3dmtWo2XgMEBxwDvYLevOnO+pCmaU
ccx6UuL298vXQXlu5N8XzMjZcySUNnHI9XeTnSKf+SfNaFJvqps.EgCf.H4N
EMYjPUzrLFDwkJmUDednE8XSUoUn3XxcndENhv4gIfeb3IByPdf0infVEj4.
OM+kf+UpkCeoL8y4icxGUaVYMZmIqjFSakUWpWP+hyfzV2110pxlsaUZOh7b
z.IEUx5CGPvnqXDNEgTe9BULGJglxg.he5xGP.IOcTIAXW9BPbKSXP.bfWLv
7T5LO9bfbSW6AKNQLrcuYQujmQIDf6kF5UHBhIoM77+MwxpYgKBB3wmjLOT0
sqo94QUMSNdXApuvZHLiUgVOQz27OWA5hJlyliSShBnpwwsWnjabUC9rrIyg
w2kwSALeISFad2jYFTSI+1g.hvXeDt3FGgAR7Yfsll6tNCLb9XVbkPMguVDL
CQ+85cxxudczKb6.vJ9OnL2LjAToCZItiCn3aVB.6EE38tw8Md9yuWrCF8c7
GDRWy91xg4o+jI1j6yy2MpNSkV597ImeHn+ovicF9I4O7U8GKZ9SDD9DQye7
PvGMZtylTDf+HwyegBOHJtiBAAu3E9nAkdFM2MLyG2ewCdjf3Sd77GNn3GDs
DFxTxWNU.ucip0I5JRyfqWvIOdTbPYrveAwPDlAPP0zo29o.fmw3NDzR4gED
wvg4Ag43sXF3gV7.lqvbPy.HaNCy8SARnSgX3vrPJnDOAZ.61uZlc6WMSBdi
qHQ6AsyLbYkbGOHfb2tGUscGGh2W1i.8kFGsjuzeek1eO0eeq5wpgg3+FaIx
V6QfL1y+ru0e1km3rjiitwRx58UCgZ2bvd4m.abXdEA
-----------end_max5_patcher-----------
</code></pre>

Project 1 – Isha Iyer

For project 1, I used a Kinect to control the motion of a particle system using my hand. I am very interested in different applications of motion tracking and I think this was a good introduction to help me learn how the Kinect works. Here is a download link to a video showing my project in real time: IMG_1479

I used this tutorial to help me create particles from an image that I would then control using input from the Kinect. To control the Kinect I used output from the object dp.kinect2. This took me a while to set up initially. I wanted to have the system use real-time image input from the Kinect as the image – that did not end up working quite like I wanted so I stuck to using one preset image.

Here is the gist for my code:

<pre><code>
----------begin_max5_patcher----------
3662.3oc6c01bahjD9ydqZ+OLkp7or1Nya71U2cU159Yr6VpvRijIAA5.jiS
159ueyaHAHALHCXLwURrhADSOO8L8zSyS272+5ubyhGhelkt.7O.+A3la9a9
QtQdLwQtI+.2rXm+yqB8SkW3hUw61whxVbq9jYrmyjmH8wfMYfUgAq9JHKFj
5+DC7je3AdCjesQG1EeHKjkIuUv7CGrVdChe3K2YgNdw68yV8XPz1kIrUYJY
zxCdO7V.11Q7AxR8a7eB9q7uUZ12CYxaWwVMHJuQQxC9+90eQ7I+iaMtiGw9
FWBOueGF6udGKMEfpoehtP+j50T+zFp6fXwGNxehwszMUsX122yT2jEKNc48
DDrOgkxxpoaRuT2z0ftIFRj8VnTcRgcselKUfEAQxOJef5PgiBl7pWt1OyOe
lvo9u5a8.Ko3WgevSWs0sptJVzdYwa2xk2ihB51imG4HN7lvX98S++7EWxcv
6cOcUX3kuJNnXA8v1EtRRs2OHB63T3Jst7UhtGRcbJdOonKek1VBMywqplVl
duUgKplFEiKcqbpq6h.+kFr0iPqQmfeWmLZ5DrKwPsB40SqbG5dOrEFYfZAd
uMkZ60tVQbgVDLc5OSQ++uFi6426KZbGeIi6NMYbmpVq1V1IfFsB1l3jc9xu
tc8Kpw66O3GssfY889I96XYrjkrH+GT2TXOuxW2AGqFAGjiXHvOsfCoIvgPI
+TOxoQWfwNRbAgmGnScNUu2+qbSaG+aG7rlznm0XNjIr8JgOWR+5XM8pggGN
jkEG0kdYiNViwdxAIxgJXZ9O6VurxngdRgK1oj+V14ZbVheJa4p3v3DvGPfO
fAef.9.sKXhcSXBRMwwUM8gB6WUO9pAD+rrjCAcoaRadOUhw2JMO5R1GDsWU
.ewq61JqyHP5J+PlvsOrv4StmccZK1jFWjA4IgHBFp16oS+Ndvd3Ai6s5Fbf
aDNTlBUfBB8FAM3qMHfg6DNAi6zhDMtFqixIdndng2TGLR.+nC8cbitsqBsF
0FVXoidqqCGft926RWu44.TWUmF8Vou+bG56NMu3Xg3pN8646AeMHhK72klc
XylNDdYZy6XUNSmHAAGWi.gxczR2bUjPJFgjEaBBYOwRRC395ULdhK72uuvw
qDVkc9eIVdubNEUEdqFWMRKIrmBxuEzSG1Og2Qy38xCIJg+Y6ivf3NEulkDw
8.43R3JkTtnUb9gxfnsbQBa0uQcKFuVtFcaX7puxVWDO3iU1yhBhjQZMJyOS
KjmN+Z1F+CgYK2DGkkF7CobJ2hyktfM9qX0+0i36YQ1M+8j.+viczEaSBVGG
IDjxPu334MIuOZobbpTeRdIQ96uzWmOphCP0c1Tdm8P5C9IBMidKTGiX4hr3
3vxm6z2LjsISe98AQQUAzr38Mb1jfsO1z29gX9Y203sWdpzkGhTmdIeNY1Rw
yzoxE5GFpmkVoEd1OJfuqSVVfRefgmNqZ+jOltJINLrb+VcpmtzoVyGeuh8s
f0YOJarRCO3egf84CrVbRsuNXKKMqxAy72lV4PmO2lerCOnmIuLisaeHu2T4
JJ87yJMqsnssxmnQabU7x4zB6pAEBqdwGhxJG46ZM8U07GBV51cIWefxI2Th
U9iViaPzt3rgZ.qZ1NvMmr7WNpw8NR88EcGO7ZCNrQx0BoZWBrOaMgIKb77U
.GtsAGVpMTRUAn6sCbHdDsxvYTOlfpASnsgIpvzq1+jMrSHRKgbYLPsxQmTG
svSqASJXjM+b0r.a8A27LqPnVm1w2GpkvSL4zN0OEi4LBUOOZmlFwyVi54rU
iX0tgPx6ZjwTiX2psXhyOsZjlr0y8X0e0WO6IGblZq31K5rZiTmZywT0FRt+
RWuW1BF4OE3p+mQcMjlzFIbQlABW9nezZPh7iwUiPZc8aBRnPvtVx.mibeYZ
DgNP9uFTAjdWETgTdk0A+y6tC7eNRKuL+jr5UAtcRE7vV0iOP10g26gbroNB
NI3QbvVVRhS3.sbckDa4LDw.WRac9DU59kshAYT0tVbdC3fNKj2E.P.ZbmNf
aCOQPW47.Uvusw8fCs2d5ywcVQkm0XYMvpv3T1v.90sWBKKSQehZi2uvUGZB
swiKZKCM13B1s5AExRErOMX67VBrax1xOBAoby8rgx1Rc9r5ZY5ZsTOIILb5
gkZmLntxSmCorDP5WYg.gqNhv+NP1Xn0oDL1gGcnt0qY9xc3oEsAcVruLZqi
wItuuS4QUiz5.dBz4cMxXpQPFZB58XWLkhcAgZpZ6mjXW7e4CSRh4yQ.O9iw
02UaSenCROWcQC6Scn+8iJO4O5tS8lAL1xGe.97zCrS3RojGaxa6X896UjhA
C9rvATVVbjxTI.c5HC0dBrqKfnFNRVmiizW3CP6KAYK483jfmE1SL+2Zy405
TkEHIh3YyWGU.j8awETiRNM9Pxp79P9Vo3psRBzZVZVPzQxy7GGiuI.dLCfL
XnV2kEhoxhTpGVgwV0BsKKnAWTrlRxh0DRVLUTt.9EmrVmpsSAAD2f.BGPAj
Zp.N7y2DNEBvlHKzQRXLxRDkLNBiQZI5vOmiXprjK0CrrXjRRlmuCqrfMUVx
MlOvxhYypG9YR4PuAJI6wQXLaDyHgLFYvCM7SqQF6hg6vKKFuro2vKKHiG9B
GdgQjP+FoiZdQo7Sbh78KD7sd8REEyWJRbufGNjo1kQo7JnizedaX7C9gZpM
ebKdMyE5STl9nTd0o0QskPnfnOw2RG3Oi1GmFjE7DC7u.AQ+YTDaqu9W4m+3
2qDcnIlmEHDnAIJpUdp.nSygwoHCUKzbX+mVG+snNjqKXZyI7mUgL9S+n3fu
xcRYdK7IQpOzg9Ixt8DajfkwHyxZJTvn9RP18pPO.dhEFCH.YfOIX.EBE+6x
CvwlWBAvMlc3JFNoSQXUsWpDE+MJYupD+jQKmfq.dcntJfarv.Pop7A1wqlP
p9VAUBiW0EPowIOXWocAhqbHiCcZBJctBafar1rfrT47Aj9SZAHA2bhyicKZ
Q8mP3AZv5MT57u9rvE6UrqoDsfnMW7RTbeCWnn.NEpQK0V4Rj3vuuaO3Ccod
LfHlXDhHGN43MUpVIMs.zVVctmRtT+uwUigpD.R8.Noj9XgGyVFBOuygaWcg
9.5pxWME9ZUNGtYq4a9hqOpRu6aK7Cz6Y886Y886Y88P7j7kqqCNtpREd.YF
QIZO+wH15R9ipTggHCG8mgiJQH9z0.WsyLeUpPfbU9iHIv7bfr3e7ZPq1YJl
BlPNj4EZExh1xsCcEPV6zxVgUHBsFWd5MHab4kzGAUp5DFBXXCALOUHJvyG7
h6ek00fXsx0JhJBNHWo6NzYCjIdlA3ECQ4PgnhXLw18JRQnWQD42thwOsVLT
PDcUPAMuLpeMfUqkJEjdO6jYFX8wiNldEnliodYoV9yANWrPc2PPBbMXo4g+
rYDVgs+.fh+LD7DWicTcPFslKa9InJCuMz2gVq+K5mVrbYP3LBsvWAZ0pqo5
pJ7bCtD9YgtB+rZc6hn7BMGbnbyZnHpumwj.c34oeW3mE5Uf20tckzViNwqM
mUjSnLcv4UhF8lm9CuV7nuqYhvTf7uiAqRslPrJk1oobngUXLlF8WRrGkIcc
TDQuBy5PlOVmLgXJr6vO7piDnd7Gb0E6kccnUA5MOdulbvM+tTRE6XO3z60j
Si7rH79crzGAYGxffOuNw+aKED..rONHJKE7Y06PGj5OcfXSnFIHIQsIYKUv
iwtjgjLfdCLCIafysFfSMxtVhkJheJpShbfyDRShbL30oilUwu848Vsj8J6w
D9bu3v0cjsWMR4TMcbzu+Mbbday1qKN5ow27JDcktq1m8YeNkYdSvKa0qxE8
y3yUsplE09cBd8NAudmfWSIBdcZkjqhgWsSnDuhOKMDBMWBC8SrUW8CFpcdw
4QUzOWY3b.q.qjQ941dGZXHFmNGgTDVG6MWdjsoeK3GM9Rk45YGmlVbDj87h
pWRH64AgcbtySD6tq6o01N23vZxDplNZMeHGGdPXFGV8ZuxdlAWaqV9gMDuf
sSEL0N707hiNWJc1+6SdkMDjBSwbNcrRlOra5pYEsig.1biSzQwI6FDFgo.J
0KsNh6bwg+Te9tzFjxEpJPkpQYTu4hUrghDXJzRO55cVMY1NIop4jukH0j6D
p5J4Lc3pfcWJKinIMibPScF43LgpsZzIDibP1COMEnSHVv0A9tLBEpPbmLLh
lJ0.O7viLvdg4TvogHRl57uwxzBI3PRihynPA3y9q82mA5DWJPF7bgQZxl.c
d6UUtzuROPfOGuYSJSVL9+xgc6AjtfRvlQI0i7knKk9NuUqcYc.Q7L.PTU1.
KqoIbTKCSB1sONIaW7SAraAEeqka.MSLgYRpW2NH3aiZJT38hWjZm18uAiMZ
tdPpJ4Mt3SPwUfAi6HBA+Jx5vn.KC..UluQdSP0nuEmDtVS2wM6SA1hOS88E
1RkqAw6g0xzwKU6oZrzaoWyQU4svDqqeHx4u0S6qgJkeA5XBQXauGqmLbkzf
szKKmW.E8T2ixwyPiIU8mJGYZIorLI1EWTGXb64ZR640aMmiIMGA2asmsQsW
u0bVlzb18VyQMZzB0s+ZPyzeBwhzOMnkwMHteZPhwMHpeZPjwMX+nCIFMngz
eiRIticCNxy5IFMlA2iMH1nFr+VkfXzfTrU+0fkBCccsWkAVUBzwHHAn5j.X
OHAXyL1h5MPGajwVT+MNFazDGDs2rtiMZhCoG6gFMwA0i5PnwPZ+r9Edbs0h
LZwDjWMyKwiqHPFHSCFJBCn4QjQFmP82JBHiLNgGz9rY1GwC3ZBUdDDF7hR7
E1djQt8LxbBp+1QCB0EcZezfvQdEAjQtR40qsW6ySur295HnTIa0jMU0rTqZ
FpcgrSqgLS6rrRSJC7e7+APqZOfB
-----------end_max5_patcher-----------
</code></pre>
view raw Project 1 hosted with ❤ by GitHub

 

Project 1 – Automated Lighting System

This patch analyzes audio in three ways and represents the information through a LED light pattern.
The 30 LED lights are grouped into three subgroups, where there’s an inner layer consist of two lights, a middle layer consist of a ring of 10 lights, and an outer layer of 18 lights. Changes of colors or brightness happen from the inner ring to the outer ring, so that the light propagates outwards.
The audio amplitude controls the brightness(saturation) of the colors. The ratio of lower frequency to higher frequency controls a color picker, which determines the RGB values. Then the values are being sent to the three layers with different amount of delay.

Code:


----------begin_max5_patcher----------
6718.3oc6csrjiiakccVeEJz3UyjEGbwaLgWXGyV2q7JGU3nBlRLyhcSIpQh
pdXG1e6C.3akjTfRfJUWIqtCUpHHE.N7fKtu.v+7COr7ozuGcX4h+mEeZwCO
7O+vCOXuj4BOT7ueX4lvuuJI7f81V9bR51iaV9XdQGx9QRj85kWQWX5wrjnL
6siKtZ9kx9wtn75Re6KV9T31WVt3uWbKOmteSXloXdwU1Els5Kwae4y6iVkk
+b.kSBjDBQPebAkfB3bk7wERT.5wEXR.p5mKdssYk9zu9Q7xpev8gahxh1+4
nsgOk2vQ0s63skMavbs+0G9f4iGcDX1F8MckUVUYQe21jWdXWTz5j3M5lNxU
TC5E0p5dcgMLFJPQkTI+wE.HDABEhgEOtPIFBd..srKP.OEf.ZxAAIKfV.BR
IwzwGt6yX2tdO9V16ADQSAvBrhcNLfJlZLHIMb8lnCGtAL.fRM8UNBEv3JAB
etdOWtbhEBb658JFZbcdFwacdSOL7knW06QKz+2z1swHIOPvQXF0P7AlVPHi
wzx9.BcPgeHo2n9C1+e+7ek8+j3sQqROt0BBzocLOBnAjB0B.rVHHlJTXsbO
lfYGOH690OY5E9uJLIZAJ.X5OjlOV.AudvP9S+2hRRR+1GgICaDBnPkIfisi
Kn8nyT2.C2i.yWe9euPnENcYfAsOv3P7KaCSL5WNv2FDvvHsrDMfYfIBkGnz
BRMhRD7gPLnGtDwmRRBVj++cQg76jnbcmkgPTkQdJhDnGKgER8jJbAEOf7Th
+Tl7oiYYoau5NZayL5nyxUTS2SRUAJsAFBR9K4AdUK71bluslSozuX45+HMr
aEDPvJNCzRMQCOmo3lXQ0aL1nZXoIEqoFm2RSffeGfLBAxLdQamQfPpXFBCe
XkrpmMYRgkdEaNwBKMxGKmgkgkAZAkTiPxgGFoldMO4josmKHJCSPSALczg6
tDvac2eMNK34cGd4X7XGB7b51rmCW0h1Yt1g3+g8ZfQonAFsLLZHUURL.BXG
R.BqZVjdz+jWII0zJ1pGZXK5WR2FtJ0aSxbimHUKEDJm9r+IQ4reRlDUp0Kr
bzOWwO+HAfPdGLKA.fzZ5kSPBV8V5j1rEvhmtZfJVap6iNLLQPspSqMLCryi
Nn+YHpo14TFoo5Wm6i+9hj3W9R1uj+c5hUeIb+BB5pwEcE747J3rhPKUEWJB
XRIn3F4GvfNuapgmCQIKVmtM50vv21fQ.CwvnvQhHVJxYmNImlnzhWLdyv3R
WtbPW4wmZmY7+oGXtOcAFu3OEtJK9qQKfK.Vt5IXD5+hhEVK0fyL7QN0Xx+H
YwK6SOtym7CWGm.HJOfiUXA9bjioOHOF4HwZ41W.PPFDHbDLTZkQwRPnTmEK
v9ym2GSxhOjDu1w9cshlnAoDGpggxa7oWVkljtOuOamMs9CnQG8LroUZEMWG
lE1bj3.LL.ICTLJkqM9khQ0J3BB824HdmdOzIGDn6iZzWCmM5RXFqQWYpjoG
uYWP39rsQYAF3XeZRRzdsLsiYoZMA9SG2FuJ7PViu943c5AaAh.fIC.I6MYv
Nlo+aoVUIkQogAY3X5TOs3+sO7AoVCUidjN68ZBDH4bIFzVToFVZ2jKt6+RS
XuI..gdp4EC22UpotquKb0uk6H5k2tv5H0BhLtpDoY+4w0uWUBIStiU9CvBb
Wgxc5BiSKqLaDcW1fFYyl9.6GuMpShfKPwkKSrEbnUBBJXFbXP3P5sPzzqXQ
yLXdlXbdoDMgCFGEPQDjfeN1A2eBIWGahuVgFFIw6ZMO+YPgRchvLd.ZRQFj
JPP3DoYBTq5FlO6DYf2TGVe6Eu.HA6BjuPk+jJeoMd3r.Fp5mTALsvC2kvvd
GHgoMz3rHFF7llVp1zR4i.OOocvL1akxLTtnH1p.cvwVDr2RIkjnuFkXg7+8
00s2Dt+2h1Wj.054SebgVjn9Chdjg1HL8GfVF5G0+Kimv62DciqiqJs3G83g
HamW5FNRTZKm0Bs4DigRVyD3ArNARxj6yTSt8nsAyZi.9dKAeTBbMp0H+d.X
vThhhlZY6ECJkj2hwj1zli7pTquL+I6S.+7XxgvQhDBjfKCJgoOOb0ZUB2Xs
JahEZi2cTqRr+7fwpzMahLwk6Dr3O9G+iK9e+R31WhV7zdSTu1ZRO6MgaOFl
j7iNSgU7EAbnAPGBoaaS.gchPhnmIBuAN26sQIylzElrFPNiQHz2AJY1BZbV
IS5sIwq5aT1e9353zEwa2cLao2G8.p5QOXkLfpjboYFqhTM.2CjL8QLtP2Zr
dNb9avD4MsGoo10xAmHeV65AAR2Uul4OwyQ+iv0q92WcBXLtzeGH0owFVZRB
VLh.ZpjckTPY8veT2tEQkfOwwcfigFqjRDTsZhNyxnCeyv.obpg.IsZkDp3j
ZDX3j7TL4BWWn6HcEr8wOARq0KKFp6i7Ay3H7j+Vd2h0QIg+3uD2UVGc4uk2
GcPOIcXVb511qYTZi0Lp1fEsZofDaW2GuBGN+5NVKVjh4DEtStRyFQy1cS7s
mzXpYKHZeApV.qOr74XyzN6Oz928gkg6103xOz3QLuK9077oP7X0kh2leIR0
k1G803xmmVc0v8ZbHSCBG2m+d46xx1s4mIccz9sGiqHFVVwGJ+AqhrOxFO27
X4yKTkS1PWNSVejjt52xmqBUdwzcQa0ZUcBVVU75nmCOlj84tyr41keR1P2t
vpDR9OuuVw3GV9x930oaMMhVPs4xkUmgVXSLEVyNi8N1FtqiGV+lWCK8T3Ac
m73gmB2adSTn7Jtrvrzzj1EU8bIQOmUT7t3saOAEyR20egViB6u3mR0EtYne
aaIG97ws4k94DSZjbH7qsQ6Ls4lERAZ+y+8vswaByhxhyeEfQUElq.+WNrxj
2Js5u4k70NJYslDuJ5awqy9hshZRFz2d7tRRzxp2xqieI5PV6qkE9xg1W4UB
lzW53SECR+bVzlcI5dQ6an0lNQyQjMkW155mH2zJUnZzVmshdEQdFwj8Ikif
sJ8An774GU9Yqmq4LgmzPpEjgZTPogSm1xi2tN56UFw9P4LKExQtPTKuSOVX
CMLt.4qJRR9blmGWv8hKvXvEvi3xa.axr6bLF1D3G1jOQsV5tzU9A0Z0feqv
UF0jjPBiYhXtMMoJV0t3AFpp5Eco2H.KdWT0BnWhFMnQGDzdri7ns+MXG6ZR
.iYM14TF.6f9wN1jhc2.tDsvOR4JxfPmEK38KaqCrnVsHial6Y9Pa6xTd2fz
gzi6WU1iJ4xKZ2B0SvmEusRKwOUIG1beN8NZzMBGaCFxyB5D0H.WQhRHa5ZE
fqsBXJaEXWaE3orUPbsUPlpVwXHmcSKpG4ZkB0yP2Jim17ibgUUUYoMVc2ha
km+PdJ9qz+w3Ot7uofVY7e0bI1m6ywaMF7Fct0IPQcosaNop9d3UsF8ObgHS
swagqiq8xeoJGMVRBXExtjsPADjRhn4eSeoW2dKdRn7QkLvjcU5uPwXZ92HH
jYUT28ShafOs9n88Ft8kByEE017T3Ihzco6qrcNfnZ8bGyRq5vlxqJqxN9SW
0tepZc61jz7XCh5d8OVWyakuJRZVMcQzq3Sc5B8yRqBWsRW8sdeIwLPXfZgD
jfkhvTLJ607jldR3SVeIvTHjbh6ney3gkEaR2ldXmwMEWQO0Y5UaFMHkFOgo
o1RITPnY.gzw.vnjnMmVsBIRA1mRqTGFj4s.BXVLMudnXqGUIwJJwNhWHsdk
z7MLFv+jM12UIbsG2qwQfHPVRqDK3jbTV+9BqdmHF30q3n4QFyiLd2Lxn32n
7GXow0pq+btaj+bXV193mNlkqaVy3DLJ2c9RR5SgIENyrZf2P99r1AoenVoQ
eE4qMwqWmD4kPe0ZeB0ji.EKwS.Kr1+225pi+yVru30Q4Tprg9xr5BcNzWMv
Q8Xyp0h8EF4KXNxWyQ9ZNxWyQ9ZNxWyQ9ZNxWyQ958UjunusQ9hZVjm4.3b3
ulC+0b3ulC+0b3ulC+0b3ulC+0b3ulcx+rS9mC+07Hi4QFyg+5MI7W6WX7l7
9IdYuIT5I2UHlYqMRprN9b3UCFz8NfAxmw8aTcbWC6mBjUG2MmoKRuAA8KLK
7uZV2z2vyHSs9e18M3AWQiztiIG7SXL4n3bGZinyAkaNnbyAkyY2y1d6unqM
CBi3sEOuOcyBzGgEYo5+pdWgvWAjhvsieU46hU3bmWOPnUXixes2UwdSq0c0
DYXg52sAf6tLTRs.WPo06F3l8bbGhmD9sNdR+mM24h7Cd0dy4o2AeJs5TDNh
Xbejcu5QfH06OlCAZ8GhS7O6fFGGf4JpwD7wAZX06WPSq6D.LvZv+3.M46VP
CyyS6fwgW72Z7RqtV0dseqcbe+Df7br6w9+hqvZ9VtUUHiG.RuMJc7FjXKEI
cAm+lmWKSSj0w2CQV20nWZasSUHTwpwzJlpvIaDl6dqXpBstQDo6shohWXjp
3Vn0gotU3RZFfUScqvkTtnj.McsBmDWvmxzOw0FAaNYGlS1g4jcXNYGlCo6b
HcmS1g4QFyiLlS1g2zjcXT6xsWbxNvB3HrPRdrXaeVp0N3ra.tpoNiG1OxU5
7k08wHNxr8dSMCXkTUc1PL3Qqpza899NmN9xgjElypiE+A7XQfVgXmTcLDbM
G6lZZAXN2M0zBAcvzDgWAM8Fr9o6HIceztnsqWTN+waNtAHDI+H5lMHnIviD
ztjzt4v2Ls1K3Lx6jClhCgYG2WuB1CPtRhzLmxQWXhFJz+wLknRzGpPG84VA
YB1k067javqxf.JKPnkAyrTF8zxBr.qXmamlGvnkS8g2weMJaQXRxXy6rVCk
XAXfS4pg2FFv3FRhA5qD3vGdWX3DPjRp1FF.TG+.meeX.5YiXvqai8W.zd19
Nln+GTvpxL8LDH7jedScPSf9CvDO.BS3AbSZaZ59ZQtBk1JIQUz85s6O8mQz
0BKmdTnEKnolbki.5EG72Ymzgj300pr90vZkn+OfOVCFeh726GLpOCkXi8LT
5ra1KsjxfIxJoL.1hQfZLhY.srMNVaOs4boW85m2EoLhaxgyT6I+O48x9Wd5
S7+90qYfKXt1P3SwbRySSF8DQZXO9o3j3rezDzZq1gA+c8kj4HmSBTyV5i70
UnSujjuOzDAjb87tLIRBiSSDOdvENjlH3O9x9zi6V1Ee6LGSe9WeEDQTsYK.
LvdbIwTk5qz5HR57PcS8U.0Eouxzmg9GN8Ev0rLDZ0+apyhXXak5YsV76McV
.kVnHB35gNiSokd1809cpRKsoAiQoEPbyUZA+VozRSQMXJpRTiiJsbBHe8Js
.x6CkVXSnRKMwbBhXwbJ8pTZwYwgdPkkpMkl2SNOQBx.JVXcwzYzXAguIZr.
2QZr.RfTqwBULRMVZgzBEDPvJNCtbEVP2.EV.uovRqtuRRBnTL0HP3L5qfX+
z4iEkVaWpBoP7ypsBh+SqKVzJpnERKsg58bJqfT2bkUf2HkUZIkwPZFoxJsw
XNQKlALqmlKUUE39PUE5zopRaDWolXUUZKHDnAXs95lkF1kpoB9ciyUzF4gL
oOyXzT4FDjmeIZcb3h+R3SKRLqv3ElkD8hUZELLKY2ZYM2b8UH1sdArRy1vX
CCCqbJVPB.BXHhgeRz7SgTwr5oHUuVOGWHn2DMEQ2QZJJjVJIUSRKgdm8pUM
GukNhDqKfIX43UTjvmd8DQ9zwV0Pf65IR+IwqVLskqbjvj0ZlSLb2TS7mq.w
0VPu6ZIdycn0aiBhbpLW3hcKJvcWX0.SuVsBI2E5DNYJDxYXSL1XlTOkR3Mf
Y+60pFx5vnqUUvahhfkaDHc8hYSR3SezpDzgOt663OgqUa+qwQeytet7J3J8
4m0xVamnwUc67cJm06CeodGPorqrJId0uk8E8DOu7klW+UalJsK3qutfmdwr
89z5Jo6WmukDgFdFrdz.fKMlTXoP5gZ4THqRAL44reSyIJbTf.AleEoco820
iedNgpx5fv8uTrvqL40b0RraYeu7Bzu02El4sL0bT7F16TdCmntTdChnucNG
3dh3P5f3Hu6IN72oDGlVc.kRIExwRb.EBEn.MuA7Cwg1AwQb2SbDuSINDI2X
YIlgGMwQXRvEl.i7jDGVGDG9cOwQ9Nk3fY1op3lWQij3X1VDKWyL9f3v6f3v
t6INp2oDmB+RNRNCCPUanZ9fyH5fyPu24L.d1dJ8bBWp8TbpJfwUBD9h4MRT
G7FxcOugLaO0X4MMsmxGDGnChCtwtLy8IwgNaO0HINsrmxGDmt7fCb2SbXy1
SMVhSS6o7AwoKO3ft6IN7Y6oFKwoo8T9f3zgGb.0cOwQ791dpQxYZZOkO3Lc
37F3t2cwfb1dJ8bBWp8TLkHfJvbF+x4Mc36F3t2awfZ1dpwxaZYOEJe89Y2j
OtPhSGNvA326SRgQy1SMRhCHUpZ0h8.wQ1Awg0XON89j3.y1SMVhSS6o7wTU
pNHNz6dhCd1dpwRbZZOkGHNpN7YrcYKeeSbHuysmBcw1S4CNSGtK1rgcdeqW
Le1bJ8TBWr4TTV.QvXzKOrlhtbcCbuSaDyVSMVZSSqo7AuoK22b26qX4rwTi
j2zJ3T9f2zg6at68TrZ1TpwRaZYJkGnMc37F4ce.FPyVRMVdSKKo7.uoCe2H
t64Mv6aCoFIkokgTdfxzgWat6SpX1rcTKjWpYTTEIPKwgRu7nYJ5H0It6SnX
5rUTijzzzHJevZ5HSst6SoXxrMTii0zxDJevZ5vSe28ITLd1DpQxZZZAkOXM
ckG528oMwrATij0zz9IOvZ3cEBy6bVy6ZamjizzIb4F2jOHKcDKAjOIK1en1
mu14bmSOhZKXPu5nok05.xsmykVy95c44R6qXotVSTWpIpWpIpC0TyC+3Kul
vtTS75C95Kul.GpoSdYtId8tz3sYUYnCu1s.RNKvr.OAlhFnZcwpmuZ3GbUM
chvEPB7.H09DQumZhSZdvT+JPxrAuUldTRDK..IVZ24jjhNJ3JawJWZw.B4A
vwoZBTCxfr86pSpONM.SnbadsqMBHfWu4QWVxU1lkN0lwC0lwHtc6nzdzens
4HPo+pxjBc.Sy1q1DIKK3Jawtv0AOH4g6BzPU4mD7WWMQboKwk9nS4hPNNxG
0DxEwoBeTStfdXOTQLWFfSQCN91bnmUdX4o+L.iPRkvrIBVmyn0W22ST3TO.
HsmjqVGwqqtcY7jZPoiRIqBj3RsZjxxifQJoiBdS5AZch6F8v2f5FgbG9f.l
VlB0NwKlzQAdm74hjalOjxwbQj.wGpmxbQQX1fSepU6oVeHJyHdfS31CTzNK
v6rZpSrZb2r5qjRPbkRbsywxbwNBkrkhq9pS5RUyfIQlqS1z3io6YtLcO0KC
tcohX9vzSkqSXANM1t8LVb2lwBl9t.fUNKepUev3xF1TNgK0YUvu520NYUA2
G0D3pCM7tNDtU0fyd3PILqHWpdRoS7xQcAdmQfZMbqGAZzg4y.tVUaAOf.JA
mbx7s0EbsuucQv3I5LdRKtksABV.WQsM3l5yUe8qr8RTNfvfOlxf3jJs9vBQ
hKpYPvtp6bSkz5959l16TG.vroPGMhKpuvmD0WbppIvTnzlK.tOnlXWl3wZP
N3az0opFSmBNE1Ie13EoLXlqdr9pqIWLjhKlhAJtU0Sh3ArSxVGbBYEmGfJO
OIT7pySBLRqfIm.RiBF8VfjgKOn..ofDfKO.AJu909Z0EslndQV.xcn7ppHP
3BegNrlfMcZjQCEd4A9MCwCjJjjqFn.yYiDAwY1yU4lQMq759dHha8YPfmBM
ucrxIngMl7DDWfDDqt2ThIXYZ6vflE36Q5mhM8LggvYVCfTLyAICiJLaWp4m
QH0W6pI4tHSzGil3toHqOB7NvbO5W8FgQHfoPLgMZcZ4nz7QjsDdVWv01fIN
0hGdBBLvCvZRiInhFCcjZCcDF48MCkbcAWcS1EmlMbCtQ6hhwAZfL2ktcWf2
Go5RO.OEJh.XoKlOh8xrXXmF2gwdotbxAQXuLF2Is4p58WYc4lkkCJTGiob8
7O100fFtUAbACqLoGLAPAHjjffAKAPr.kdVLj3jjFnQIWcGEMlN5UVWKalAZ
8H.g6qZB4nyZ59kW07t5oELmZfBxicbsqscBN4UIu3f0Syvl9pKlWpK2xeFu
vpbRglpd+UVWtYft7L10oLgRFraiLsF8q0xH.oHDIcvRZJW3j7exaxEbZtxp
d5UVWtMbUNEd6IuxOuic42vN5j3PB6oAsCUteFm3xrJ9QCDjZLop2UVWtM7G
bUq.kPXVhrBhY0enMuOPIH.kMPARlYoRREl7SokJA0Eb0cR7X5jWYc4DOYRx
6J2pa.4tc6Bt98DgPAqghDywPo0AO0W26ioQivyCWWM4hiw7T8bNgwcXkT9p
QHb2tuFs+PwcaqikaB+0TKRKdz9Oi2l+OI1+49HypRI+9o1qDte0WhyhVkcb
e95i36E6xsKMKRj8aOFW7ZS269PwwG6Iq.h5kVwwjrXsxh4KlByI6Yjl4Tcf
ypqnmBKJydqkDhl.W8O1Oxex76eczyg5GoMZ9zKqRSx6dZpY9hoQo+igbl+M
iqjgFqjDyQDr8Y9b7VCzE0dg3T7Qym3oWdNNIopddnp10+XEmWqKeYe3535y
5ayosZUyBEfUH6IBLJffTRDM+a5K0tsU7TP4iIYf4HCR+EpVDZ92HHjcMx7p
mB2.CZ8Q88Et8k72CXAp7b90rzZR2ktu53eMfnpt+iYoUcrRoO4rfxSZ7x2U
Zd5ujtMbU5xRRZ2DfSe2i56ce9Q28eKJII8akmTrcSABWsRWEsvaIlY1TlQA
BIXTRT2aYJlYxjluWadRoa7Ti4lzFh5oNv2LioVrIca5gcgqhFaOvoW8sYYf
TJwl6z33tBRFCHjSF.DkDs4zpSHQJ6dCZfDgvlMBcSMS.t7zgBsdLkDqnD6H
MgjwD4eCiA7uSGy4hDj1i2z3DPDHKIShEbRNJpeWXN1Z+c6vuusAi.FhgQgy
L2Yl68JyU+L+qO7+Csz5s3.
-----------end_max5_patcher-----------

Assignment 4 – Matthew Xie

For assignment 4, I decided to utilize the fft object and create an audio effect patch that would mimic the sound of recent favorite music genre ‘Vaporwave’.

I created a noise reduction subpatch. Furthermore, a degrading fft subpatch is also used and linked to the output, playing along with the other signal. After these two subpatches, the audio signal is then run through the original patch where it is stretched out in real time (slowed down). This is done by using the delay effect.

I also added another simple visual presentation, that is very similar to the one we made in class. A japanese city pop song was used in demonstration, to achieve that ‘vaporwave aesthetic’.

Another demo: https://soundcloud.com/thewx/assignment4-demo/s-K8iMc

 

Top level patch:

<pre><code>
----------begin_max5_patcher----------
2272.3oc0aszaiiiD9bxuBAg8zhD2hjh5wdJCvbXuLmVr.KPiFFzVz1raIQM
TzIwyfI+1W9PRVxQVVwRiQ5zwJxTEYw5iUUrphp+y6uycE+UZoqy+x4qN2c2
ed+c2YZR2vcUe+N2LxqqSIkFxby2mshJdy8A6y36koTo7PA0NHtkrs4jT2Gb
b2jxIRWmuUQYAQtdGKe6RAcszRL.iWfevI.4uv6AGbr9JDsvqoOrDCO4q99i
XbMK2vyk4jLCCc+EASyspIJOwzJr56p4h9qdpwspA4gTa+ZOXaHqMMVSkRDY
4Jopr8XoIrj8GFBAnEsn0BAVh0M9W2eu9xCiDPk7saUSpygmr7Kfgg5IiieT
nA87qu1KFF31LPBEBJohkzbxpzNh+6AoN.BndHDzRZtjHY77VyGHvyNEhNy7
oKhAtBDKiVVR11.YR5qRqHVPyOKNNHHF5o0Cww.8rEEMjdHBdY8vKffeHUpq
AfxounlpuCeJ2njXtH4MG3kLeGiUqGTiSfvfAgKzOsvUwlMx2bH4b4NpfmSc
G.RPFMGer4OwVEHX+HB.69wLz5JfdWi.Z7YedSCky5Uj7sCtpisNoQPiWZr2
PhHLdF8yLcOryg36WIwgdiP7wetD+gTuSnaEjDkr5.7f9Nfo3X.EXzMPwlcj
prINGHg7GoYf+7YmOC5A..x3uy2GMBEgeJzCH+vQvs6i+5g+PEsj82qamTfm
uYaAL.LFkfauNP+fv2YxEaSWrijmjRcdhrWxWZ.E5.lDZElgCqHvFXqMhB.N
bPrvy8ShFgFLnuVHbdxbkk+Uuu8Oidz+r.gpCKyHRA60KBI9dXCjDDXUOPCZ
+D9ACQX5Pxp8RI+7QQd48Irxmef+kCGGhlzJ9Lq9myYkTGjiIsMDTYIOfp+U
rhCrgKBGzH.+YxFP4PHaepjUnbITVnDHw9LmmjDwVpIRVm06WQO37TBsTtLg
k4.wASwcQERUkNLBMbXj2daiggphThj2BmJ2QJz5SOUtln.PuEvlOOUvSOrT
mstCP8umVyS4B0MdK7Me.KbdpM.qcGqz1Xqc7lCMRL130IHJvB2C5CBD7YQk
T3r551SFE.r9bsdivCItQiTZ+6OY0iRaOhTTrIvq.LzFU9PhT7sOeqyanXUQ
qTuqMVdrtU8JZiC3mZbonLXRI4pb22mKcPygIPkJQP0tUvACiE.9L4U9EtHM
okeFaD0ZPx.blTYTsJHkzkVGKJWJX0E8mK4e1r+9ECqCXbbfskbCEMnAEXZa
xilOvSgNI5Rmc0w1W42DDYRyKbXwdxk8AzWYefyXYeTpKpA4CjNnZxwxT8nS
IkOONAAsKUB3Lw.NhxINT1ia3hLhguAS.VAKvwXPTXsJifY1z1Jow2lJQXh+
TPS1uVZqEwjJRIJ1eQHVg6d1buPwClnAXRAScMZeormoK1RX4MGkxyDQy5+w
m9U32FwYsb77VdP24xgOy.nsN21ZY4WAPAmAZ7FRMrVapbG+k5Iesp4ZU1z4
zzSctcIOd045WRdllrjHUJipjxnGuqrBUqfUMvktmx2T2bc6smwJS8s8AtnZ
vsC0JoQbzVLSQYeTUuP30yyxTho9YOF13o3jmSLJGA89TkeFox9+83beTYWR
eLV8S85WGx1qHqQq129bitZ8elGi3Dx52bujJGFBsZdCt0QzjLFmw.1RnojC
u436C777FH2iOf+Hfs94pAbPHv+l6O5bGp1+.3jUdcwK3GYDRan59CmkE7lK
vyQ0fqWUiGwoB.79YnZvorbct5NPuITGipyHJp0o5eFPYrEw.Max84zysFkJ
ybPj55UpvGXUxMBdr+PBdvmFC7qUVsoNZkU0BN97x5s2YlJc4C5nfFyqoRe2
o+jvVqORDh3vQbXcJqXGkscmAD7CGJKfp5cZNqbfsb25NzaLVQSJGQbUqIDI
4zXizy3l2um1AGox.fkRaBx4K+WUv2ke4+wn+lJPqczW9xuphnSmxX4W92LA
ubGy4+nKv2uj9B4P4hrBTSLQ1g5GrbqDQ1mv35VZQPJmWzINF0LSk.BMWtrT
eJKMwt0ZBpPiBJMoBMOhbV.WsBaeR21M4CkK6uSa3oo7W1lxWQRkzrBdei.W
v1xx6P.PWejNDU+lFYNRfR1Z2NO822SRYxCmmfBlRcQAoaNyD0770bgVaRoC
12zTxTFzRAUQ3PRgZIdqbWVkJf2hdQqg4T2gpYfTlHR15eT1UxLBqTEyY91J
+D9cGsxz8B8bu0Dp9gUQkpuopwNAnZFFyFTm7BqYL9zs20iPIeuXc8pTUsMO
JZt5p1qDqiRcSstbplSuyoyXYT3XXj2LvnfQvnvYfO3wvH8q5SKhxXIEbVtr
ZwBDAMuiU91yENvdnP9fESdtMhoFbN.A+aDXiFCifyg5yIqX8yILdN3DbxJP
1jIpOFwfiGp3TmZdiwZEMGfvshQ52+pKi1Z0LzT4TzX4zQh3hDUdWmMxtYk0
fyvZuoyZvHY8z3zn1JYN75.wickDNUNMJuNygHMFmN5R+pWKmFm.2JW1PuOt
iz4xfazrFL6FbixGcT+Rs+Mh08H0na.qw8K0vow5wrT2uLeaXLb10tGIiQys
tMverdolpuC.ZDaaEOGLBN1slmpiW.Xr6ONYNMJiQ3bfdiQe38LxldLon3Yp
nrhZCObyHemaTTMmuq9Xrse0TTUWA8YVM8lydykHVuiIopz3E1hC8Zjsbklx
dHx2ypL2TR28U0r5jTxapqzK5QxIimyKKz+2rxHUJgZCYeprKPz9.vUh4uwy
Iq4Gq8FMklQ00pH0N60EOHLBA7gOnuKNJ.YtKxG.ggOztlJtq11oawggXPrg
DcOhiwn.T2dnKOpoOKY4Z.k1ptGGuztGc3fGHvKN1PE.DgAl67PHr+oSrMrz
zlt1txc0Eqz07B5qj75xo0kSvXOPbfd7QdwQd916TMA5vopdAZp2zCcubBcv
5gOJ.F5iM3ZnGNJxdWjO5zgmju0V4RXqi7zsPvK3hZkW0LKtg98RdijU6Dso
fOOTYwHTO8zZh5ZdoLq6ioVQ+08+eR.cCaC
-----------end_max5_patcher-----------
</code></pre>
view raw Top level Patch hosted with ❤ by GitHub

Noise Reduction Patch:

<pre><code>
----------begin_max5_patcher----------
713.3ocyW0zaaBCF9L4WAhiSoQ1FLX1gcX6vNse.SUSStDmLWQri.Sa5pZ9s
O6WCsoQsDRgIkbffeiMOOOueRdbVPzM5ch5nvOGdcXPviyBB.SNCAsqCh1v2
UTxqgsEoD2qu41n49exH1Y.yeYeHZAsyrtwTJLlG1J7O5nZ4ZEuLJ7WsaXK2
T7GoZ8uqDEF+dRvwKPyCwXh6qDp6Jwd+ymQtDPxh9U3rNjpMOTBfD0YQ0rQp
rnCzk7hQOm.qXmwmlMycY93zsTERdWU2udIHPnL20XTuxMcfxE++VtqVYrO3
8g3n2WXjberKEhmzjdUFcTARzzors5RitfWs+T4vyGT1LIuMhBYyo8GdSFkS
fLcNgOseLUvwwXnBllApMeAsGMStTpfGmlIrrgqYzkhls44FsMiepR1YPodJ
8z454WJo51NYR0AMxNsGXnE99wX9oXY84KXipqd7A9B3oGUJUGOKGHny9qcP
05lphNg1FVBegiKE0VmC2H0pC1ian6AaRWsTT89MgOGjwmBYhG4QCzIkH5sk
HdTHyF.x4SfBYCvU15tGENGkHzSLCO0YKCCZzaC83hhtWBaX0Hi1+lLDjnSP
FCfDdHHMZMQFhlRlBjPCEoW6878P4a2dmnptc2.H1wI2pgDnr4vRoxuLFVVI
tS1s+DvBuxNTvXmHzT46pui4eA9nMZapnpQ1lMZk2r1t+G02Vw2HNX50WKaD
W0NpxpnU7lRyqcC7hBgxTnK8T6Z6+FKFmkljYk4hTZRNh3tK2YBacxKdV7ya
8tU1ye7fnnMVfjcksGFMNhfe6At5rIHx9OERRczJKKNl.TkQvXb7zSvuWIDe
.F5nDM18wcGNkk5n4TStevWaON+roGKAklBLCkhrjCbko43b5zyweJJK02e9
TjPwPfMigYXfpTaTuifsEoqzVlI+aaYr6cmn4HD6iH.6YdZ1+7LLS6G
-----------end_max5_patcher-----------
</code></pre>

Degrading Patch

<pre><code>
----------begin_max5_patcher----------
705.3oc6X10aZCCEF95vuhHe4DqJ9qDX2seGSUn.XXth3fbbXzUU9sO+QfUl
1RLyVz0QuIQ93C4094bL4EdZTBXd8dVCH8SoeIMI4oQII1Pl.IciS.Uk6Wro
rwlFPv9V87G.icSoX6U1vKYqkkKYGNNQcqZCSodbKy8vAM70hxMfz66RXaoZ
wW4h0yjrEJWN37r6xFmRwDysbj4JRe8zmguzpkV+OBOJzpZgRTVYkA7YIWqQ
2LMpG23BeLhnshKzKK6NA+hGPC+61LgFMOkqaOXSFZB97nQlKiCiTe3PJ7tP
vDASMjgflZtgy6CSnfwD5UBSaq2npWTJGriZ7kzaU.c8VY8AM70EZn3AMMuT
0ZxEWngmNcXnQdyBsUqT5Gr9TIX31GpkDTRejfdcIQVTIAWbHE4e2yk0G43F
onO5kGL8fWB8vwidbQJ4ORtd4SQF08U4Sr258bVw0kOGStobGa4L8BPunmUp
TR97Vky4PxILk.LyLaQcUES3fBvNgEvwCy3+NLm20FhmNLlmbqi4XXnqnynR
1v94vY2tF5fTWeIjNrgN76N5Nq4JOKyCCcu6n6LnglP8.Z+e6nqq8gPG1PG9
MuiNXrcz00GQxF1PG9VzQW267PtFq9sZft1dM9WvKFtqCBQ8.PSe8.jc8.1v
E+5+RlcOYheN0ZpakKNRfNijo+bWsj0nOPVp30hWji93YJL89eacwWcJ7TGT
f5j6gNDWNAqCzCcBkaDOzAEg8Cwy5Sn5f8o.gIwRInOJEZMB6SQBGipD1mxj
42pDtRXeThFKkf9nTv0IjO6IbLTJyWkBlddHDMR5.8PmPIm4ko90gGrRS7Uo
PemjWscQXGA8Tmy6EbVHJ2tcGS1zkrUBsEqGpklgEisC4B2P6+jAPx1wOlOw
FoTpsQozdnZkNuN6m3LWCppWxjhVdm8EsxOO5GPXSdVm
-----------end_max5_patcher-----------
</code></pre>
view raw Degrading Patch hosted with ❤ by GitHub

Visual Patch:

<pre><code>
----------begin_max5_patcher----------
750.3ocyXssbaBCE7Y7WACO153pK.F2ekNcxfcjSkKHwHDoNSl3u8JjvMwsf
rpEjgWhBGKyd1U6Q5H+xhfns7ij5nvuF9svffWVDDnC0FHn64fnx7i6Jxq0S
KhQ9Ee6gnklORRNJ0gqeZ+ovL.37GvajEDo74Jh4kGUSejkWDsz5+E98tudU
tb2OnrGuWP1IMuAX1JvxPDF1Njjpe.sB7muB8AchnRt6fImSiZ4yE5LH5bDV
SIkoRMMavuEzjv5nwsAecwh1+rzOY4.Utph+Sxov5JESDMk2UlKEzigvPzfZ
kUc.uQq.3zj1AnYXPkH1Qk.0qR.+XTB3soDH.Z05DmkB7bQJ97IKL1kJATrl
u3MZifUVmNWH8mN4CkQFOuY.sYUxvLNY1v3PvJ7fjdeAOWZeYFn4YW4tcuMZ
tPZQ3VJq91pm6HbBtkpw.qDF5HgASMg+hW95jMlJY7080PvbYM1OJCcmxalK
Lt9BWceGJi010LcaIwHaV2LGIErWRAtER0TtkHFtlT0+01b1i165vPPSsYh0
Zy0uoSh7RhjHtmvx2Z3JvGxiFuUz86kT1d9vNYJS1JL+6f0ioRiMMo1oRV71
wdYC9fZQEbiajm89NTWCs4VlMcksKWH4U7hSteElqqAvTsUH0ZAieGdO1EEN
zb5+6U2PlMDgFEIy5A6dUVfemVne6QET1ee+VcB1F+RApl2H1clncm9D9VN9
.oVIN4RJm8t4fLyo2k.WwI0AbTM0pJG8CmDGvAewb3hGTmaLnGaLAt8hp8gL
X5Qd.NC8B4V5ftBxYSAkcA30SAiQtn0IiP8BLwwBFuAxEJswTYNtZoSH2dgf
9f1O+S6MqtNziw9d572kMX8ciOniKifQ.mqU5k1eoGdxAF2uYAM4.q2Ye7so
tfLdRpMu3kZoz7R6jocj7ppmHh5tYqwP0Y1AtNuVuT+HkYdT+iSGIHOQOO+X
cjbgp+Jop4pFgoAoiYlekunRthgrFZGIUH+5heyZsAGc
-----------end_max5_patcher-----------
</code></pre>
view raw visual patch hosted with ❤ by GitHub

Assignment 4 — Jonathan Cavell

This assignment had us look at signal processing utilizing the pfft~ object.

Personally, I wanted to do something interesting with the amplitude and phase data that the pfft~ object provides that we had not yet tried. The end result was a fairly straight forward use of signal information to create a reactive video — similar to what we achieved in class — in which the amplitude and phase were used as an external effect on a noise matrix.

I chose to use noise because I found it easier to produce a particle effect using the draw points in the jit,gl.mesh object.

The patch takes the amplitude and phase data from the incoming audio — in this case, from a microphone — and captures each as a number value (using snapshot~ rather than poltocar~ to convert the signal information after some minor processing). The number value is then used as a set of parameters defining the location of an attracting force on the particles — causing them to moving around the screen.

I also added a more extreme set of attraction forces which use the amplitude and phase information to govern how strong the particles are attracted or rejected to the center of the video window. When turned on, the particles become more erratic due to the constantly changing values which limits its applications — but I like it as an effect to instantly intensify the drama of the visual effect.

I am interested in developing this patch further with a set of filters and gates to create a combination audio/visual instrument. I would also like to refine the way in which the particles are acted on by different forces to create a more fine-tuned reactive effect.

 

{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 34.0, 77.0, 1237.0, 801.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-76",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 0.0, 0.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-46",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 69.5, 416.0, 93.0, 22.0 ],
"style" : "",
"text" : "sound2 $1 $2 0"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 69.5, 384.0, 57.0, 22.0 ],
"style" : "",
"text" : "pak 0. 0."
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 107.5, 345.0, 33.0, 22.0 ],
"style" : "",
"text" : "* -1."
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 102.0, 311.0, 29.5, 22.0 ],
"style" : "",
"text" : "/ 1."
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 66.5, 311.0, 29.5, 22.0 ],
"style" : "",
"text" : "/ 1."
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 102.0, 268.0, 29.5, 22.0 ],
"style" : "",
"text" : "-"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 66.5, 268.0, 29.5, 22.0 ],
"style" : "",
"text" : "-"
}
}
, {
"box" : {
"id" : "obj-38",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 104.0, 237.0, 29.5, 22.0 ],
"style" : "",
"text" : "/ 2."
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 66.5, 237.0, 29.5, 22.0 ],
"style" : "",
"text" : "/ 2."
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "int" ],
"patching_rect" : [ 66.5, 201.0, 49.0, 22.0 ],
"style" : "",
"text" : "unpack"
}
}
, {
"box" : {
"id" : "obj-33",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 66.5, 163.0, 63.0, 22.0 ],
"style" : "",
"text" : "route size"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 142.0, 129.0, 66.0, 22.0 ],
"style" : "",
"text" : "snapshot~"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 99.75, 100.0, 38.0, 22.0 ],
"style" : "",
"text" : "r met"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 66.5, 129.0, 66.0, 22.0 ],
"style" : "",
"text" : "snapshot~"
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-72",
"index" : 1,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 66.5, 40.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-73",
"index" : 2,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 101.5, 40.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-74",
"index" : 3,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 142.0, 40.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-75",
"index" : 1,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 69.5, 498.0, 30.0, 30.0 ],
"style" : ""
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-7", 1 ],
"midpoints" : [ 76.0, 259.248047, 63.5, 259.248047, 63.5, 304.248047, 86.5, 304.248047 ],
"order" : 0,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 1 ],
"order" : 1,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-38", 0 ],
"source" : [ "obj-11", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"midpoints" : [ 151.5, 262.248047, 76.0, 262.248047 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"midpoints" : [ 76.0, 151.248047, 51.5, 151.248047, 51.5, 262.248047, 111.5, 262.248047 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"order" : 0,
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"order" : 1,
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-33", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 1 ],
"midpoints" : [ 113.5, 259.248047, 144.5, 259.248047, 144.5, 304.248047, 122.0, 304.248047 ],
"order" : 0,
"source" : [ "obj-38", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 1 ],
"order" : 1,
"source" : [ "obj-38", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-46", 0 ],
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-75", 0 ],
"source" : [ "obj-46", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 1 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-72", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 0 ],
"source" : [ "obj-73", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-74", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-9", 0 ]
}
}
]
}
,
"patching_rect" : [ 18.0, 423.751953, 136.0, 22.0 ],
"saved_object_attributes" : {
"description" : "",
"digest" : "",
"globalpatchername" : "",
"style" : "",
"tags" : ""
}
,
"style" : "",
"text" : "p FFT Attraction Forces"
}
}
, {
"box" : {
"id" : "obj-71",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 67.0, 110.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-48",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 50.0, 136.0, 66.0, 22.0 ],
"style" : "",
"text" : "snapshot~"
}
}
, {
"box" : {
"id" : "obj-47",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"patching_rect" : [ 50.0, 100.0, 66.0, 22.0 ],
"style" : "",
"text" : "snapshot~"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-81",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 138.0, 172.751953, 50.0, 22.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-82",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 138.0, 208.751953, 90.0, 22.0 ],
"style" : "",
"text" : "center_attr $1"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-59",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 53.0, 172.751953, 50.0, 22.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-57",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 53.0, 208.751953, 77.0, 22.0 ],
"style" : "",
"text" : "attraction $1"
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-68",
"index" : 1,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 50.0, 40.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-69",
"index" : 2,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 85.0, 40.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-70",
"index" : 1,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 89.5, 290.751953, 30.0, 30.0 ],
"style" : ""
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-59", 0 ],
"source" : [ "obj-47", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-81", 0 ],
"midpoints" : [ 59.5, 167.0, 147.5, 167.0 ],
"source" : [ "obj-48", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-70", 0 ],
"source" : [ "obj-57", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-57", 0 ],
"source" : [ "obj-59", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-47", 0 ],
"source" : [ "obj-68", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-48", 0 ],
"source" : [ "obj-69", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-82", 0 ],
"source" : [ "obj-81", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-70", 0 ],
"source" : [ "obj-82", 0 ]
}
}
]
}
,
"patching_rect" : [ 103.0, 70.0, 159.0, 22.0 ],
"saved_object_attributes" : {
"description" : "",
"digest" : "",
"globalpatchername" : "",
"style" : "",
"tags" : ""
}
,
"style" : "",
"text" : "p Extreme Attraction Forces"
}
}
, {
"box" : {
"id" : "obj-53",
"maxclass" : "toggle",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 103.0, 10.0, 24.0, 24.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-51",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 103.0, 39.0, 65.0, 22.0 ],
"style" : "",
"text" : "qmetro 33"
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 18.0, 287.751953, 112.0, 22.0 ],
"style" : "",
"text" : "pfft~ particles 1024"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "live.meter~",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "list" ],
"patching_rect" : [ 59.0, 181.751953, 5.0, 100.0 ]
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 18.0, 181.751953, 37.0, 22.0 ],
"style" : "",
"text" : "adc~"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 18.0, 331.751953, 60.0, 22.0 ],
"style" : "",
"text" : "loadbang"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 303.0, 10.0, 60.0, 22.0 ],
"style" : "",
"text" : "loadbang"
}
}
, {
"box" : {
"id" : "obj-87",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 303.0, 291.751953, 99.0, 22.0 ],
"style" : "",
"text" : "jit.matrix velocity"
}
}
, {
"box" : {
"id" : "obj-86",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 384.0, 222.0, 99.0, 22.0 ],
"style" : "",
"text" : "jit.matrix velocity"
}
}
, {
"box" : {
"id" : "obj-85",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 59.0, 104.0, 600.0, 450.0 ],
"editing_bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 294.0, 71.0, 100.0, 22.0 ],
"style" : "",
"text" : "* 0.97"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 14.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 305.0, 14.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 2"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 176.0, 149.0, 29.5, 22.0 ],
"style" : "",
"text" : "+"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 176.0, 418.0, 37.0, 22.0 ],
"style" : "",
"text" : "out 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 1 ],
"source" : [ "obj-5", 0 ]
}
}
]
}
,
"patching_rect" : [ 303.0, 255.0, 86.0, 22.0 ],
"style" : "",
"text" : "jit.gen velocity"
}
}
, {
"box" : {
"id" : "obj-61",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 357.751953, 49.0, 22.0 ],
"style" : "",
"text" : "getsize"
}
}
, {
"box" : {
"id" : "obj-55",
"maxclass" : "newobj",
"numinlets" : 9,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 239.0, 395.751953, 369.0, 22.0 ],
"style" : "",
"text" : "jit.gl.mesh partz @draw_mode points @point_size 2 @color 1 1 1 1"
}
}
, {
"box" : {
"id" : "obj-50",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 239.0, 359.0, 100.0, 22.0 ],
"style" : "",
"text" : "jit.matrix position"
}
}
, {
"box" : {
"id" : "obj-49",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 59.0, 104.0, 600.0, 450.0 ],
"editing_bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 331.0, 75.0, 91.0, 22.0 ],
"style" : "",
"text" : "param dt 0.033"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 271.0, 108.0, 29.5, 22.0 ],
"style" : "",
"text" : "*"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 176.0, 36.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 271.0, 41.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 2"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 176.0, 149.0, 29.5, 22.0 ],
"style" : "",
"text" : "+"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 176.0, 418.0, 37.0, 22.0 ],
"style" : "",
"text" : "out 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 1 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 1 ],
"source" : [ "obj-6", 0 ]
}
}
]
}
,
"patching_rect" : [ 239.0, 328.0, 83.0, 22.0 ],
"style" : "",
"text" : "jit.gen update"
}
}
, {
"box" : {
"id" : "obj-45",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 466.5, 98.0, 147.0, 22.0 ],
"style" : "",
"text" : "jit.noise 3 float32 250 250"
}
}
, {
"box" : {
"id" : "obj-44",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 303.0, 126.0, 38.0, 22.0 ],
"style" : "",
"text" : "r met"
}
}
, {
"box" : {
"id" : "obj-43",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 35.0, 110.0, 40.0, 22.0 ],
"style" : "",
"text" : "s met"
}
}
, {
"box" : {
"id" : "obj-42",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 303.0, 170.0, 100.0, 22.0 ],
"style" : "",
"text" : "jit.matrix position"
}
}
, {
"box" : {
"id" : "obj-41",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 135.0, 178.0, 654.0, 582.0 ],
"editing_bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-29",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 125.0, 491.0, 29.5, 22.0 ],
"style" : "",
"text" : "+"
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 494.0, 140.0, 125.0, 22.0 ],
"style" : "",
"text" : "param center_attr 0.2"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 470.0, 169.0, 29.5, 22.0 ],
"style" : "",
"text" : "*"
}
}
, {
"box" : {
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 479.0, 94.0, 29.5, 22.0 ],
"style" : "",
"text" : "-"
}
}
, {
"box" : {
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 522.0, 35.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 378.0, 35.0, 111.0, 22.0 ],
"style" : "",
"text" : "param center 0 0 0"
}
}
, {
"box" : {
"id" : "obj-23",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 125.0, 434.0, 29.5, 22.0 ],
"style" : "",
"text" : "/"
}
}
, {
"box" : {
"id" : "obj-22",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 191.0, 416.0, 28.0, 22.0 ],
"style" : "",
"text" : "+ 1"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 191.0, 382.0, 25.0, 22.0 ],
"style" : "",
"text" : "* 2"
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 125.0, 313.0, 29.5, 22.0 ],
"style" : "",
"text" : "*"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 190.0, 251.0, 117.0, 22.0 ],
"style" : "",
"text" : "param attraction 0.1"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 144.0, 270.0, 29.5, 22.0 ],
"style" : "",
"text" : "!/"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 144.0, 220.0, 44.0, 22.0 ],
"style" : "",
"text" : "+ 0.02"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 144.0, 180.0, 29.5, 22.0 ],
"style" : "",
"text" : "*"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 144.0, 133.0, 43.0, 22.0 ],
"style" : "",
"text" : "length"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 125.0, 94.0, 29.5, 22.0 ],
"style" : "",
"text" : "-"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 22.0, 35.0, 117.0, 22.0 ],
"style" : "",
"text" : "param sound2 0 0 0"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 168.0, 35.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 191.0, 352.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 2"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 125.0, 536.0, 37.0, 22.0 ],
"style" : "",
"text" : "out 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-8", 1 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 1 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 1 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-23", 0 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-22", 0 ],
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-23", 1 ],
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 0 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-27", 0 ],
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 1 ],
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 1 ],
"midpoints" : [ 479.5, 477.0, 145.0, 477.0 ],
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-27", 1 ],
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"order" : 1,
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"order" : 0,
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 1 ],
"order" : 0,
"source" : [ "obj-9", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"order" : 1,
"source" : [ "obj-9", 0 ]
}
}
]
}
,
"patching_rect" : [ 303.0, 222.0, 73.0, 22.0 ],
"style" : "",
"text" : "jit.gen force"
}
}
, {
"box" : {
"id" : "obj-40",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 303.0, 98.0, 147.0, 22.0 ],
"style" : "",
"text" : "jit.noise 3 float32 250 250"
}
}
, {
"box" : {
"id" : "obj-39",
"maxclass" : "button",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 303.0, 43.0, 24.0, 24.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-37",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "" ],
"patching_rect" : [ 18.0, 393.751953, 157.0, 22.0 ],
"style" : "",
"text" : "jit.window partz @floating 1"
}
}
, {
"box" : {
"id" : "obj-36",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "" ],
"patching_rect" : [ 11.0, 141.0, 218.0, 22.0 ],
"style" : "",
"text" : "jit.gl.render partz @erase_color 0 0 0 1"
}
}
, {
"box" : {
"id" : "obj-35",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "bang", "bang", "erase" ],
"patching_rect" : [ 11.0, 75.0, 67.0, 22.0 ],
"style" : "",
"text" : "t b b erase"
}
}
, {
"box" : {
"id" : "obj-34",
"maxclass" : "toggle",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 11.0, 9.0, 24.0, 24.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-32",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 11.0, 45.0, 65.0, 22.0 ],
"style" : "",
"text" : "qmetro 33"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-39", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-71", 1 ],
"midpoints" : [ 120.5, 312.0, 240.0, 312.0, 240.0, 93.0, 264.0, 93.0, 264.0, 66.0, 252.5, 66.0 ],
"order" : 0,
"source" : [ "obj-14", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-71", 0 ],
"midpoints" : [ 27.5, 312.0, 240.0, 312.0, 240.0, 102.0, 228.0, 102.0, 228.0, 63.0, 112.5, 63.0 ],
"order" : 1,
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-76", 0 ],
"midpoints" : [ 120.5, 378.0, 69.0, 378.0, 69.0, 390.0, 15.0, 390.0, 15.0, 417.0, 27.5, 417.0 ],
"order" : 1,
"source" : [ "obj-14", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-76", 2 ],
"midpoints" : [ 27.5, 312.0, 3.0, 312.0, 3.0, 417.0, 144.5, 417.0 ],
"order" : 0,
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"order" : 1,
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"order" : 0,
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-61", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-32", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-32", 0 ],
"source" : [ "obj-34", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"midpoints" : [ 68.5, 99.0, 21.0, 99.0, 21.0, 144.0, 20.5, 144.0 ],
"source" : [ "obj-35", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"source" : [ "obj-35", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-43", 0 ],
"source" : [ "obj-35", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-76", 1 ],
"source" : [ "obj-37", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-40", 0 ],
"order" : 1,
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-45", 0 ],
"midpoints" : [ 312.5, 85.0, 476.0, 85.0 ],
"order" : 0,
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-42", 0 ],
"source" : [ "obj-40", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-85", 0 ],
"source" : [ "obj-41", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 0 ],
"order" : 0,
"source" : [ "obj-42", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-49", 0 ],
"midpoints" : [ 312.5, 208.0, 248.5, 208.0 ],
"order" : 1,
"source" : [ "obj-42", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-42", 0 ],
"order" : 1,
"source" : [ "obj-44", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-86", 0 ],
"midpoints" : [ 312.5, 150.0, 288.0, 150.0, 288.0, 207.0, 393.5, 207.0 ],
"order" : 0,
"source" : [ "obj-44", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 1 ],
"midpoints" : [ 476.0, 208.0, 366.5, 208.0 ],
"source" : [ "obj-45", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-49", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-55", 0 ],
"source" : [ "obj-50", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-71", 1 ],
"midpoints" : [ 112.5, 64.0, 252.5, 64.0 ],
"order" : 0,
"source" : [ "obj-51", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-71", 0 ],
"order" : 1,
"source" : [ "obj-51", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-51", 0 ],
"source" : [ "obj-53", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"source" : [ "obj-61", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 0 ],
"midpoints" : [ 112.5, 126.0, 288.0, 126.0, 288.0, 207.0, 312.5, 207.0 ],
"source" : [ "obj-71", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 0 ],
"midpoints" : [ 27.5, 456.0, 225.0, 456.0, 225.0, 216.0, 312.5, 216.0 ],
"source" : [ "obj-76", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-87", 0 ],
"source" : [ "obj-85", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-85", 1 ],
"source" : [ "obj-86", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-49", 1 ],
"source" : [ "obj-87", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "particles.maxpat",
"bootpath" : "~/Documents",
"patcherrelativepath" : "../Documents",
"type" : "JSON",
"implicit" : 1
}
],
"autosave" : 0
}
}

Assignment 4 – Multislider EQ – Will Walters

A video of the patch in action (sorry about the clipping):

In this project, I connect a multislider object to a pfft instance to allow for real-time volume adjustment across the frequency spectrum. The multislider updates a matrix which is read via the jit.peek object inside of a pfft subpatch. The subpatch reads the appropriate value of this matrix for the current bucket, and adjusts the amplitude accordingly. This amplitude is written into a separate matrix, which itself is read by the main patch to create a visualization of the amplitude across the frequency spectrum.

At first, the multislider had as many sliders as buckets. However, this was too cumbersome to easily manipulate, and so I reduced the number of sliders, having one slider control the equalization for multiple buckets. At first I divided these equally, but this lead to the problem of the first few buckets controlling the majority of the sound, and the last few controlling none. This stems from the fact that humans are better at distinguishing low frequencies from each other. Approximating the psychoacoustic curve from class as a logarithmic curve, I assigned volume sliders to buckets based on the logarithm of the bucket. After doing this, I was happy with what portion of the frequency spectrum was controlled by each slider.

(Also interesting: to visualize the frequency, I took the logarithm of the absolute value of the amplitude. In the graph, the points you see are actually mostly negative – this means the original amplitudes were less than one. I took the logarithm to take away peaks – the lowest frequencies always registered as way louder and so kinda wrecked the visualization.)

This is the code for the subpatch running inside pfft.

<pre><code>
----------begin_max5_patcher----------
824.3ocyX98aaBCDG+4To8+fEuToMJx1X90dZ+eLMMQHtotkfQFSappV9aeG
1IocYjE2HSydATNr4quO9tyG4kOc0rf4x07t.zWQeGMa1KfkYFaCVlsyvrfU
kqqpK6LCLng+jb98AgaelluVarWKWtYu01Rc0chlk+Twqz12OKEGgCQIzjga
wrgqTZDF8icSR1qq4Z8ysb6LB5DKaJqCdcDc5mqMOLXuRM8qDMvzLKN5arZe
aFyjclEKLSFV+2PRCLF+0mtZ3NbKzYDTIWsh2n+aF7jRn4nxUs0Bc+BdGRKQ
kntV.BJ4RUY6c6mSsngWI6az+w5dDtkhyixwXLqHDXX9.1HI3cLzc1PFmM3w
XS1DvFX.v1I5548UO.Ze8V1TKVvUHH3oDX2cqDUk00OeFThhixJJJxyA7jkG
w.hgKFPEaZQE67Q0wxjtWniZkOv2XhbPDD9emWkt2yS.OevwSIfmGScHEahR
tn9mJky613JGXowQTfCDJr0mMEUZHuCXPlnPDN+gMHP+tSEhjvX6QCM0jPPv
4tikv2UbxQPCcLzf8OZTP4hEaPjHz2Z3kJdm9c.GpsVKNFHDM6BeDUg+gyM.
XbEFjh3nTfETnXhS0RlRVj6eVLzvBDlj6LORx1yijKc6KY9mGe48QCx1CYgR
rrjKLMR8OMt8VMH5IRWhAfj.9Oydra7QhLNSOcr9MR7um1Jq0xpR0FG7z37W
8Ta+7NeBhu1+G6bjInIrO6DNnolj.JC.QwfkKXRPr+g.DUnkP7gKrfPIQIEC
UG9uJzfNIkFDMmpxPBY.AVPvxNGbD5u1RiGq2qCAiUEymbc3eIfwAGdvA3pS
1qp14.1VVBQuwIgOAFPUoVHadyfft9Li53aLNqWtK5U3M4xbQtbuIWpKxk4M
4XtHWhWki3hbDuHWrKd2AHPpVvUl7pOpE.7whiuBvdXEPcg3LuQbpKNbr2hm
HNktPn9SPhSBl5OAwtRT+rAN3ezSIW5Dlx3Df83FpK4GzOV7RNHo8nED1d7c
Ya6ibU21WhUbnsl6klIkEZ+snw9aaiAAJ9ihcSgYMUpfVZzP+L8JaCGqSYAa
msDVBM8hc6xl0.b42.BIVgH
-----------end_max5_patcher-----------
</code></pre>
view raw gistfile1.txt hosted with ❤ by GitHub

And this is the code for the main patch.

<pre><code>
----------begin_max5_patcher----------
926.3ocyW0saaCBE95Lo8Nf35zHC9mztq16wzTEwljPK13B31zUs9ruiASpS
liqUaxztHACb37y2gyGvKe8KyvqT63FL5aneflM6EXjYtwZGYVXfY3R1tbIy
3DDWKYOKEF6q34cSWyr4aEUatUyysdkQHwKhlihuw0PRib8f+Q+LrJUiUxs1
mq49kfMhMULId9ve09qPjaEpJl9Y7a5wXeV5TAduCU0TJp.k6bXRuQ81zMbZ
XXQgawpU2cEIduJJXVVGJDfgY3bondOZ0eFXt0BIuhU58jZsnbgTopWvDqC5
LH08hJuIYMEBU6H8kvvkbWT5siC3H8vsVYZ0b+Py4apJKuxdqwxr7fmefKBP
tVrQ.3okWVq5RTznCU9LWBty3GNgUTxMVMGx1CNeP8.PrwtszrOBNTrGZXRg
syD3ULiHGenDlZNuny+Nd0qURo5oMR0pChiiiAA3jlsh01SnlRUAeLOP1naC
2SDBN0mqz5CRUG6n5RVk8cj5PLqWNGP676M3A04IhIWfXapfRQuDIIfD6E32
e8KgugOCSDFsqEZlOYpfJ9SPYy9ZFKemy0vOTxsZEhh9NCh7G4HxXbE2jk41
ju7ZWCIssgRGkqXEqMFmLG.cXN.x.b.zX7GFOtSXWT+DTdqdZr.95DW.mPSW
jBrhot.NNab1QGG3ayOEJN5PgGEe1S2sg8FMqdK56ZHuv2JPjnEccjJzUPuQ
OrHJJwAAzktTez0SXG.XzaKYVsX2QHyG77fAAKxkAr79MBn4xQDzZohYioHZ
Z16TnbsGeR7Gpls7+DXhjc9goBV9nWvfRc0Pow9aVL.T7A4DhFJ.u.6CpWu1
9Jh+vUllUnTBczBjkTGggu4loj26t3zmNeODEII5hVV.NfoWYAgNdUQRlaKP
R2UMyR9OopH9x.Rv8EkNHZJXB0sgYRDEWPVzONPT1HsBiTTv06cCCXpfyQFC
CBml3ZhSW5eIR1mDEZumc3wAjwglZlFdPfkquEdYvJuh1SuXD+xGBzdAFnEH
9OwM+mBS7wPsewXon5udlmCxZm3nDfQ0nyC3Q3UQ8t1Jt.dD.bk02tRafTvI
0oy0S2fYSwfvgymKCFT06XP54yfSCRyNeFbJ1K97kAilT7cDrqzs04s0D+ac
Ax.tPz4vElztpAA8t5VVc8ibsoaEdKALj2ob93x499hJe+XeeM+QQXII9gXZ
fczBTiMZOc1trDb2pgGBqqZDAb24Cve+A.Sh8m.
-----------end_max5_patcher-----------
</code></pre>
view raw gistfile1.txt hosted with ❤ by GitHub

Assignment 4 – Willow Hong

For this assignment I used two Pokemon models to represent the frequency spectrum. Larvitar is displayed when the sound frequency is lower, and Pikachu is shown when the frequency is higher. The scale of the models vary based on the amplitude for each frequency. In the video, the audio frequency changes from 1000Hz to 3000Hz, we can clearly see a greater number of Larvitars at the beginning, and Pikachus gradually take over the space toward the end of the video.

<pre><code>
----------begin_max5_patcher----------
3477.3oc6cs0aihjE94jeEHq8odSaUWgh8oz6Js6Siz95pVsrHlxNzACL.NW
lQS+aeqK.FrMWMzwcDcZ4PJLTmyWctUEmC0ed6MKdH7UdxBi+gwWMt4l+71a
tQ0jrgax96aVry4009NIpu1h.9KgO78E2oOUJ+0TUye2Kc4umtLluNL10fA.
Fl.P92JX+tv8o97T0s.k0ZjS55G8B1tRbQoZR.aasDbmACCj+BBMk+BgVBL9
V1EsILHMw6O3xuODtzFSrv42POWEoHHuOCIKJcAAN6TWvhuD643meFMIk9VD
W24RdX0NmzXuWWbmwhEE8of78BxodXViIou4quoKjM7W2dq7i65HJtimj3rk
eBLljFFcdTCVOpQoTINYYpPMLZIcffFZ.fVMvDZRgoWh8R4FBoDiGWhLI8Fw
vLVIDiYOXwLqqMDSpGF8hWfa3K8V6CYuDK9GDemgI0VKKo.HDATBaJw+10yj
MnAM.1pAqNZMVi0g6dvKfaPLV+nSrjxkj8EgAPrxJDy5DwiRP.AdMXOoF7I0
3AwO7XmDt7nyiFz5QCaaakwDlx.SK.AnVf3AmfsRHH+2JBpbCpeOk3SZ31s9
7dam.B.XE..YZ8f7OOG.fqWavKH8.6E4DKLTjxiWwCbdPyTfe5hF+tfDhCMP
CGSnJzfxZRn.a0rPwTZJrAaFa8EQpD3xiKLabuRlb05P+vXCf9mkzda9vjor
YfwlJHhznFCrUEl2CaFQFQgIdodgAI8ORDhJhMBgJYeyFEMr5hcyyy+fS4+x
zDONiqyXag2YOe9y73DASUhCtYgSTToluozkHwpuGptQV2UzjWftIbQSw7m8
xudRQqNwBjIU.K6i0z2qEAoHuMgBIuf8dENCUiZ2leCyASKPVTvJQJloxFrs
.ZKfSwH7V+v0OwcKgJB.MhG3EDEyS3AoNoYTWwoc4ab16mtpRLNhAoyc9MNq
40dwmMdmaVrM1yMLPRDUvZYy4cmvJhhafUXF02HvI5LWrPfQfK0bxDAStO4A
mX4PQlAUT9ISCC8qdphqymuIM6zQdAAGghhHwq+jwdaergq8gPwI20z8Vclj
U6CzmckPqLcUhyyUQ6TGe+L0zp29WcB7DpH7TO8P.BTbRsSkGSVGG56Wge0m
44ybFWgT7Z9KdtoOp5nxBChutWTtPzhhQYWus7jzpsk5rMoZKmngJZZ+CYZo
qR46h7EbQ0uPkojVVkrrAsJsejgsM9gByEE5a0Y+tNiXD87ALYHk+MvwFwN1
PFxtbWc1Hgq3qqsf.p0de1DMhEC7xVMK05QdBtI2aPlskABjU7PbzDU88b4F
vkho5urdjF1MjFqbTXZ2JRyZDoEi6NoUg4JvH98Dv3uFEa721.M9jA13uWJ3
hACaTakyVH.0JtY1rDZ8PF78DxxBQkZbuy5TumEhaCFxnTEHQrs0tTosBYzF
grSUnOW.ruOvVD24ImcQ+3hkunpnWMsZCqfvKRs7cErbbW+ig6ovlpkpT1uv
sCTfFApDusAx3nJN5JUuTNCJk4r6Ue5E7Uv29j3S32FLRZqhw0DnlRIDyZCI
a1kaMK7x0ldZLWDIqqgHBdcP5CUeEQTnGApD.sa0Mp0ujdChbV+jvso9+WJV
gYD8B.2FVQGJVgeu0PkSMXYDO12Kv39jHN2UFWODOXcTrd9nXhVI0pU4LRqw
EeMagqF7CMX7CYAKsl5c.+veDwugCeZMWj1mKzB2ZHb+RCe6BWtwi66ZbuXF
eqkS0ZvHmdJrD87YgnVmPKbbbtdM.gIRguMw7eWLMokBwv0N9bgXH5fDIc3B
jYOd5r4eQZ0WB5CIvJfvC.K139vMaR3ohisN.xC2oStYRrxoCF19pw.93.xe
OTfxX4SbY33GQiX1J7yt048BGoHqe2C+ILRHJFY7IiHwEX7oKz3IVCiPPqNs
grO.SMIS96Xu2vJJ5Js+ga9DR0yZQa1r8kY07Chd8mLt+YG+KxySNXolumUq
SVFZ9wQjrjCcgHXzixLaP6AJOByKPhDoWPUc5Tk87saDXoeb70HTz4CF4zoS
kVU1D1JrQ9v4h1jbgJyPlB7XsqLi9f3f9Dk4QPCNCKMKgnMhk3eUDD0zV83B
nSKup9IroStVLngEdfsnmrZoVWGtaGOH8j18Bb4uVJkGpfKGRB.ocnZd5uJF
SYm5r.VR39304icYKRrQUdzkmj5ETjRDe8.6J+hcZ7puDgUGIB3DRClckFD1
VLfSDQP6HQXMg.AoizfjVQSDMf6AMLUiEntpZXOkDAqiDQN0NMTQWUNPSoUB
TW0NfSocBDrqTwoxOgwt57tCdEPZnySZfogz.WunF35E05gYvoRdG1UyfxE0
YxrCBYWAgH.M6CTLYTAsOQpLUdngjqg3kf39PES1HRW0SyEflFpnqV+QSJU.
tFbRC6QnammFxZLOmyWHS6X2U5TrdkSpXBuOrOUOIrxIQeuRE3s9gO33mknu
EIJdS4E7gjG91Cz6nWlXp0u1O7ECrgJuzvHCVQdE1857.BnVxRbfPg5mFMoo
Rc.cEWhXWR4dXSUkGFwjzd4dfIy06QK06ASuxoYqD3b8dLWuGy06wb8dLWuG
y06wb8dLWuGy06wb8dLWuGy06wb8dLWuGy06wb8dLWuGy06wb8dLWuGy06wb
8dLWuGy06wb8dLWuGy06wb8dLWuGy06wb8dLWuGxUxGLWuGy06wb8dLWuGy0
6wb8dLWuGy06wb8dLWuGy06wb8dLWuGy06wG658Xq+xc68S8h74G1jORch2x
U4wtguLGwE+cuK8irhdfBY5s3CXiU8.dH6PRS59eheniqd+EomU6QosForxd
wDz31aBcH68KS69qVL2wsXneoqC+hPA8p2A0YwFBW29GFNO85q7bKu515vZQ
YJzk6ePSphNjw8N6SC2IrHsVXBJ6YFQj+bI6+VTjNMKo3FqsJ1UbwU8ICrYQ
xq0cYLFVuyigUO8QBpQ9u9cQnpIh6THxToxK59frEUuhs5J.f1rUDyFsfV0R
Ru2ZsNo5JlF4.YgLk7XX5OFv9sUlvfNadNMAFO65a+dHKTCqu9s097eTWIV1
NeSn5bSuQ9tdcfixr5ehLdjySFwgoNhFd6ONNQV6NLXpWKeDDrjPvXjsLktZ
zh.qutOHiBLHCjbuW+4O8NlV9Se8zrj7b4DPmYs7NVRb5..xGQVbsGiERWOs
sDiE3JMFqHumbV+39KMDKLP6oHKOv5WHVEolyuvgXkgiSSDVXRVDVMV41zq3
.rRddyOj61zmGEHMfB.cMepbtznSUjYaNWtqwiNOpfmZ4oxuuCdza6ikdgG.
QfA7JOvT+NNfPUaskP6liJ8ZVnIZyFQjXeYuqW3WDiPuk3k7uCi+ugOw2EFH
7DYddrAzv9IMRoSgMkoGLovQMBz7qEhxJuiMuKeAH3qhE9G8eKdEpK4CcB9n
y7d4NZZASryI9Idbx9DcctyNCug61lg6Y47rau96+YSQu+YBS7gDeEnl3CHR
7g3uj5vE2qIQXoTAC1CarZ2UlmuLAqfSntac4cPUoKqjVlKpdCRTBRuPZ58X
ZRiVgIWcqiVFz7nSfq.XT9mWoitb.FWI5Z6tRT9zFEbFzBK1rrh5ZplPNZ74
3krNCkZNAbpasxIGVm5SFH5ZGw5PGYNB8iUG5mwfeL6BvMB8CA1gNxdL5HPW
PN3X0S3V5IDcr5IRa8zX0QveFhCfxYAvD1Q3tXY.aMF8TmTYAiQOQ5BOgGid
5mj0ATWvtxoE0v6IyNHgipBvUSclItqwmuqAWVWS6n6D3kBuntLPNFNHQcwg
BbT5otpscofGrKAWLF9SfV8Hbo7YF44FEJl.UV.ZXa0agPK8jwI.yh+5Rost
DQBqhlTgRB5mSOiFaKCctmwisgAXWLLfFC2ivt3KAMFNSfnKV5lpeuRNAR2c
xp0X35F1k3fgm5RUOUridcUJ6jidMUdzqnxSe8TV+qlxiesTpROH8LCOZ5eE
qb9t2Tm9yH.jBX.SG8bPyeIQVEKdX65PeMs8UCU5h.VZK9mEI+Ha3cxSTfNO
rcimuewUUNWjxmd6hswNtdxxMIOMhJ0IfkHa.zVtrPKw.aFfnORzT0dJ6pfk
nsJebz2Cke6YlHKBUdSYV.JioOhQvGe6cB1l8Zozpz6Vwn3vnv3h2OmKw1Ee
+8ogEbVQJ3dHgs39hAPw0UgYwPKShkjFLoDa.RAqxlNBVK+vODRb+VXfy5vC
KPfbAMT22UdARoMd98WMhk+Q4any50B5rBsHFUY.llBHVV14GYSqdoBFY2wW
K1xjoGorYlPECQLgLLI6Ru8.THe.+hK+3rIagZ8oxAtx5oEht5Ew4e5umm+5
t37Rsmg2ZEmGSBLN7kfdSgGnKpERb7cZTcRnv+0aN8m.AHaJQoWZYgwHEXxP
Pn7gPM1D3+IlyG.EpPO0h3KOBZJ00Geh62b1JeG81axiI79YpnLfIPPbJnzz
FVneMhz3+i66G9RyjX4G95WUuMgo1..qISDLDUqbawfLnhUnBohQkAdYmx0D
EA5tqIgxLCYSvZ0ZFkZoOBgjOjgqE+Ss367DOUPrE.pUyrLwpKS.6L0BKOgd
ppvsh9iorJgXLXFyRgX76f+IFEBTlEYDDRafjgA.Bpc2SVLfMTCf..Bpc5Kb
4KUBGnjq3Z9qa++.xlgUE
-----------end_max5_patcher-----------
</code></pre>
view raw gistfile1.txt hosted with ❤ by GitHub

Assignment 4 – Kevin Darr

For this assignment, I created my take on a spectrum visualizer using jit.poke~. The visualizer works by doing spectral analysis on a number of different audio samples and writes the data into either the red, green, or blue channel of a matrix corresponding to the frequency bins. The result is the visualization of 3 audio signals simultaneously. I added a rudimentary spectral degrader to demonstrate how different effects are displayed on the visualizer. The audio used in the examples are short loops that I wrote. (My favorite is the 8-bit lead synth on the blue channel due to the pitch bending.)

 

Continue reading

Assignment 4 – Vocoder using fft

I use fft to build a vocoder controlled by three keysliders. Here’s a quick demo of how it works! In the demo I played a clip from “I’m sitting in a room” at different speeds plus at different directions.


----------begin_max5_patcher----------
2170.3oc6aszaiiiD9ryuBAg8zBmX9RulaKv.rKVf9zt6gEMVzfVl1gSKI5U
RtSmYv3e6CeIYIGKElHEmd5YZf1wjhR0W8whUwpn7ubyB+0huxp789AuO5sX
wubyhE5tTcrv1dgeN8qoYzJ8v7qE61kw7WZtTU8ixFp9a5o3PNuHiUqGM7Tm
hC0m2qoq5G2yL.vmWT668+rWcOsN8ddwtOUxRqMCf..2AV5EjDdGP9uP3ROD
Q0i5y1ajuQCHw5e51H+1GVIMmUyJ+Dqft1.Yf5R+5M2n9XoiZeNqphtqU8qY
es1Hr8rBG4DzKiSFkPv33yIDbjlPPWlPh8eEJsDoqYkGeg5WtXCqa6shh5sz
TC02ouJ9Oq6Chuqo6J9N8nZ6nOWgFhqj2WAMyeom+1LAs1EpKhDXXPMqguLq
AA9c.bgzRReo+VIWJsWCgxdP9XehQT0VI7DkaN5gdarkr7iCzRXRxcgx+EGI
oH3XVTvWkIkb9Qh4WnWjArV1JJyoZ3G9xLWTFJqoE6FkPfxETARRv34ALlYB
JZDyjqjinp8L1FOn2eA9BMgFfbmCuTVJDhzrWTvXbHddWosOi9XFup93jBXE
77Nbtz2T+eCOslKJnkONNEAzrBLFo+iwNCCFXIWRC12PqoVs2p9K7Sy36ain
24BJNkmwZ4zOPSkwaEU268O9weX0+ohUVs5exjWe0eWHjg389wR9WXq92OHo
OoI0+RqVUq9.aCmtpRbnXS0pRgH+1pB996n7sVP0HnOyKLPldXCWn5oy.xDh
8c3aMtkS3rh5OUUSqYMJUW3uvXbaTsak7UbC4bxMPQCedh4LqO3xEL0kLIwa
FP+K2Dq5iJGBU7T+dW8+eflwqeb3ArmKetU2y2NfzEk7cbI6IY+c0M.PMCKw
U5mq5+vpxNTpfa6v5cUszqOTvK1Y2SDA7TrHihnrsjFdWRa6Cm7pKKolQUyx
2Kr5E57AoVecIQXmLFGGaEYYhG1kIV2SJxA0LF8pcyWrcZ5Ydh2t5nG4cKPK
LhnbJF.0af0D0cnXrjj4bWFozL1QuagxnDf6RhUVqtteiv4e+FAAFWcgZGep
vBivCQyHOj9XphGdG2pkQ0Ql8WYaLjlGNiZ9e8nG7cSqQIZScLQGoCiFUqCl
S6d9tiuMos9BzZiYNdbqb7Lp040hsuMZ8n5afQQQAXyj8n5K58ICBzUJChXi
5iQlLMGctGGb8Rg32OLXTXr6LX3exfWfAAX2Yvn+jAeJCFZJrlaLX70iAelc
2b2TJC.5kVF.GhDFDg5xiIiwiIyaw.RE44xLLeBWsUlUoz34AZ4lUpuull94
6lGax97F34cwAfl8Aaph6.E.H75vK6n7hqNOXcTY3AbvXzPvUopr6umVIJOp
Rz9auES1sYEqWFEO9louNEwtlwpu+3KLexqEQgCMEViL5gjPfyKS84pL9FV4
jR4po28krJ4ZUpplJ87pZV1XV0fCahQ0pdW7r1V97G4l87.f1zzuvStaAvIW
ona62ts9n2WDoBIuda0g0ueIwizTNAqWABAitu.zrlOK8gipSD8cOS9H8hov
Qc9.I+9OmVq9ZqWy34zBC9F0QANxTnMyIo+V3oX3mbW9I7ObdJP5SUyQOEvn
um7T.M6OwMOEeGT8qF80r80mwSA5aTOE5kwuUdIHtrcBHbtcRv94MzziSh0F
I2EXndMcj4PLLpn5yKtGyWyrtJgroUCaGd0YdtYvlCtx9tPXNvZx.ong9Cma
d6I46na9tVA5A3mwKN+ExSKEU+84kJwgxzFjYKWxoSX0eCqplWPOc3qs413A
aGTNeydgbF2JwfXnZtEGfzSwxVfjjjnPaWlyf8IyXthuXGvGzNnIInnqkfHt
P4n4PPtnRjfwlawg50sXigIFAZaMUrE5B1hlCVHvkIVxbHIrq78jkDxEIAlC
IAcwXcTan.XfxpgfzwsIPRaqohMfq9tlpjvwtJIzPrPHIriWRUqH...QyiWR
bjq.DOD.ifnN.T0BIciGGOS.LzU.RFDfQQcAnrUhjAQjYBfAtBvfg.XLA2Af
caMUr4hGrjYvNG4hYDdNDjSrc+.kmGZBqCFQhAlWBRcBS5VSEaDWvFZTrQzl
pHhdibVGf5VSEat.swPlkmBSh0ucsQFuQpVmxRqTkjnbz3qBTgNBUyeF.pn2
bnB6GBnUxvqijgOUxfIIYXhqA1G1VpITtMubPaq2EvBibGrHDZDvBuBf0cr1
s0ba4CcJ8p4XijvnI6wuYRa183CcYyIv.m73adgO.mZMUr4Tjx4HlLj35hrg
SWzn2Dn1Ws5EWro0TwF1w0TCGMwD+vBstslJzbxG9rLA4RtXPj6loVVXVLSm
7p6F2bOypaSAun62+EVYk84qQkeN8mDZWhQK0M4EllXcyR1W3Mimn6gVldOu
lkVenzTruuFaNfI8urixhCbar.IebisnfmUjs1i4O+QSMC0plT82ROjU2mxT
kcLUjIJ+DuPgc14UL2n2c7wud2VdVl9dN+2qSS4E82UR2vO8d3n9EwXGt5Qi
R.vjP0iFCRhADy2jcA6II6cAats3.HHQM1XBBQLeCC.DzktKT6Oekk8+3z3n
E6L0SEE09yyTcDBh8hxFaDIvRZG+gZQqh0r4AyzfgW5njPC0knJ4Ho4aI80u
duRFRiwOHJnoB+F6pkVK8Ro3Nuzu94xIRdCH5txnct2Tc4+KS86R4V3Xl.ce
iU9n9cVIPlBa6uHIeZZJqnt2LXLJ.FoTqnXXLTajDjDPBr52rn.OnVF3kKJD
U6U+Va+dvH1Eyh9FvRtFhi.ZNNFEEh02lj0iQIus1y8zVo7hQJIihigVkM.h
wvyo0d2UhDjDrVOihCBhLeCgfH2VHLhAnS9B7YYr7yu0nXPBzvh..BFadJXX
X7q15UdO+5M+FlmFofC
-----------end_max5_patcher-----------