For my project, I wanted to create a visual representation of processed audio by associating frequency to pitch to HSL/RGB color values. This audio/color visualizer turned into a fun tuner that could show if they user was signing on pitch or was a little off. The purer the color the more on pitch you are. In addition to the adc part of the project, I included a dac component that interacted with a granular synthesis. The visual and audio outputs were interesting to play around with once I added feedback and delay into the whole system.
Compressed Code:
<pre><code>
----------begin_max5_patcher----------
5021.3oc68j1iiabkedleEDBdARv1sbUu5dwhEqS7DCicf8hbXDi3ECXKwta
knqUhp8LIHyu8sNnTKI9HUIxRZ5MYrAlVjpDq5cVuq5w+1qe0f6V79h0Cx92
x9SYu5U+sW+pW4uk6Fup55WMXV96GMMeseXCFsX1rh4kCtI7ckEuuze+u9Mu
8q9wr27G+8Cy9p+vW+se+1ALeyrIymVT5+0zmu4hMkauKo5tKyKG83j4O7tU
EiJCqIpRLjY+ONAzJfnEB0MYTAaHUJkbMgYuOkHc2DjCI2jAjgjr+mpG3jw9
k1h69y2RICb26u+5W69ma5Iv9adya95e0W8q+uxd629CuIkvKSLTPr+G0PTL
tVxXVPZnz.BhRKoD.LLvgAHsArhTBqucQ93r279xhUyyml8UaFOYw1wrbUwZ
6OIubxh46ADVh0PsknIIBAnzJkldSlfJFRiANPQf6OSciQhXT0WTl3VR6yGk
RT62+cu8Gy9C+tu869lre36+1e8a9o4m.yRk7gd1CpvxZPnDsztTwjFBPAie
wQrfTUeIoaDudvJZe7JW1EL6rh0qyennFlkjYEiPEIAT.j1BmiSGTMNGJCpC
ibpm0A1CDCyQ4GVVDdZCFfA8b9105CqxGOwwqr2h5tGFsX5hUgG.YHWvMD6r
Y+jDTbg+SZfIr5Jn6M0U+LX6uCLV0JR2nYDilvCexdK5w+t6mLcp+29tsK7m
WWHCx+uzye4czSnWKzCvPc4AjO+godPETNFUjArobw9TG7Qsb0hkKVsUZxNs
lNvUOu3msbE0XpmZ0DemccdFa0b170ZUc1ZI4zr090EJqcmjqaAC3D4ynIBG
Pnbu8EGfCXbSXWXnBIvM2jofZHgGmLdbwAZMiTZWkzMQV531rnjrxEYpSrAB
yHqCuRmdqigWJic01ZFkHXm4518frn1Gwp6Bh0C.kcBwUs22AHNs1sDopzf2
3mMdSShZMUiUcKZHavj49+b3Mv2zld.Zq7ciyKy25MwNzc.ntqX0dfo8dOOV
6dDC92mL+o7oSF+e3lv6mtv9Kp9TtaMX0jdSLiyuCrabt0GHaZPzmGjViOHF
gr+yRaZ3YI1MrXAA+Ri0zfL6MmJ7AINXkYH3iJHkDv1AoAbJBzUJBglRRB4z
jDpHNRBHRII4vkVuHI9UVLzD1KAZBDEMIJRBSjVgDQDTjXHHrHkQ3cidPiDp
SG4.hSBIRsoWYpAYnNFhg3EvVHGgm6E0.fnENzQnthDk9pnjNFBwPOjuDTVc
HWXiJqhbScmgcoijDmDBIpsPzQpwR0UhBOoZrnIjnjVKsnCMQXpEDGUQb.UI
7oDEJqUEKmlOpnCAyZc4GBgzX6y9aVLc7fVbn.D55QDfiDLOAoiA5h9bjtNJ
pVLkjqHBsKRQVmV7DQMmQYJvEPop34vaODWc5gfGxMjXfEVumL.XcDRZOZXV
zu+Qv1EUKlAnBoVBpcg2Z6f.QjAJivY1QSHB.3.nuIbKNQZe5bkjY7QuinMV
2eEfk3YretGwPKIQGqo.g76F8Xw3MSKxlauSlkpNYdZRJi153bM+rEJjntSU
sl6.VRSBUHwAu4O96eyu869p2dXVnZHJF.vPfDzLyH0Wov+HryQs0DVBDjPq
HWHoY8xNngmJjPfAIMWBZc9Bl5JgKMBDNUFgWOhPr14ToPRQlSleJjIHoHbl
nHyqUbI0BVrHSV6HSVJQl+17xhrayVurnXbmPpJLwcJbkvpJio9ZxueQsHPK
NAZkmRz5+8D6RsK3SoKy.0V6eZwmbNq9ZR0t9ShoKnyslBeBMkXa6XTQYXYO
PaaMOtb0jCL6wafl2JLgyHJuATTj7C9rAzA+pNg8yFBDoBinre9liyp18KVM
KubOOt2m947ZZ6JaU9rhxhUuqXd9cA.fboHs3pX9GNRKpT10hzZHeRHsnRsR
dbv7+eWpUytNRs5WNRs+iGoEWp8ZQZUolzdUJKDEkhTsSbc8xvrWkEhh1eqM
PAzQ4ysvjcZKhhMbWHKZq.EnBwP493Dlvo82hSDFpx5.KyhSLNF3K.ej5Bq8
+pgEAWxO2CKpAoCKxtJXQYxMOpo30ttrHeZCEnDjFoQMstzHW1wPxJXet1C+
bsGdNJG5kZ.kFonkP4nUoWKffek1Sd8n7oEYjLiwXIDVBOJBUd1pCPQdbjRQ
1n5p5.QBqWyU4yGuXlKCeIRcHJ7a2BoF7qXmF9apr1DorjUsK9hIOUDhWm8G
fhHHmKhvPDCEGuWJJhfRzckSPcwPCMjYlyFMnUHnAE1o5fH5JVPmPrf0Eows
yIb9g7G08UFhqbl5nf8fS1EBNSUR3v8kCENg1fSQmBy4caJKWbxSmifNz31D
SnoRgPP.VCYWC39kHutESaMivX4kAtjIn.GHAGhERIHTLPoLBhOQvDlzPMJP
Y8Zl6N3Mzz3md8JHHf.Ng+1RCOpT4g.9w64njbk1C2hpV53imunrHM9ViheP
0Zq65IIR1I+psVW5rb6Dr2ZyPo8+TTgha8IVI5N6MgX4i018lzZNKTiDDewO
a3ZsTnTT6SRxufLzAP9aVUTLusHHwzIiitIyMXzqDCs8QuZQGMFauHu4e3+p
oaJNW7FVISHE8HHRRHk6YkszkBvK6FybCRvGk511vRxtt4kyoj5eBhvOWJuJ
gAVd0b4rh+8hZvEN+aqFVJECttowv7OEow3pw+JuV7uNaslVL+gxKsNXqIKm
oyQR0fKCfdYEVQAzV8NBHI2KvBKnNNQcCD7THHI0SgfpU5IUeA.y0k4qJSDf
hmwIlDAPMsx3lR.c4hoe3iYt+0WbserQSIaWq4wlR9iESmt3mOW2JAlAorq.
3zJ.WO4g44ScpAq9DZ9IYorcTrtnLq7wBOZyhGxlsXbgWxXTYhZREDprdhh.
KhnFCii0piEuu3yYJ5yYJ57X1oWDlcfDYGYoGL6etkr7Yl8mY1+47mJb1I+w
sXaKWtiw9ns6dlqVrckr496csNqYUgcpRvX.JSu7r0vKPzvyBYN0UCv6vqth
4Xw826ZnC6IxUSTX64YqsOLcxZ+ewEa5THYpgcOqNKFVAsyjxZ3fXIYM4DX5
Hkn5urTMGXPAoEDLbAkiCFomnoRZu2p5.KlMd0lYucwhkCymb+03zKRwNONX
mdwp9CQG1TPS97oW7kzoWjqM1gSzLKw2+fHBFCDBp1HEJfFB.CwR641mNUxo
epO7hmRnYc9nUENIl66jpPNGK22P6A+B5YpThT9DUqGp7IA5n7o5yhmufDOY
RiPpXbiPXEPC4qFXVwK.3DFWYBRrblTvHJhAj9CQ6mT4yqSq2CUT.nIt06oS
ZyJ8GVLcyrSliXCGIGwZQ8D+InWqCHGVpHAzjDPa6.xY5D17AWfx5TciHz06
+cLeZlE62G2lLurX0ROdqQCagNkciYalVNw42v7hoOk6ptyxSfpwCTG1Y6DA
PZINcnb2FH0Iln3uNNezdDqEkKbKmcF7+XwzkV0MEcgbJADFNtGKv4oYi4sD
loKF4BpY6UhBVgTxTwsF2mHjzi17WuYkGFytsJ+HcJ+evKuyiKSh0gMkseF7
IrDF69fuqebunPaWMYPGBeez6mg0JYorHNlB6bZswc1LorBc+eqpKFFI6+Le
ToqJUSzo2vZBER2qGqV2218561F8TfO3ZVp+wBpfFtJ4nlBrq0Ysax7BWA8C
3I9hkFzl0on5nMUWPaGfjHoLJOeAMa15KnXBZ++syMXcJQjz1KuqOrY0eZ0Y
jr1LOJm.EqY914TZPRY8xMtXZ9G9n0x.W+aKKUGvCEBmf.QbvniNQunafjx7
h+u5biERCBv5premTt0XLtuRu4MIK.wtSJZqx1jPDvWZ2+Z3ED9Ar1YBqWvO
KkGyo+kKL7SMHGoElo6mvot0HxN1+Hbaxsprp+JrAPHfbudLtHsd+D4KUGNQ
E0JZ+vojRWcnCydbSQ1u38Y4uex5aWUL9Kua5lhe4OMGFl8zj6VkOeTwWtNu
rxkneZNaX1zIO7X4b26+fewGB+N6y3Wt8Y6rMYzhMAuzYXToSOhSDIGeK3rd
eZJjtQ0k+cMi0qUuvAXWVLC2RLcUEkJt0z9kE0fzeTO0jrasSqquwmlC6IFa
qIDzelKEGZlznbAikx6nAAfJ8tQYWxo1MJzWJV7leEf0QmnTo+fupIWNLf.I
yIRY22Sf1IghoV57vCBx4S4Omh75eaSZa3AOEsPhvtam13ZbvT.AD4gWkEt3
Hz91F1kXYUzK2oyibVZhDmGAA8bXisbOcEIdSvWtCydOpDba98tKSc4OUL9c
4kkqlb2lxhm+z5JB619Gsk1Y2CZw8au8y8U5me7qebwpxlIvGL1sfHA461Le
R4tTHxQFvLWwQa+taeNcOG78SWL+gHWGybETtSE7Px1Vz7qe9OmsUP4iGcZ9
YQc9YITWm0oLBpaGLADNVNHqdOsw4bhgpLJzWsfHKntUAszTF9x6KWLKM4dC
EOfZWCqqYglmzZGljHOKXRVj.dm6t27TFeg6+qEqV7wyfnyNShtQhHNBmQ3o
28AbjQm7wZZwSES8ZsNoiVDRcigkX0.K32CRdx2EjyxW8WJVU81f8Vo82bq6
YdKSZ+Gv5G5sT6i6VWEFXeb6dVmWYiTMIaVW3QU5yzZeoDw.XD.LNFV1Kznf
fqr9BDEDUJ0T835oY2RFBhLq2stOvRk0ux5uhQ4Tc8WReFSG0bwjepSfBdfu
tR8pPF+SPOlKdSWzxOgnF1KZTCphhqEpAtVchi7+RlS4B00IsbmtVTjG+r0x
xTdUHTBmRLbtzWv0HEStg00.rXRo90aYCufJTQ2doylBBzWlwWG27+TGecZm
f9k4yKl1khKxRwPZ26R5PEiARgx9+Rhq5NoUEnEiZDJtvvEW3H1xEXQtBKa.
tSw6wKWFogPwC6ZaxaOPGjF5yL2r2+P29NZ5LoKq+47S+tAfwkXGRUjBerpl
NIMZONKU97Cz5FPyw3U3zfFNt4TaObjsjOmfB+BbWc4tOs5Z0.AVkcPMT2uN
KGJiKGqdVzc0lSPjztWSy.+4mmED9FkzzTwA1XyDfOH8ciqsB3IIXPn.J1AK
2z0Zt.Xo1Cquf5LB5KRT8FvfvNBGpifCHu.z6Zs2.GDUH+H74pb81WTzALhe
w4t+g3k0K1rZz1meUbEs5y2MQiKVWNY9NUP+ocN1u+fVrZb0aeZThQRmZNAe
pIW9oFvmYnWyrAhXlcUf39iZ1jwKWXsNphFqHr50GJKDpYI0+mCuhp8aHwHR
jqBUAl07mfv6A0QIe+iOxNL.ue39i.tFPAjJDUulKYLXagrUjMWUGYa7FcnL
L7uJ0rqGsBa.LDI.gs8gz9LwSwLohEl3MQZLTj9WCk4Ceo15TFrOsQnq9t9t
t0wttY8blhRUQCJoDW9YtoMEX8ZpUNVcwI0OFXK5odn.Mp0YRZR.qtIFVFca
Jg1FxtCJjyPbTpRM5AVV6+pTucczPAsCPghFMTzOUoF4AqvF3uDsQLnTNx6E
RJMrOJI7VK8nKAZXyVBf4WKUdAHWQAn7N.nV2vk0OjwLRTCM4zyXTUYXWB6W
iepoeRf5iLctuFQVotQSpcQ3UgHupJdNHVfJXX5MglDyNvoPws1Dy9f5TLSw
nbUpRwLEicW.IEyDMhYJIfTLLDFY6p5XHGzPMV9+Q0zUej8DlTw3gpIE9Hoh
gLIXoXlhgNISg3j5LXH5mClwngflBPRFiOfxT3CnLF+ykrqk64RZWcOmDs64
8yP.YTJ5RBBibFHr94laTLAPal6iFdDehZrzF8yosY2UAxlNbuCtPvaLdKBd
+comcFzuFfU.4ryCgNiEJen+6545lGixGvbfatGstExPOq+vCHWvtOAPqp51
pD56LniwSv5NF0yT9gRUONY73hCRb2wagS.LKZCFm1xW1WfIF8x7TDwLdLhj
93m.MaliVf3lljGZ6g.iC1QXBmgdL1Vjg1WnJpDPzpqLnddP0dOtQYv8eWp8
IKJ.gRuDdhxiYaAN6RjIk3l5V2m.m7wBUNukID+6RMNjEiRIVJL3lESL1YoP
iAKFMF7T3oLiE6VQ80wHFD6LcdLbrvKcHthFNnlJhRIstE5ZPaLn+FYvnwZP
UumoXDIYovSAHp3iHuDQ.KpoFZ0meNWcn8Mbm9FuZGsJn7Y+KBYrmQQRvuhl
d8QfJ9r+zuIJFCXfT38BDihOHENKCQoNJEpXAn27gV1IjBKK7Z.BkcS1eSvg
yNiTohstuIQpw7ccEShDMJGXRQ7knQIblhfnREQUXJoXlhxQlSDuVPpeQEu1
icWsAfhjDeZCGLGixWoCGcUnyVoMTjqHUwTQi7LInAFSbEPJGkkkdhTB+4vq
f.7anTj.wXnoOEUQB35TB3gXjc3UasfwnpeES2LRw+cIud+hConRARwaamyz
sPdJO7pPEBozx5WwBRQ3hHJ8EnZ3hBobTv+6JRIb9S1hFN7pJzPnzbO5JIzH
Rw+cotHfhDovSCRg0nXf+6RtwCQGFuduQaTlA6ZleoXtHQY+.KIyUD0HlGC1
XoCRYJEVerVhDHTlQOTbhuDODpnSR5CgpGe.mBejhT5SiQt7nHokJwlXlZfd
1w8ABuj6XVpqn1g3CfKv1fjXrz1T4DTOmp3p175rFgyUP9xkOUrZc0v8SyfY
4+4vABy2qArn34gK8JcGrp3oIaGu+HwLHe0nGmTVLpbypPyk48UuCe8G1rUy
2LoBkZAP6T5O0FtFQy5k4AXwe3Nd8e+0+e32Qq6K
-----------end_max5_patcher-----------
</code></pre>
Credits to : https://www.youtube.com/watch?v=R7vuAlkvKGQ and Max Tutorials on Granular Synthesis