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:
- The up/down motion of the arm will change the pitch of the timbani instrument.
- The left/right motion of the arm will change the playback speed of both timbani and percussion part of the music.
- The fist/rest gesture will switch between piano-based and bass-based core melody.
- 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> |