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

main patch code:

note maker code:

drum patch code:

saw tooth tremolo code:

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:

 

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:

Noise Reduction Patch:

Degrading Patch

Visual Patch:

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.

 

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.

And this is the code for the main patch.

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.

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-----------