Author Archives: kpreiser@andrew.cmu.edu

Kinect manipulation — sound synthesis (Project 2)

For my and Dan’s project, we wanted to do something with the Kinect. In particular, we wanted to be able to play a video game with sensor data from the Kinect. However, when we ran into issues with this, we decided we would create an instrument that used Kinect sensor data.

My contribution was the sound synthesis element.

Our setup was as follows– a Kinect connected to a Windows machine with a license for dp.kinect2 sends sensor data through OSC. We use multiple ports for efficiency and simplicity. On my personal laptop, I read this sensor data and perform sound synthesis.

The first step in my sound synthesis was list parsing. For each body part I read (head, left hand, right hand, left foot, right foot), I am given a list representing X, Y, Z, and certainty. I wanted to use the distances between the body parts to create my instrument, so then I made a subpatch to calculate that euclidian distance.

Once I did that, we had to do some manual testing to see the range of distance values that were possible (i.e. standing in front of the Kinect and doing a starfish pose, to get the widest distance between the body parts). Once we did that, we could scale the potential distances (0 to X, X being the max) into usable numbers for sound synthesis.

I wanted the distance from the hand to feet to correspond to pitches of two separate oscillators (left and right), and the distance from the hands to the head to correspond to the loudness of each oscillator. To make the patch more usable, I have the oscillators round to the nearest fifth, instead of just sliding up and down continuously. To do this, I created integers of multiples of 7 (the number of half steps to a fifth).

Jesse also helped me get it so that the motion speed controlled a lowpass filter. To do this, we used the “t” object to store a float. This allows us to compare it to the previous value and subtract the difference. This speed controls the cutoff frequency of the lowpass filter. I then use the distance from the hands to the head to control the resonance of the filter, keeping it between .3 and .8.

I then compress the result and add reverb, cuz why not?

We also decided that the potential pitches for the right hand/leg oscillator should be the same pitches as the left. We considered at one point having each side have different ranges of pitches to allow for more playability, but decided that ease of use and understanding was more important.

If we had more time, it would have been nice to implement some way for the contour of the oscillator to change with some other variable. However, I’m pretty proud of the work we did– our tool is interesting and usable.

The patch:

<pre><code>
----------begin_max5_patcher----------
5330.3oc6csziiibj9b2+JDJ3C6ZzchLx2oO4EvvvGl8h28f2crQAVRrphdT
IUVhpmtsgme6aj7kHUQRkRLYQ0qYMC5VMIEiL9xHi2YV+iO9g6dX6Wi2e2he
yhebwG9v+3ie3CYWxcgOT7u+vcuD80kqi1m8X2sN9KwqeINMd2ub2mxu+qQo
KeNYyS2uKdYZ96xHAhURo.iQ0TNvjeZgUqHJvZsR.zfQiWBXFB8SKTBBcweo
3ss8P553zzu8Zb9q5t6ptUxprgv1G9qeFX1Rxu4vKIavuR13C9T4Xd2OEua+
g8wYeGywmM+821CmSuOqvQzmEF7O3J7OXB7O.F9G3+xMXW7Wbeq+4G+n6O9j
mv1l3eFG1kC4z3ulAT2seYz53ETB9+pErEfrGLELRhFDLsEzBCUnL3XTvrDp
VaEfwJjk.sCTYrq.TMsBpp1QuvACae4qjkae40eYQzSK+uedW79m2tdENAP5
AOzRJgy.pPXY4hSVvRLn.lhy0FKU4.CvIbcNzXexSahVe2mp+o0I6Sq961QK
cqnEqUzRbEn0iq2huj9VlYcPfPIjHSSsbGHfelHbxBZtjKAYFJfP04EIPl8g
nMOcjYeb6tWhRqKATi8s5iCrcQYZDtOdSzCqydez9Vb1DYXiAxnkJhTZD.UI
JWWnnLBhHJ1HCL1IDX5XA1KoaerO4HNEkY3BkkwMLSNZoABXvkO4qi3rqUoB
Udm+7LLFBCVsgn3JtjI4EpEdmjEPwuaOgg8qSVEuPRVX5S8pQnIBkVxrLqJS
8plZIVTyBUY3xbkMJOfLb5IpCMnz10fxGa6Mwe80cKvG7e6W8H7m+yeZAg+u
2mgWlFYSsUCfEJVNHU.wHT.mx0PglWq8pWhXF4kH8hCIapvAyEiCbNgoEJog
U5lm5pQA6zfB6+xi+Bt3mhNgo6i8oBCQyA0QOsTVIwHU3hBEqzgC8U5uwa9T
qXDPufULhQwQUpbAseOU0LffdohvA5yettUzkLhBAPogaMhrkK.kesRJ.LM9
olt3Q7+dnOVG.BqIqKzLhDbQCoQe0JbUU3shyOU6CMs7z.QXWvZGdf0fD8vd
mFjEedwu5QVkFj0IahWt8vlz5NE6mzhDWocp1UfhKOcwSxsX3NNW9wve3xqP
3QbAtsGPgmdc.CWKHobiPx.Qw5Cz6D7ZLixnjLd90vn8jCvdKXmFV+LteZkH
CQMVTRPoKb1.4bBSpDbKCuSAjb8Ngxfow1xudg9LLNzzwTgTRrFt1hS+JZgm
o9LsmroqvTYSyj9utuDDAXnEDFFmtBidsX1UA3TNvLLqrZF2GNuO6kL9zv7N
Nse9GWwiy4F0QWoznN.tPbLDLeLRzKyKlF2qq4rfz8W.oWjPqIXnE0iTuUSl
CHsVxowcgKI6dsoJ.jDbAhRTXuafffZZ.guE83tJMPOtcS5FLL3r67CQoa6M
pcfvOZ5yXzNuuw3OfR0h1bGHEWjq1sAN11UQJqMp2m72ydkfil4Wd410a2kS
FJwfxwJbLQwoLlTXq+In1.b3Q0+5t38woU.m6esIMJMY6lZfGilEFhLK+545
Q.SsgQqKDyDAAgBMDW3HFF9uKAi5pj3qjmW9qb.laS5Smdgpu3CGd3g0wGA1
VlW38Z0tw7Bink3.UQK9AZAf51jun9Smd+pnznxphTMMj+kdHdWsWCdsiOKh
O4CaUl7lKMK6p6+tMadn7obllZ6oz1FOkn8mB.SiGS1wKS6loxGp4hXsyNrd
XG3j2c9rZObR9Cv0cyE4OAX6lAxeB0wG.x.0zsO8z53ZuBeXN9Eyb.SeN1Cb
0D5L7Wi2R6DBLmiEqM+cUkd5k386idJ9MJlgqQobqJIXllJIP0CLzPlUvEnd
HTcs5pLYw622sFq9AhD8XF8lp7mdK32yIqVEuIvF5vUbqxBPOPvJF2GwXPm.
jLcgMvBsu8ZvqybDXE9qL8nQtw..Wt8kWh2j9FDbU7xnusHM4k3yYcSjYcCg
lrxGmiJzZnxEh85SwdCPa0tWcZTCZ6nRfvkHo5mcJZHg6jGe7vdG47BsYzrn
uk7vi13kZf1sPi55EneOh1Om7zyKdbW7e6P7lkeawpnWdM4nxhyHnqyL1CE4
+HnXOm2D6aiH0E0MeOB9YCI+f5b1WoCNRqMmHk2BMpqtVdKCzk9wbFHMOvib
OZAQFxB1KOLDCWbhPZKuK+bp3XBgt3Bx1EZ9vSMhDDCCDWu5h+iYnXzqYQBR
MBktuHAgwdRPpF5j.JlEpIAw+hNIv4CbRPaLAaRP9ulSBE9wLjUBm5ux0OIX
U++mIAOZJqrtUSKTTEm4xrqqvv.ATFCSBBqjqvkHiRm3XlxtxpqPvMFfHv4G
g7RKZpUSDTFZ0WxnT.ANvkrNAQJjhF8mQFRdEkI0nG4BmzYZIjBzcFEtTSco
fBTJfgPJWUziwFpj.VgopNBWOjHuIqdJttg3pcNWBTcIShtBRrViQP47xNy4
pqdplN0cvGqTdWfhEbWUxkuepNTe21CeflR.l0nzRYdmTXbpIPQClUpjhxN6
aXswmh+8PW7gH.Qa.JUZJZdQo0PjZPTusCt5d3Sw9dnE9ZADzYy8WcW6wY2z
MsmjwIFEWIbNcTzypsnZbTaZuN58jaqd1C8MVJwnKnBJn.fyPMEJEiHXLTXA
nRQ9BjAz0d5a0l1i6.nS3cIEi1kiFarBZkdx.20dlua6Yu1jVjZMAwKNmR04
8uRnZYO8sWC6AtZbooTz6RU4Vj.88Fc+jVq83GV65wmHOvQeFTn+j1KUnfIe
6xHNx7Jsli9fbbujb0dfO58uXOPBfwTHtTH4s1aE3RGL3aFCpsWatd.AFY.I
9uuJZYeMxllqOcW3gFSc6.OW5FJKboHq7YBY6o5VcALw0jr50IeIl7TTxlJF
4KQ6pRk+auaKrIJCeBapYBh1ZbcbRosQQQUZT0XSbPfurnMahWWIvPuDWLZX
JoyMiXuITE7GdKa4o8QeId08Qoo6Rd3PZ7wOsu.mK6yBDJWeHFCPs3xG6+hi
ij8OucWZ23cimsDMnsbuCaRR2m9sblRzxC7Bxet684LmZe68wvLexywwKnDT
l6Is9hRvQRhycu7brUqEM93w+JzAAiJMHndYAvJ6IdTvKqjrgOlWo46tMwna
2Io0RFUKyRHVdgjABUyUzia6jqNKHB5sXKj63ZKkIMU63YgQPLTTBgaNtMnG
RGjKuA6ebLxu7SN.b9Ec373lTbnMLdGMWvj2v3XbXDPpQOyp0NPsrIVGZOiC
lQNYNcUh9+3eXQ51E+weeu6.Oq.Agpvw3JKQfdbaMbioLeuPg1vNJqN.5KXY
bPa.j3nUYr3en2MBjgXZ3mA24NE9C5owwyMiywipIhG+grIQGm16Z2ScJlqz
WwDobpXxeuiI+g9lFYJFwpkbATlXwqZZjOxbXH1+FBqhHZvpsl5jqeiKP4ib
diNecKKm6bSoRNS.Hm3pAL9i.kicm.GLqXjNAAfa4yYC0aWKC.Ai8ia4xx3h
FiCYCyMX4b+LxmLkgIxJwNipbqdjF7GVs0PMxcfpG0jJL9RAZoWPMBgloTtM
ACAuDnkZFMamhVIzYt7dOvHlnrof3DvckjZgCwbMQgxATn7i8JvIlVQ.vxMh
xsObXQI9DhRfEXNPRiZdbBSVtvJXNv5RQIAZhEP2kkB5QGHCKPASGPwoN8xN
jRRQ6N.JFg1MPEPcBUhdT2itUaMRpPwqbFwfJuLVTgFi5JzLy352BEwkoW7Q
q79VcEEW2NcvFkg1xrHFIPsTbgC0.oTKtFAL2YQETORjfJbomnMs+eCMsraK
Z6ZwuMZYZxWhW.8ddboIRNFkRs1M4yXLZtsFHUJUt8ytqSc.vixL2YYiTicH
pc6cee9AhKGjnifZk8nWerrimNAUovnTKyZEGCww8CnLn+StCtrt8AVxlLm7
6KPTogfN8YAslUUWYFS5NDsLLJTf.F7hZhF+woFA3V2VcuGdElHds+ftAbgL
sl68LlKDUc04TAmQjLPUa6a2ECJLSEC1mfqEkQMTzsMtlSEcviRBXj3xXCNC
msmj6gKmxDLzmq5tCqnFoVXvqNEpoI.0OiFn5K5aWiP51Bvxp7h5hKQ91bLL
rBzJfownzYXev0LOuGrO61j8c8O56A6OQGsHutH9vx0IqRh176xNiR6FIbti
9FjnsbsYzCoA.EWz4LR8wa99ytd4DeLwcBCuaeylZ+C2E85q0tbyJM9RzeMu
e2MUkpCGF4W5X061E+kjxu+wqFsCQsTDxNrKurfeUINVOvW1tJd2lCIUSgYy
eECorYJW4D2+Zzx7uraBs710hjOe+OkejLnxyPuvTSmpqo8Wuc4OkeXEWN3t
a6qwaR1bZe9Wc6UwOFcXc58mbLHz58erXD15MqJI5+wNWQMKejm1krZ6F2fn
wLg6xkjy4JT9tKpNyj8DahdskuLJtfvRG2bOxjG1+PzN2DUQpbJOXBtKc610
MuU02ac7ioE290jMaNAES29Z22bWxSO2y28gs3Meou2c1c1e+gM428dW89u2
U87lOWz50EKma95+ZzljWhRiy1zyN1kVcy7zY879k61tdcC9M+Neok6rBkwW
F+yIqReNiP0EFvGO40Rgn6plkWk7T79zlWKM5o8MuRUY2qcoCOTrF99z3Wdc
MxEMefFms30WvVWwWiqehBvbsFUqF6p0vyVcwyawDNs7OqDGOMgpx5uv17ao
MeWpcmR2upyqYzXyp3uVSQQU2.T6vo3hgfF1.NwNv1etVb5cmcLVlQNc9l2F
NUOuO556rqi5z5WWV.eePE1YvDtIeuPl2zyhvfIzuuwDlISNInXh86bHI2fc
PgDyDCIYzyykGLUOZTuP9taktzt46NT59+tvcxUDuKdyx3VU.yemALlwDb.S
DP.6+Ywuqe.iMl.V8ds7OcFjDxKSbPQRHfH4e5bhdssV8niwtbo2gGQYfg69
sCw62dX2xR9sP25hlvB5gWZxlpvD9wi1pOdDRclY3KcPXtEFDReGDzQbPH7b
PXGwwPIJedjPNliB5sfPguPgoywPwEKC2uninyiesm1g9hhyBC5+gn0EQQUo
jrkvvt9tJ95xgVKsg1aaqiAt6VT2jYO7s+VEJ7bt9ljyea8ABOmat0SYpFTm
N8G97kxsy4KcNeoy4KcNeoy4KcNeoy4KcNeoy4KcNeoy4KcNeoy4KcNeoy4K
cNeoy4K8FKeoGV8Jp0M1sA.rTpn2DHZHBoxHLPUCQ+YIQ5ZmXCWy3BgUCCXC
QxESy4PPSHf2WlD4Y+F8x8qhcZ4u9lPWCcMLOkYjVD.n5gf.vs.BvtzMCQHg
.l8V.B5auvvc+17iBFMWqsiBDnlHHXyqQK+o7sGc9+22dcmSn.tFfJE4G3l5
N1nH.EtlyVtS9Pq3zkbtkHd+ZSapQSr5FUWXD5Ra3FsI0ona5hwm642jbu6H
BCm5E3hhi+tccD3dwsd4lrVoSJnIPD9BN0wQkwbAmlK3zbAmlK3zbAmlK3zb
AmlK3zbAmlK3zbAmlK3zbAmlK3zbAmlK3zbAmlvBNcIYYFnZKQY0JNb728Dm
bD1LdIX9hNsYESDDY.i62RZMOTre+fHyDAQMJWCs2yJDEAXtypJp0VdjVExx
0LQ0r6LYh9smdsiPdnMzaxrvK3pSOjhCOuquM2rKnZfwedWqt0q+ffxOUDH7
UePOW8gdq9fhlGNO2NW9g4xOLW9g4xOLW9g4xOLW9g4xOLW9g4xOLW9g4xOL
W9g4xOLW9g4xObiV9AowRXbgBrfnLy5sbxxOdoWWo+NnBDbt8jTN9NiRB6Uh
RYurlFmxAsSW0U.cu0XTCCAcrTiWas1ald7lRJOnjE8regn5gdNY0phLMMLZ
K7gK4MdnfQatO7spKZWJmsaUdJWoi+fgI8cvveGFLBeGLr2gAC22Ay.kYXdL
X.lNDKKcjB7hTv.IkwmUgPHz0X7YxTXCAk.e3IUHnD0CJ4JnyB1PojGRDgPz
yKSOgPtKGSNKcFJ+ns9nBgFBJo8UVXnXmV4KkFLOI8YkDzP1LPVE8izzlJUB
jpdsOJEUgX4l1GEHFc6.LL9jV0A9Nv4VeXZ6TQYPOFxTJeH8Id9GHlNizmSY
aloLXT35yZ2ROZj9rZIUSFWy0S1bMWMJj1GG7LxQAv8JPgQwNkh4KoGpKfJu
rUHZepU7NP5NrUveGHMzNoYiOo01QwZgWjVLFKi8wuKQHbXNKVOuLKEbdLiz
dYVZbHsWlklFRK3igBZu.bAazH84DyDvnPZehivLFpt7hxfcxXZfMJd5J7JG
ShPn7h4KkFZz9BvWJMTGLDdEQnZLr24EoAXbDZ7sFHSBkqxnbfUP3MoCtBBt
0KZGh7Ww8JclgHmybsuTZn5C3JeozP0GvE95D5f4IupG23TKPtOZxKixaXTB
7MdhAim9Pn.PGl02fyFLkT9FA5fojzW6APvkEYdaKhEdZy8k17vSau7wI.KA
YTeCAJHTxqHdBBk7J.mgRIv3adMCtSCfw27ZNNj9r9qLJ4hwK.G3iFoYm0Ks
QizmuzevXDHB3UUCBQ5u.kuhUPHnjWRQAgRdIzLXJ4U4gYiRdz7i1cs1Xfxm
dE3VHhcB3TeqrwvIkuL0fEaX9naIHvGyGMIiRxTNMt8tIM7tvj.aTpkO3ULA
V83.wdo8lMN1GY9o7aTxjumDmNRS4Bu47gu.1KsRPP7Ef4WykFDksdEr0oHc
vl.8h3zQRunulYFZly.vqbbFFu67ycYdPjS8x8C63r12OWefwIr.+jc.aPlP
Y93EMXCxDpWsZNHBBs7aseP79BndlQoAOaQ8ZoNMDsPe0awCSRCVEFU6MsFN
F5mOE5ffg9XVWNJUZzOZyGm.G8h14lIfPWswSSVSOaosAKK4aSx0jP4aZuSN
Wrbz3jyCqSNKrd64fU2mAVmd9WksWXyOJfNYiBd7Dj5vpjs+WYmiS2+eFu4P
9NRr7zlpIR7vSOlrd8xsq29liArxsB4c42s5H2p7Y+wETByJPOIPrivAtlox
9D9Aorl7Pw2AJ+RBovRYtGUnXZgL6SFFWxcehdxWicjVTvlSAp0PE4eBuDfz
p9WKZySEmaU5ZG9Ruta6qa2Uc.dQ31pm+P51m1EsJo3DFf1Xm99oBAoc3cO8
DX5tWP.Mo76TJOzwgR1G+me7+CTIYVA.
-----------end_max5_patcher-----------
</code></pre>
view raw P2 Ken P hosted with ❤ by GitHub

Project 1 — Bird People

The Second Commandment in Jewish tradition bans drawing/art of anything heavenly or earthly.

Thou shalt not make unto thee any graven image, or any likeness [of any thing] that [is] in heaven above, or that [is] in the earth beneath, or that [is] in the water under the earth.

However, early Israelites wanted to make art! Who doesn’t? To not break the above commandment, many artists drew characters that were a mixture of humans and birds– they were not from this earth, and they were not from the heavens, so they were fair game for early orthodox artists. The most prominent of these examples was the Birds’ Head Haggadah– a Haggadah is a book that a family will read from together during Passover. Other Ashkenazi Hebrew texts drew characters that were neither human nor bird.

Reading this passage during my last passover, I pondered about the fact that bird-human hybrids were used as a way to depict human experiences. I was curious if I could sonically do the same– use bird-human noises to depict human experiences.

For my project, I made a patch that downloads bird noises from online and loads them in for granular synthesis. I then used a combination of the source materials and synthesized bird noises to create an ambient piece, with the intention of capturing the wonders of exploration.

I chose to use the Xeno-Canto database, an online database of bird noises. In the research phase, I found that many unedited bird noises sounded really weird, and almost granular on their own. For example, the woodpecker’s call sounds quite a bit like a 50ms-ish grain repeating over and over. Calls with a “vibrato” sound like short grains repeating. It was very cool to play around with this concept. Because of this, the piece also serves as a challenge– listeners may have trouble knowing whether some clips are doctored or not.

Here is my patch: https://gist.github.com/KenTheWhaleGoddess/dcdb026ae2af56d5d316c1886315f53e

On the top are links to bird sounds. The ULDI object downloads the bird sound when sent the message “download (URL)”. It outputs a message with a 1 if the download is successful, a 0 otherwise. Once the file is downloaded, we go to the appropriate path of the downloaded file and start grain sampling.

For the grain sampling, I used the stutter~ object. I use mathematical manipulation to create an interface to use granular sampling that takes in a grain size and a sample rate, using a mathematical expression I made using expr.

I recorded audio from the patch using the sfrecord~object. Then, I made a ~3 minute ambient piece to demonstrate the capabilities of my patch, and explore how I could manipulate and compose with my chosen source material and patch.

HW4 — randomly scaled frequencies

For this homework, I wanted to explore the possibility of scaling each independent frequency in a pfft instance independently, and I wanted to incorporate camera grabbing– I found our example of using the mean “difference” in camera objects to be an interesting thing to use. To do this, I created a subpatcher that takes in:

-a frequency bin

-a “width” that each randomly generated scale should not deviate from.

-a “random number generator speed” to indicate how often this recalculation should be performed.

 

My top level patcher looks like this:

As you can see, the “width” can be generated from the jitter objects, in addition to by with a dial. I got these from the Google Drive.

The end result of this patch was quite interesting. Its effect is most audible when humming a single pitch, and hearing it be scaled randomly. When using the patch, you may notice that certain frequencies will randomly be omitted or amplified.

Something I didn’t expect was that there wouldn’t be points where we hear pops because of the difference in scales between two points– I assumed I would need a line~ object. But we learned today in class that pfft accounts for this, so I actually didn’t need to do that.

Here is my patch for anyone interested!

<pre><code>
----------begin_max5_patcher----------
1317.3ocyXksaaqCD8Y6uBA8ruFb3hDYe59CbepOVTDPKSqn.sXHQmj1h1u8
KWj7V8hTrrQPPjonFwgmYlyvYzulNIbQ06plvfuD7sfIS90zISbSYmXR68SB
KjumjKabhEVpdqZwKgy7ORqdW6ltIQlqBPADT.Zd.LuSfpM5bkV+i0JuRBCC
9d6ixV5dSyp8ODdm7kaJxJMugSYQsStVpSdNqL8oZUh1uNTALGMKfEGa+Qfr
Ww34nsqtYg751sRfcxeOcp8xraCo0A0koecsRsbfXjcRLhNOFAr.awEP31eh
3ONP9RldNo37.b1d+eRvhNIXgyC1HjyGxHNHytFVoiKVkKZVlsZ0YArQlmJj
55r2OOjgSBY74gLmSlylEPAhErbwUfLd7frAHoop5fbyeKtpWdgrL8zPFOTu
LO1QawwN+KfnWAyjw0M24BuAuLYnPVD4hnILuWl837xVDWmt.muoPdKXFFLl
ADxSfYNRM.z6.pKTMMxT0eA6j7pF0vxMC3gxcAj+.H.S7mC83xMWnz0UFcE7
uxDc1qp.3rf8rLW.Mb.6co.yEACb5c.wmykVsVUNLOJe33Ch74jbvjwdrG1l
VKWbS4kneTNJ3KdpMw73RQyMgmyWlIy61buJqKkEpCe32fuewyfVkWI0mNLN
JbK.qMqqVU+jpTtHWsO36qEgEw16vIpyfP4m2fzNai7U0xmjZi+YwFsZ2nlV
KSqowh97MppUcS2M+9697pxzKYgNP3lmqp08V5NqJ5DOaSYltQ+CucC4etyW
28y3Do27W0NuuyjMzPXVLxezpyuEesLRnwCHqWsR+m.ykuZ664rQuMYFmY9o
CcGLgkvbQjDrKOU78HAU+3qePxpXL4pTlqpJbD5yFWc.D0Osrz2xVpe9DTzn
gFyRiEdFpq9HZzcfgp9obYxetFEb1EIiCNyCA7cl2F9w5tNhmcp94R4Nbs+Q
8CszFr+KGPo8ay9oJM4f6vrErejrjNQLryxi+hXN0Xm+PKPS0l5jNLzlgK.1
pnkpFcVoTmUUtmLFJTfYybRabe0C2uFWTO1BBuYEw5ghvijdtlgCFC.Q5ioa
LbQj9X5rcgYw8soIZezDYLvDoOwcvXfIbezznfIqlvOLMA8w5cyZB5i0CMFZ
B0GLwGAM0q.hQPOPTeXSrwPSzdBoakLA8h1NFowA7i5fI.8wzj+Hd450uppa
Zk1oDS4LuTUaukOycaVo+VWc3g0pWy5j2Oir1T4g1T1wlZeU8uG46nKrnZop
tbSVa4EF3YToqr8iJqXaCAuYWofhpxpl0xj15jLfZkbSt9PKgszpjp7p5mxJ
sXn0n3pra2EXu5cVj5juSNQbLCDNQrBKDLRD432XUVd912Z+th5JZKLsVtLS
Up6ZgI7.kfEHPDYWeBRvQT+HyTvAZp8sf1OHU6Ne2kijC2s77HbLkYWTdLhw
49QbJ43kWVl5aVB69RAsytttZsoerN24bhXq7azUaQ11drbdP6iU4pBySN.p
wbBPw1cPrfGQbi3T.iiOzntppbaGfl3y+qpTlTsqj2CVSjouBgv4KAfy.2HD
gvnsq4zc6Ja6gl8z11BCaidJLgNYcXXeJ1tntBLBXHFFIuuQbbrfRbAawbFK
1OBiA7mmvNKQPHhociDvkC.ARLx4V333Hh603.2.z6a.nLI433OS3AR3C5vX
peDAgnGYbOcnKR.98NBgAOMxPhh3e7PWiQf63.XNGZ8.LfrkYN7HWeJaWql1
MgOCoUbaGoS+8z+mYhgnc
-----------end_max5_patcher-----------
</code></pre>

Assignment 3: Everything I do in this class unexpectedly sounds really cool

For this project, I decided to use the source material of Randy Pausch’s Last Lecture. I took the first minute and a half of his lecture, which had lots of interesting material in my opinion. It had applause, laughter, and some key phrases I thought I could emphasize in my composition (i.e. “CT scan,” “this sucks”).

I used two impulse responses. My first was a recording of a staircase in Doherty. I predicted that it would make his voice sound distant and omnipresent.

Two others I tried that ended up not sounding super interesting or good:

  • A hit on my drum pad– since it’s basically noise, and not much decay, it didn’t have as interesting of an effect as I wanted to.
  • A sawtooth wave at the same pitch as the Young Thug sample– it makes sense that without sufficient noise across the frequency spectrum, only the sound of the frequency really comes through.

My second was the opening few bars of Audemar by Young Thug. In those bars, he has an interesting way of pronouncing “SLATT,” a slang used by Bloods (“Slime Life All The Time”). I wanted to give Pausch a semi-rhythmic context, and figured that using a few bars as an impulse response would give that kind of output.

Here is how my Audacity mixer ended up. The top track is Randy Pausch’s speech convolved with Young Thug, the second one is with the hallway recording. I faded in and out the second track to emphasize the words in his speech I wanted to come through. The bottom track is just Young Thug’s first “SLATT” slowed down to be unrecognizable, as an opening to the track. I think it sounds dope. The rhythm actually came through, which was unexpected, and there was a static drone throughout the piece, because of the synth in the back of Young Thug’s sample convolving with noise. I thought it ended up with a pretty somber mood, which was my goal.

Assignment 2: Pitch shifts and accidental overtones

Hey all!

For my second assignment, I wanted to create a Max patcher that would create echos, but with specified pitch shifts. Then, I decided to do some experimentation, which led to me accidentally discovering cool ways to create overtones just by taking the same audio and changing the delay for L and R.

Here’s the high level view of my patch.

The input to my subpatcher is:

  • A mono input using ezdac~
  • Delay L (ms)
  • Delay R (ms)
  • Decay (0-1)
  • Pitch shift (by ratio)

The output is an audio file with echos. Each echo will be scaled by the decay and pitchshifted by the pitch shift ratio. Each echo will be scaled and pitchshifted again– this means that we will hear multiple successive pitches for each note sung.

My favorite intervals to play with were the m3, M3, and M2. Making the decay scaling value high made the higher pitches more audible, which made it so you could hear more of the higher pitches. With the delay L and R, setting them to be slightly different was a fun way to hear phasing. When phasing, I noticed that noise levels grew while my voice seemed to interfere with itself, which makes sense to me– noise is audible at any time, so it’s understandable that it would compound with time.

Here is the subpatcher:

Here is an audio demo + the patch for anyone interested.

<pre><code>
----------begin_max5_patcher----------
2185.3oc6bs0iiSCE94N+Jpp3A.MLxWyEdCIdDjP.ugPUoItcBjlTRbGlYWw
7am3KISRZRqSqSlcE7Rm01I1muy43yE6S1Od2hUaxdlUrZ42t72VtXwGuawB
YWhNVnauX09fmCSBJjO1pT1ems4OVcuZHN6Ytr6jrfnMAo6pFH839ri7DFW9
VPcupt3ubfoVxUxWY4uqGtf+RhbjUUSyg.d3iwo6VmyB4p2wAge.b+RLlH9i
CP7KB8.ndVhijSQIU9MPXC5INslbD88O2cm3m6MD2gY62yR4m.7eJtjBWV7X
7Vd+XGLFvQwJvIwFjp.GX.vAldz8yV.SHf6CzRz.Ph+fbNGl78sFjJmfMr79
oezP5iqt+pzIgtToxnT3QOqJouW+HrdxyC1y3r70rzfMpUFXQA5OXAAJj3oD
n.o.kdVAJ4ySApumbGHhHf3EjnzYQhtMIqb9uY3uMKeefDkNiggPTFZwT3kU
wcguqp3dOwrfRti.c2uzEZfkXG+o2MC0dXx2wDL4M4X5W+U6gIHxHP4N8BJh
EAE0HP4L4f5GwVDTdFAJ5jCp8VDTHnuIfhL8RJjEAEwyDPgmdIkMAkqQRJzj
Cpi1CSXfQBJ6ktvdVQQvN1IXB9.DQGYJfiLxLpiyCthvNItBvRfmKRDZ+NlQ
VEx.+VIhMkXVo6pP9fX1cFvLgLOHV6VWkO7fHlLCHFMShXnR35KSsZH.ilC.
OSajgdTCDwfY.wX7LgXpAJ0j4Xa77fWs6oyqSimd7NSagc7M.szYP5NSafUo
SdA7ZOKVCEOUDKI3kke49huxFGwUI1DZtxvqbbO6wv5844IbgcL9DtfNuqGn
SDKTHYAeCzFhVjuTbhMIjYn8RXKJNHYj6G2ljINotQIVw.7aWKBo92dAGZVj
pCbgQEgAIrkfREP2kfGVN09hz7EHTFrgu+YC1nW9hyUfc1GhBBe0FI5IIXLR
kyCs52dM0ZMKsrODDMD0On4nh3coBM85+0HucOIP87tLNsWF5CngdX4Awc68
Khq1azVksBa.Qk9e7NaNt8mUOs4bWR8Jzqg+hUaiSXOwxKhyRarKawpfCGZz
8hFuhfm8GYxIx895thSUcgq6Jm8Tb06Sq6MHuDg7R3cLWg8m8p7oHllrHVd5
w3ZAnT5cW0D91kxntCBf5x1zV27ZXdqTRuKIK7OYQM1gUJcNvRiSOjyJJcuD
v0TW8vQrsAGS3q2lkxKh+fj.gBNeOiuMHjM3KmVZvThtuK+Mq8KVsKONJKUP
Ds30htqVtRvQU9iZBF4SjFbnmWtTxWxWFXvhRPdrXSPtPTnMcipFjmkkzdn5
2KgskqG9PbZZGtHO6vvClGu6wy7taxJGb+4la4HEqOlpFcc4tS95hfmZys4A
II5sqsm9mCRi2GvY7XkH.ApGT495whv7rjjV3UMxS8LRToVbH6uii3OJWnlJ
CkOd7gJknU0R4n3crBd693A6JZ2yI69K653F8tz0b19CIknn8CzpFMZtkrog
sV8eNCbcLxILwIqdgWaNduV4tjktj3h2BWY.zNTPY5yzR4X1g10f2IF+wcn1
Fd5Zt9k5OQqU6UVGv44waNxU7xEmvypzGhzaHat1KV8WGCRh4uHofMAEwgqZ
NZN6PVNWH5RCeoopobziErvRKOE0gPoMwcW2+kxmkkEwe8qk5uzgktPCjt2l
TUEjMAcQoJYXo57vq3k1SOxesLeHv6ICCH+iK4hLL5fLLnEYXJPNLCAbMXES
ZVQAXP0uChUzvXsw.UIQ1kBhSiXOOuZRwouJJRlqUSpbFByJ8EFdiFUgTS0l
fyh1jbVuRdxUxIvTUkY4ZnpFXPFAX.UsuWd5Sxnf5UqCaQFX6S7aH+4K+B37
xjI9pTrwRu2tWzGNzcVr1+Nnto4DlptAgiVc6vaUc5xmBRNx5Uoi9YNaDQFE
ab76ZkmrXurNxm2rNnGZLrN+qfyIr28CStG1IIzCn93zLMzCO6D4Abdh73Sj
T5T1.MNiN2+OgtO8SnSKSMMeNm+imNmlcYZ1bjYI76OsyYQGCIw2LVF9S9LV
rfBDzz.fFsWbicS81YRmDmNzgQJAfX79YoEYGyCqXK5nNV1FLQrBdbZ8Iz+a
06K57b6iiNjEqM.KtX.n7CRQWX6pOzHYqk+tQpAikxcMjxwWjxUzJlz3iYqU
ip5ZWiIzzgIGCwjF6SBMPLjF7LjuhTkGJz0qtUq2JKORc2Xf2U3bJqulvfSB
ggG2NuIgFDmcoQDAhL2rGyIMzkTDQTmFJh5KvucKrJPJLwWYJ.MuJoHS0RQ3
oTavTURwgTZDKGi0WatpXKa0RaUEoxOttk78fT5jYisGhe.TRmRdMXjTwv7Z
ri1WqaSNnn0DQ6P2Q3lBdNRmpcQnptBnpXSpaobX3SdXVM7XL5PWLxhJ341T
xHaMmFWflpvCmxvJffQ3H9rJMDLtg4bjGng4bHhdgnLfuunCcw.oqfGtkRCd
tUZt5nqmZNs07QoiOkhavmEMLmMq2pTUmTW5jw930T9J6Rx1DjnKNk5ha5b0
xxaE7xcuQu5xwShs14OppNuthAcM5cZ9hsB6e.dueKeVc3gmTXfVcogN8uzv
aaoolrzkOCRoRb0KjKzvEhT+LcMe3nBg0SctMNDUgV2rEBo97KIp+uiPz5FI
apuAjcGr00WoqyCHo6QUEmpfgr0sRbtVi3zUvbEOFfuchiXMhCRaRbPpEHNj
8DqpCToRrRH2NwArGwAAMINH31INC2Fiuw0gXOcanWK0GuaW8AawMdjVa7HV
f3nVi37apZ6e6Z1X6ssCp93zqDppiw+lHNjgZ1255zwQ9vKD7VWHSPD0FHxD
e6c1yzQr5fUGUsu5ahCntB81s.NppNnxikyMKxMhtsACpYlemYcZKwUgz14i
lPrDc9XI57gRb5GIwvefDc+3HJW4+4t+EIiUxtA
-----------end_max5_patcher-----------
</code></pre>
view raw hw2 maxpatch hosted with ❤ by GitHub

 

 

Assignment 1 – Famous Dex likes liquids

For my first assignment, I decided to expand on “I am sitting in a room.” I wanted to compare how a feedback loop would be impacted by placing various drinks between the speaker and mic.

My setup was as follows. I had a cardboard box. In opposite corners, I placed a diaphragm speaker and a simple cardioid mic with a foam filter. I would create my wall of various drinks between the speaker and mic, and close the box. For the input sound, I used a clip of a trap artist named Famous Dex recording ad-libs for a song of his. Why? Cuz it’s funny.

Audio Player

For the liquids, I chose to use Spindrift and Almond milk. Why? Cuz I like those drinks. The containers and method by which they were set up were also different, which I expect to impact the output.

Here were the results of each after 10 iterations.

SPINDRIFT

Audio:

Audio Player

Spectral analysis:

ALMOND MILK

Audio:

Audio Player

Spectral analysis:

 

My breakdown

With the Spindrift, you can see many spikes in the frequency analysis. It’s also somewhat understandable, and you can hear the original sound to some degree. I think this is because of how I set up the cans of Spindrift– there were three different methods by which sound could pass through– Aluminum, the liquid, and air (there were gaps between the cans). Because of this, many different frequencies were able to find ways through the barrier and stay inside the system. In fact, I had to turn down the amplitude often to avoid clipping, because the system’s amplitude was not stable.

With the almond milk, there was less flexibility for ways the sound could stay in the system. Because of this, there is a spike at a particular frequency (about A#7), which, I guess, is the almond milk frequency. You can hear this in the sound as a cool whistling tone. In contrast with the spindrift, I actually had to turn up the amplitude of the sound, to prevent it from becoming too quiet. I think that may be the reason you can hear some glitches in the sound. Also, since most frequencies are quickly dampened by the system, Dexter’s voice is practically unrecognizable.

I found this to be a super cool project; one variable I did not consider was that the amplitude would be unstable. In retrospect, this totally makes sense mathematically– unless the amplitude was totally unchanged in each iteration, it would exponentially grow or decay. I expect to use these principles in some of my music; feedback systems in live performance, in particular, seems like an area of interest for me.

More audio clips

Spindrift rounds 4, 6, 8.

Audio Player Audio Player Audio Player

Almond milk rounds 4, 6, 8.

Audio Player Audio Player Audio Player