Final Project – Willow Hong

For the final project I decided to further explore the connection between motion and sound. I incorporated data from the Myo armband into a music synthesizer that used several techniques I have learned from this class.

The synthesizer is composed of two main parts: the motion data reading section and the music control section. I used an online myo-osc communication application (https://github.com/samyk/myo-osc) and udp messaging to read the armband data. I am able to obtain normalized quaternion metrics as well as several gesture readings. These data laid a solid foundation for a stable translation from motion to sound.

I selected pitch, playback speed, timbre and reverberation as the manipulation parameters. I downloaded music as separate instrument stems  so that I can play with the parameters on individual track without interfering with the overall music flow. After many trials, I eventually had the following mapping relationships:

  1. The up/down motion of the arm will change the pitch of the timbani instrument.
  2. The left/right motion of the arm will change the playback speed of both timbani and percussion part of the music.
  3. The fist/rest gesture will switch between piano-based and bass-based core melody.
  4. The rotation motion of the arm will change the reverberation delay time of the piano melody.

I recorded a section of the generated music, which is shown below:

The code for the project is as follows:

<pre><code>
----------begin_max5_patcher----------
7300.3oc6c01iiiaj9yy7qPwH2gM6Mia9NkBtOba1M31C3ljEYycGBVrngZa
0t0NxRNxx8L8Fj429QJRIK0srMEEkZ2y34kts0akpGVrXwpJV7e75WM6lrOF
scl2u26m7d0q9Gu9Uup7PxC7J82e0r0gebQR31xKa1hr0qiRKl8F04Jh9XQ4
w++hSRx9f22mktp5b2lkVba3hH44gMN113eUcL1bPiGyhrjrb0qBXNFQIAuQ
9ABED3W9Id0wnAd+r9F2jGsU75DVDmkdcdzhB0CfygyQz23woyE+DRfBJ4gH
yA0231hGRJeKlU85ltacbZRTw1luuaBKVbWb5pFOaHBymyEOVBV9TgPvSd3h
GU1thpmEni20lzHdY46Q1M+xagLPSzKMbs5c7axiCS79CYIKmIO6+70uV9i2
Lv1rO8t+1e16G+a+o+5268tu4a+9+q+ze7Sl11g.GtsC.gbFsrIKfA3kMdbJ
Jf.EnUCT5.scr.+x1NbYaGV.1R3MvQscHTYaGxu7oxfO4gaeaGEMgsc+kn6i
xuIJW8FMgsZC.7o7x1RBA0OvuEHCmPP9uFu9l7nWHnKihJ62D3SsGdwzIDd+
gXAW7BAcQDfCPWxDht+or70gIuc6lnnkuL.YluBigT.2dPFwmPP9Gkn6aWbW
X5pnWVf7fDjQrIDi+1vj3aDCzE4Elu9lvzk+lYcYMIZN33FV3SCJMXyWYXAj
Tx3.2ne.vwkvpeogEPbvSd31aXAF5VstgoYd2mkraczf.RDsTzw0.IUY9GGO
B.Ixk.46BiS8dWTR1xG7dW1xHuu5OHtEurbuRH92UcCIwoQKx1kVdWngf3Tk
wvXH2oHNTI5hZJ5hwNAwQA1f3qi1tMbuB0ZDeaTg2MxKZPfHDqz3orBEYNHh
Nlssp4XJTeW9aF4IO71fHrOfne0qi5AT7vlHEYmMy6mcsD8ZkD8aURw1A0P.
hUJEQHuvTQfHNUEwtswK79VA1kmkbFL2ZHViYpw.QD+WJStFgm148sILM1RY
eLkqbfw3H7OhFZfb53i+PT9hca29H+SzCfDFfGSfb7zhD.mMZZk+CCc7uQBM
Ip1Jp6EK8YtDM+Oi1VrKOxaqfl1Z+aIxw.fCwp1iiAZmeBcuPIm5ZWiITQ5U
5CGuu5sv4T4++cCRzjnjIgDfSEMQJLk3dLkgGCL8e0aupSueHI7gaBW7duRW
M38Uf2BAf+ktmbAdPfOmMUStfvcB3OBSKtka089tHA36UDuNpD2Q7QXNcLvH
.6cpFwMSoixc5XaOj48MJu538cgEgmA1HSC3inIx.UrC0yA0klHSFCKjuMIS
7BML6MBfVNe68M74qCKenriooQ.sn.gjuubZ3J.lxOwzvQliu6cd+lvbA5VD
kecTZ3MJN.bvYn+FuYBw6U1MS8znOHn8S51j6kuXlYfH3HPFQHpKsYiojwUp
nCNoOKZMkAni8MwA43DWvwXtxGPZNlYCGClFNdi2sgKid6JgYpepyNf35NfC
vuUDFQJBvTFGoiI.oW.Br6fA7eGVjcPjZa7pzvjY60EKe0hx0njFlDOv3D4.
xaa2q7UyB2rowgeUiaQhs+hZr.9apOTbp5P35CkGceb08SpOZXt.fJDniXFB
kLwG8qXN4iIaYTd5t3xWE0AEsxut5AVGgkRUixPFVBlbpRHqgTlPhXUqgr78
YHd4PVO8Sv12WR1h2Gsrgbt.c2DkFm9XUX0mdYzsg6RJttkvS83msOe0Xtcd
xtZZe0rU4wKyRkuCsZhjGthZR+iVBBzl7R4UjFtoiaVHWIfyCbR4L21s8lvb
YKnV8Kp5jEYYIsOU88kDcag9zahSSeDHVjs4vmLOd0cG4duISbx0G6YWdlsW
uKUc1qEc9Ktda38sA6hvjDs1f1O9OJlVfXHvHoonJyepOoZHn61tHOKIoE+p
Ny8cblkBg+EQeHdYwckDporf3xi2TICMqtUdY7JwDmaerhvUaaejmnHRbnc2
n6becQz5MIxYc25BZkBZM6I2TuYqieTaKaqD8qTJZ9cdBMPa105Z5VW5AXiC
YaxAixZo3NqTpWa+Sy9wGzPum3IoG+F2tOX04JGwQqOZLQQgVlIDDgpz.n7G
9X6AQ+yCPDJCMHPHJldU1s217Z5Z1jSjLpBbY1Ct7ICbaYmTarUnaLO9iexC
J+67IS.Ua+HHv3t4ntAQ1wAwFm7PVRIlkQRrTA8OOMHdRV3RYXZ8DSEZiGE.
lNsBJ6p3JWEhLQzE1MpSsG0cKN2Nd2sAZfGv62BcG5hLQjlU5.VxSlPn4XK4
bAaUO9YiQ+dcpISq9Y+Udha9FTM3wIraINcYzGaLEDmfRkrdOAIvI5mhoUN2
xPP5.hRnSIsbJL7IVsTCgnyaHTqbavHHzVD7vlrbTov8ywSZYyALtujekmua
rca1t7EUuh5wH8Zy6hIqTDmVOg2eptOk75LpksuuCTCeGXi36.4L3c.cF7N.
M7cfbv2g8hokcUOfb5dOouaYb1OV57gqeWT5t8cGp7RR2u42r513jjZ+87pm
bEhQ608Fmotp2z3Ts7SjLHFP0pgRL5ChU9I4BiR5mnlXg99fU2HgRB.H4kSX
HNozASDeDlhkeBzwsh1SS.LPQIPfOfn9j3PsCmh1AZoqzNjgCZZYhzC6Yaxx
qcN0bbPq6aWQ1p7vkwZUOf5yU2ds2WaJWvKtxtzvNasngHt4yP1P+5lOfYRG
ur7ZkSltNrPL2ga1UnZ+a58wd4LjC6frC42sUIY2DlncNR8sdLeor2gKudOz
7RxayXVPY3uFj6lCt3t4Kta9h6lu3t4Kta9h6lu3t4Kta9h6lu3t4Kta9h6l
u3t4Kta9h6lu3t4Kta9h6lOKc27EuPdBuPt077Z9HYYOQXxVYIt.T5YLL3DY
4aWU3BnUqrmCxVINfsv9nlr0ISW6NXq.5yzh.f5iljEAftDSQCJayYX2k9+P
94U9+Kcx1vyGdJsbbdRfuZogZQ9vy3SS9vucQXRj2agygduEL2mJD93y8.yO
gb4I.G1oAGJQ4MYhxvHbuPGd2EEt+71v2GNQ3VejUNh5GJQo9ACTk8ElEZUY
rYtrSPq0v6PVGLp.QAAHjp.0YS2.xT0b1Gt1fgSfpXwQrp8D6z1yMwENn0r4
BASWkqvPaZQQSUKp478wJrWLUYm.EPqVsm8u8D5z1yabQeSBr4ZTiZQCIMXp
ZHuwAcKYJejCT7K2hVQpuSaEeH7CCucjnrHKPEXE0BRtuMiropYzbN9HMjbQ
+P999iDnMsjTWV9rZTZDGPNbvT0I.lpA0JMqTWOV4g3XF0ELrxrXMCiBJKoz
8jgwSjnaT5xOIFNoQg6Z.KVc8hk0WkRILalFM1JC9RhuOZ9pv3z5TQ59v89l
3omc6cYen5zFV6BAplQnxVV+1LkgIyjFdTZpOvipA9P6QIuger4ZBOQZN8ll
eR9ewD3EScdeL6pt+73tdOT9kp1gTGw0T2GlrKJ61mlTT6eqSxRW0QK2Og94
8I5z9qVzPlWb3F5VWaEeC53bqEMgxy81lYgXqyGVJ+w57rwowEwgIOEw65pz
4T0dOC13R1Itj59ejW2zgftzqYODdaN5DIsW67+ZeExntn5W8odTkYoGatyP
eUXSKmQU.9DI5GpCeUwsNO+dSiL9ycv7W+IYgDAvGuziTCZr.xdEt8M6HQCH
6HGruAcpu7DSodNlBJ29GpKnGmZPnNDj1umJLgNta7vEpuZnKfpN0XChPIeV
gHb.VmXLVKir2.smem6Jfg306V6glObiWopxQKDnRtBNt+PC9vtAo1th3zB2
BAgerDB.N.BXbset.J+5wY8GCNRUtYzv.ks7MK2w1aJOhvT05RFZeYQpelxy
syUe6VeSTdmaqLfA429izfy0QFifZlOrn9zdyOx1vS0Yjomeya+HFinjQ1aV
U7JcdP6RokDA.jk+IOjghK3SifXUzz3f9OGeLeTL234PdhvUNVEx0.gpve1S
IJ94qD0y.lVGSMkNYq5ixNaQzwznXJduQwxkSkkF7HlA34iEOBvVN2J7vBkK
zTXinJ4lpRUbOimKz2h34NBSFM9VueaL7eWnQxq3tnTOjWTx1HOnChiDQso4
gzaWJ.q7vqqSJ.ixAEW1SqJbZPlJR2TR+UQAwFn021teUp3TyVv4FT7u8oYi
lxe8tyHjqFIkTVEJ6YGQ7YRGwu9SdzQCoX.MRwTldnF0ruHUv4ARklEuM5Si
lN98XkpCqUoqCALwX0X5mHTodblJ9DVYj.Ad9XjvUkFdOdJkT4YfXjK59EiR
ekdrIYupL7zslSMZcyH5c+VgEUpBWtMpjNPspdp5lMAlOPQvm166HnTm89Hm
Fkd96W90imgBDBPAhp44PBrvNAB8rwNA33o8hvqD2THEvlNkryCjJ2KIJcUw
cm.rZGQShrf3TVo+IxfaVVeajGB2qHZBLQumZYhSsRuG+4Naf+MW8I43nfwW
TTOPJypAROSLteycgayxGwYBAvptspYWp2tB5IVEbNNV5I1qYnSxxAgRUg8.
hTVovPNb8ffOiBYnZsQ.jKGhRqjGykEQMnBCTNJBxrYRofm80Egzoiv4NHO4
.9349BcpkoOi14hDa1ZIfzIU4VVxCexaibqlxCZZTiN5NvhXLw83PfpLUXku
oIOOY3yM6t81nbMlH9x34qBkzAgpSbAeKlc.DZ8jMcXdbLEdhUm5zXb4fk13
HVdvE+vd3fvgUaCP13FVevW.dgUaIKTtzLn14DVezWD9fsFoTcUswErArOe7
.akkRXPokR13B1ffub7.KjpsVmW54ZqbAK.7EfKXIDMPo7OlUtfE.+b2Erj.
ZGc+5oUV.zW59fEpE1vBiVoV5DV.4KBmvRpE3TPkMdgEvu3EVST8AUKKXqT8
4+EfWXIsGL0J2vBB9xvMr0Y3IlpjprwOrvodpPGZQuFuVVn8UNwnbODe95MX
GrNX0yBWAQPLp+N3xGNoKCVGTjLnzxo7oK4R1rDXYDWtDt2FUzmkDvQWrYLf
dIvpFrxlhdBfMQKjaIe2mk07wWkcsYbtMLNcpjjS7tMdagWtrTuM3D6eekto
Yv4NBui6XFo9Gj0Ksq8M6+scPwljvGjKT4Z88mX+EWu+GnLuGCbxF0d8BlQu
zx53ga8h6lCm0mEvc6kx8x3ExGcX9C6c83xvhvGuzrWjDu4.UBS4tbQ8vSRk
IuccTR1xGZLLQ0k893T06cnbuuQdjFWPRV1l1UATg0foEBt+ZUIJp6Bq3lH0
1UvO83cOF46hf61kFmtpN+OZcAx8ifsE4QhlqmrrqEm9uuKLIt3gZgQwSqcw
FMKOdUr.Lk6L.YUk24Gs82nlaYZwhrbo3Pcwcr8EIkQ673wh2ss2EeaQ2rX0
af11ZscyBQKAus38amcjKd815K+oj73us2lkjj8AUkdrAu29hpVqDcCcZToa
tZaxt7p8JB8K3wp+kinNAw70YilRgpJlku1N.WpTf3eFoTnbj1KZEtnU3LWq
vwW4r4tHz9AAMr+mZQIWkELy0blCpkrAPUwophwrnXww7cNi4fpfGG2lwrYF
abWV9zhVDEeej6JJS55gGDRKkLYVTI0NRgMbDbdibq6PMgfg2aTkBl9JixY1
rrjCN9jWrhwKxVsJwANa.p1Xb7002YR+K+KTjUwjv5RWvM6JJDCtbbaxBBzK
LGktTkiFHDmXRV4.0xxLDsWPlAFjg8GAIkilIVhwJ2DlF6nbwhg1ufWQPUtX
4aQtXELxoh0I7hoFTboKLqLeGh6u9CBbhb3UdT3R2x75bfsh6AVv8X7DlZlC
M3HGOiMaz6.pS9ZKhVGlcl3yeI7reeax8QHoxc+5hftN8s6Wh87rWIzqRuSc
2pwLAO495nuoK0Nvf9m6A93mmD77n4KMXD6VJsYmS22ijYQhkyOSV4HOJ6xG
gJZQqpim8pvPAmQ.FXNc7PLDJXe5oWgXVDVbN5y8LmpUIzuZWQfZQUOhwFu7
t1chd+55vMxMVDQ+U4VKBU76AJFRMFa0yeGYQFGX0507kkRtVX0PrSidlXml
XlvNnFryQs1JVrIz8NeOQ3PbLXNyAkwRcpbNDF1ehXXgFjfgywDFavbLaxZh
cPY1G4SFLCSmtlXlKRDE0F0x.XX3KJFFgFJ+BlH98p0Ojc0pGxy7.fee6+Is
P.Qk+jI9krVpinVtVnUdqTs8DxTKWx9rTnQGMJAywka9HkhXb9oVyb8wwntV
n6Iw1e3wqymx5WD5aZVUvYTj3eW3h3zhrs2488e2u+p+msQ4au5Cwx31dWV5
pq9tnsuuHayU+0OHvunkd+X4Ky1q9g7L4tJpG5p+236iy8VG6ce7xvqtIW.5
Whn+kH5+hIOeFdHtGjt.9mu5BD8gWEdQYvEkAu7S5OLUs9MFkr9qJiR5sdDS
x5O5mu5WdZvKunf4hBlWlJXfA3wSAidMFMJYUL3yW8Kct91tnh4hJlWDon7y
2pq9XtOIPuNXqRyiSE.9t1xOAGKsEbnO5VITmI6VIK8cuwS7sk6xU5B0WYRb
Zzhrcp1dzHmYL9zFazgGYS.sqUEK44NNde8HuXzqkq.pT5fZQhc36OsE1EKC
5dQdbX5p1Qwd.AhutCIT4kXZ+iAu+3W6yVHG14NwgT3iSq3PSgToJ6r7I8ux
lDbdTtgxEzHxqRAnWsdwggcGagDGvTKyBUjEfT3I5Q20BI1l7aqx3TmBe+Rb
w7+dw70Y2GG48eDtSXjZQXdgGX7JTZAJ3SuQqcREhcUYvrYXCAmdsPsSd7Gs
GDi90kgKZLkorhLIEpeCtKJYSCKtO7R0jNv0EvQC.F2eNtJYuXDxAnP2lyXx
LqpSBrjrEpcAZnSS+68K2eahpHkWuojKgXGEVQLPWUaQ5sGPGFUQvzXpyulL
eaR7By2orNV7rUwrERvFsoZ109Jp+wUzYEmuHa8ZAZ+DV+aVrHJw6WGdjUv5
hi.CCaT9Zg79LMAjUKxtiyZO3fMJUDX3rFy8r1GcP7vHCmyntjydW18QhoAe
awU4wqtaXp6zYShthq4HG+ywsPrNd3VO7Ah3bjb2lqVl8gzg.iDhRwtpfK6H
XjQ3sgQnCgQrKgw+Rlz6eNRjDWU0pCbHVJ2UgZhkc7vsGKQV4clcIEwhQTWF
se41KncEGhMRrSYrhNEnjtHvg8dwJGyTUi0Y.mr4OX+9hlqm2W5RoeKcf0LU
.FRu3a7snrXgbc944.oKLOnozEwoJ0FGoK74kzkCDtpvqJgKa1SYImgBWHNy
8ptpzxONBWzO+TcUAXCQ0EaZl+4tzMgKdu2sM+6LmIwnmYdvo17Y3c..7Sul
Rs3CmqycuFwrex6vwXx6FpTZ3Sdu+JWZ56wgnCo5z4wMUUANKG2pBsFx3Vfm
mwsFtSPFjHB+KEQjJzZ.hH9uzjPz9RZPBHruTDPzf0.jOnSusINyeiZSRNYc
Jqi.DR5sEImqVaTgE1arAd1jYY9e9G+12pBn79kAW4mBKcEc4G2jsUe5lcAG
dBHUZ3pxcP3SVg46XAafNcfiGi.Hua4Fcg9yiK9yP7aHzWWQ.BrcqQ8f3pZw
.10S15v1470BXXZTxIBbrpvGBUJR4pLUi3y6OPcSVtXDxF4XmR0b8OZNbV2E
R9psMBUCm1w1Pm3M1ZqFqRuwpade5EUKPcypVIJHFxYjxDEjQIA.j7SAxCAk
eBQ2yT4YxhrV0nmywAiTSluturtMSUfCedZyvpRmfNwKbZaFg7hrMaZPdbcF
CUh7jpcHP+dUZVoWP3ifvAZqLTdijnBRDFR5CDyuHDeXH12mVmUQUBxJMIHw
Ynlix9WDjOVJUKFm3QvLVWBC5GL2n1LbAmONNKUHuGmoxsWsdfyzmcyUJupx
b9udsHof8RFWd71f+1rc4KpLVsZmVc+JKY1xnsEwog6WYJ62ku7fGv1ViIku
5gbbRI2bk7.tfTmjqjamQCmTbCHkO2UTBZBkFbKEyDdB4BdhX.OISY5gSIrA
7jLw1cCkflPoA2NgLocpMiWp77vtMzojFJyXjtnMbXzFXBa66flReSzN9Hnv
QLoQjtbYm49FWeSTeV8BNLJYh1SHl4JRAmFRQLQrg3BJYjF.WnqwG1mN7CiT
lz+lyFkdclPZrTRB47NclvziRucCHrrl60nyiiPadfo1YLToWtQFDFzMSBl.
RCIiB.iLksoNmsQFy1Tmy1lnqh6BqJ4PCFTwIThYhM4DWL5EyjVNxnXzi4j1
4cSYln4G4BadnlXc.tMStNd4lr3zhsUACJPuYtnJR4LldKD3QeGn1nfXXzi9
d4JCDBH74ClaLYdUH3w3FNDo1buzEETUJC73uBTtpgi807BFO7WdSj23GXRL
rwmzjfwX.eyHse2jlLAjlOF5VLizztIMZBHMnaRiGeRCoGnwlNLZa.oYih.t
IVzBFCCtHlXQKyEihPBLvxC2PISLfMf5JJcxonCcg4TDSb7.y2UTBNITxDSD
wtvsCDi5ZycEkfSBkf8vYpCiRl3GeGQmSpFzQzAcROU5.BgMxeAjwv5AiHMd
T7FK1HuwNJdZ2HRSQOabMANFlqgMYrAN3YizvQYVAlQZ33z6hYJaicNayLls
wNmsolx1ngp4zHeN3hACv3oJ1GXSlZCkLJ8ULZVU3QYJFlDcYW.un.SENICk
RlX1+g.Sv3SZHCOFJ8PlXvIcTLovHRqjeQNmsMow1ExuFXUJx2QDBeJrzEDB
FzCGyObJAMzO7CiRF0AzEyuCxMJp7bGLZKzrfewINgsTZfOgFLWQI5onjy3I
1onjSDzYFY0K2MzxHAPmnovn.owbhTgI1OK2TF6Zvaz3SZHaTbwrYzlNF1M.
oFYY13X4qoDG+Lx4GZ9w3Ig3rwvu.PJ2zDSZvcnoLSiO8Hz.yLMZxifjMyXi
hGg1WiMNgL31WrojB591WiosyczCznXyAqB3v.okQI8kSRWGnQgxBRvNgVF0
GgD3DZYj2wvNwdIBw31qCmTN5xSICSUKlHlZEa+nuBTeEnWavxuN32drQu89
ihZSCId6FyGAcDcgxSLLGnbAxR06JTxu5bkPDilc1iDIdbiMU2XCTE2BbiuN
3lSnwcxFthJfQcxbSGZSlof+nLSAi5dyFG6JLh1ii8xFE0RkJzAKIYT.637w
gO8M05Xm6AYnYwMC6jdqFEbkGOWAmwnFQb.XbZgMSOkSLxwLuiCYtnEEALdF
sCmVln+MXTz+ZVVHRGE4VyVHBihTqQdr2m+7QaHbTRdCHz7E8xfmOKzrDWvI
ySvH294ONyc1LWNNVMnTiaPGbzSLxhI2DmKHYxBzkQ5gBbhG7fFMnBf3B1BX
15T1I7Evrx5.zIzhabgwX3zxjd1rwwiqFQaHxeTrcFPeFYb5yIiSLccaObgK
jwcPOrqs.D0htRVdJKKfY.cM.7weGn9Nmpud42GLGXj83fQIqHMk3G0YQDJV
AGHlt5Y076tWx1L0+ni5eKTUKNnzib6k...GzhZxPgiSyoIyAhNJ1uYhKJfi
h1FSho1o0wpp0Tga1beT9V8cWRyYqC+EUgspbGVPHJkp9ZY0MdVdz8wUWOo7
Hg4KtKtHZQwtbU895i9p5hcYczJOcWrl1Bt8055B1ipuU62Qeka08+XQXwts
W+tnzcpJxkfKuMbWRQaj4lU2FmjTWFtZrU2OqpFtp27w06V5s2JxQADwzHdS
Yw6ByQkaE4XwGnzFMZ56AVcSj5p6Egg3DZ4m7QXJtUkJSean8zB.CTT.D3CH
pOINDr01ddiJMFhWWqw5pngUe86JxVkGtTV+hqEsp2k2eiVvJWb1GWN1TEX8
p6obCh+e95+e.h4502B
-----------end_max5_patcher-----------
</code></pre>
view raw gistfile1.txt hosted with ❤ by GitHub