Author Archives: wlowe@andrew.cmu.edu

Project 2: ColorSynth

I began project 2 by wanting to look at the connection between visuals and sound — specifically in terms of themes and colors. My first concept was to use an API to get keywords out of an image and play a corresponding audio file that would be altered based on the specifics of the image. My coding knowledge and experience made this extremely difficult so I went a path that was more in scope for me. The project I have ended up with is the ColorSynth. The inspiration for the ColorSynth came from Sean Scully’s “Landline” which is essentially taking images and boiling them down to fewer than 20 pixels tall and one pixel wide and painting the resulting color bands with acrylic on aluminum. I took this simple idea of boiling down picture (whether it be static or motion) to a few stripes and playing it. There are many directions that this concept could have gone and this is one of them. In this iteration of the ColorSynth, there are 3 modes: Swatch (or Color Picker), Stripes, and Camera. The most simple — Swatch — allows you to select a color. The synthesizer will then mix between the three sources: red, green, and blue. Each of the sounds associated with these colors are meant to “feel” similar to that color. There is also a delay effect unit included that can be manually controlled when in the swatch mode. When switched to Stipes mode, the camera appears on the screen, but in the stripes aforementioned. By changing the speed, the synth will scroll through each individual stripe with some slide effecting the amplitude of each color and the effect section. If “Force Manual” is on, then the effects unit will ignore incoming information and be just like Swatch mode. Finally, there is Camera mode which is similar to Stripes, except that we now see the entire camera and the synth information scrolls horizontally and vertically based on the speed. If there is too much gain coming from the Synth, the output will clip and be lowered. If it is lowered too much, reset the gain with the button. You can also manually change the camera dimensions.

 

https://drive.google.com/open?id=1ZZoOQRTjO8o8Od0PpdBIdvDIOMjEWf0C

Project 1: Baad

The concept for this project was inspired by Rational Acoustic’s Smaart, which is a software built to assist in normalizing loudspeaker systems. From the name, Baad, you might be able to tell how it went. From the beginning, I have had the concept, but the execution just never got there. The main feature that I was going for was the ability to view a spectroscope showing the difference between the output from the program and the input coming into the program from a microphone after having gone through the loudspeaker system. In order to reach this a few other points needed to be met. First, calculating the delay time from the point the audio leaves the software to the time it returns via the sound system. Second, averaging the amplitudes of individual frequencies over some period of time to both smooth the information and to calculate the similarities between the values giving what is known as the “confidence.” Finally, doing octave smoothing to make the amplitudes more readable for the purpose of applying an EQ to the information. 

Here is where the issues came in. In its most simple state, what I am looking for is the spectral analysis of the impulse response of the audio system. I began with putting the direct and received signals into a pfft~, doing a cartopol~ and subtracting the amplitudes, but this did not give me anything close to what I was looking for. After a few different variations to this, what I found gave me what I wanted was dividing the real numbers of both and the imaginary numbers of both and then put that into an ifft~ to give me the impulse response signal. Great. I’ve got that part. Now I need to plot it. I found the vectral~ object which is meant to plot FFT’s, great. The issue is that when I plot it, it doesn’t give me the information that I want. At this point, I don’t think I ever fully accomplished the first step. Once I got here I played around with the console’s EQ to see if my plot would react and it did not. On the way to the vectral~ object I ended up in jitter world for a while, seeing if I could create a matrix with 512 columns and 83 rows, then using a jit.gen object average each individual column and then plot the resulting list. The issue was inserting the information into the matrix because there was no way fast enough to increase to insert information to a new column every sample. From here I went into looking at nested loops in JavaScript, but my issue was not processing the lists but creating the lists in a way that I understood how to process them. I thought about the capture~ object, but saving and then reading a text file sounded like a lot of latency into the process, and it sounded hard to update as rapidly as I needed to. 

All of the research I did online on the issue would relate back to Matlab, which I have never used, but also only mentioned if one is comparing two pieces of recorded audio, not a constant sound, and that is an issue. 

I did a lot of reverse engineering of a patch Jesse gave me, but there was too much excess processing that was unnecessary that in trying to only use the pieces I needed, there was not much left for it to function. That being said, this is basically where I ended up. I have attached a googleDrive .zip file that has a folder with all of my patchers in it for every direction I went and I just never ended up in the right place. It was incredibly frustrating because I feel like I understand the concept and what I want it to do fairly well; however, I also know — for most of my iterations — why they do not work with the understanding that it just doesn’t work that way and there must be some better way to do it. I saw a lot in Jesse’s file that I liked and that started to make sense, but I didn’t understand enough of it early enough to make some sort of adaptation or headway in any way, shape, or form. The one thing that I did accomplish — which was incredibly simple — was to set up bandpass filters with different sample rates to get more FFT information in the lower frequencies, and less in the higher frequencies. 

Some other features I found on the way that I would like to implement if I were to get this working in the future — which I hope I do — would be to take the mouse data from the plot and scale it to show me the frequency and amplitude location of the mouse, and for the program to recommend EQ changes for either a parametric or graphic EQ. The former would be incredibly easy to implement. The latter, however, would be a different story. There would need to be a lot of user input and then trial and error processing by the software to find what frequencies, gain, and Q would be to flatten the response. I would not want it to apply any EQ itself, just provide the information for you to do it. 

https://drive.google.com/open?id=1pNg0h2ZyvB7unLQKF4hjsP-nD8riRMog

 

Assignment 4 – Babylon Colors

Drawing inspiration from the in-class examples, I created a dual bandpass pfft~ resulting in outputting high, mid, and low frequencies. Then getting the amplitude of from each of those outputs, I altered the amplitude of the red, green, and blue of live captured video. In the patch you can change the crossover frequencies – as I showed in the video recording below. In Presentation View, there are three spectroscope~ objects, and when you change the crossover frequencies, it changes the bounds of the view. The video includes Babylon Sisters by Steely Dan, an  ATSC Recording Sample, and Centipede by Knife Party.

<pre><code>
----------begin_max5_patcher----------
3939.3oc6cs9aaibD+yN+UvJbensvmx9dWde5xcEEWARKJtDz9g1h.ZIZalP
QpijxI4Nb4u8tunLkDerhbohCPLrsLeXtyuYlc1Ylc1k+1ytZwM4eHtbQv2E
7eBt5pe6YWck9TpSbk83qVrI5CqRiJ021hMwkkQ2Eu3Zy0ph+Pk97qRiiJpO
a1tM46pRiqz+OP6YSVquy7ad62BIr560biUebargLVrH3+Yuz1npU2mjc2aJ
hWUYtJhfVRuN.BWBtN.SU+FgVB1+uHa4jr5FFoN2u+rmo900SDekU4aOC3QF
G7DPgBRBC7fWN389hjp3y.enQhOrPI9H.M9H9GeYwuWRfm.OIEDm7P7mB94j
6tu5LvInSbVlbWVTZunMDxLJqT0GBV+vE5O3VFmstWrBZAq3vEcCELPK3PTh
5CN9hAkMqVtKaazp28o1QBpMjfFRpcsSxOjfavYn5CNw+fdSbUbwmbWeDK5D
Y2llGU0u5HV2sCRzlMElCveVgCeJvAp0BCIyEZdaR0xsuOIac96OCcudr7e8
.VGCC0n.AAZ6E5CXfKPmrhfGRVGmeFBN73r+GRQZ4DWiMx.ieClgA.dY7smg
8eLbZ1+0ZnTsget3Ba9uaj1p0evhA85xZ8mQubHoOEy1fAp2AwB0ZeLt1wJB
+hACkkjGVUD.QBP.GAb2bBpayIxG5a1DUUj7gAMrHLNTh.Z7asxzIvwi.3qx
2rINq5Dj+56SJCjeeSTY75f7rfp6iCj+mAU6pxKRhRuN3lcUxeRRqBtsHeSP
4pBE.peRoIYwqx2koebX20CP8nGv4MLyBoF6rrFria1cyMowkRUulO+C0NN3
VGq9xYw1h+PzlsowF1j9YLWLudsEfL1B3hFbOJrStGd93dczaS54vZUbNA.2
MzCEia.Mlwjh9Wbvb3fnOBGExGG5nXsrVfuzgiVVEUT0mqWshR53PIgnEeFT
xQWrfRKiSCftOT.raettIJ6tAGDfg4KYLFmH.DlfSqcLYNBCuK6Zu50u3me8
eXu0khXoqJUQUI4YMMOSzzEAq8XBRomXgYXSXv81+uMOqpL4WM1hTO3Sa6lJ
TsoeXzIf.8vFX8C4D5w211pxu6tz3A3TTo0Gkfz5XCjf2+QG7pV62zvbeQjN
Ft2DmEYIdPWJcIYMiOyc14o5gHiqwj5e6OymcoG9xGsqzAqMDHLF8zV.YldJ
3A0AUsva2UVkbaxpSXFMY5.QaJnHv3TPMxcjlJglHhw34UAsKV6eWhRmXsPN
alXsLexZQOcXs+Txc26FukXxf.06rVxbwZswl74h09hcqSxCdcQzp2M.GlYr
KHPOlSPb3YM1D.sX78wMCBYc69fF9P2tQWdd3OVjWVl+PbQv+LWN3P.J3+l8
G+Kw2FsSFdBkB.A+zu9mZMzDTar7guiFbGVXCoBDnOhhNOwBvWhkCZ3mbhEX
SwBYNkJHgdhOlhTIT7ksPoq.b.KC9Fnyg1DNxHa3.ndHVHbIV9EDEJDHADQm
m4Nsi3b1F8N2QJZRHkPfKIRmKkgzI3RENr18xPcBKtHAt9MP4HYxuV5LhEhw
hXpIOL5gOYWtvV2mdEkIc2g4HUgoPSmXF1kTWNGYQhbNnbjy6OND2.khK2zq
VlJsAFPWJ+1cPhmvr1YS1BQJIgGaShMCIltWbCklggmSeUzDPNknsC0JxGZB
08NxEKke6NtgS.2XBtSbOGR7Vl11t7ZTWKClonyDEJuamSZIkbBfqy0q69tn
8QhQXpTjvDxg0fbnIIIlhlAxC8oYgxsxVV5f3p7sweZnrMY7iCwM9ZCLzC.b
NIahuOSz2d2p7z7ByiFrLjyHxgzjZFXJJjbs7TP0eHwu8BsdplYgqOStcH.V
muIJIqlFzAN2DN83REGbhDpKNxzFEdDRHad.GoDh0gDBCfgL.WPvPY+DpRbH
DLDmPAgB.NDgTmB8nzQJIwdUBQL.R42gSBIRH+oqPhOAQDsCQD7TQj1j6ieo
NEODAor8hNuJhLxlqsNACbvAVU9zgWDgTOSN+1F48YPy9LtOlSdigd3oF5of
9CWg30hqaczpO4b4UvX8UcElpkCh0p2TxkrDA6o.Aao+Cq6XQ1rKsJY08QYY
woNTgOXSzWPf1fK6xESsDykYQaKuOux8BijMgZSq1601BvVPdhia73wcc7Je
lwcQvMtqdOxbnPP14K.tjoLeyjp0T4HEpARP3KVo5U1ETayfDbw.VXMywMhd
IsFMBMTv30Pqiu5yeOyUQEU4ayScG2OVy4tXI95y19r0pElEdpJ8PEjoe4M2
daWpC3SYK8rrCblsLBlEiabHqk9+D5SbEI17pHYGF3KMEodJv9YTQxNytWLE
osoQeLMor5StjuGhclOfDimahNi7hdJ+Dwcekkbveo9YcxJEAEU7wgioZUZx
16i0Kfmilf81cB0FwfJvKSwMSFZdzWGUEY4oVlpoU2uZ.abAUjlIowYQaznc
w+9e7xfuM3u92d8287WuKSRMlYNu74.XvODcyGSyyBdkTfDWTtby1ZuupeLu
KIyvQiTS5t5LMtgz77sMHSMUkmUI4QuoTxlhqI4lD2UK9kcQoIUebe4vUlrZ
OO1HtJRtKQJKjf3tp62TtOkOGbWUIahKqJhUkPq4FN3x2lWrIJqZUdgh4akX
GeSJkwVOeh7oVdexsVoF7n19PJrQJojTkj0dHb1juNtavVtMNdc6sRY5tBEJ
aG+0zPU7ls41G.53aR2fUZwdsswVYSsS.Z1P+bvaySSye+co42b.kHuo56Qa
ev7GW2ul5y+W4o6jB0muWk8HM1W75W8iAuRxvVcevqz0W8x2G8vXzXAeUi8q
ZrW.M1eTpYkrMd8YqnVFmd.DTYzkwogbNihYXnJ2frPDGyI1qHZfxupm+U87
yRO2dRyYNW2e2s4l3hgbmiwLNzYxAmYOAfbVyfGhNpReV4Mmtl622RGTk4ip
bHqKzgPyGHPanYhYrvEtJRDpqobqexglz9cdbU7SFtZcgUX4p.5LvU8XXrH3
7FFqMWQeoEFK5yR9PrwU8DHeHaUbqfphj7eHJa8V4+fTUFQBPNyA6Y8sMybP
EaxzITsfKuTU4hZR8x2F78xe9ytuDq7xD6gL0hGkiOYp83vKlVy3X.Lev.fF
KIeQx.ndYpcIWR7OpsohILeCV8aHE93Fuge2kJFChXiGPV80mX.ZJ6iHjYFO
8zkyrY8rv0DpBcr+l6G0un1roOXJvVFz+SJnhEb61x61kbFaYLNJoa5MLDs2
aX0o2m8fWn1SE5a06a7p2v.LpFpyzephUsvsQqh87D89KxHCJxkBffuORFx4
CwAmwJhn+0B8fEdiIXQHL7og8XwD5rer7zuc06d+9Kuz8MLtQt+C.CoOJrv7
K29OP913LmA2HWYCVaQy2VYXOVouqH5l86FMAe+spnzKhphUQY69bt5EmEI7
GKSCnXFpSinpphtLG2Vstylz5wACNsbFQ3AVcN0jghT0DhsjJmezFhm15shc
ZE1hvrmrnkMs0QGA+kDZgnQZYpd6hxLexmK9VkuNd0EAdiTZJBMqbtvFqNzy
.eR26ZhN8+kdgydz9nqtkUm+PHWluqXUMcVqT9Xd1WrNtrJIK5wTvuecSTmm
8SXqN2RTGZoZxYZsD1EL4kVB4Blv9nkbngT0iXiaJuXcbQ2ia4yV9PF9lj0a
UK1aqJIzrq6ZCKjUevozIXRzoZorNHgJ7gTW3TeFpOZIW5yf7RKQbok7glrv
kdmpbAF.6RihP0iHRUacOxufTDUvEg.FRMjXXGWapzsK80UIwsa5lRsaBAsP
2XDdlnanKzMsO5FSwcR2pcHqYgt4S0tCBP5vvyjnKlKDlZwY5eSwN0z5cgzg
rFyH.8lx.ASATA0Tu1jZGMO4Z91VMyE6ZLV67vKPSCEyh3yolFi5S7gM6pIH
a8VFx1ezoTKZZTqKiHH5kXs16Hb1RTXXnfyCkTrYcl00klZuSWFcQzqcC6nK
sQ0cdooR0tL1hVfz8XhXs0NrpVCjcdQTXHEaVl6H69D0QWw68rbBD3wABp4s
YfCf.dA.AXbffXdAa3.HlXWWfKcBf8ZmwLjeacB57RSsSfq9E1yXal0PRHbo
33A259ZSjroSN9nGcMwm9oPbQI.G5AO5IG1cnmVBN0VxUWY6lYCvcqhz40lH
YiCc079fCkJMCdrkwNtxToYm7+1GgSi4tn9v7f5Cl45HTC5bvoxgttxToYWL
k6f4E66nDQ8e66wbbJpdryDJhP5lRAyOkNG9+iboKEyGYyA4RWJF0CcoPNkU
WTuYEAYBhwryjvL0OxgGQHyfdfSjtn29V6IcSIcDZlshCOhiW5eMImChE4.W
WMHB+wi7skAjKc3B6cTaB.MDeVsMS5eUDrqZ2NS5zCHcZ816f+UQvtph.cfz
UCrYmWN0QdWEA5ZTWS1xnKdEWSNSukftzRS0FLTbFygWuoUBiH54XlS3XLjA
CQLkVpweXlfQCAvPB+LtQ0q6H8rVSg.BVO009tS5QJw8OcecnoaemWJQEQkE
aoluZonIis0LDDWkYaNKDvjADvBOm6jvqWsCXBLDSP.xrv.PNNeTcLZfc0Fn
1pRDGEVDGZ1YVN8ZeV.BYVRstSJQGESjOa5AMIMOn1IORU2DtyYYgalz..ss
8RLPaWYpl6XtRznARTTaDsY5C8OQSckngCj5h1HZS0j3ehlvbO4VSrkbJ0NH
hWZKzErs.NEWrXNlpKGabzgyqfuLsfcKi.jYA4t03Zji7OxQNLVBzKod83YK
rq1B3k1xoJI.2qilglWfeF2Mabf+0.fmSm79IV8fEhPP8AdWiAw7.wZVdwBS
I4aI1vIOMBP2x0P+zlkbfl2mUMOZpTmSNOA6Owi1Br099kkvUkPcyWTcjYP8
zQ5F3.cinsS2H5Lno5lGi8Grk80vro1dqOBIltpJj5AhSySgHOzyAhcIvz9n
FFCcjP0tJafMWxM1CLELsIs49OeRG2GpczzaPlmphZB6tF.viQS8LBLWnYvw
ngiR5PsuROmgbV6lT.BOW4f8MhNbtlykisjMfc5o0V.WKTSv.A015rD280lJ
c6ZDhCMCZxv1VFp9RvPgfPLjWOwemdEOPyCkvl9KYCN2Xu07g3wi7.kMT+6d
8YAxLqPNhd3Uav25i7.kgGR8DzectXLOZXZVExSYZlEGRz1sODWTZe9ZpZwl
n2Z129EWqOLIybndU8tnH9gj562blnhU2mTEupZWgYk99A6t4sdGmpHaWh0j
rje7L0N4XTYoZUAWt0tvc0K9lm86O6+SVh9Wb
-----------end_max5_patcher-----------
</code></pre>

Assignment 3: Modern Electroacoustics

The original sound is a lecture about modern electroacoustics. I recorded balloon pops in the back of the Philip Chosky Theater in its Projection Bay and in a 4 story stairwell. I took the second impulse response, added a Wah Wah effect in audacity, and reversed it. Finally, I took a clip from the beginning of Steely Dan’s Babylon Sisters. I really like the flutter from the Projection Bay and I think that Babylon Sisters is interesting because you can hear the song at points clearly, and there are points where you can hear the audio track more clearly — but never perfectly — and I think that back and forth is very interesting.

Assignment 2 — Delay Party!

I have created a patch which can work with any audio file or a live input, but this patch is set up for a stereo environment. The left channel goes into 4 state variable filters: a low pass at 250Hz, a bandpass at 1k, a bandpass at 4k, and a high pass at 8k. The output of these filters goes into live.gain~ objects where the amplitude level at any moment is sent into a sub-patcher that slides the amplitude and then scales it to get to a delay time. Through early iterations, I found that while the sound file is playing, the majority of the file is spent between -30 and -10dB, so that is what I based the scale object on; however, also due to this I would get negative delay times, so I have it take the absolute value of the output of the scale object. This is then sent into a line~ object that smooths it over 50ms. The only difference between the left and right channels of audio is that for the left channel -30dB will give you a delay time of 10ms and -10dB will give you a delay of 1000ms. For the right channel, -30dB will give you 1000ms of delay while -10dB will give you 10ms.

<pre><code>
----------begin_max5_patcher----------
3077.3oc6ctsbipiEF95jmBW95zoPG3zb2b07PzUWojswNZ2XvCfS28rqte1
Gc.rAGPHBPprCqtpNIHgQK8KokV5CD9uu+t0aR+YT95U+qUec0c2822e2cpj
jIbW4w2s9H6maiY4pSacRzOR27WqePmUQzOKTIeZ0+gwSpR9DqX6y7jCOkEs
sPe0QNdjGcdXEl5H+E0Sc.9QmUeq7Cw2otRhq9WPNgUWpjyG4IwQEpRGcMwz
yE2lZdwuhiTWipOr9jJ90oHsQrNmeHgEu9RYpLznrx5aYE9t064wQuDkkySS
pU.2slc5Tsjuq1GQpR+Up5B4+vkj3I5jHWRJK5Ed0m28RprLgbUHzpyY5JvO
C7Ve8xjtKJK4LWYJ5D+88UlzUE1ymJ0T+.4Oc8wxe4gIWUXQS6g3zseORIzN
UIldJJgmbJKJOJofUTZbWxdWzd143hm1mlTjy+eJ6CIu3sj+d11nN+vIri5J
2+NiKZCpNkCY7coIRingTKStp3D8dbk0F4OuVYTmQB6TKeXQeHgrzQl4hJ44
7MrLYKwFcOFbUlEoowMy5xmKNZeQY1m3II2nhEom5NyL9gmM7Y2jJx7noqsJ
m7mNmny8IwvwhmxYuzTsKXwwkiOad4+IKgejUDUv0MAXmKYFkvDUzmy2lkFG
2n9py4kVxYmnS71nev2U7rpfp2YPb57SUchVeoUdG+PTdQyzJXGxalxqFAKR
57lxAoOUDc7TrnVz7DZ3Aq9Hx5dxZjtIOZM8pw1jWO8Vbq449nuqzqlpCJw4
VuZ25Yyq90qMeac6eqCEpU+b7Dg88spS322ee0e7vzKRw7jn+XmLQBPJYxqO
YJHrScB2oNgGtNUNevCqVugkb3cSxNw198UNqbcrr2Unxmd4Dnljsf2fr8F5
d8tIT4aYwQq9hXb0pu39nHHBGGwOrT0bTSAhv98Ia9cpZdefUsyG2HhbwJo.
4pz.2dcOQZd8xDSYWH77pmJn9jJCv80aXX469.x7X9tHQOKq6bgPJszKrOEE
0YeKxT12ZebJahc4qrT6TCJ55rexe14rejNUCmoTMh4xXMpaDaSOdLJo3UeT
dxtneVKv5IQ4z1ikRmmsZG8MD5fSuZ2aRXtFDtbx+Nh9RUmk42thkmdNaaUC
V0b9qZV8EgSVvStrljudUIjmnUsXC1JBrzJZwbOx2cJUD5Uof369HVFzi1sa
8ilIa22VAbF0O4PbqLBzbZD11FFLiFgsBg+LZCHKsARm1PYhU.GVKWz4tmzK
v9IVQQFey4BsKf5DTFzBAODmtgEWtLuKXBLspvqKc79q1q5mZUaNIYEhw1Cx
5R7D.HK.jE.xB.Y8AGjEwGAfrLHSHRnVmBcARVCmjUorAjrFDIKBk.jrpPgB
jrlVRVXM.hkNIKcOJpC.xZnfrBAPVKCPVTrpsEQHscHIP4AAQCudHv4B3bAb
t9GJmK+fA7.agP.mKfyEv4B3bAbt.NW.mKfyEv4B3bAbt.NW.mKfyEv4B3bA
bt.NWeH4b4o26NVx4BCbt.NW.mKfyEv4B3bAbt.NW.mKfyEv4B3bAbt.NW.m
KfyEv4B3b8gjyEMzY.u.tB.NW.mKfyEv4B3bAbt.NW.mqJNWJTW.mKfyEv4B
3bAbt.NW.mKfyEv4B3b8QgyEgPG.mKefyEv4B3bAbt.NW.mKfyEv4B3bAbt.
NW.mKfyEv4B3bAbt.NW.mqOjbtP9dCfykGv4B3bAbt.NW.mKfyEv4B3bAbt.
NW.mKfyEv4B3bAbt.NW.mKfy0GzmmKqwb44BTt.JW.kKfxEP4BnbATt.JW.k
KfxEP4BnbATt.JW.kKfxEP4BnbMqTtNFkmyND8JLW4hU5a.xEFqnvPCU+hPL
Q4xs8uqEwikxUYX.SVElkU7Cw7Ao+vX8VUUo5ZrFEUW0aZvGo5cG3L2w19GS
vLwJ.aTcMk3ar95Mf5qyqquSWkpfcRTT+QD1lioGHQji9aRgffNZL6jmWi0R
DZDha6.Em.1tSpbwS9S8kbZRtB7FiZQcdWUKQUaaZRhpR7VTrX9KQOdfIjmp
h3E1UmyWy8q9eyjz4n2i2ZoiFniLxqigQnqWoWuvTjI0a6yLQcM1vMQf1S2p
GzKJUuLqGtYIFkS6cY9NCy78BK9bT59We+CtVmhSSNXTIab14OmlUzxo214V
UsbZIuiBYSl2W7uxysY9LU+AuVykmvKj8qUZViUwT6jNKNoKcMo2WOVho7FQ
k+x9+rJnmwrNTMQDZ6f0Zzuq8upXHF6GYuCqGL9WSr6LK79G5ooyFPGkye5x
v4enK9Qh3eHxXm.f394bB.OSS.DDRr1+OwaY6+2C7+au+eZOCa0grYi6eh+h
x8e.AOAt+wKjX+CTV+X87+IMzeWSd98csOxexBOxeWvyu8d96YDquN7Vq77u
rB72KDMEd9WHA964SFume7mzX9ol776g7r1yOdgGyOE77aumerqwAr56Pg1w
uqwG+X7xJjeWxT33GsPB4uTsFoi+Oog7SL43u7YcwNG+K7P9Ifi+IC1O0mXa
H+3kUH+De+ovy+BIj+R0Zbd9QeRC4GaxyOo9cHuGO+nEdH+Xvy+jg4mfBs0y
OZYEye4yq0H87uPB4uTrFoi+Oog7iL9.9P8s2w+BOjeD33exn7W1uiFpd3LH
3d89iWX2j2GcGsye2EBne0c3EgFkyeuOk99Msla6erNWzd8AW9SDdepsv8I+
SyS+oX1ujcL6c3FU+Rx3UakvF.tFvKVE2op1K++N9V418gk8qqCv1wJX2NTZ
aL+TG6nP4qkkKCKhxR4aYOx362eceKpNkuySz0W14c7TYJ0Ng3zzSM2yjqEt
JKhRJdR9hAoicN0ItPw2llIE7KaMpl6bp8oYGYIElOI4qxkREaCKmus4lTU1
P21mJ+Tj9MBhHtla1fnJCK+Y99h1y++dlEyK9U2kYd74rpWKH2LLW1NmwOvE
MhBc+f9k8g5bDMmE7seOecaJP6FhpnKDtKjapaUOVZ6Ek7s7QZ40.eq8Hsz7
hrHQktMgpo4dLu8J09z33zen2UY0Jsd1faukAtLwrS8NnUEWpmXZe0tJ2uiI
IGxKDIyagH0ku4F2UWYtc2CVVkd0tFrwFesicLHswdr71cFKlnpsjPj5WDzk
i5vAosll78FUu1l60cy3aufrubZWB7U0YL18w.45SBdXUX4BTpRYjVnKZ.MS
iqjFc+AcUWt2mq0cPdzHsLZv6kFH2iHqP8URHSh.xQzm.444g8DQN6H0.jCU
sPM4QW9XoY6zuwxPuCVryPsXDh1sE6LNKVJejdrXjS3Tzb5XQGGRnQwoTIvZ
O6MNbrVmE5f2T3kiXsqdTexPkudZ3T4qW9b4uB2WajY+NhgWAUadGU+2PG7b
MfyN60cf1qGpQJS8XNk906XNjyTzYyl4QHTi5SM0PtQ7kBjuqdhV536vQG8n
gRqYFFLfsoykw4eBbn2z4x2a1l8wN60YX1a.FMWy8PrZtGDZJFGXybOXiy8T
JDXrmROnWOZr1lEllQOtnK8ndnLD3Yo0xlAp1ZlnYaP.d7SuV11N8NTv91zK
zXasGAeUE8vtylLZko5ZuoFfmqNlX6lNEOAtQv1LcJ13nfRg.i8UQ46iEiYc
bZlzXsxwOmZoIMCCArYERXiyoRC05jqdARx+ziJeqw3T1CSmxjOhvJK2Y.Vt
bhVhmDvdkkqSYxGfX2Z7BlhAH1LOKx37rkpQ4R7pezXsMaVaN1X6mm9sMGQy
QvUEIf7nIuEyBSk3asoFpWtX6VJZ9sT6EUecr7sao3Qao8tRnFmykBlL6RD1
9FyxoUaWhHytDgw8Gim1PoA34b7QudY7s0PI3f4b3QuFp0JJxjGmwM5.M9a.
Qoq5o+FPfrAxCxnsQb8UStRoMl4kbArZWy7hdGrb22hkG3MqwLfrJnZG+IHl
AjMAUiLFTcoZTFyP8iFqsQG8vhRqYFFVXCtGj4aORv0aUV.plKl.zz6KzN60
Y.1aUn+k25yKoL4CFP3ArtuQVTnAPpZjEky.fCOxhxJuISwMM7x8pxpayzHK
pfArZmQVT9CvI4HKJatO7SSkx9Bx3y7Poe+5G0vzzOcF27EMkzpt4KXpa9xk
50ewR08WpT29EJknj+88+ePZrtdE
-----------end_max5_patcher-----------
</code></pre>

Assignment 1 – Am I Pretty Yet?

Inspired by another project I am working on, I decided to utilize an online beauty tool which is designed to make your photos “more attractive.”  The best one I found for my purposes is www.pinkmirror.com. There is an option to alter the face based on the gender binary, and to screw with the site more, I selected female. I provided the site with an image, got an “improved image,” and fed that image back in. Below is the original image followed by 20 iterations.

I am so impressed with the results. I was surprised at how quickly it closed up to my nose. Thorugh the process, it asks whether or not the face is male or female, and gives a default based on what the site thinks. I had to correct the site to female, but only for the first 3 iterations. After 3 it began recognizing it as female, until iteration 17, when it began seeing it as male again. The other interesting artifact, is that the process failed to place the watermark in the same place on every image.