Author Archives: stembunk@andrew.cmu.edu

Project 2 – You’re a Twinkle Star!

For this project, Alec and I decided to merge our efforts of audiovisualization and pitch correction. We realized that the pitch correction system Alec created could be used to pinpoint a user’s pitch and use that value to manipulate variables within the visualization, so we decided to make a Rock Band-style game where the player sings along to none other than Twinkle Twinkle Little Star.

My contribution to the project was primarily on the visual end. I took in the variables that Alec’s patcher gave me and represented them using jit.gl.sketch and jit.gl.text within a js object. In addition to the point cloud that expands whenever the player sings, I modified the particle system to change the hue of the particles in correspondence with the note sung by the player. At the bottom of the screen, I added a player cursor – which has its y-position determined by the note sung by the player and a fixed-length tail that shows the past sung notes – and a scrolling bar of upcoming notes in the song. I then added a score counter and a method of state-switching between gameplay and game over screens.

This Drive folder has my contributions, including all of the javascript class files,

and this Drive folder hold all the files for our project as a whole.

Here’s a gist for the visualization patcher, although it won’t be of much use without the js files:

<pre><code>
----------begin_max5_patcher----------
5854.3oc6c01aiajj9yd9Uzv2BbY2yQg8K7s8SSRNrAYwt3B1cwBbHIvfVjR
lyPQpPRMd7Fr4290cWMoHkEkZR1jx1mSlwionjXWOU0UWc8V+qu6pquK6yQE
Wi9ineDc0U+56t5J4KIdgqTWe00aB97xjfB4a65MQEEAqit9F3dkQetT95Ek
A4keWvl56jtaS1txjnR4mCqd0hxGShjefp2G7lJebaDLLt9ZzOqt01fxk2Gm
t917nkkvc8H1KrtA4B+iiq3mDxBq5OC+wFmV8TIpWLNT9Hyt6CeoK6Zwq8ue
26D+3FMo5znG3e3mPz4HIYOKjriCV7OL7oIYqmRxN9Cgj6hQGkFJXyneGdZI
aWhUCNsmUu4zNTixo4z8rPvJ9L0q27YL0j74hnxeHI3wn7eHqXxY1TWRClMF
yVX2StMdXR47u16hxONwQ5AwcC556BRWqCQ53yjRzzSSi3iQitWW+0mymDVF
keaTZvcvvyxjh6ahCimEdtRd28Lvwwj2crMp.+xr7oWslCyRPnJIc69u.F1w
vqfIH6YglqVAys+Z1bvljSGW7sY4hg2jyss4L38baW6AvssLJ2dIP3yBUq32
118mea6YTplqoLOaZoYhkeSqz7G.M6ZRYblG5I+YdP.eG4Z3182hMrsiQY6k
ODm9wjnzrR9dblVZ2sI22iM.tOyjb+63ugu9Sqm9Uy.EaDPmNeM7daj9fD5W
kjw+hm.q1VkkuIPRaNmhnsV3JLVAKMf4bB5GyPN1LYG2tzsAK+HxZwnEC3Pt
.X94yCKXOoB.GZ+gEaCN8+CwkKncHiv5mLR8eOI4isVPrqU7Ya0ay6IDip8K
XWX7DunmsbSpTp8.sqyk9beOaLXyZN93ANU2kX5o5coy+9cS+tWTvgxdV1.b
+lYMmkSyyBAObmxLn4zBcWq1VrdWrQjxat9VZ4pfkQMGrhWqH9eIeM4JZmyS
jdL1dWxIl6quB9qa7LSENKVbmuNONHwfhEaQen362rMKurCq9r5D9NBQiswB
M4XKv6b82vdGmVe6bMW.EoHINXDmD8on7h3rzF31UWGrcaiW9pFeDAN7gL4W
j6M0uTbJ7Rz5WJO5SwUed65WMHmSikbBbWNP8e1qZHJ9ZxBixS4RdhgB7hbN
x6p9BqU8KABrEL8fIAGlPjnBW3Lu0IYK+XTXCbgKftMJMNcadTQTZYPoZvUe
6vnUA6RJu83Bksu+ABxsu4ARWUuk04wgYohAQKnV7xUONAKG1ASShQ9NRC1d
jOLmIygkNtYAmH2UbWPtfSnz5SptYYVVR6aU+4RhVUpt813zzCPwxrscey73
02ehO6cY7at4Te2x6TbK23Q4cukOgq71hfO0FsKCRRTy.a+0+4fzXtUzQkw.
KfXUeSXku6KVlmkjzhdg67oibmPtP7xnGhCKuW9fZJLve6waqDhttlKGFuNp
nr8qUFrtn8q7jo+7WZ2cpIo2VFsYaBmJZ+FZEurlyHapqp0qeJcVGXwZA5ay
Rx1ku3CEMeCGcksNnfSuBWm1wIm9hoNGWEWm51e5hcMGbbAlvagIG2FTVlGe
2tR.7t5IfDnErdR6wvgSXAkRK06N72fkRLOa5GBxKiWlD8O4jV17ytXVtMVR
Ba4MXFF10TbrSAIOC4b+4nxYmsQwVMXa93gy0Hllq8D334DKKKNs7a45CBmc
NFA2z1Oe5f4XtXiww5.MdFNGa1YWXhxnTqiGsEsYWNFWs3yVl0EZILkEGilS
Yr4UFacq8aYHINsxVQzO+tlaj5bizecHF3x2s0cAIJyWqoqSYs6dShe2dhnm
6AeY1lM7cxcjzGIMjyxQ4Agw6JPkYnx6iPeye56JPAogn+Ybwtfj+673Os2S
dB7ZY1tzxlt3XL6b2BrSxl51HhTTZObXgYyv.EVL0NoyCh.mMVZggS+iC2vh
9ZWT8VkJv+FeyTSuCJs8jAgv12+3FYc9HRYxPOGmN9PsK9NzhjcfvN526bmx
YPNorXKeHjmUrLaazuMwwYP4dIuF9bh4zCJjY+xKLi07UvqyCH1C19uBCyXM
r.Qec.gYbXIZwyjvLxXdxvLxbcFXXFGVRVLiy1wfhrwLc2jb3sqVU9aH9Ot8
SYKCRFeljTDuNMHQKH.xOPOudKiS8MZb1tapSeF4N.nfgKj9mvXDGCOklqdN
O9yn2KriFI46e8lsEn2KnHjTIEkfdeX7F9LPDF89sIAJiWQjdXOaOVEgOptE
FUmUGgBNYDUdHg6cf5nlDO4nUnv3PNTMwYijCHFopb.+dOqw+kHU6aIWCfZi
GHUSmBplrXhoZXScDKsxr1ikXFuDoZOlbGsCmpGz75t1ieyMwu3CEnvnUBWd
H2fe9tzB4V9CyCdP3Hfs4YKiB2kyUelkKuyVgqLQKE9x7mROpRS53cBfumai
bV.ColoHwUzGxXlDy9KbQEoeQh9kcw4QgH4GgCZBT4P.sLC8PV9G6.cLfKRH
vRDUQRBRU694gDrIQm+CT1JPtvDotQklQvsvpYKV8wTYaSRbBlGWvOOp39rj
Fh7ixEWLYcyPA09UIccunQqWRVJV6SO05b82TQlQmN+OtOt.JufzLtkhbyyV
uNJu3O9So+OqVUDwUuEjrbWhLQW9oz+F3.vB9KxIqup08ZnMrRm4Qm0yFuTi
x469pI8dUtITaYFFwjXn.Nh3lWmDWtKLpPp3K3iQvxGeJHYGeIi7rMHYRsys
B+Gw+rbIF4mq.EWJzStg+I3qwHjj3eNN8VftOX61nTTb59UatUhuSEt5AtjP
DPdQTCgzguW.K0nJbJRhCUHHr9hDwBQA0X8zsxB1B7LC1W5Oxg37cB9kjlIW
OHqwnf+W6uhISl76RN+L3LN95ORQdBHqyNiOJoGQh26kmmYqoZpy.8LKwyzd
l8xhHU6FCpDfg.H1mDPT2i+cDugSkPZ.9hCk7bGIJgclET5BqTQoIc35Tv3W
d5TpH5gKaXMSA64CfArssXyv0ovIVeE54KXBo2HTcQ2oY1WzJ+P5jjOURhLn
LpP394kQII2Ixd9SGXomfhIwEkGOTR8nxOxydnEDdzd2fOTqePcwfUYbfyBa
siQC0cVJFjI2tOFsYbH6uYeT7TF5hp8LcrHWfe9E4BEXVk1FCHvEzIIxeBXb
Nh6mJQGfv9M.W4SrLZcTUvkAB4pA451FuFdE4eidA.ECHAriZu9qrG6+Zrpq
nPk2AqDpp+bGO22p5p2p5p2p5pgkCz0wtCuXlqhGFjsCp9e0vyAZXIuoOawu
XHEl3ZFjBaRjBnitQBqyhDGyvZn56XfmknVU+r+jJs4SpxCwh69W4pTadu3z
vHI8RlTvIHMMa+ROWaXbSY3zngMutPsuYuEfsQMrAQs1Nx+ffs2L4yLl3lmx
iTtcD9vdT5myDNbHiv.nfqkg.A1LoI9O7aFUA7A1ieFcSTHKqdZdl24196vm
+FBmZ42tt2hRuVQ5Pe3cb+3ctU185Hws0ekc+1Rtc5y2N766zKItLnXYPXzk
QdTMuEfYGx4g4NjG8Mp3nb6xqyC1d+IPE29iJU91Cbf9o+kp2ayZGoK2.dF3
UkaPDans9Q7NE.607FUNNnafu1m0ZIeWDUBekJqB4CpaD+zR9G2ETGGKWW9K
svxh5v3+l0BWKWrk72rN0OjeO0eUDhks5ldLpumteQpp76Up5eUD7Gs1eL40
s1+pcqLZs+Du2z9eBwQrYT9qJcf2z9eL3cJU9WGxeCn72Vno11yUnEegqCwh
3I9MalkiGsmZ+cb8VXSo99Rs81tXpq+EYE.IxNydZguJJ++vbLCyzcqzV5za
YZtW5+tHrBn+92CwCPy8Tez5p+PfURRh6eb3sHaW9xJv.r7iy1ZQYgQEkwo0
9o3Gq2wh7MpE2suCBZuFE3VuwMwgpzkVUbj1xzAF1JK0C1vF0cwjM18zbrK7
G0zgf5Bf9S3ffnMTPNGaTzIt1yFcslZtHeMvdLzmrQgsliB4v8j.nCTVrNNP
66gVe0DMzE55zZn+zo5GLxINK7TZf8IfA2x0dacAQ06McAqv8NT8bVdHrPo0
kkZOhbU2jaUOTGXchKNNMgmFZhnIMMkqDH1Or1hQmbBPkngib8.F2x3pqlpg
tthDcieudaRNQ+qvfk+10lpxMnPUrQ8q9o9c5Cqw2vs+TvdfaNaE29PBBPcG
Z6vv34b8458QhjrpLCEjjfnhBaSTFJh+1rL+tQUFjPBRcirvVDcIoopdHqJf
JlGAJRERuKHRalgyXs0IK1DUbOJOa4GuS..ueYVRVNWMg3+wn2KpGpaEoHip
1.QuGplGQxifn8.pllrVSU24U8YJnOAx5bdo+QfTxKviACU01aOzViuMdlxX
YUBKa.8udpi2GBvh6ee4fYxVLPQW415PpFPfxHt8mjFTE7TlsdcRzj2brZ0m
AU8CCVeHNm453aPniadpcVG3fZh1+SuAlIyt1eQV1rH2QSzm0xgp1aMnnxq+
j8Kv5IQ02CFt0RLq4Rxutj3m7tCnBTTwm2s+S.nF8T5RXe3jSxfUyJRd.mXK
TSdpDIZ3rs6wEyBC2CZEl9CnOZYMlhF53zpwqXnt1GBzuQMRilvkY2nOSXCm
Ou8ox1I9uXqIuJhd.U05bcd81nteRyhKh9qvuSpK3Gr00y+FhX9PJ8CGHb8C
4LZW5.RM93rTTw1nnPCLevAJyepkpk9i6ceWgXzJUBkIa2HilIePvj0oaqM3
YGXuWiknCl4KWy4K8gNuLESAe1Y+VU57VU57VU5bpLMpo2jmxb45nEbHT.uX
qQl0VtmMqVloDk+qKPAnkYoEQ+xtnzkQ2Ht7dNVDU0RjVEmWThjTD5Kd393k
2iBEC1Mxt3mr48Eym+kkW4753zUwobMjHoaVix+8puvBtUGknrzjGkuM4hrx
N4VRvi2Er7i2f31JiB3JV4yKdrQy+SLP3yDZ9dWf9KYODkK7e999+zCwIIns
6Jte+ms.sZWN+p7pujaPbRHIBkGvUYv+zwkvGKmO+HMT7A2zptkZ4tXGyVQA
LkUxxX0BGZhtW55I3TxJx1XljN9OKPEYbTb6t7sYEbVtrKDtNJMJWz+9AyLp
5oT76rRvp4riLT1tbYjK5FjoSAHKWNx04vnXnegRYzhB6BjyVpxjGC1gMhD1
xoq70Zxq6oIoT5vPuRkRoirlvH8BWHO2wEvsWiGVvWLwkSjQx+WBubaYY1BT
s8dgNMtRfD0w1avIjLdtphruRX84k.opr0hAdI.ObnZtJ848cQl4JQbAHBCP
DQiRd1pyRrYlpE.vjvtgIV+gI4wmy9tYzSxm8S.bpjISCYK6dTTXWzjP1cBy
7L2mCowqSeFDmL82HTHKBAuzgYr5qlpzeio6XeJSePcyCZx4RKSrJgA8.2aZ
6Vk0o1yZdlpK8bDzuaBRrYLmyj2r3Ke5c9+2xQxN8r8cqVO9nD1H3E5D3BHS
QrGPqmj7Zzm1v1q+Remp9asGzFpbdyk1u4R62bo8.c51+a1NgiTSBQ6JhPYR
eYJidKJKGsJOXIGxENkiaUcZAJ.7H6cAEwE0GgJeye56.eq987WZmzKmAkpu
j0hv+ye1njrrOVveRYIbTpauyYa3NxCT.gPlWnZpJtrA3mA+4yInQpzvFwI9
s6DtXVbtCr+fqMOBINnCEsPew4Of.bKyZEwckm02Dv+EknkzuzO005b9QdnX
o+nhich3zMex0vs.Ha5S3Sx7kr+9Iyd13TOjsmivm7DdCJKc+AKzm+xlfqfU
07tO17tylypwMR4Lk8zCyc0y6zAHy0.ITopmaPh5yGpSAQ9qI3.USD3K0buj
uTEJFAbCQL.XUgwqVEkKd20yeJhDwHqLJ4wYSyDV0+LUR7NCVyj27GdFgzdA
H62LrL4b7jqo5PcJBKMeben1DQnooJl5LCqySCEyJ8Wg3tGdtnneCQxnpXZm
WlsgbUft9cXj0754OGKnG1wfSOFmA6bTJ8UOVAGziF.pLZKoQjLdaEwbN6A8
xkgS2L7OiAV1LomNAGaLnIUD+WfTOjKuFf38doG9WWHMCTUG4vC+Koy90wWH
CqyuG8PjXqleEjVwSdvOOkFGXjrO44mWrtRgyyklNj4k5zKNdpkpLfnG6bhd
O1NAWaK0QeEfkvRYF.JomCJ+7ofxm8Y0AEKsdzV+rcoKE+cl+BeA3D.NRcyi
fI0EWxTZPtfZvxOhHFMyH6Hc9OGtCxoiI8F7dsFydU4EYSFaH6cmMDpYcQOS
nj5vMQASLmgCSy1dAg5z6Ty+lBfR0NATFaX69LIghNEPIEmt.PEEN8kprKyd
3PkQ2H3kLe1USynVrQlO6ZzidmuieBIoaRQK8pM.0YyGnxxY3XoyrMQLpTjL
.pnEI7XKZl2pDl1bqRX7vSxuYKpBO1v+oscMpIBGluCzItZV54VCp9RlI33y
SIbnjKFObLWIKqvJ76VsFgaTRsHB58vLLYH.WTEw0Koc5pi.ElEowYZwvZ+z
ugrGrJfkgPV7rkZo5lQk1mM+47YP8N6AokLs9pIJWFsMVpLpFqdPmaR0GCDW
Mmoxnc+ROzySNf+Ovd90WMmYxH0XYZpCFXH9VMYO9VSWGKlXJVAbFHPgCqzJ
NgOd55Ru8ssqdY6Uvmk0S7pmYZ2Zl4rljw526i6G8TIPzM8LMSMI5lI5zoLU
9IZ2RtmzNJsthpmssLqjNYPM8ZSn0WMqxp5Jpd9FEeE8PqNTWptZVSHdcaY5
jIsrIbMlsFPC1iBkMQsFs4trIbMlwFsnmZMZVyqFMr1FOYMkRILSIkXybpvQ
qVRIyaSbmYJojZ5okgPcag8EtAteV9C0k7LXGCXiYmZM8X0h+7bs3mNewbwb
TGOFpDfZ+UyJCxpmGZF5RPU7qtIH7yhV3+IV2.jwTVKoVE4DVKcYoGr9zCXs
Dw4LVKY8pnx8jzVauQAEx2gLBU478zhJt0L4t1.PqoQGh7dToembgXq6CNQW
dEfmOoHC0cr43qwXqh.F2ShNZTvEb0f4QArNiMGpAPAVycjnkhkmHJ3KUif8
UEgnMt9xQN1zQTvFa.PvSiGDy+TffOQNefAwSyy0p9p5OQaspS5XssuzNP+2
fextZITZc7GMcldz3m9nIS+it8QE2rB33NdziSJykniZXKCL2y0ZzpgsgCRL
yqF1UigV0oi13VKxazf.ywaAQbJB.mQcJTPd0XGb5.CFYEYcD5b7LwSRmIVN
F3AYqyZXNDS7jFuHjukbK01LbCIH4UicroiDjsuIPAGMrmw10DOIrNxPlPX0
dll9wzYVAyD1awzYCHLiXd63MxGaAoXsmEqwzB4UicvoiHDyDhPLsVjkYn8S
b1YElvtApVFsajmjNyKrcNkLDwC1dfCTf41tKbqtbrCt9rW9w8jzZpj6TXMp
VOZxjroGJY7Kqp1anWSCyjWcQFrsCDcmCVnXvc2ekwYp5n8iZhEAn5n8yDqq
oiXpITmSzxVOi7jzxxsS5eHWHE0XtfUkfMlxqLs3uVC11mx2cMXwPJkqx9IL
w7h+DcVUgZh8fPr0UZgzoVAHVND9dLkGqJtj5KMNSTmQKFq0nU5XROHS1jWY
blnNq9Zahs2QHZrwFrI7EgVd9wDjDVm8FSLgoKXOcULXjmDVmmDYrOIshTxo
sLQkRbSP7KzxmQ0jvHeVZowvw0HOqwG5LGUOWaB.csbIgCyH.gAbaKrano.H
zcAuNsCvS0JZcnvBdpdJg3RSufmViV4Bdmezx.WS.kEmCy7K3g0xMi0RGi7Y
okRDaGi7rbFs7LAKsNxiHkU7gSv8Ctxxsgrt7pQOvYZCR3Q+rz4QYD0K5PTl
Qide1x73dR5nclXDZxRWMJseRPhkbPGOV7PNnSGePWN9oc33t6twG1Yi4O4+
869+.N75KwA
-----------end_max5_patcher-----------
</code></pre>
view raw gistfile1.txt hosted with ❤ by GitHub

 

Project 1: KeyboardJohnny

For a while, I’ve wanted to get some more experience in Javascript. Whether it’s because I see money in web development or whether it’s because I am drawn to masochistic scoping and global variable practices… I’m not quite sure. Regardless, I saw this project as a good opportunity to flex my fledgling js muscles and make some dots fly around.

The product is an audio visualizer comprised of two visual systems: a point cloud (bunch of dots floating around according to a noise function generator, connecting to one another with line segments whenever they are within a certain distance); and a particle generator, called a particle jet because I want it to be. These systems are, with the exception of basis function generator and matrix to calculate the point cloud positions, entirely contained within Javascript classes. Heavy thanks to Amazing Max Stuff for teaching me how to make these systems.

Informing these two systems is an amalgamation of concepts we’ve covered in class. Starting with an audio signal, I used cascade~ objects to filter it into two frequencies, one roughly representing the bass of the song and the other supposedly representing the vocals but, in reality, just vaguely representing the treble portion of the song. Once separated, I fed the two signals into FFTs, then packed the bins into a matrix and used the average values to calculate the parameters for the point cloud (radius and line drawing threshold) and the particle jet (rate of movement/emission and color). The point cloud grows whenever there’s a bass kick and the particle jet spins in circles around it – it’s all quite fun. Here’s the gist!

<pre><code>
----------begin_max5_patcher----------
654.3ocwW00jZBCE8Y7WQFdrikgD9z9Pmo+F5ic5rSDC1nPBSHr0c1Y82dCI
f00EowJpu.xkaxImyM2bvWm43tjuiT6B9B3G.GmWm43nC0Fvo6YG2R7trBbs
NMWF427kabmadkjrSpCWwKj7LrXe+aXMk7FYAQpGFpKpIj7kJhAS2Z5ZFtvc
9geA9YWpUXY1unr0OIHYRS1god9yAnEIs2h80Of77OLD5J8ZQs99bZ+5nV9R
gFL2iVYT1gEVar2lMq8x7qSBxykJ5sG.GVB7GgWZBEfVzdKJbLdEdC4UFurj
vjefXYMRddN.WVUPkMqHdfuSj.IGPq4EXIArklssteXETFIi2vjGW2sVJPHX
K8S0WgQ5ZbPvvZQrkZAb5pwEb7pRRcMHIxa3xL7b6zGcmMLNtkogQZxiFaGP
vMj04Eb0bbgsvsMuKwr01PPScMZzV2D2CSi.WRjDwSDFdogq8acx4hRrdtiu
6aB9z9KrzawQawodIQpc7IFoYgWz4EHXz8+vsudC3LLvzkihsfyg2eNugJ8p
3aI6AKUY9sxpZ.D3Oks88bV6qAChFqs3ATzU94RtxY+lZpaz.n4b+wM0QODS
cJ6rd5AVq.V9AN5c.PiWPxXRA7+vEPOOZ+4S9hO8JoM960mZdiHqmQceTE3u
qlUjZk1fkTN6nbBM4LXE3RvAZANvqDmDK3CbJ.JvBfRl.gCYCghdWRbwJh37
FjSJxgCir+Ug7I7YXnSeXHeST6STxQJzW6NWnEshuuccpDW0jhrPamBB9uTR
zDzZZiPhFVH+3Y33ppmIh5tQqwT4lsgqSOYt9QJy7n1ixUPdl1mejNBVnbej
JqmFgw+XWp4OT4VxU.yZncXqP9sY+AvDOHa9
-----------end_max5_patcher-----------
</code></pre>
view raw fft_bass.maxpat hosted with ❤ by GitHub
<pre><code>
----------begin_max5_patcher----------
759.3oc2WkjaaCCEcs7ofPKKbMDoFSWTfdF5x1f.ZYpTlJQJHQ45ff3yd4fr
SriFXpkhA5FYqOGd7897OnmV33tluiT6B9B3G.GmmV33nMoL3z9tiaAdWZNt
VOMWF4O70O3tzLjfrSnMmywaJH00.n2pCCxZJ3MhbhPuRXqUiIwikDCrttfa
aGpDKR+Ekc+cUjTgYTXTzJukfP8yDj5IR973RnazvKORe1+.t0hGy0at6qNI
T1wChx1yKVndr7xXcIOWvSwU66lxn9nbM8dFN2c4w+MjDD.Ur1Gdi5mHugj.
XhkZ.Z5zfrLgje6Avt0.uQIVnlRgACRr34jXMEqIUuSWnx4sFytePWm+MwZV
4oIW3v9tH2iaTEtfHHU2QX30F15Mi2smO5mnCagggVPez+gzWeAGhPVPeuqE
86Mplxx38jXKnOcgxDJo4s+LXBNOzK43kxTX+xTvLliOkWTPTm3yjhzFAOKC
fKJyohlMjUfuSD.AGPq44XAArUVBHu9mrCqLmxHo7Fl30WgrNqHxbcINToCP
ysFe+tkinYTNxx4x8XNhKZqoahNFNrH1lnhLdUAVu2Qe3wIeZ+6raGKJ3Gkr
JV46iMRyMCEP.C+3q3+0YfyP+1bkQVv4fOdN+.Urpj+axdSz92JJks5B7lxV
cOP5DsP3mLTbwUvqKayUvkM7Nq85Zz.HBNdutnqRqtTVuc55asBXYe+5tlf5
.hf3Aad3enLfdezkpN6y+zmDk8S0mZdSU5AF0lZF7xoYCoVpMXAkyd0bTQpx
vja6zEXKPp8.MFPQlSyECDbLfPSDPiJcdS.P9V.T7DfCxFBEdxj3Uajcc2aw
3IE4ftQ16hPV8s1iC8TntZjf1fzkFpclOpajlE+nUHeljOUNx.au8dwxqEYx
lJbFiPSQdLnE2KQmLmo51hMADIcir2aJBhKK2RppaWtFTY6.Ov0SOdo9UJy7
ptHuaEYK8v7C0VvUxx2BYs6lJSA3cIlONysfKAl0PaYsD4mW7WvAWpNg
-----------end_max5_patcher-----------
</code></pre>
<pre><code>
----------begin_max5_patcher----------
5562.3oc6c01iiabj9yy9qngt.bN2MVl8K7s7o09Nj.eHAWPxg.bv1X.GIJM
bWJRYRpc1IFd+smt6pIEojHYSolhZWOwwxCeuqmt5pqp5pp9WdycydL8ig4y
P+AzOft6te4M2cm7ThSbm536lsI3iKhCxk21rjvmSe7cytGtTQ3GKjmdK5c4
e+lsoYE4kWKY2lzcEwgExGzRc1sAEKdJJY8CYgKJfOLF6L29dD1dt08HGewu
DxbKzOodjnkxOA+y90NNku87hWhCkmu12KJ4jetvLEAonn6lsJJN7CgY4QoI
hKguWc9fsaqc56p8HBX3coxWj68UmJJANEs5TYgeHp74sqNaPFmnK3T7tLnQ
+QuRJQ7ZRWFlkrKR1TfS9quorIsGmrDHi7GGl7+v7r1CS7Nt0woKde3xZz+c
yR2FlDkrMKLOLoHnP0xpt7xvUA6hKdXUZRQdz+T13vbv+TWeUvhvVe3jfM.k
8sYQAwkz1r0YQKSSDMhF3r3zketeP0yK9cOwHuijfsm3g4LBbLokKlyIxc4O
FjI5FdDXQHkWrHMMt4kpdt3vUEpKuMJI4.TrHca6WLKZ8Sc7rOlxu3ltd2xq
j+vtD3pOvGrU7PdvGZh1EAwwpQeMe8eLHIZSPQXQDzEPrptXXR.mPeJeQVZb
bC5EtxGNwUVx4fWD9bzxhmjen5LC7aOZaISzrpd4kQqCyKZdthf04MOyQCY4
mZ2ipQnOTDtYaLmJZdCMjOUe3Xc4TMNeWxqZJy5c4n+ZPVQzh3v+AmgJMa96
xqeiMEfgqcE3zEurUw.OaVEiaKx3XVtRYbVxAtXKuCkxcnjNra8lxwP2QR7p
29D7NKe.Fm7PPQQVzi6J.b7tivKPZX032tfDAokwuwBd+Ev.I4Ppt9u9l2b3
ewEjMp8b+OgEiX2FEaUqayG2auFYh60NBNtk5xRiRJ9uhS2sbD6wHXb8dLZe
8Xt3opGqEz3FbL1H1cgI9f.QY2kqcecWNSsXwa1NqQeJLaqA0SMUiqL17V60
EMNJoTIDzO8l5pm2WK8WNGMm3pw+XPrRunJ5pK0n1qq0a1SDxeAtMcLraQ5l
MbSDNxxNtcCK4LBnrfkQ6xQEonhmBQe2e7OkiBRVh9GQ46Bh+uyh31MU9rB7
ZQ5tjhZJequ4f9tDgDblMArJPxuQosXPnslFDhOCHYSXddv5vifDET76vm1T
WEmbGCwNEY64H0tfQbjV3Y0kYv1dZR0DCR0aUR.+abkzMLsyHz4t79baL6z5
Y0nKeLI9VbuQz9AFZRuhmPGRl4BN7vWvy2JISFQRNeKuQkklufaK8mLYuJXV
OyhByaH6ZYNmlBY1iHEtJNk+NNMoQZkztGM6wfj050KZKIR6tG05Oq5MchYi
TWaUZF2XdwYbFOIasvluKYavh2yM4efrAb.NPS1chqT7FsSfxc1UmzeWTwbZ
K7Hrt3Qp92NIeLcNgS9TPzlsUWi1scFQxe7FsCZxq4vc2quL7sqVU7ID+mG9
P5hf37AR74QqSBh0ABntRMW775hGm5e84wyPOZxdbB3EZJFlt1tKxknsi6M6
PZtnzrnOhdqPMZjre+a2rMG8VAMhjhsnDzaWFsgOlDgQucabfR2UDY.py15r
H71vCPanWYDkvIUsBHRTkZ2B6iy0m8giVKEJGxgJSxF4PgYMoRFH2NW+G+uX
nZOGa4b.NN8S0jIjpICVYfNIaeKvpNhrO2izEY6NkjsQoZOrzjVEU61ojxwb
fca13W2H94uKGsLbkvkGRC7y1kjKM4eYVvyBGArMKcQ3xcYb4moYxqrU3JSz
BguL+wjSJ0jNXm..V+6ZCtGzCzlvsEHiMAX1elypH8KR3OuKJKbIR9HbPSfJ
GBnEonmSydeKnyfcQB1yubES62CI3I.b92Poq.1hgGN.kRFYrZCVrZQUY6If
3D8cb99rv7mRiqwwqe2mkkmjD8Y05.akFs9rWSQNAKoTGGR+pJxXinphs0m9
+8TTNhaRdVZRJWSQtBaqWGlk+G9wj+2UqxC4R2BhWrKVF.E+XxeCb.XN+jbB
8aZbsZBCKEYdxA8rAy0.i1spOn2oEdFFYBFWHfiPt50wQE6VFlKk6E79PX1i
ODDuiOiQV5Fzi7WjPK7e.+SxYXjOWNJpPHlbC+I3SwH3s3OGGAxQOErcaXBJ
JY+jMOHwWyfqtttf9mxoncocgqzoPdSdbzRE.BytHArknfJn1XyqXQjFshwL
Hhr5blEB9ydASt.EZKI2tEKYe8MfU1wabWwwEF6BJU4ANroS2Tnqy1o2T9ks
hFsw86WVh2MieYGODozvKECe2.h83.HpSxOUzFNUBAW1MEJ4wzGkvN21nzUU
nhRPpVxTv3OKkoTRhZwaXcquTOuCTeso9ZmAroCj4o74Smd6Qaa3GVjWzH1P
Zkh6J.QNqnoP364EgwwOJBI6AtpRwQ4EmdkkxRetAFztWjI1NvRLAAU.tkY2
qbwVqgv8AKGSsa+fvAe1ggP9s95Vf8r52XTJ9FXcKJMX5TKaA9FYYKHkgzb2
KaA85axv908Sfiivp9YWaQ+5wQ9Sfqb1hx4LAK4xA4B2FpDdE4euV.A3pNJr
B+c6Zer+.k1+kTd7PY64TvDY11fb7beMUddMUddMUdNu3etZc6vyGsL3gIWo
VBDll8G+yzgF+yWmHE+JfTXXF.sQJ7DhT.00NRX0S9AAoqJiJ4Mf.YfZ0AoR
ufnhuz+vhG3uvEoV+ghRVF9wp.lZz.mfjjz8S8L6rwMvtPsgMOCgZe2dE.ah
Zljkpoa7OXg1qG4YmA6lmZoJbaYcCaKxQlhgVcgCG1QLHTv0ZXf.61TR7+wm
NSAvGnJdOxlnN1mN.ya0U+5hSlTTSC210tEJZ59t9lCG7R4wtvq0fzrOW4cZ
24cNhqN1suiOm3hf7EAKCGa9Q03V.7cH8A99SI6nzZ40YAaepCTwsKTozKdf
uy69OJu25IMROvnJO7D94SZFo2A.YRoA+GL34TNoVKtaM5A7ZLX3XqLkulvB
nkozUjSB2K90R9+wTBdtOyA63JJ0E19NN997aYNl54aeesRfwI+Q9lpdYTps
+bB0wxiwO6bOpuuCU7Wtt9X6ddapD86y9YATKgutSBL3DX+yuIAJMOQ2IAHd
uNIf4XGwCZN.hyqSBzNLZf4.pVp+am4.3iH8X1dtXonZGhEwS7W1LKGO5.mB
fqumqmuKyW7Fj2iqkK1x8JJ6WBMi6fJr6bJ++gEStwzzQDCsNJX0hI0+cwhK
f96eOrNAZZZ8ISs9CgWIgJt9oA47zcYKJAJk9hnlz6xv7hnjJ2U7C6syAoae
7PaDzA0JvMtwMQKUgLMXrhsLNnofctTHjukGMVscOMa6BuXMdHnt.n+H1HHZ
CEj95FwTmZcitVicunXJS8a5iVqvVyVgr41I.5XUlnTx55Cs5nQpoKDMpUS+
3g5GzxINbiN.4x9DPMb4L0MNf.gg.0EzM26Pg1oYKgIJslVp8D7UsStDX0MU
cchCNMMgGGZhnIMMlyDHrtVa1nNG.TxZ.4ECiPpNZrZ55xRzN98kacxI7etL
XwmlcdYuAwGlEu52SlwVVSR0cYWdnQCsduZgEDqy58.gLADLwjDKkVOFn5rV
tfoW+ReP9pswAu7ITKzLU6v+QqXuG3zYx+icmwCEV2f9jLLwHOFjGsnXWhH2
qDQZIqJtGVkFGm9LH4PDlBoMB.CoyaRJVjlIHmCCvFQ38HahxWekPkzrn0bY
iwwgIqg3rfOUHw0kHb9HiJp5IyJhV79781wU8LUMAH0fKiE0HNn1Ri3m2EDG
U7xIZGhXFIuHKj+rp5EbkPXSJmHKTDBAHB5w3zzkOlkVvk9NeyVpHfJssrLe
EDpLPMs5rrPgGyJHD+E7395a1GB1OcSyqXzbQPQ19ZTZgn5Dt4WyTVSUz3DQ
nZQJhO3.QEoDrHA9D+a87i9dU9iCwa58xTBTTd4LThjCUSNpOT+cgnzrsDI2
lMMEdn0wy4i2dpdtMhd6hz3zL9fXw+fQuUjKoOHDAoxqZzag6VD6cH5UNneU
0rCUM5SECisEzu15N8t+MU9dTVWR.yz5ozdgu0y2CU5dL7rwGpGgTJnGWm0z
H1DTdVxaK2.5UWbWv7a2NoHuQjhJRWuNNzv0Uv8AfqPGrxeOIs4LQSZzlpEB
IbiRUGP4ukt6om.0x+YYAG.wFZszTSUvgfcwo6hs.9yx5tnp7vnktQrambwq
MN+phIhgqqpJXhphD2NG.PYSfQ3B8CMbYzU4NUU0zsaRlb8GyKpT2MKNPiPG
tKLose2UfPqqPFWdZZ03oaYa1g.Up4ynD83Ba7CpJzip9PzRQAgLlp8L54yb
II1cEAv8lOel2mzjIoQ4g+E3uIUYKI1Z1naNDVkXoNchkSQ0JCxqnnzDT91v
vkCd7fiELD.aCqBGtqJVEYJxxSTprPMMvN4CBCGcrGTmwKXueCmeiXlubZ2u
12QUfXoPDLX+ZJN9ZJN9ZJN1U7YV2axiWDvBCHIXK8h.VWCGifWqrL5ayQAn
EoI4g+7tvjEg2KN7INBEVVL4VEkkWfjsLzW87SQKdBsTPaajk+TYUOMhO9KM
qz40QIqhR3RHQRmrFl86UuvbtVGEnzj3Wj2lbRVYMvLN3kGCV796QbckQAbA
q7wEuTqpoJZH7QB0u24n+b5ygYB+muux48bTbLZ6t7m1+r4nU6xDq9R4K4dD
mDhCQYAbQF7mNp.drL93ijkhGbSij9rgyhcN2zwpTCYYrrHkM1HW1ugRFqt3
UjE.RI08umixS4n31cYaSy4c4xx255vjvLwNeBnlQY43iekUhtZd2QJJcWlb
kKZGjoWFHKm3A7aIqCLFOkYT6kDuq8u6tAkWDLDdQ8GlqNFJJWG8jF8ByCYL
yEBxPpd3BwPIT6DjBxCKUQgXmUWXAOlvxUJsR+OE981x5byt+l1A0MtR.Gqa
2+lYJaBSiiNvpuQn843hTk5ZAgCCq+cPT5sITsuFbY95EA.QX.hH8WuHrFpT
8qTFTApD1NLw5BljawX6K5a5jEPk.mJXawlNiZsu0RcC2QLdccuER9AmgzH5
LngITvA1TYvHhYrpiFqfFloaaeLC5ZcydDReAyNVEl0dvF.ssaYr5aeUiNec
omSf9sSPBSzb5IaCvSePw+asHKuUOa+3p0CcUBqs3EZ3Sa0dNU29zV6JA9Wf
tzFr49q8gLVFaA4urmsyqdz9UOZ+pGsOSet8+mtS3G03knc4gHYfjCKdKJMC
sJKXAGxE9jiqTcRNJ.bHqHn2yq15o9t+3eBbs52yO0NoSNCJTuj0hU+m+sQw
oouOm+kRi4nT6Nmy9rqlYPVWC6ChpBRkKyb5ge87AZnJJrQbhe6NgGlEaXK6
2vuyBQhcHVwlOhXiaQ.tEoMVvcki02Dv+CEqkzszG6Ycd+Q1RwL+g4mZmDq8
9I2yt7oA6RuM5mj0PgVcSl8sZO0yo66Q3CdVdOJMY+Fx1G+55fqnqp9Ueo9U
GAeUic1GsYJEm6za02zCGf.WC3PkhdtGIxEJHMEDgulnGnbf.eplmj8KkqDi
.tgEL.5pVFsZUXl3tqF+jGJVQshv3WFAISXXAYJ43c5Sxj2M+pyH31yAd+5q
JSFGO4RpNTlhPSyW1uRahEnotHlp.C6XHmcYb+kHt6g6lTGEEdSoHllgkYSH
WsNW+NLxZrb7miEjaAP1g53za43aJ8M5DiUvVGp9P0TVGuDwh2VwRNm97EDJ
CZTDjTK8rz3UOq9FpQ7uJCptRTODbu5S7deAr5utPTFn1wE5eUNMUQN5qjq0
yuG8bnvTyuAhp3QesO6RhCzR1G67iEVWJv41tRscIbc5sLdpopzm0iYXVuWZ
FeqM45neVgkvTY5CkTCCkerKn7Vp3xikZOZqavtPLU3K7UfS.3H08u.pTmOk
QzfbB0fEuGQNy4SaIR96C2A9TMhtAueysj8pLKxln4J16dath8YMRJZiiRL0
pFBvDqWk1w1SHL0k1FPZ5003uKCnrU03PPYCa2a53IpKfRxNMpPE0gVWur9G
5MkFBdcBmc0vLpESuvY23087q3V2iDPNOVK8RM.O6Zhrb5EKctQ8dEW8NQr.
nVsHgGaQiloRXZcSkv3diCK6IbHYWdY8kZ9OsoqQG1xg46.EpvZqCPW6OKt2
nNc9ilANT7EZCG2naWMBsveb0ZDtVF0hHn2BivjKA37xUb85nmtZ6ihA6r4D
ZupMPdEY0CYUUbM8QVSjvIiRjkpa.UZ2a3y4KifRJThGwLZ0QiTnLZarHYT0
V8fJhAyt5nqYjLZOrnCsexQs+o54Wcz0LPFoFKPScfTpm5aUu6w2Z7Jy6DS0
U.E5TpOtdOgOd7Js4CsVUOsEX8d65IdUiLsaLx7pFiw5Wv3GF8TxPzN8LNCM
I5FH5zwLR9IZuOFLpkgecYU6sV1q3NYPh9ZSnUGcU4U0kUs+cWiR5gVt+XUd
zUMd30celfLpYMgqwz0vBxCUHqIpjncsyZBWiorQC5oRhl00UhFVakmrFStD
lo3RrYNk3nUCtjq6NeAyTbIUzSCEgZWC6IdWun29GpplIOsVLfMldpUziUi9
ma0bep+b4h4n1SgTA.09itpcPVCbmFRWBpr+pcBBeSrumzw7F.OlRaI0rHcn
szzROX8oGPaIhSOZKY8EQh6IosldiBxiuC6HTYyW240baddpllcGkvf59g7z
3CUZWzE8gb04CYafOjiNjDsgDniDpPoyIb9Taao8n9Nx+i7nKswQznw43YBX
PiOD1w.eHac3UcHl3Kc48rdtf8E1N05XkGcosMc3us8MAJzXeuqsujqI9RXc
3gLAypsFeHSHDhoynBlIjqxX57knl3KQu3QEXKrzqLtX+ZCKjGcoMNcXgXlf
EhYoCLXDlHMF+0TQuijB4HUSECkJZN56TcnAZa8Nh0x.f.UGo9LSHEhpiTeV
e72PUq.BEVE+MgVsTImeiSGAJ1Nc03HLkUkPr9QHycKO7RabrAHY3x9RZICx
HbCjKWG.kIIV0UtSdT0Szzbjwsw1bUGZswBgUEc+QG2XwWViUGQ0TSLikNLK
LeMPEJDYLdT6piLNpnCnzra1PLODsz10DScRzQ20FqKxg8Gt1p9CHqUsgDzf
3Z99CsZq1cN6aYiEpjQJKBjGY7tPclcfZBivH15xrPZCV7wpEekp1trcqNz3
3hNsVQsnUiVqTSJ2xkYgbpF6Exwoyrn1lv9VhNSWf6d5BWPyFW092U4AWZKS
GkqYlv6MZM8tA9NXeMzhm5apuTuJAXBsvvdZJG2HeHrFeHxk9gbzUrVqSM4A
9vC65Ah0fonjGZZwZZ0Zkh05u0Jmhx00prLcZbwZX6AHr4x9R5H.0w5z5PQt
ReZrwwWsLE2uaKCkxuANWu8GXb9V5EOuCiLJy6f0wlDhIrqDao6X2leIXkdN
nDDJ9HGT5AOnrCdbIGr8xM3gkZP9W9Wey+Bflu4A+
-----------end_max5_patcher-----------
</code></pre>

E questo è tutto! Because there are a bunch of classes and scripts that go along with my patch, I’ve uploaded the whole thing to a github repository here – but beware!! There are a bunch of values that are woefully hardcoded to make the visual match Blood Brother by Zed’s Dead, DISKORD, and Reija Lee, and no shiny GUI to change them as of yet. But I did include the audio file in the repository (I hope that’s not illegal), so there’s that.

And finally, here’s my dots dancing to the aforementioned song! Please excuse the audio quality, it’s early in the morning.

Assignment 4: Luma Convolution

I was really interested by the idea of mapping video to meshes, so I iterated on the patch we built in class to feed webcam video into the color array. I then created a sawtooth wave that uses the mean luma value of the webcam video to control a bandpass filter, and used pfft~ to convolve the wave with the input signal (either from the mic or an audio file). The result is an interactive video of… yourself!

Here’s a video demonstration of the patch. I used a lamp to light the scene up, and covered it with a book to alter the cutoff of the filter.

And here’s the gist:

<pre><code>
----------begin_max5_patcher----------
2439.3oc0aszbqhiEdcxuBUdYW45fj3k6UYptWzatqloWMSWojAYacCfnQh7
X55d+sO5A33j.JxXRGOUECHPv4b9z4kNR4ut7hEq4OREK.+L3eCt3h+5xKtv
bK8Mtnq8EKJIOlUPDltsntf7TASH+whqrOspsj2JKnRyyi5taMQlsiUs81FZ
lz98wgwKitBDFmrL3J.LJPeBqNB9itWhkaHAe829RXR+229wkOUSselEB11J
RwhqF9J8ubVljwqHMOsX+2VHepv7EVb.iyp54aX2MyIRRmz2I9WrHqfUuGiN
3ApGsgUPqHk1O7WIYrJIWrC7a+5Oe8uKnMhqErFljVtts5NFoQd8uxyZKoUR
w0+xW+8qgoAqB.+qGT3IMG7OMBg3ZETqtR2KP30hGZ+J3Qve1xxtq3oq5u.7
EfbGS.HaIrpkKWVVi6jqd15NVkENIs4Lt9NGzgBNu9.w1Hk7Johj2JjDIsGB
NTXUCpL0fZFuQOlpvWKjre3yByEsMRVY2X0ACtVMIdd+n3Zhfks3EOcCunf+
v1B9ZRgByp4CQ.COH1w1zoUAeEIzDWHanpdMzqug2TRpF4c051NdI2RNugsk
oF+TJDak6JECi.hZJMeXp+msjBl7owwGysjsUJyJamBCcwB6Y.kEgTozHVLX
mO.ogHC612mue4k8WzcS6cLG+9kW4oGiMEbko1vtKPc20fvlQk3wcfjfi0BS
XPn9j0+ABMr+Cb5n9OzdHVSzX3ermVMJaXIs4Vkw7Zqah.O8aLA.QTvxoMCC
Hv2U7wIlSn.6I3xngjeGh+DEa0vHQp9Z0sxCYTA6+Z5mRadtvmJ5CJQnmtR5
iFBt3m.gGMlECQFUlHyIzJc.nwTYBGExXZGFdFHAMeB72Xxk4rxRRM3FV08z
FoxkCzsgz.X.LHYIRG3MvXw.wNMbBWMJLn3maUVoMrGMAZ8Nz57hHVN.DBLJ
jXjRtz+cix4cEUiUP.BfAASFmvIVkkvXm3D9LGm11PVezX.Z0JqrCMlMItP.
T54.Bnh1KHaouABxJ3B5Q6u.iwVup1jSW4T9S7vG6Gf2hwjXdMs5nEXTT5gB
ryAbL5yQfcnj2rcMpnsjbzJ5XqFNJ0H2IXmxczYtoNdjrqBcEXDePxDpbobE
XLvYtT6+8gJ8skqGKmIz6JldkxHb04aJiiL3WJ4alPNQVLI03cCG5DSlAeby
n7lSxFotCAiKugoPs1crMZlaWbv3Eeb9wTy8KS1vEYJO0+XBo+mZG15pahMY
tfQpeBL5ywW8ctlbiK+wqrtfCP5wJrcpNQ3QDN2ope0qxX+3rUqanBZkjnmm
+gYGFYqZkA7Gf8NYjqfcOcotZN6UMtmzru1Ru8odW2s3Digd3pPq9icR.wi.
s3ipta5el7v0WnKKnaTGNHX0OTPtmleKQphlttURe9JwqKH28jhVpxyWeQp5
KQ0AzrfWscbv6EcUri2H8ru8vQv.OqTIS5m8kjfkC+bhY7OdvmxpXRlBTeaU
iNnSspNsWiM7xCqRyjJMyHtYE2u4GZWKJ9H53yrnScCaLURbNIJHZhU4s6Je
8jgmOrodGQvaNd22cvReBWNi5FBeOX4SHc6okqQmTiQuetFgnOobMlXpkVQC
YSixcpk++Wlk5oUXBkCtwb511Z.p+5b9CUJ+CGePdjMokXzAy4bzoWCOym0k
HiT8Pit3b4rREbn+6FRNoVWlNa4nx3sUR.Fbil46KX0jgsNinHmUk.eVT+NM
9jQKJVWvyt6nCgDtB97rxiLgSAgvQj28yPYCu54v3+iFcvzwPBSlJCN00Ldg
c3HpegHZ3O7BubZxrgj8B6R881WHbzvUBeR4DRumVXbFrOfSIo4NZinUXWFo
zitBW1UgMJNTeBFXw3QVEAb7TqIdGaZ67WhUz3KgopC3X0ATn5.DoNnZodT7
vYQOi1qj7wl3nC6tHa19gIPOpMVn+Yx7I3updyF4O.pC2JTtjTYYq9oqalRA
.c7qpR2Lpiryn.5NGOL9LLYlFv5iWpSrSAzpGD4TlgmdpLAyX97iIsNpZBLw
VtAanZ259AK9LWInazN8AjxZwKiyZiKqbjCfuLb7Q6Hnaj2tfP3XmEKFctu9
Y+D3F07mmv5HtxV.jDSwzRchAwyMFLyKaPMI6Nc5reqsrVkd19grBVmRxgPw
wAPcUvBBsAMhFAghNyQn1pWiQfa3a1Hn5jaGwBBONzXK5jxooFZV4dYEC7DZ
NSVl0hkkTwNf9vSJ+L7hmtUuMmTNcTtcTyQnfBPKAP8eSyjKraaKjBcVJkYe
5RqlXd+apEaaYG+ROaqN.DZD5tpben4S+lGC+VgeJyA38vholm+Tzux3k5s6
2aTvtwNrY20MJ8oRxcTAfIABIuFzPqxoMJTDvTudNiHoEOAXU.8nvC7lh7qT
sDRJIGT2J1odUIGP.1O5+oZPudgGahBH69IwZgGYBQFOxhRDs3yxDMSoSzPd
1HUvzk2W4JK.DezZpo6kWTfSaR2aQjsE2pYy1F5mr+qsMrbwNhJyoN7Qm2T2
tpwdeS1SfWoMNMbyNodbr6X.m44PYLt5QKaY5zd6MIdpsGgSK.ItqtXtqY96
WKwohLl2w3N3UaIbCCqu+KgK0bIax5odGuovgdJmSEJzf77Flc+rE.G3UmkW
yYUxNJBsBuM+RnszOungcUPgolzP0MraM02L15MKu5Eryv7bnsOmDgB8fN5k
a+zIThGTROq7C5DuQunsiNqy4kzwCSZ3IQZ8F988wWkiEUNsmF95Cg54lSCM
g9JRmrQPhuTBdpTpaDvMkh9HTN8iz3OBkyPjONYfywHI1Wi+SdjzGGZqb4qO
zNUYj0+dbZ59VmHqg8ADza0mCBV8ZdytDDwXnc08Vsu0bqV5OyN6pkdE5aN7
uf7gR3jOjPR9PZ8jmA3S0csOCj8ryoQo.OxyBNGTB6C5glCGW3HePOm4Nhsa
iU8BjpKQIBsu0oxa939Fk5h2PwlDVQc+O7Djtu0oxa9jj.Z0eaFwt83mZW0Q
n4D1VXKSq410FxmrzdkE6qUmrCRX6B9nmXRReyOEt8UVHCysntEqraGcm7AD
vBkbxVC3PzGi0.J1GdKZNrFh7MtxISIurvclMSukVpcxyqRGnkUiw5lxz3TY
6.eY6f4fRPeFzO0bd8INPhyxaXgW6NvGEh22Z1MR8A7Cd+jJskDhTWeOsQz8
5Fhtnj7Mto6IWYZxprMME4ZQC8dVe+M6M4EjlrcLIMyTvSc4ndL0V5USg8ap
ZYczVQ4ue4+i0BOuq
-----------end_max5_patcher-----------
</code></pre>
<pre><code>
----------begin_max5_patcher----------
645.3oc0XEsbaBCD7Y7WAidrwkgSfv39qzISGhsRpbwRLfbpyjI9auhCnItE
LxFrK8E7nCIsZ2U9ty90YNjGT64ED2u39UWGmWm43fgJC3TO1grMY+pzjBbZ
DI+mpG1PlW8JMeuFCe2glPxcaU6zobMNenNZVhd02Exm9VNektBOZHyyetK3
iePW5wLOod9t2WuFwZbqMv8Yf1r8U6s9kLd0tPJDOISRI+dUE5WRw2Q9vIRH
aNPzxXuMaV4i4Ciye574L.K8VvrkzvDjzqRx0pLUZGbm1qeGtn7YjOx+tXte
eLe9+RM3wG0ly0AWncMv+DZ.ihZPDT9AK7ThPD4lSLiupUFG9xMW+f9c2vot
4JjGbosKAAcKAAgH2A38a4co.A1q.muV.imVbWm2wOUNNTEnnXDvN4WyWLAS
vsQn8xT+fevMYaVgKz0Mg9T.5x3pxawmTBh5TBlDj+Br+PrlVTnMrmMsYu+Y
y9fpLeALKX+zh7WdgcvGsbaJrS+eH0Ob9o9QRaQhe3Vk3GWCIUH+yt6wSeY7
ikmB0t7UMmklbytuyg07Bi1jnEJ4GlD6n4nxWyywFfZ0RFUjgNfFtAPG0Nzz
gAMXCzKtJrlZAzll1LIDu+5ywvqwcpPK.t1VGLNfE3LTkLvlKK9i.gBrfPHP
CkQTa.53KpaEqyTBotNCGvvhtKiv9OXXMoxAivAqWoFFAotQF6WBfw.Iq3Dz
kXWquwnXCAU+qFwCWsKAkZQUGXzq5XgjPGCW1BSdT7XKDRHpckjd8QtCO7ua
gIIK6YddQ8xQPM8xsQgSewbbnPVMD6PijyeVzLeFFII2zvl1zs1t7p1m1GW8
ytHaUFfk6D0XaP9sY+R82u7Q
-----------end_max5_patcher-----------
</code></pre>

Assignment 3: On Style

Bruce Lee’s said a lot of cool stuff. My favorite quotes of his are not about fighting, but about individuality, inclusivity, and self-improvement. I used a quote of his about developing yourself in a way that is uniquely your own, free from formal doctrine.

Audio Player

The four impulse responses I choses are as follows:

  • Balloon pop in a music practice room, which gave a completely dry output.
  • Balloon pop in a Gates stairwell, which gave a wetter output.
  • A single bell chime, which started to obscure the input signal while giving it the bell’s tone throughout
  • A clip of wind chimes – I actually used two different length clips for each of the channels, which made the sound travel a bit in stereo. The input signal was completely lost in the process, but the result sounds pretty relaxing in a lost-in-a-mystical-world sorta way.

Assignment 2: Negative Thinking

What I wanted to do with this assignment was to use delay to isolate movement within a video, and show only the subject on an empty background. I got something pretty cool – but only by accident.

I started with the first video, which is from Generate by Rasmus Ott (on YouTube). By delaying the initial matrix and then subtracting the original matrix from the delay, I got the second iteration. Pretty cool, and I sort of isolated the subject, but it wasn’t what I wanted. Then, when I unlinked the delayed matrix from the jit.expr object, it froze it and left only the (anti-?)silhouette of the original behind. I really like the aesthetic of a moving subject revealing the background, but I couldn’t figure out how to replicate this in a non-janky way. Anyway, here’s the gist:

<pre><code>
----------begin_max5_patcher----------
834.3ocuWssaiBCD84To9OXg1Up6tzHr4VXeZ+Ophp3hahaAajwjPU09uuFa
HkjBrjHRdHwx2myYNyLlOt+tEFQrJbgA32fm.KV7gbjEpwpGYQ6.KLxBqhSC
KTKz3UhXY9dBMgs2vrYA4gh3sD5lm43Xg93PHukVl.WzJUikacisu6RjKXc6
9XkhTrP7dNVuICCS4uOmmVlQnxUntYX6njDkgvhd8QOaiNqUebpEiTi926uq
tU1XNY7Qw6km7giUfqDGvMtJmC9i5+GHzmfqeT9u05e7SUmwnCHBVS.NAV0M
Pe65FDZo0mfsP7dphGLLFjejFwyYgBNoZLlB0CS4b6XpeAPiQENANJv6hTMA
KcuDlfPEmC7sgC.e3UQnn8QEXAv1B3.h2FxkRfUV.ej0XbiskJpww1VKSVcM
kI8EPg7mcYRFtnHbC9qDk7zyKEZ6D7M33ZFc9CMuDbgQOmifAgtYBluKc6SI
fQm6v9B0DmY.Cze1w+fBAYwD7+SAXiZHAUVCWuquBHX9E.kYQX93nToyQN95
plSBk4g7vLr.yeFSCizyZMZI1nP5lyIqf+Mq1QLqjJQB.Brj95woJOcNRUg0
U9WdTgYy6NLGMHwsuhpCvKNyNuH.QSgLzMMgJmMYbtxB6YOBIRgsNwH6H386
HEjHRJQ79QFB6kWjEX0ltJPwpKdSYwugSR3gaJh4rzziBJhSIwuI1xYka1dz
D5.ns8rE8L65YlnMYrjiC5hX7DIH5NTONMOUlbmFkaiCzuKHnx3ZEujfyX6H
IXl7kEUxiZRk9GvSZ0imzchdR8QZjRne4yFT.rdhS7uErRdbq009DCPGPlfK
DDZnfvncVU86UkYAVOrTZxWXvTtuVqZFtuIgufY65bmLc1YUYjjblLaWQ6mm
DnzhqB5J+NnhQ2Jybbqz2u9aEfqZ9vAcDyw8PH86DcUq73TfeFTdqfyoR8CV
.bFrfSco8aBd1ylPyYJ22UEwSRBAGvBlCu9oGd+l.b9xkLIeryrcc0e0yMMW
IbRIKaMq9qFElmuCyKZ1h9tjOq3Ulxs6ap6Sn59159bb8yJzaQ+zNiPtrBsP
Vdtjqq5V407.Oi5J7bZIoUIqrA4e+Cfi2mCM
-----------end_max5_patcher-----------
</code></pre>

Assignment 1: Stretching with Paul

Audacity is a good program! Among many other things, it provides fun effects like Paulstretch! I’m not quite sure who Paul is, but his stretching algorithm sure does a good job of making things sound sloooowwwwmooooooooooooooooo

Or, you can set the “Stretch Factor” to 1 and forego the stretching of the clip, instead simply making it sound more… Paul-y. So that’s what I did. With a “Stretch Factor” of 1 and a “Time Resolution” of .25 seconds, I fed the same clip into the Paulstretch effect 30 times until it was a) pretty quiet and b) quite eerie. If I had to guess, I’d say Paul is a cute, timid ghost – Like Casper, but an audio engineer. Thanks Paul!