The piece. Inside each of the glass fixtures are an infrared sensor.

These sensors can be manipulated with any object, including hands. (See: hands)

Description

    • Hanging from the ceiling is a utilitarian-looking chandelier, made out of rectangular pieces of metal. The chandelier points in four directions, with small bowls of frosted glass at the ends. Inside of these bowls are infrared distance sensors, which are wired through the arms and into an Arduino Uno in the base of the light fixture, connected into a laptop. When the laptop sends sound to four speakers surrounding the audience, the four sensors can be manipulated by any object that blocks light, affecting both volume and a combination of pitch and playback speed.
  • In this performance, my wallet and jackets became essential towards interacting with the sensors.

    • In this particular performance, the playback was a sample from Hildegard von Bingen’s ‘Voices of Angels”.

 

Progress Reflection

In addition to Activating the Body, I am also taking a class centered around the Max program called “Twisted Signals”, taught by Jesse Stiles. In an effort to combine the two workloads into one (considering I have no prior experience with Arduino, Max, or gutting found chandeliers), this performance is the first iteration of a result. As a means of giving myself enough time to create something functional, I spent most of my time front-loading the coding and sensor-testing aspects of this piece, which I thanked myself for as the presentation drew closer. Shown in the code below is a delineator (“!”) meant to help funnel information into its proper place, an aspect which truly took a grueling week to figure out how to implement, as no one was either available to show me, or able to answer it already online. This became one of the most rewarding takeaways from this project; being able to suffer, and then figure out the answer to my question on my own. With that experience, I feel far more confident in approaching aspects of physical computing that I do not have as much familiarity with.

The accursed @seperator attribute, key to all knowledge and wisdom.

This process also allowed me to explore just how much I can manipulate found objects. Whereas with the first project, the electronics were “embedded” within the headlight and a cardboard box, I went to far greater lengths to gut the chandelier before rewiring it with the sensors.

The original wiring for the chandelier.

The guts, the gore, and all else that was inside this thing.

There are some portion of the project that didn’t turn out… ‘as planned’ is harsh, but I would have liked to see some more headway on aspects of the piece in several regards. In particular, I was beginning to figure out functionality to move throughout any particular sample. In an earlier version of the Max patch, I created a metronome that could also make a BPM, so as to make loops of a certain number of measures. However, I still have a lot to learn about working with buffered audio in Max before the theremin could reliably mess around with this.

Pressing and releasing the + button in rhythm would end up giving you a BPM, and you can select between 2, 4, 8, and 16 bars to loop in the waveform viewer further below. Also pictured is a way to record through a microphone into the buffer, named friend, because it is my friend.

I may actually continue working on this, though, which makes me happy. The feedback from the critique session allowed me to think of this in far more interesting performance contexts, and combining furniture/home appliances with music has started to pop up in other ideas I’ve been having recently. Maybe this is the start of something!

Arduino Code

  1. <span class="com">/*Project no. 2 - Sample Theremin
  2. Padra Crisafulli
  3. Description: This code allows for the four infrared sensors to communicate
  4. with the program Max to manipulate sound. Max reads the printed serial data
  5. and delineates the exclamation marks out to funnel each piece of sensor data
  6. into its desired place within Max itself.
  7. The four pins are named after different colors for convenience sake only,
  8. as the chandelier they were wired through was so tight that tracing the wiring
  9. without color coding would be a task meant for the devil's enjoyment.
  10. */</span><span class="pln">
  11. </span><span class="kwd">int</span><span class="pln"> analogWhite </span><span class="pun">=</span><span class="pln"> A0</span><span class="pun">;</span><span class="pln">
  12. </span><span class="kwd">int</span><span class="pln"> analogBlue </span><span class="pun">=</span><span class="pln"> A1</span><span class="pun">;</span><span class="pln">
  13. </span><span class="kwd">int</span><span class="pln"> analogYellow </span><span class="pun">=</span><span class="pln"> A3</span><span class="pun">;</span><span class="pln">
  14. </span><span class="kwd">int</span><span class="pln"> analogGreen </span><span class="pun">=</span><span class="pln"> A4</span><span class="pun">;</span><span class="pln">
  15. </span><span class="kwd">void</span><span class="pln"> setup</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  16. pinMode</span><span class="pun">(</span><span class="pln">analogYellow</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  17. pinMode</span><span class="pun">(</span><span class="pln">analogWhite</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  18. pinMode</span><span class="pun">(</span><span class="pln">analogBlue</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  19. pinMode</span><span class="pun">(</span><span class="pln">analogGreen</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  20. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">begin</span><span class="pun">(</span><span class="lit">9600</span><span class="pun">);</span><span class="pln">
  21. </span><span class="pun">}</span><span class="pln">
  22. </span><span class="kwd">void</span><span class="pln"> loop</span><span class="pun">(){</span><span class="pln">
  23. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogWhite</span><span class="pun">));</span><span class="pln">
  24. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"!"</span><span class="pun">);</span><span class="pln">
  25. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogBlue</span><span class="pun">));</span><span class="pln">
  26. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"!"</span><span class="pun">);</span><span class="pln">
  27. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogYellow</span><span class="pun">));</span><span class="pln">
  28. </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"!"</span><span class="pun">);</span><span class="pln">
  29. </span><span class="typ">Serial</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogGreen</span><span class="pun">));</span><span class="pln">
  30. </span><span class="pun">}</span>
<span class="com">/*Project no. 2 - Sample Theremin
Padra Crisafulli

Description: This code allows for the four infrared sensors to communicate 
with the program Max to manipulate sound. Max reads the printed serial data
and delineates the exclamation marks out to funnel each piece of sensor data 
into its desired place within Max itself.

The four pins are named after different colors for convenience sake only, 
as the chandelier they were wired through was so tight that tracing the wiring
without color coding would be a task meant for the devil's enjoyment.
*/</span><span class="pln">

</span><span class="kwd">int</span><span class="pln"> analogWhite </span><span class="pun">=</span><span class="pln"> A0</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">int</span><span class="pln"> analogBlue </span><span class="pun">=</span><span class="pln"> A1</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">int</span><span class="pln"> analogYellow </span><span class="pun">=</span><span class="pln"> A3</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">int</span><span class="pln"> analogGreen </span><span class="pun">=</span><span class="pln"> A4</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">void</span><span class="pln"> setup</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  pinMode</span><span class="pun">(</span><span class="pln">analogYellow</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  pinMode</span><span class="pun">(</span><span class="pln">analogWhite</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  pinMode</span><span class="pun">(</span><span class="pln">analogBlue</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  pinMode</span><span class="pun">(</span><span class="pln">analogGreen</span><span class="pun">,</span><span class="pln"> INPUT</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">begin</span><span class="pun">(</span><span class="lit">9600</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="kwd">void</span><span class="pln"> loop</span><span class="pun">(){</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogWhite</span><span class="pun">));</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"!"</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogBlue</span><span class="pun">));</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"!"</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogYellow</span><span class="pun">));</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"!"</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">Serial</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="pln">analogRead</span><span class="pun">(</span><span class="pln">analogGreen</span><span class="pun">));</span><span class="pln">
</span><span class="pun">}</span>

 

Max 8 Code (Compressed)

  1. <span class="tag"><pre><code></span><span class="pln">
  2. ----------begin_max5_patcher----------
  3. 5637.3oc68rscihrcO69qPKk7Pt3wKp6Px4gj7Ej2mLKuvRXYFi.E.Y28Yxo
  4. +1CT6BTgDfJfBI59L8ZFaWbceq12pM65O9xCqeI4qAYqW8us5WW8vC+wWd3A
  5. 4gJOvCpwOrdu+W2D4mIur06Cxx72Er9Q3b4AeMWd7r7jCUGL4XdTPd92ND.O
  6. 40qW8apScvOeyagw6dNMXSNbVpK9ImGWwb7J+EAU9Sbwgpum3i6CiKdfR..e
  7. 5fvqQdTj5ngak.SxK+9ufbDqKO3e6Keo7GOZH9EE9QvS67Ci+dE17geZr+9f
  8. yN6ux9sNQ2rvcw9QqeT+uJ++WiR7yK+invr7Szjjzvf3b+7vjXcboMRkCSRp
  9. Dtk+BQ3k+hJznUE3Qwc4GGGDsI4Xr79bLmNxZiNRWWCQoEDh7fzmCh8eIJPG
  10. Zy7+HX6y944ogubLO3zekoH1JpcI8L5XPxqUGt535O98E.Z44+EgySJnuw4i
  11. Rh20KO4rmlujiya8Yk8VRZt4OrJ1baOpiwg4Y4eCHLT37RwupeMPYwtmq4ml
  12. OxIaX4rLpKQNYCasIajwLYKN3yh69B76Pj+299pWKmVrEYvrrW7i2YBVyHx4
  13. MvrmtwZTqXMtMr1YVUwPuCpX3HoRERoVkBULft4YVEif+CiFFpE0vbuUuzwr
  14. uzUYa7iBHiSAC20QN6BjeXWwZtioJXDtqsNFRGGFJnNOwJlZfXVECcQVDC+W
  15. 990zbzKF5xJwPhijGVn6jYEiDtTKhgE541VZebEZjxoBv1mPx+DNiwjPa3Ha
  16. wvE4EnybvE4qspqLiMrAdgFlxogf0bqE1fqXss8TKJYz3HQNQDQA2WX1BGso
  17. xzBIwuuBMI0MJEpDv0TjslJ5YQrbWZRxGAUNkhW8eTxTWgL2+LCXyXrjAinW
  18. QYDwT+S8bV2v2ohiU7N6wwoW7yB2jW3mQo+zE9XPqbCY8qIQQIetKJ4E+n7f
  19. 8GRzcRo3ro68iy2jjVhTJmLqOaIopfnA3pD2VuOqlf.mGBooqqXexVv4II.V
  20. 42ToWs6BKHtQAw6xeS+tyC27t9Cn5JqAcD9jeeqO7leVPe29gvBdVGX2+6Q+
  21. nv7u0B3kGVnVHOMn3dUO7U+138Vy3nFH2kDSHMubSiZ3GmzRP96lfFFoK0TA
  22. Qp.zxAMvVuThJhQnxIF1NlgEiylLAj8VK6rIwYAEx.kClosbHCD7hgKRUI+w
  23. 1bQ5xHjAJ3aosCYfvVPgLnR0osCYfvWTgLToO0xgLPI+nDxfhMa8PFnr+Ljg
  24. +9KjA7cHjALBcyWnAWmeXhY.+yTLCG2+RPZ21yLYI7PtRWS3PoBXoEvS30m7
  25. fy8BUQhY.UEVGU6MPoQ5iMlKlkkOBY+PAwiCCIpb5Z4PAE30KEdHpv4r4.Cc
  26. VL7PNeNDR41Lg0YmkPl1jDg.7fngXjwnnwoErPXerfzCVT5B7LfEb6iE3dvh
  27. RmKmArfYer.0GVvmCjvlKarDEJ7pl33T33dw+wFoVbXtCDkMx4J3J2XU.nYC
  28. WYqPOMRaxvLLqiqjESduHtNywRkSEKnrWV4YkkydIyYwvEwHwbvEYnkQ1KwT
  29. 7bTvCL7BJ6kXhybTvCL5hJ6kUg.X4rWx9gofGTrYqm8R9eVvC+7j8xNDLe43
  30. quFjVIX18BNWmfxqluEFCeprvgzLYgDtPsoqbMQZhEPZJX.wxHMwa1PZr83z
  31. f0E6gzixMuB8Q4Eyr5BotJt3gkNhyf0AhV8yoZCgX6zDlmraWTPm3YXbtIno
  32. miUQSD6FkMzo4QKR3MKwkfWREhMeVpC6kSvkPRQrdYXae21+LLdaxmiLmuTo
  33. Kspx.RXquqLNd1xGBgL5DhnRVmJgHHGKkPDpiMYooA9aGYwpAVIUqOKwVUPx
  34. nJVsMI62GDmeA18ut5+pg8yN9JVvkxjvmWL8IQ4LOmImORpUqd9fnB.dEG0u
  35. i.OdEVlKkqiqhwvyZ6CbzlwM+dv2NdnW+.drseYBZibUqUJa3KDC8RzFiWdb
  36. XADqrkYvd1k+ZWtqBkgUC2ZLW9rYQAO9TrC9HXaCJjERYWhli7VRHKo7Vhmi
  37. zVRFUJDdQBemJBkOBC97ivrvWBqRaS0qJ40WyBzSBktwwnjMuGrcap+trMoI
  38. QQ5Sx1DEt4872RSNt6M8iCgP81k2.bhOt7DurqJUW0GIIcaAvqcjg9gch.l.
  39. DXLDVg2jWbdbcfwA6eIX6EE2F.x54V70vBLNHMqYov8vZ+CGzNby5Fau+umH
  40. ePt0kkUAvlj1rRsRCJ4mv8e5B8SKHE4EzgioPtC+JmdpxuJIyowGCkfRUIcU
  41. ARRgmxBGK6f+FUhGKjwpSl3gfX8fRUVe.uDcgto.Qqx8JYqf3SiDGV9XBiOj
  42. Fj0RIB9v5sAu5eLJ+4WShyyB+qPI4gOkzR8y+pBLa8j0U.2+YZXYJoUWxtzv
  43. sIwk.QiWa4gqdcEHGXxgoiLxqH1+PK2Ljf4NNYgNk7iYu3mJm8AoV.Wmqzjj
  44. nlmp99hBdMWc5CgwwmQEKTC28ISC28VO26KIEmbeeOa4Yxd9XLb1mKqAymKS
  45. ldyqyOJRYRr4i+q9wg68yCJyDrDccpO4E5FPMOyGsblsEB5aB9LbKjraPVq9
  46. bE2P3gJwn0074sg6Bxxadr7BsXMORc8MpcniUpNetLs4QE3QyKnQyRRedqtJ
  47. 4FG+LUyGBKDVhB2VqbFzenMiP2m.PibocEHnZtlPoT6z9BKY68ydWmlcM2uZ
  48. 7D5ZtXsnjr.Wan7o78F6uIO7i.46+7S1Z8fo50LciJEB0s9pd48cwaKoZRx2
  49. muVpEK6oCk9Ke5hZy3p7DuGm7h1MWN776ElQT+tIMerW577EQHgZvIaKYhZm
  50. eexGAukjF9WKzR4GUmpQs5qsxP+XjtZ3j5YcTmUEnev2xzOYC8rEtn4wPtbu
  51. p+0m3TifUpeVsq1sKYBPOKVth8LZko5FOz1BOe.bF1EfvIazMIicZqtK60mc
  52. 6sY2tCa2ca+951v6xNdCa4FXOWACmrmqr4AFx8fXowmMEsca58XWuwkzpscs
  53. Bh+Z12MzFeO14MyV+Ur2eUa9W0t+Ur8ec6+W0G.C7CvDeAFh+.83SvU8Knee
  54. C52+f17Q3Bgp18RnKOEZ2agN7XvHuFZ2ygy0fbtN9KNeu4E8RE9+SYGB1TLy
  55. XU9a9wumsJOY0+cgNk+4yugSH0aAQGJUCVvheIH57qq0EmRtvbv2gm5i34ro
  56. R8oEu6js1l1bLjIxGN2ZYSKlSkpBvhA3tpxUnBXwqXU+blvdD8bXph+etjF3
  57. e11.IViuAjrlIT4RAwrf7U+inyOcGw30sGGWPX6goPIOwDHJB4.+CgKO344j
  58. 4ptO1cdAZkEQtEBnW3hWSh8joymGgv0ctqyj2BcmIv0NBalo9pLkceo93kC0
  59. WVrW2NpuyBf5WVGBvJoLMlPiBuYZbAHXWnoixQlwDPikIf8V.LgrOKKbP6qs
  60. ebj+Bk9XjqbYegbPvcdxC6wcEmBy0.VBYzrD2k.KIHZ0d+ME5VRxdaETiGYV
  61. YRxisrzkVQsElCNUZnM694Ojd3OrE.+Ic0+fyy6J.1ukUD+vBYpihQ3.8KEG
  62. tYLBmQOQAudA3p5+9+SZw0uplWzKiIJLNntqDfWHJ7j1a3PqQQ0guYylUe7R
  63. vmqvKiA9940klAGpi6kAgbY6V21Agr.3H6S1F9ZXPZ1px1itE3MOZP4iLQ9F
  64. FAkQD3uLxg8Difvro6uFqGd0Rvo4MkYTapJudT6+s+Do1hlmisgyzzdzscY9
  65. Vhhddqet+Yz9yH9kWnxlvYO8GVWc2+Zi6+hmP45VE7sVLmV2vYTzcYgS7XUA
  66. lsV8o1zkPTuuIjYuIY8wLk2C1r2S4xjMo2Cwr2y1T+Oa68b1gZr1JF7wk0kn
  67. woBG4rG+8WOv+2hzHJ1UbGLhdSRjmDNWOJpZqci.YwQ50hOGlla5Q66duol9
  68. yhYJkeqjeeU4btUJOvy5Li0n6+Tg+xeYEZIkHOwSBWvWDUcTvmY4+kPPwks8
  69. sKiTaLdlXemEOoehTDv0ES3XVIQe8j0B9xHoRkE0tisxizLvaX3K4Mdd0Sll
  70. 37Gb27GwBf+bv+8EXRXYs3J+rqNycQsvw5Q1biV7XuQs1w8YItY4xTlIrqTa
  71. CRBQ400OIMK4X5lJ4Of283pKIKaCxxCiqKznesxssGq62.CkYOV3ST7NQFBe
  72. 3Vwk5hcGsXAbDoeH24lC4lJRftChD7A.eh6.7wF.74BRI2T3itv4uDz..Pr6
  73. 8.BcV7P3..P9c.9vdCgBdOjBwtCbZ7MG.YCvBCAcufPictv4d.g3gHFxtGP3
  74. ..Pu6.7gFhlFD8d.gkBVTCgP18B.wCwZB5d.gjg.g3aMDNj4wKovDFBfOkvD
  75. z3G5K1hIKzxeL0h8uuOIEn8+oJu+5Tezw2JvWtD4rvG00EYVnmulJnxOHNU+
  76. bLeMUNs+0Tg0WQztxfPKYOPiBn0+COOiAmHJsIopQZtTB8Bq3cMuB2T4Yurl
  77. QAEHCfhxOWvytv8gaOjDFmqHHLYChpjUxpaEDMGA8Z.LU0OLXyENgLEmXcRY
  78. mR6erqN+iJ0y90Etv09FVZeK1P8kGBM4HUw4N8dCDVr19nZP71U6ylB15fIx
  79. tejBc8nVBcQNy.5JaEGSCg8fJVz1nKFYSzcaX1gH+usBZlqSCgEBOcFLBYMA
  80. Z1bfxVfEy4BMVrpRUsABa0s2bmU+BZU4OpNSCuMHOYPKNoyUcoC8ZR6GLnM6
  81. n5STjI2IZP1sY6n+MgYz2gt0HPdtx9THmIUPnZ7znqQedKb61FenuFPwD+jP
  82. wbc8tQTL2eRnXBOxsghgc9Ighw8D2HJlUkwNFuM4FoXmC62mTnp9UTnoqWGO
  83. pF.3qQIEO4Ai4WzgtGloMGJzBOqrsg6mFfpeIo68y6tu40RWQj0e2gtRLHMT
  84. 1++ftNf2OJzQOL33z7SE4+DSEcc7fFt57SFE+DSF4dnmtMTQ2aCUrtfWGJgr
  85. dSLnm+PtU61nQwVXytp+IVQbTakG0cVn0eHCkJ6JaGuUbBtCrCIH+kmNq.1N
  86. FpYsvtxPEZV1ybjevKN0oPsIui0Jmh2R+YcTlnMdqNFcG1pi8Dx13FPSQPEu
  87. My6zwHueX1oiQVbmNtiG1McyNt8VEr+1Me2NadRHG024Y681gQtIlf3KpsHq
  88. p8PVKuEYgr5tjavljzsU6OMSAaUJHPdRCftjwrcX0F1NeaAQH6sEDY4ciGqt
  89. 8yFT5+xujm5GmE4mmjZ2FbNz0ukHt2n1Dgaq20uL542kaW6k3FragZsl9Mc9
  90. 1h6PVdKtyaV1g6nz+bGtq4U9C7NbmoNsd68XUsmEAhsHW7svi0eTbX0ddqtP
  91. cUcq+luuBuhthuxc801yCXf2Jhq3GJ030eqwVNi7g0rdQ.D67pYPgdWTECdM
  92. JF5tJP1FEs+4UjAmB3FrLxb02erm9lPWyxy5BtfcAV5..VN9xQDvlrviUO5R
  93. DwYZHhA3QyJ24b7P.9+6RgzPfqF.paGMf4ZBj4oUrui+M4Nf2Tu7Rj.3dZil
  94. JrIlNroVZYnjjpj5PNSG13F.ah9mvBSQIPgvwgtI1YinXXDCrygmNbyLUQCp
  95. S31EA6TfPupC1tu6X9I5F.rTyAVWGVO.6zTlblBudjH5DXqz0Ax.BWWIvRrf
  96. zJwDBItWXioQGI74imaBnRMGTQddyGKGahAj9zAzXRu1foxuQlvu850xFSkF
  97. XWvuoSilJrYh2CX5oJzeZuIzM4MYhLKoOxMiRfDIBaqAZilHnILwUBZuFQQd
  98. pITfHfVcaOMHy0BlhfzWHbzLEIGYa0RlArzA.rbXernwnafYJgINU0qnZYeO
  99. sVbPoyxBRCbSUKPrwaBcSdSlXef0qZXhxcZPuf9noBalXhfg5SfFK3ZBzkas
  100. Zy1rOS.VpX..KmnM6SMRM6i53Ley9Lw3GB26zOXOBPIQnOZhRDbOK4jnhpR3
  101. yl7fQfJ0bPsgzPCgg4z8QtI1TZ9IT2RwDdNdAkXNG5QnBX6bWNZphGtln1zY
  102. fPagqEXGs+QY0vtqJ.SaA63qMsafT5xJNl3o8Og3Dr64YUXmbMXWLLX2yk7D
  103. WmtiI0vtGDEpUfcSBli2aVRvPoCHT0bU8foBYXSc2naEwvFnqZsCU5iaNhoz
  104. DhqGLUv1DCgbQudT.0pfPk7IOaQPcL0ehtY0pkeT8gPAE.5rjAai.VpX..KS
  105. b4npjk34LaYv1Dml8LHA1PdF0FLQoAlIFn4NF34qJ0sUjaKj5VlIlcOy1b6F
  106. YYfF.8QSE1DlBac5XiKxEp+b.3ZLbpPG2TnC2Ez4AdEp.N8QSE1XlBajNUn6
  107. TXxCeB5ZNdpvGcxyHTyATKzh9noBajIuPXZq8kMWHLFd5TMU4Zae8HFkj09g
  108. MvFWU9egcA9yFQUMRZGasDPLGaE4ux.mJx+YY4.XN1Jx+aPz8lnBhzaNBUe3
  109. TpHQoptN5bDBsQvpy.fUNRKfZ0HEMmAQCMKzbp2zcj2iCqx5ocJT8+lI7zch
  110. 2axS.oBSUbzIsuxmRUx3cI1ZkBoFKC2I4jRbg17tzV.EV65YwMdpwBwlBrL1
  111. kipDhUKG6rHDSMM0ac6trmd.H7YKzIi.Up4fZi.mZD2DxcF0ZXzpLyrPA1PM
  112. cMh6btdEcPs9aZilJnYhsUdut8oVMPHYBZClJjYpNcrEdQnawKhXRPm8lvAl
  113. xjJ7YYQcpFb4TCx7CoTjAfJD.OC9vIZL.jWTWl.a+42FgDDOyo2p04Te.fDJ
  114. NQ6HA9FfDlKznMv1VEH7AnOsWKwpna0GM0odroCaLISVECYkOCVHFRhQVS6E
  115. zT0FHn6kh7ZYDDBIUsO+ZgPHIFY9rW3Vs+i.TTkGA1ffhmdLXBl9pAS383EB
  116. 5F.rNlCryYfVDzj44PHTpY3.csw.rRB0qdvTkFbLb5UmzWlVQXVFC.1VNeYz
  117. JiQudsCpVXLtk77B6M4jiyA0iLJDUsKzGOZNx5INGahsR1fWKcX0yEvR6wZY
  118. TYk5oikMFgc0wR7zKQCLY3bmqhkbWowMNwSGKaLZF3WFEVTux+tEfgndsqzG
  119. MUXynDjNvUbupZF.QC2BScxcWmyGyfsz55UsAOcMMFkBcx00zP0WBdJ19lCM
  120. BPMobpczVZahi8MEhmbI0pnnLsvloL6GAAdp05oNAUuTOsaHmHi9Pr5ky64p
  121. Wt55il3rGIrglDrgbTcgIjPnCcBwzgNiL6wGnpJUwKApl7PhmzzTUMTonpZE
  122. bsfdJjIoE+rk485E5jpXl.fG4foOwwrVNfBeNslu1.iLIpXjW+xNXo2Tfa9J
  123. IGAyNfFxDPq67RV1o6pAMjimvVvFa5pCfUfdFlvYR.6LhI9snVqbjTiUiAL8
  124. UQ2BkgGxX2FocxrUs3lpRi.oRgmEbEDgmbfkppf15YS.4XhNoB86VXgBJlNM
  125. 7UxzVFfM+cirsOJC3cissGmC3cSrsSjv6FcG42n6H+FcG42n6D+lbC0kXz2Y
  126. hSGBWna1KGYcp7.zgN4WDZ3uHnSg3e3vGAoYpqV9NVu2+2SRqaHlEV3hggxl
  127. Ox5zfOBqtd3B7S27VXdvl7ioPCa4qbnoKI6YQowGCUrR4VUzZY6Tor4tjcve
  128. ipkFk700e4u8k+efWpRlU
  129. -----------end_max5_patcher-----------
  130. </span><span class="tag"></code></pre></span>
<span class="tag"><pre><code></span><span class="pln">
----------begin_max5_patcher----------
5637.3oc68rscihrcO69qPKk7Pt3wKp6Px4gj7Ej2mLKuvRXYFi.E.Y28Yxo
+1CT6BTgDfJfBI59L8ZFaWbceq12pM65O9xCqeI4qAYqW8us5WW8vC+wWd3A
4gJOvCpwOrdu+W2D4mIur06Cxx72Er9Q3b4AeMWd7r7jCUGL4XdTPd92ND.O
40qW8apScvOeyagw6dNMXSNbVpK9ImGWwb7J+EAU9Sbwgpum3i6CiKdfR..e
5fvqQdTj5ngak.SxK+9ufbDqKO3e6Keo7GOZH9EE9QvS67Ci+dE17geZr+9f
yN6ux9sNQ2rvcw9QqeT+uJ++WiR7yK+invr7Szjjzvf3b+7vjXcboMRkCSRp
Dtk+BQ3k+hJznUE3Qwc4GGGDsI4Xr79bLmNxZiNRWWCQoEDh7fzmCh8eIJPG
Zy7+HX6y944ogubLO3zekoH1JpcI8L5XPxqUGt535O98E.Z44+EgySJnuw4i
Rh20KO4rmlujiya8Yk8VRZt4OrJ1baOpiwg4Y4eCHLT37RwupeMPYwtmq4ml
OxIaX4rLpKQNYCasIajwLYKN3yh69B76Pj+299pWKmVrEYvrrW7i2YBVyHx4
MvrmtwZTqXMtMr1YVUwPuCpX3HoRERoVkBULft4YVEif+CiFFpE0vbuUuzwr
uzUYa7iBHiSAC20QN6BjeXWwZtioJXDtqsNFRGGFJnNOwJlZfXVECcQVDC+W
990zbzKF5xJwPhijGVn6jYEiDtTKhgE541VZebEZjxoBv1mPx+DNiwjPa3Ha
wvE4EnybvE4qspqLiMrAdgFlxogf0bqE1fqXss8TKJYz3HQNQDQA2WX1BGso
xzBIwuuBMI0MJEpDv0TjslJ5YQrbWZRxGAUNkhW8eTxTWgL2+LCXyXrjAinW
QYDwT+S8bV2v2ohiU7N6wwoW7yB2jW3mQo+zE9XPqbCY8qIQQIetKJ4E+n7f
8GRzcRo3ro68iy2jjVhTJmLqOaIopfnA3pD2VuOqlf.mGBooqqXexVv4II.V
42ToWs6BKHtQAw6xeS+tyC27t9Cn5JqAcD9jeeqO7leVPe29gvBdVGX2+6Q+
nv7u0B3kGVnVHOMn3dUO7U+138Vy3nFH2kDSHMubSiZ3GmzRP96lfFFoK0TA
Qp.zxAMvVuThJhQnxIF1NlgEiylLAj8VK6rIwYAEx.kClosbHCD7hgKRUI+w
1bQ5xHjAJ3aosCYfvVPgLnR0osCYfvWTgLToO0xgLPI+nDxfhMa8PFnr+Ljg
+9KjA7cHjALBcyWnAWmeXhY.+yTLCG2+RPZ21yLYI7PtRWS3PoBXoEvS30m7
fy8BUQhY.UEVGU6MPoQ5iMlKlkkOBY+PAwiCCIpb5Z4PAE30KEdHpv4r4.Cc
VL7PNeNDR41Lg0YmkPl1jDg.7fngXjwnnwoErPXerfzCVT5B7LfEb6iE3dvh
RmKmArfYer.0GVvmCjvlKarDEJ7pl33T33dw+wFoVbXtCDkMx4J3J2XU.nYC
WYqPOMRaxvLLqiqjESduHtNywRkSEKnrWV4YkkydIyYwvEwHwbvEYnkQ1KwT
7bTvCL7BJ6kXhybTvCL5hJ6kUg.X4rWx9gofGTrYqm8R9eVvC+7j8xNDLe43
quFjVIX18BNWmfxqluEFCeprvgzLYgDtPsoqbMQZhEPZJX.wxHMwa1PZr83z
f0E6gzixMuB8Q4Eyr5BotJt3gkNhyf0AhV8yoZCgX6zDlmraWTPm3YXbtIno
miUQSD6FkMzo4QKR3MKwkfWREhMeVpC6kSvkPRQrdYXae21+LLdaxmiLmuTo
Kspx.RXquqLNd1xGBgL5DhnRVmJgHHGKkPDpiMYooA9aGYwpAVIUqOKwVUPx
nJVsMI62GDmeA18ut5+pg8yN9JVvkxjvmWL8IQ4LOmImORpUqd9fnB.dEG0u
i.OdEVlKkqiqhwvyZ6CbzlwM+dv2NdnW+.drseYBZibUqUJa3KDC8RzFiWdb
XADqrkYvd1k+ZWtqBkgUC2ZLW9rYQAO9TrC9HXaCJjERYWhli7VRHKo7Vhmi
zVRFUJDdQBemJBkOBC97ivrvWBqRaS0qJ40WyBzSBktwwnjMuGrcap+trMoI
QQ5Sx1DEt4872RSNt6M8iCgP81k2.bhOt7DurqJUW0GIIcaAvqcjg9gch.l.
DXLDVg2jWbdbcfwA6eIX6EE2F.x54V70vBLNHMqYov8vZ+CGzNby5Fau+umH
ePt0kkUAvlj1rRsRCJ4mv8e5B8SKHE4EzgioPtC+JmdpxuJIyowGCkfRUIcU
ARRgmxBGK6f+FUhGKjwpSl3gfX8fRUVe.uDcgto.Qqx8JYqf3SiDGV9XBiOj
Fj0RIB9v5sAu5eLJ+4WShyyB+qPI4gOkzR8y+pBLa8j0U.2+YZXYJoUWxtzv
sIwk.QiWa4gqdcEHGXxgoiLxqH1+PK2Ljf4NNYgNk7iYu3mJm8AoV.Wmqzjj
nlmp99hBdMWc5CgwwmQEKTC28ISC28VO26KIEmbeeOa4Yxd9XLb1mKqAymKS
ldyqyOJRYRr4i+q9wg68yCJyDrDccpO4E5FPMOyGsblsEB5aB9LbKjraPVq9
bE2P3gJwn0074sg6Bxxadr7BsXMORc8MpcniUpNetLs4QE3QyKnQyRRedqtJ
4FG+LUyGBKDVhB2VqbFzenMiP2m.PibocEHnZtlPoT6z9BKY68ydWmlcM2uZ
7D5ZtXsnjr.Wan7o78F6uIO7i.46+7S1Z8fo50LciJEB0s9pd48cwaKoZRx2
muVpEK6oCk9Ke5hZy3p7DuGm7h1MWN776ElQT+tIMerW577EQHgZvIaKYhZm
eexGAukjF9WKzR4GUmpQs5qsxP+XjtZ3j5YcTmUEnev2xzOYC8rEtn4wPtbu
p+0m3TifUpeVsq1sKYBPOKVth8LZko5FOz1BOe.bF1EfvIazMIicZqtK60mc
6sY2tCa2ca+951v6xNdCa4FXOWACmrmqr4AFx8fXowmMEsca58XWuwkzpscs
Bh+Z12MzFeO14MyV+Ur2eUa9W0t+Ur8ec6+W0G.C7CvDeAFh+.83SvU8Knee
C52+f17Q3Bgp18RnKOEZ2agN7XvHuFZ2ygy0fbtN9KNeu4E8RE9+SYGB1TLy
XU9a9wumsJOY0+cgNk+4yugSH0aAQGJUCVvheIH57qq0EmRtvbv2gm5i34ro
R8oEu6js1l1bLjIxGN2ZYSKlSkpBvhA3tpxUnBXwqXU+blvdD8bXph+etjF3
e11.IViuAjrlIT4RAwrf7U+inyOcGw30sGGWPX6goPIOwDHJB4.+CgKO344j
4ptO1cdAZkEQtEBnW3hWSh8joymGgv0ctqyj2BcmIv0NBalo9pLkceo93kC0
WVrW2NpuyBf5WVGBvJoLMlPiBuYZbAHXWnoixQlwDPikIf8V.LgrOKKbP6qs
ebj+Bk9XjqbYegbPvcdxC6wcEmBy0.VBYzrD2k.KIHZ0d+ME5VRxdaETiGYV
YRxisrzkVQsElCNUZnM694Ojd3OrE.+Ic0+fyy6J.1ukUD+vBYpihQ3.8KEG
tYLBmQOQAudA3p5+9+SZw0uplWzKiIJLNntqDfWHJ7j1a3PqQQ0guYylUe7R
vmqvKiA9940klAGpi6kAgbY6V21Agr.3H6S1F9ZXPZ1px1itE3MOZP4iLQ9F
FAkQD3uLxg8Difvro6uFqGd0Rvo4MkYTapJudT6+s+Do1hlmisgyzzdzscY9
Vhhddqet+Yz9yH9kWnxlvYO8GVWc2+Zi6+hmP45VE7sVLmV2vYTzcYgS7XUA
lsV8o1zkPTuuIjYuIY8wLk2C1r2S4xjMo2Cwr2y1T+Oa68b1gZr1JF7wk0kn
woBG4rG+8WOv+2hzHJ1UbGLhdSRjmDNWOJpZqci.YwQ50hOGlla5Q66duol9
yhYJkeqjeeU4btUJOvy5Li0n6+Tg+xeYEZIkHOwSBWvWDUcTvmY4+kPPwks8
sKiTaLdlXemEOoehTDv0ES3XVIQe8j0B9xHoRkE0tisxizLvaX3K4Mdd0Sll
37Gb27GwBf+bv+8EXRXYs3J+rqNycQsvw5Q1biV7XuQs1w8YItY4xTlIrqTa
CRBQ400OIMK4X5lJ4Of283pKIKaCxxCiqKznesxssGq62.CkYOV3ST7NQFBe
3Vwk5hcGsXAbDoeH24lC4lJRftChD7A.eh6.7wF.74BRI2T3itv4uDz..Pr6
8.BcV7P3..P9c.9vdCgBdOjBwtCbZ7MG.YCvBCAcufPictv4d.g3gHFxtGP3
..Pu6.7gFhlFD8d.gkBVTCgP18B.wCwZB5d.gjg.g3aMDNj4wKovDFBfOkvD
z3G5K1hIKzxeL0h8uuOIEn8+oJu+5Tezw2JvWtD4rvG00EYVnmulJnxOHNU+
bLeMUNs+0Tg0WQztxfPKYOPiBn0+COOiAmHJsIopQZtTB8Bq3cMuB2T4Yurl
QAEHCfhxOWvytv8gaOjDFmqHHLYChpjUxpaEDMGA8Z.LU0OLXyENgLEmXcRY
mR6erqN+iJ0y90Etv09FVZeK1P8kGBM4HUw4N8dCDVr19nZP71U6ylB15fIx
tejBc8nVBcQNy.5JaEGSCg8fJVz1nKFYSzcaX1gH+usBZlqSCgEBOcFLBYMA
Z1bfxVfEy4BMVrpRUsABa0s2bmU+BZU4OpNSCuMHOYPKNoyUcoC8ZR6GLnM6
n5STjI2IZP1sY6n+MgYz2gt0HPdtx9THmIUPnZ7znqQedKb61FenuFPwD+jP
wbc8tQTL2eRnXBOxsghgc9Ighw8D2HJlUkwNFuM4FoXmC62mTnp9UTnoqWGO
pF.3qQIEO4Ai4WzgtGloMGJzBOqrsg6mFfpeIo68y6tu40RWQj0e2gtRLHMT
1++ftNf2OJzQOL33z7SE4+DSEcc7fFt57SFE+DSF4dnmtMTQ2aCUrtfWGJgr
dSLnm+PtU61nQwVXytp+IVQbTakG0cVn0eHCkJ6JaGuUbBtCrCIH+kmNq.1N
FpYsvtxPEZV1ybjevKN0oPsIui0Jmh2R+YcTlnMdqNFcG1pi8Dx13FPSQPEu
My6zwHueX1oiQVbmNtiG1McyNt8VEr+1Me2NadRHG024Y681gQtIlf3KpsHq
p8PVKuEYgr5tjavljzsU6OMSAaUJHPdRCftjwrcX0F1NeaAQH6sEDY4ciGqt
8yFT5+xujm5GmE4mmjZ2FbNz0ukHt2n1Dgaq20uL542kaW6k3FragZsl9Mc9
1h6PVdKtyaV1g6nz+bGtq4U9C7NbmoNsd68XUsmEAhsHW7svi0eTbX0ddqtP
cUcq+luuBuhthuxc801yCXf2Jhq3GJ030eqwVNi7g0rdQ.D67pYPgdWTECdM
JF5tJP1FEs+4UjAmB3FrLxb02erm9lPWyxy5BtfcAV5..VN9xQDvlrviUO5R
DwYZHhA3QyJ24b7P.9+6RgzPfqF.paGMf4ZBj4oUrui+M4Nf2Tu7Rj.3dZil
JrIlNroVZYnjjpj5PNSG13F.ah9mvBSQIPgvwgtI1YinXXDCrygmNbyLUQCp
S31EA6TfPupC1tu6X9I5F.rTyAVWGVO.6zTlblBudjH5DXqz0Ax.BWWIvRrf
zJwDBItWXioQGI74imaBnRMGTQddyGKGahAj9zAzXRu1foxuQlvu850xFSkF
XWvuoSilJrYh2CX5oJzeZuIzM4MYhLKoOxMiRfDIBaqAZilHnILwUBZuFQQd
pITfHfVcaOMHy0BlhfzWHbzLEIGYa0RlArzA.rbXernwnafYJgINU0qnZYeO
sVbPoyxBRCbSUKPrwaBcSdSlXef0qZXhxcZPuf9noBalXhfg5SfFK3ZBzkas
Zy1rOS.VpX..KmnM6SMRM6i53Ley9Lw3GB26zOXOBPIQnOZhRDbOK4jnhpR3
yl7fQfJ0bPsgzPCgg4z8QtI1TZ9IT2RwDdNdAkXNG5QnBX6bWNZphGtln1zY
fPagqEXGs+QY0vtqJ.SaA63qMsafT5xJNl3o8Og3Dr64YUXmbMXWLLX2yk7D
WmtiI0vtGDEpUfcSBli2aVRvPoCHT0bU8foBYXSc2naEwvFnqZsCU5iaNhoz
DhqGLUv1DCgbQudT.0pfPk7IOaQPcL0ehtY0pkeT8gPAE.5rjAai.VpX..KS
b4npjk34LaYv1Dml8LHA1PdF0FLQoAlIFn4NF34qJ0sUjaKj5VlIlcOy1b6F
YYfF.8QSE1DlBac5XiKxEp+b.3ZLbpPG2TnC2Ez4AdEp.N8QSE1XlBajNUn6
TXxCeB5ZNdpvGcxyHTyATKzh9noBajIuPXZq8kMWHLFd5TMU4Zae8HFkj09g
MvFWU9egcA9yFQUMRZGasDPLGaE4ux.mJx+YY4.XN1Jx+aPz8lnBhzaNBUe3
TpHQoptN5bDBsQvpy.fUNRKfZ0HEMmAQCMKzbp2zcj2iCqx5ocJT8+lI7zch
2axS.oBSUbzIsuxmRUx3cI1ZkBoFKC2I4jRbg17tzV.EV65YwMdpwBwlBrL1
kipDhUKG6rHDSMM0ac6trmd.H7YKzIi.Up4fZi.mZD2DxcF0ZXzpLyrPA1PM
cMh6btdEcPs9aZilJnYhsUdut8oVMPHYBZClJjYpNcrEdQnawKhXRPm8lvAl
xjJ7YYQcpFb4TCx7CoTjAfJD.OC9vIZL.jWTWl.a+42FgDDOyo2p04Te.fDJ
NQ6HA9FfDlKznMv1VEH7AnOsWKwpna0GM0odroCaLISVECYkOCVHFRhQVS6E
zT0FHn6kh7ZYDDBIUsO+ZgPHIFY9rW3Vs+i.TTkGA1ffhmdLXBl9pAS383EB
5F.rNlCryYfVDzj44PHTpY3.csw.rRB0qdvTkFbLb5UmzWlVQXVFC.1VNeYz
JiQudsCpVXLtk77B6M4jiyA0iLJDUsKzGOZNx5INGahsR1fWKcX0yEvR6wZY
TYk5oikMFgc0wR7zKQCLY3bmqhkbWowMNwSGKaLZF3WFEVTux+tEfgndsqzG
MUXynDjNvUbupZF.QC2BScxcWmyGyfsz55UsAOcMMFkBcx00zP0WBdJ19lCM
BPMobpczVZahi8MEhmbI0pnnLsvloL6GAAdp05oNAUuTOsaHmHi9Pr5ky64p
Wt55il3rGIrglDrgbTcgIjPnCcBwzgNiL6wGnpJUwKApl7PhmzzTUMTonpZE
bsfdJjIoE+rk485E5jpXl.fG4foOwwrVNfBeNslu1.iLIpXjW+xNXo2Tfa9J
IGAyNfFxDPq67RV1o6pAMjimvVvFa5pCfUfdFlvYR.6LhI9snVqbjTiUiAL8
UQ2BkgGxX2FocxrUs3lpRi.oRgmEbEDgmbfkppf15YS.4XhNoB86VXgBJlNM
7UxzVFfM+cirsOJC3cissGmC3cSrsSjv6FcG42n6H+FcG42n6D+lbC0kXz2Y
hSGBWna1KGYcp7.zgN4WDZ3uHnSg3e3vGAoYpqV9NVu2+2SRqaHlEV3hggxl
Ox5zfOBqtd3B7S27VXdvl7ioPCa4qbnoKI6YQowGCUrR4VUzZY6Tor4tjcve
ipkFk700e4u8k+efWpRlU
-----------end_max5_patcher-----------
</span><span class="tag"></code></pre></span>