Uncategorized – 18-090 https://courses.ideate.cmu.edu/18-090/f2017 Twisted Signals Thu, 07 Dec 2017 05:03:31 +0000 en-US hourly 1 https://wordpress.org/?v=4.8.24 https://i1.wp.com/courses.ideate.cmu.edu/18-090/f2017/wp-content/uploads/2016/08/cropped-Screen-Shot-2016-03-29-at-3.48.29-PM-1.png?fit=32%2C32&ssl=1 Uncategorized – 18-090 https://courses.ideate.cmu.edu/18-090/f2017 32 32 115419400 Project 2: Rave Visuals Continued – Arnav Luthra https://courses.ideate.cmu.edu/18-090/f2017/2017/12/04/project-2-rave-visuals-continued-arnav-luthra/ Tue, 05 Dec 2017 04:02:09 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1553 For this project, I continued my work on the first project and added a tap for bpm and pose recognition using machine learning and the leap motion controller.

I kept the same overall layout with a video feed being stripped into separate RGB colorplanes and then moving them against each other but instead of having a single looping video I created a playlist of videos which can be switched by making a fist. I also altered the playback speed of the video using the position of the right palm over the sensor.

Instead of using the problematic beat detection object from the first version, I instead built a simple tap for bpm. I did this through a timer and some zl functions.

If I were to continue this further I would look into more interesting parameters to tweak as well as finding some ways to add some more visual diversity.

Patch:

]]>
1553
Final Project – Willow Hong https://courses.ideate.cmu.edu/18-090/f2017/2017/12/04/final-project-willow-hong/ Mon, 04 Dec 2017 13:05:44 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1539 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:

 

 

 

]]>
1539
Project 2: Object Generator- Tanushree Mediratta https://courses.ideate.cmu.edu/18-090/f2017/2017/12/04/project-2-object-generator-tanushree-mediratta/ Mon, 04 Dec 2017 13:01:44 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1537 For my second project, I decided to continue using the leap motion device, but for visual purposes. I decided to create an object generator. The object’s position, size and color are all manipulated through gestures and positions of the hands. I was able to incorporate topics we learnt in class such as Machine Learning, Open GL, etc in my project as well.

Here is a short demonstration:

 

Like project 1, I created my main patch from scratch:

I modified the visual subpath of the leap motion help file:

This is modified patch of the machine learning sam starter and training patch:

]]>
1537
Project 2: Swiss Design Poster Installation – Sarika Bajaj https://courses.ideate.cmu.edu/18-090/f2017/2017/12/04/project-2-swiss-design-poster-installation-sarika-bajaj/ Mon, 04 Dec 2017 05:37:30 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1491 For this past semester, I have been conducting a research project under Prof. Susan Finger to install projection systems around the IDeATe Hunt Basement to create a platform for students in the animation, game design, and intelligent environment minors to publicly display their work. Therefore, my projects for Twisted Signals revolved around creating demos for specifically the interactive projection system using Max. My first project, a virtual ball pit, was a good exercise in learning on how to use the Kinect but was not really a conceptually heavy demo. Therefore, for my second project, I wanted to make a system that would actually teach the users something.

The concept that I settled on was to make a system that allowed users to interact with the Hunt Swiss Poster collection, an extensive set of extraordinary Swiss design posters that are housed in the Hunt Library which very students know exist. Originally, I had planned on using the Kinect to allow users to “draw something” using a colored depth map that would then get processed to display the closest Swiss design poster. However, in my early protoyping, it was starting to get apparent that the interaction was not as obvious as it could be, which was leading to a weaker installation. Moreover, as I have had to borrow all of my equipment from IDeATe for every project, I ran into the issue that every Kinect and my specific computer was checked out for the time span that I needed to work on this project. Therefore, I had to pivot.

While planning the projection installation, we were hit with the news that the Kinect was no longer going to be produced. As I was forced to work without a Kinect anyway, I decided to work on creating an interesting interaction with just an RGB camera which thankfully will probably always be produced. Additionally, I realized that, although being a far more difficult path, the best possible way for users to interact with these Swiss posters was to be a literal part of them, which would mean every single poster would have to be designed uniquely. However, this direction would also result in an avenue where several students could choose to participate in this project if they are lacking in their ideas for projects.

Therefore, for my Project 2, I created two different Swiss poster exhibits as well as a very simple UI that an IDeATe staff member would use when turning on the projection system each morning. Each exhibit has an interaction display that mimics a Swiss poster design that is placed next to the original Swiss poster, some information about the poster, and some information about the project.

First Exhibit: 

Second Exhibit: 

UI Snapshot: 

Gist of Code: 

]]>
1491
Jonathan Namovic-Final Project https://courses.ideate.cmu.edu/18-090/f2017/2017/12/04/jonathan-namovic-final-project/ Mon, 04 Dec 2017 05:07:29 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1512 I decided to build off my patch from project 1 and continue on my journey of sound synthesis and instrument creation. I cleaned up the patch and made a presentation view for easier interaction and I added three new instruments. The first is a take on FM synthesis and clipping effects that resulted in a harmonized growling sound. For the second instrument, I took the same clipping effect and applied it to a long resonance filter over a click to create a kind of rounded square wave. For the last instrument I took the resonant click and filtered it in a new way to create a sound similar to a church organ.

Here is a sample loop I created using the new instruments and the drums from my old patch.

and here is the code

Main Patch:

Instruments from patch 1

Drum Patch:

basic notes:

New Instruments

Growl:

Square Wave:

church organ:

]]>
1512
Project 2 – Kevin Darr https://courses.ideate.cmu.edu/18-090/f2017/2017/12/03/project-2-kevin-darr/ Mon, 04 Dec 2017 04:53:25 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1508 For this project, I used spectral analysis along with machine learning to create a system for chord recognition. The system works by writing FFT frequency bin amplitudes into a matrix, then taking “snapshots” of the matrix and outputting the snapshot as a list, then sending these lists to the ml.svm object for categorization. While the system could easily work with any audio source, for this demonstration I made a simple polyphonic synth using sawtooth oscillators and a MIDI controller to play chords for the system to analyze. The challenge with this project was devising a system for processing the data from the FFT matrix and molding it into a form that is usable by the SVM but still contains enough data to identify specific chord spectra. The algorithm is powerful enough to recognize, for example, the difference between a C major chord and a C minor chord, if given enough training data.

In this demonstration I show how to train the SVM and how to map new chords. At the end I show that the system is not aware that a chord played an octave higher is not recognized. This can be fixed easily by simply mapping one chord played in several octaves (for example play C major chords with roots C3, C4, and C5 as state 1, D3 D4 D5 state 2, etc.)

main patch

<pre><code> ———-begin_max5_patcher———- 4889.3oc6cs0iiiak94p+UHXrOjfTsg3McIOMK17ZP.RxKKlJnfrMKWZZYIG I45xDj929RxCkrjsjLkLkqZmzC5wk0UdNe7bijmC8+5K2sXU1a7hEN+Qme14 t69We4t6TmRdh6zGe2hcQusNIpPcaKVmsaGOsbw8v0J4uUpN+NdYdlSY11sI 7GRqtbQ46Ib00qNS5gcwoI7R0aCoO49nx0OGmt8wb95RfZ78CV5duiWn7SDy U9Gr3Sm+Q0yjyKDDRTYbVZy2U7FU6ks5W9pePiVM6PYUy51wqnQSSXzkLQqQ oxFMfcrokO1+9KeQ9w8WId82OTlkGGk7GeHEszYcBOJ2o7YtSwK6t2YWz2De 6Pt5Pm3Bm3Tmx7Hwm6x1HfW7RmmyR13jk6TvSDDty5myx27PJYoingi2Jt8m izmUzo3D4THXStyp2EMU75uIvZUqEseed1dAcHu1gxxrTmrT0Uxi1DmsMO6v 9GRoKgmR28JegkGxU2ppaOMaG240miW+rfbR2THZtjn7sbGAruhm6j8jSwdA UleXmSQzt8I7B06.X2GRYK0uumd53K7gTukBpNauhUkDrhaV9Pp+Rmb9dtf+ ve0SvuB3J8cmx3chWq3nM7h3b9Fme2g8xVwWxza3OEcHo7dmhXQy+tSzlMBn LWylZVuv4IAfpNsBsJ98OjFTy5R3+gzPAM8ZrPZU9p2EsW2gfbWdNjHNsnqc eRz6.oKntzMNuJk0cDv9pnUwIwku6TjDugmW7f30+2hdQxox66uxWGkjHORH l9Rb1AAmEUFIjW9Koq4UfmyyBNdEmqkO3atWSuEQuT0mrNmK4FQuxR4aP81E eWR4INOEK6PUBKQoh2jS1dt30HYubEEnZI0KWRKxWvRm+GUSHuS0Ib9CNvKS 9lUmU9LPiIe+2KONUSXQakxwhW+wa7Hkrz4uAcPmCxJIFdQoSJ+0Z7T9tDmR AFBFdCPeUJaBziuN6PpRiC2oVe22xUX1RzkKLWPCIvevJiG9rQZ3hNICWTOk MSBgBMdPiFeBltD.sfXNyxUZVIOd.K7.8V99dNPUKhkl+Z8mZrvTXEgBWRD+ GhHsKKsNSU.LF2.Xa.fL+tAPh8fgjrnMBKNENti.JFOm64At9BTRR93g3ZBq atFMAtdKnAd87FoediwTRnn.0enJMGRKdCzK6RColU2GkGIL4xyejmFsBHRW qAC8z4uOK48u6H+rH5UG5HPIoy4njqTCHzcIVnCD5MnzPf8jF9F3iZZJ8cyq X8IE9nJ4ei+95rjrbMupjJZ9wQimCiLfYWBUIPwHiypKwa7xTUbgzCUqdvdr PypIUudI0maiFtK8CnDD8dw2PTlaXf7atXBCG1FbxiR2pnBZnEE0kwZI7quK VDDlvz+rZsqkTNX4C4NnkdT3hYWYORD1hqMryiMjywJEa1fp2XjEYbUb5ig+ Dp1qDRaSnGVLttJ9DAgGoGbWe7o+DzJ+jiAM5qMBCHt2FLHI9E9RYL0eup8d IJOUzf8b097tceyuI++mDQKo7GjDWTNdkCrN1.3OfISDwqGKBjg.KTmfEqpa WNHhGiJKyiEiIje7aEZTSCaRfI4.O6opSWc9lMZRV519AuV2ZgX7LkFduUvs aGWam.OkW6q9R4ottdjp+2qyqJFhWYrL3DvsSM515lNHtoZsCJbckXV0eriQ 2MQq+tgyhzkEbzCEh3O3XF5YLWSfmf4IYjQKMZyH9.WAw7foUeNlPdlPDOWH BGhOPNd9vbncjprmrALWinw3Pd.C03KhvHhRJBFsRu9ol+3Pd5oxu67ZtHd4 xrcQBKSuQDn.ld8y1J0eYf1gD00S1ygnCNTSL0dZK8wtpIyYVC2zWvd0AcQT SzKLou8w1d8v1sZCd9oNKjSs0K77h1Jh2sHZ+9FmtsejcQ+BLB.+ZivBlBNE o9TxoFr54o0mMJesbTUqKOjCX1a0DtdrJ4oGhqEOUcVeo5EVKSff3OgYSxi5 B9da5WXwpsIYq+FeSS+QKjSrWb5oVepurdtXe7orzxh3eE7JiW140eJZMu2G t1e4+sbhzq3uEayi2jkJIhVXs7zUMmHDLFrtBMYF0cjFsuiGVz2Kvkdtnbxh OTrJJW1UnschqtXYVVR6KU+bI7mJ0WdebZ5InXY199uXd71mG3YWkIt3tgd2 pqTHblCW8QgxX4ixneZeeQIIZsy1u92hRiEVf3xIcGl4z5KB9OdtXcdVRRK9 EtxKcbkMBo307Wi2T9rpgZJLHt838UBQKp6k2DukWT19bkQaKZelyrZHN0gU ZszGK461mH3Bvox6eUd7hFL4wUFqolYSyYsN+Pl0ZaZKWX5fWOfxdnzdGzwh iwk0iur9WTMVkyY47GQOyg1Y16ZQicL.iFQ+UYx+2XXkv2uYXU8bNOyXkbRm i1x6DrbW57i+8i+8ep+qoNQqU1CQmf4iVJ5MiVI73nmGoQE8z7nWVPWUjUHZ X+FUHCX.FYQiJxI5PDQ30hRcE3cui4.hnDEnFuA97k15rI1InIkHoX3RGJUy 99u0wIFwTbh0INUvStc3z.Nz+mvv2wN+Tz5x3W3NnI.msFO+D7sCqr..rvXA FBQCuMf1uDWtbMOIYkbPUKNw3yoCEpSXQM8p54b87veVmk.nCyqGKaMFGl98 exBaMLT2+nxTcsZAvlCfcn9GLVMGRddAKYdDLAeuCIXfXU6uSpo0+7rWukR6 x9TXtZbJVGkvc9IwPNzdlbPN+zl3cx9C4Wk8iNpYJmfmfJgnkdDZoKD36Er2 HUKplLHDX6gf7ujJB91D7qhKrq4W2K3xVIDpwg5O60e8.RgnVphPZAdJgGmt g+lsEOAZ3xn1XjRfHYntHyvEOR+3h60hKGmBGYPe8LncEOHud2.VQ1g70URK Za9NsYmM7hx3z5Iz5mqM6bx8kkuAlBPy5CmKBC2Og4NKDlbxBLhxjA0JL38O lGpvPhPNb8Stwcwa1mEmVpkfzAlFDnl..eOHvqSNDyfCCfbFVc3LwYcPw8HR p6HlEpf3c8JFterTFw8VqyRLU0PZmb155viqmaVnA4f3ln3yIpmTw3lkpbHj 7OZkU4AyEkyrLkKSElZJWcPmTt9jUKQiNGEfUjXfDTXTyb91jrUQI54EuNB9 glF8iy0t0W5+0YoOkkuSPMO6THt4mcVkkUd9BApWKnASPmIsv5ggGWVPJj9Y prMo+0ErmTsbJ4fiDFf5QXZb7YbcMtdV95O1UINnwxkRvvXn0IoFZb4c.iN9 DOfXbpUh7omQaep5ITKz1UHTVA9tSprnn1G7kw8PB8XT1QzuIwYOiCJqewQI YamdmxzxZuVc.dMpNs9LJPwydQHTkbtpjBYB.x0YZTWfbClwDX1rmWLe39KZ ZWzL+ET64unGPQZrGzSZaqebvwzzTZ4m.zTPtrAyha2YGPpTUx4QatEZJsDJ zZJClI6jYWQ4VUxRf2IrqGLz3gSjLO6w18Uqs0Ee5KwEGhRh+0gxyaisDB41 Hh3uzW50CELEewddSpR+7fkNDGBkGM1cVpQ4iEoZrX7EWMhQPt0ZD9PMVOwB 61CMITCKbUUQ.LhRYDhUw5Ao3HSULKTD7XRCGKJOJzA8qfrXZY1WnuSIGaMj GI5.pNOWlaZwvhYZa6booQHEx5w2ZdIFHCiY3.X4ETcqjyyvXShmmsXJYpci ALgg4fnYyay73UU83eUPFahWWZMTkbQOPZTMXvPOn9+mTJ8Bo8Jnl4C1R7Xr Oeoz6eNKMZc1Oxo2ejSuCjSuutC6JhffgcitX58dSxq284woVdcVgrPkAUfB EBrlLokg281jvC+g9xmmN5stXsPMwDrCoL9T4Oa.3B8gmMT0kWcc7hSD1ldB ef0wTxTdEBQWTFy61fZ5sfB7UhKWUVfqKEa8jYRBOcKpnisohdKUpKMkqeb4 XeoyJm3qClUA+e+kzdufjnGreO.E9OibQAQzGd0ITo9VzW90L+puUkNN1PsW 2OK179n.LDi1vdmNONFxIQ3mFuDQa9nQMBLWSWVNqc1Z+gfZ+ZhSNe6Go6Cj tZnQp+vXWDz79vSiRKHI4ZhUdHiJwrpO6MiJQeBynRKfeC6nz0nvRLFCwVBC +MiLndyExX.jXI.jbiRq2dPvQYvODF5oumgXD8+ukhuDhooRKcFSXUBdLTwr kVmHCoBzblfhFmAmyITT0ae4NDu4lJLpCwaFENkCwxLrXNy4XLZLXwrQEllD unv4LAZMM++qxz1O1z3kPu0oAtwjF9VmE3HuOEBPlBO8ao+n2XUDG83Ntdwb 5LXj5k8qSpd01V6.lgA3PJQtuWF5GvX9v2vXDt0NfIrRYqWKBun0iGvPtgxm IfhwT3aDWWZGOMOgu6zG2OvMD1+MCbcwn.3MQPdAm+7MWEqetdcrZcKq19Tb RRcKb2YbuXHr5XbWrUtAkyasnBp537HwgCcQgdRRh3FF3RguINE5LhS+jnF6 xpBXT7e9zpuE16SgqASDw2Eov.ruGAvETPvI6Fo5Nizs5EOq4NRGrpzY6yxq WJwkjvVO2gxrZduoohiqq4YHgfFBvRpAGDfz.ACQHmyRpoHP8rOFmJWtVd8d d28M9nNwgOockShqft5ZwcVrSHRG2jh+jk.+cslY1HW9OHzZNL901WuMA2ZV VF6diMApS3pDNdrYOQvblJ5XTuzVbIem1x4BUFRHAg6keHWKn5aKJII60M4Q amZd7b7WxgaQZOVk7eBLPx2PxehF41RHMz56Kgn.RiNE29HNYmxIavlKpxv. +58D0jCMSH.gBYgj11nMhb+Y+aRoSSe4ljVV4FjaRvZOWkaRroncwlVtIISW 3fSRNI1UkbRJ6xidWLeZ1kBzkmAj5yhPNVh777B7kBa9xp7xb7CeLUc0Rg0a dCSXWJuW6UPly.ICY+zaAuT..5sPVs2RK+iKQ9ExbRSEqcu3urPUom7va3iL 2YOqrKT+XvTbQMZi2KO8NZoigTUZ3v6tzLuYeu7rNyyQc+ayxMvwjTH+X8SA 6okjJCaclKs2fLSWcGVt+WxbU1NYTUwwpSAe2dx.RK1+OHiZOVrQDVL8VPQ3 jJENxjRjb+i6PJT3GhllMuE2nie6WbjaoOK+Sbk+q8I72bvSuv2lfVi6QgIp daSBOnESJxdU81fNsMhoa56p9QQitvENFMByC1FtzUdQP3H+MFgbp+bhs8li DjVE0p+ofBCBonvlg51k27lkwaw9n0woas8uoDyWYmQH9mJqxHSInUBcgs6T ZZw.1WkaRZVbKl2jAbec9N8qKYm9covBuM+7L02XjTdTc9uP2hgI0DbziUZ3 cJdVvMHlxhW1YM2sUkSgdMyG9WdMxrGLYtQLmEFoPSCJD8fgQCx7nYumE1Nj A46IVJqCGLv.kUCInQv.TpA0067+yv2tjkSSZXRgC0xEiKT5VCtG.frWcMey pGui0sLBB1A16qoAizKJdwU7CHR0jQznomxOnQ7W3IJ2Oe2p+ZrrKJ+a7b8r 29UOAI9UZf3Chm3CLU7gbko9pmZ5+7F7WuNZiZkmoryB..wajyTDYRvMFGbb l1.c5Pu58aSAviCPdnirflyOT.S2YPiNE08zN+bf9nSWgRcO0YqLYqEtsuUk jsn+IT0zFxmYPKQCsQKYRCgrPC4QMokjjC9XeY6skJeBpwjtBkGsN4uZcDwS Il36hUyKqWyAUzdEzmWtoc9XLH23AJV58U11GgCfinmej9Gms.DoiifDGOf. aeWd3tPA2qCELADrfrCKzfFhEXiVxDUbFwFsjIZdDOa0RHSZIz01RraF5Yh9 Gx0FsDxjVxFMjqAMjG0BsDMzTSwV2toQMMF2cSecFqnlnZehi2SLY64oVsB8 LL3gfU2u0QHc8vB+7xgZ8Cqtsvv.S69PVGC8uUJ3zaloDpQAlXC2XTrAsjM7 hQQFXwm4MKZYlzzsyqcqoWXhCUKftDiFF.saVDeCZ5YAcMpoQj4PlhXRblDa 3ruJJngwWeazRFMBOaXLffM0uGxngpfzCtBlVoVGU47C12fmEmeFwMdzYQLz j.zv1HTPxH780cOVPidLpOTGwAvri29HXG6vCFjn5nqj1w9lhR8JtgBNNIlX XcbPdr1m5ZoRua0DrfYWcmIx0Ec5BGV2a5Ou8llntgrwfRvFMNKqziXh2DaD uGxjA6PrgMdjIhyLa.dHirMMGAfXbKa8Q8fLwvuMzALI1YeK0NWTt7bFBl+7 S1.4jswIabbmrowc9FFW+aVbmtQwopIgSJhGfWqqgfcuCqXhhaNoncz.Pqh0 wjxJ4BUISWUHSUUQzakwLsphoUEwXbgB0phXP5Dm43GGuuNK+k9K8kdJ6k5J GYjksh945obUZWpJMkyq66g0b8+kKKAgpkxraQftJ5JLCoJTK+.TfpdgbYgv ND+IRBM1B+vxax0MvRLf5QPFK6JHQAEBDqHp.BHAI9FNTU7Y9GqJiy4Wg3NU WCTUh8z1EHVe8ecIAYE1+UoU.mcYoYxj4hOBbvvBta5Ea20TnceRMeXTA0Mw hoy1VRlPgycys9bVop8CI2eH494SxU7L+6u7+AT4vgfD ———–end_max5_patcher———– </code></pre>

poly-saw

<pre><code> ———-begin_max5_patcher———- 623.3ocuVE1iiBBD8y1eEF93EOOPwV89qb4RCUY2k8TvnX21rY6u8CGz1au0 Zqo11Dkxvfu48XXf2W3f1n1wqQt+z8WtNNuuvwAL0ZvoquCpfsKMmUCtgj72 TadE4YGRy2oAy5WD0kp78G5GoVuOmCC0aQ0ny4Z89RtEOjPpQd1F2e24jroP HMtAfQ5LVxzouHjOuthmpsSllP7CM+HgdtgAQ9XO2n312AA93ieMQFDAl.96 j.zIHrgBfQPqwOVrn8k2soArr5pCtDLFdv9qbCvSPNpEOKY4sJxo+AOCKNQi HNXqTPgFR.cTggLrvPmOg4GlXXk+DjhmxUrykTDbQdSRV01PIiQ63gYMY9X8 2NXxAl95+jYMIJokngwAPyxwXM8ty5Bs5oIP5ouyuitcKxgilaGd2oairjk9 GWy18GTgud5GBzOYzb76eIOgzk7PVsw.QCwiVI6Lq18wGaKOaswQyGeMSqqD aZz1C+bNxZGT6HqSUEEbokiHX.PulIUyDbGFS2ln3Pi.YgN5VgkCKN34iU0r 2N73J2EjXK2kLFoit79eXZnbg7+uFD.cq8OqD0plpzdNzcPh6Ivy30ZgjoEJ 4+3S6YrsNMnXes.EcE.QmAbnWANKmAbBuBbhlAbLUAcIW.m3YBmKwmvY.m9j oKlHbhzEhrRk43ltTbJYkeT6UErWWJN5XuiyPUkwqN+YkyZrR9rxMbvFj.k2 hvX+3t68Cl9ZDiu8HN3Ji3aCoqPZ9JN15Urxxs7p5NmAHL0neUABvJOnqPZ6 FBcq3aE89SAKrJSoUsotZSksT8tk1qGhJTFoT1H5V+MH+wh+BTMjzLF ———–end_max5_patcher———– </code></pre>

writetomatrix3

<pre><code> ———-begin_max5_patcher———- 1098.3oc2XkriiaCD8r8WgfNNvwgE2UNNyg4z7ADDDLfsLsi5HKZHI2KYv3u 8vEIaK2dQtsbCj3CRTjrXUuGqM3eLdT7ClWzUwQ+VzeDMZzOFOZjeJ2DiZ9d T7R0Ko4pJ+1hKzOad3w3Igkp0uT6md975rh4lMsKTU+Zt1uxL8b05751ELqq y000utRGzZbVgcsi8J5OaDoX8xrBqPdC.ZlbkpN8uxJV78RcZc3nv.dJZRD. tmhD2SrclsmS1LuAYM+egPi2c3ASxe5T2j+b7X2iI2Fi7oMQ32xFmjFpxVTn xOAnwmFz.Hc.kfX9W3ygZ9wAMLnfFPebnFindTe16Z1cG0UOM2dYiPuCjO4r iNNuPtLuv3tWbx43E.e+iAhPSYWAoLO2npuduALy61yCg.ryAZL5t6M7qa9H B.3vT1jnj.XSbiO48r3+IPN3a2KHe+yz8XV8zUl+VuIpJUkqifnqI5+8mmm4 gOf3myKmd2geppr1rxju4VR48dIAfFh2wmyG3DY2vCGG364wVv65644pS4CW 1wPzC+B33bBYONwKVbdVwgsE5Usa9tDUkYcYZKtZZxHZmxmoqrjjpNyTr2dn g8bzqh9pGVOziqD2MqHWuhQ3KnIWckaVSsGx4wjMctMaS6lLkyzktkQe.ple bUC2lp6glYC.65ItKoHb.g2lh38TQ2Lh5C0wGBE0iH.5Pvbc7uNi++P.nd4s 2UQgjipUqdRWV0rauNr0Kdz3iEDS7elUD9z2qdbo9or18S8ynJs4wqsIwWWF JY7BOTzNdowFUUrNqIvxhtwMkVNHgbgZYPzku5W1FCCLjDwUgr7aqB0gJdXQ pIOXa1ZGthEnoI1eBZ6nDXhagsriJMUWTumT1sInRjbRXjPjzNJg0UTctd4g xRDboWWjDIGDtQTNHIzthN2TT2hP6Ex2LEpTytpiOrXdVd91CdzV.ZqO2TmM dQoZVltnsL7n3N1ANAAIbugfRjnfI4lpK7ajB1iv573f8gaOdIGKnL2gJEHl TFFIojCOdUwhPWCXAxdlMytpz1cUYqGoir1t+00lsHqMuevMw6pa47TmbcIc PvodtlynIHb3ByN0A20tda7B98rBmOtt8.79IsO7RLdmVsgckVq4vV.iWZ89 xZsw8CS255F5r5y4q0s8lbbu1i3CdQHMjFXo44hq1B2YWLA1NdRv6+tXge4U 00afHbBi5CADBBA6ISIF.fL7F3WK052gE5YOh6maDvcgUCuw8M0Bq3pq17jT Dm6sLDGYMNOUxSfs4AGPa72044lmudSDyBIYERPBdSkYu0YuMaaU1+zDt69e TYIHjbf.vyK8klXXT+KMYClk3DJIDVKYLQXDFC3KVeRx.jObSRw3PfmjfPT7 kKOIjnDvWLPhPXHj21l01c49ej5SWnf9apTADABBw9BNIfcPZY+6akpNn0pO oOUIVJgFvx.B4ir9jUleN9eQEnrJf ———–end_max5_patcher———– </code></pre>

.data and .model example files.

 

chordsCmajor.data

chordsCmajor.model

]]>
1508
Project 2 – Magic 8 Ball – Alex Reed https://courses.ideate.cmu.edu/18-090/f2017/2017/12/03/project-2-magic-8-ball-alex-reed/ Sun, 03 Dec 2017 21:09:57 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1480 For this project I wanted to explore the possibility for using voice to text to control Max. After a lot of research and trial and error I found that speech processing is better suited to other programs, like Processing or Google APIs. So the project transformed in to small “performance” piece, where with a little behind the scenes magic, the user can ask to know their future.

Here is a demo video:

And some screenshots:

Gist:

]]>
1480
Project 1 – Willow Hong https://courses.ideate.cmu.edu/18-090/f2017/2017/11/01/project-1-willow-hong/ Wed, 01 Nov 2017 15:51:11 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1469 For this project I explored the connection between movement and music, and essentially created my own theremin, which is an instrument that  controls the frequency and amplitude of sounds using hand movement.

I used Leap Motion sensor to read the absolute position of my left hand along the z (vertical) axis, and the range of that data stream is translated into 8 MIDI notes from C3 to C4. The velocities of my right ring finger are normalized and then mapped onto the computer system’s volume scale, so the faster my right hand moves, the higher the volume will be.

I also added a slowly rotating noise point cloud to create some visual atmosphere. The note change will be reflected in the color change of the visualization, and volume change will alter the cloud size.

]]>
1469
Project 1 – Adrienne https://courses.ideate.cmu.edu/18-090/f2017/2017/11/01/project-1-adrienne/ Wed, 01 Nov 2017 09:34:12 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1454 For my project I wanted to see what I could do by modifying mesh points in a 3D model. This for me was an exploration of how Max reads 3D models, and I ended up with a crashing patch that took in a model, and distorted it using a .mov file. It used the normals of the model to extrude the vertices, and each point was being modified in accordance to the video. I eventually tried to use a pfft to get it to react to sound. It created really cool textures, but unfortunately I can’t get the patch to open. Below are screenshots of what I had.

I based this off of the duck distortion patch and this one I found on the internet:

https://www.dropbox.com/s/40nyha7vm2mqheb/extrusion.maxpat?dl=0

]]>
1454
Project 1 – Arnav Luthra https://courses.ideate.cmu.edu/18-090/f2017/2017/10/31/project-1-arnav-luthra/ Tue, 31 Oct 2017 04:17:36 +0000 https://courses.ideate.cmu.edu/18-090/f2017/?p=1441 For this project I tried making reactive visuals for rave music. There are two main components, the video of a 3D model dancing and an actual 3D model jumping around in space. The video is separated into R, G and B planes which are then moved around in sync with the music. The 3D model is distorted by a jit.catch on the signal and is bounced around on beat to the incoming audio.
The beat/bpm detection was done by an external object that was rather inaccurate but still created some cool visual effects.

One thing I really wanted to add to this project that would have made it a lot more interesting is having it fade in and out of these separate visual components based on the activity of the low-end. Since rave music is largely driven by kick drums, moments in a song where the kick drum or bass is absent are generally tense and dramatic. Being able to have the visuals correspond to this moment would have been really key. I tried to start this in measuring the difference in peakamps on beat with a low pass filtered signal but couldn’t find a meaningful delta. I then tried to simply map the amplitude of the filtered signal to the alpha channels of the layers but the 3D model would respond to a change in alpha values.

Overall, I think I could greatly improve on this project by more accurately measuring beats/bpm and getting the triggering/fading working. Below is a low-res recording of the visuals as well as the pasted patch.

 

<pre><code>
———-begin_max5_patcher———-
6063.3oc6cs0iiiak94N.4+ffQ+PR1pbyKhRT4gEU1cFjEXyrAHSxtOzUPAY
aUtT2xRZjjqK8fs+sGdQ2sjLsDksmKSRWkKcwj7iGdtwy4ve729ad2hUQu5k
tv3OZ7Qi28tejck2ItF+Juq3BuawN2WWG3lJdvE67RSc25s3l7al48Zl3Ffk
kWKb+N+v.uLwafJtZZ1aAdhGs7A82H96nUe5VGX8WOZeVw6CKtbra15m7C29
Ph25LYmFYiVBtwvjZw+EAv+IhcIi+YwKI+hxdK1S9FKVX7OE25++29a3+l8q
aTdrG58Bqqd3PO84G+JqcIcC.X0..JsG.vb..vTLjwPALPrTX7m5uMzMXwMC
9oIfQ8SeLIxCp8HHOfTIt.oWTxi+cCvRmoM5IiYwADKWbH9Elpvn2OLaN..u
WiSLbWk96d+iPiaMd+ine+jfC6o.Gll7eAANyL0PuKDfKcrLwXqx6D3G5sNZ
eXVCHXT.i4X.FGIST.nZUB15hfK1TapyLfKjoPvblvk9V7D649Y2cwecRqXL
sFOgAlHXcXYqvBlGChbytdQAywSFbUfBqeacfmApaP.pHHf5ADPJ.BPhTjhJ
7NuYdVOv5Td9O68UC28a7ilFT.FA8.VPAXgDHA0QcUtlAr3S9YKedchADQAF
NVfIo.JlNBBCnsDNnB1iRFFGANXc5G14lk3+5TIQ5UTxKI9YdFItO6gVtK5Y
CLv3SwdaOByiGiByR8+hneJn2UB1fUBr3eAgt6jO6eJwmqS8oyuwDuDZYYaR
YvpIbIxFaQQLMVLkzZ3yuj4zrn3YA6PfYD6.TIe6YF0FZs41fktouEtNwycy
j3TAGCSaHSaEqlngC75XAJDR3TzSylP3XbY.lHXXAMgJax7rHEyHXU2CdEW5
LFE53bo43NRNpsuTtKo2wtpxs6YrCFbdGyG64K.pI1V6COlxeaV4FtcRCQ7n
HsECQIMskJd6PzMmkY3MItuLI.vgLhIYhbwsoU9ulwY4b16O6uwKJNvMzyXc
TPTh3ioF2sJvKbyCdgtrOX.MtaiWb1SE+Mn396h13YPMbLtS7xrGj++.KgGA
53BKezcsWC7ngHXjphfcPmtH3gD5PjXODJ0SlXZeVk3bFrZvYLVMv0PWJ.Fe
EX2PJi3SGPAcLbhk1Phj+xdNWilXrxiYH9TDyRGEiXG7RJFiHL01cHB+MZBu
PBa+fADLM0rHiwqIlDGgpF.oJGX6Km2m0.BLJh.JpjH3mGvfoyXfAH7bSHrZ
eVVT3zXrM0U8NBUwPh097edATBaSx9vOyz0n2ocU8KDdTq+MqQ8aJPCayKG0
u1.Cznbjt0R7OGAiw4+T7UEXD6xfhkx++jPCzXjShspQZ.gTAZ.tTaMYbTpe
leTnw6gFuGY7d7zBoiQYCqSM7fY7fP1A5h4kl9siUU2COFpBH1ATBCNPKgY8
lyLHvsnM9E+vMQGyx85COxXbLI.UW5.1TnY.TXSD07hrqR7A+ZdO8qF28XBy
HXtkzFHhkwcBizwJXQ9oa7MwQuFeCwLpDDfJoarEZdg.jqBKv4HrrELD.sAz
PrOoXj.lEP89TuMoYa72IbYh3SoYtIYLYUfhKvLck8vDCxrLi.sz8LhkS4LB
D3HVJaZgtZlRhhMti8u+fwcO6FvHVNZX7MRb0dVwUh0RatjBL3pAXSC7Y7Mt
S7qG1GyonkelweMz.NKTun4k5EAWhDbTvWG9za5RmMGSXERQ1kRurrcVRgXS
n0YPBsprVm1lqLlv.nNjXyP.K1+Qsq1poyEohPLtWPvpfn0eVAFYJ6D85Kxn
cuH66hBcWGcrf3ccTfb1foCzf9K1px8QTF94v2IW1hOKG6kV…yPW9tc6v9
O6Av1.+zLApdSoxSEOaRzKxtx03JS7XBYOnIDtzgo3rvJJqkNLfhAyWEqLSW
6FvzirToGNAvQECbjkp3QwSGSWZliQLSMsIXDV3qJ5Yeo5iwoa26e91rKryH
V5VBlbCAZ3OftXDxH0JLbylVgtTkBez4RPIqk7hYOkAS+4YIPdHT8p3gkSkA
hVTbo7j7.LCOqv35ncLqLx5X0bjenQrWR19jUdaLd8suX7he1SFQI9a8CYpO
mlY3xLOILJYG6uj6E7oDNykz7q1uZU.yFTIAmh9awpxUCx2uwWo5aPmcMOzQ
skNxVZbNoAvKaj3He4PhQgOZH2MKK4nLBNxn+nBL3yiO7h+lrm3WlTiqQWNv
FRp.gZxegDrZxRJtGenIGi6xVneZR9V4JnD4DdL5u7.PHKxXqW3nn8NBLaoG
hLGmJFkTrCOr8jZLJ2oTd5pLSxi2GF6t9yb6w9z9cwFDl8uO9XpW1Q8wyQ.F
6QvmyFW49WGjvamHD4m8xgslh3hBwvCo9rMwt1lLH2FtKpHXgyU4jcnbxNbe
NvRUl8NiQrJ.UQtIcOnZ7yNOtLo8JyIsdzFLlnWxAVo9lCoT8syMJoA4g1iI
5Xg1U66.0Rt6Kpl2jGHviAEd7Ezhvbaw7DAddgSKSBGSbUawDNUBRThXyYbF
C4Qi1vKIGDJPAFuQ+.um8RR8iBqOwwf333ZW+c0eIN38oHw2k8MUWyOTdMb0
0R7d1u3qvr5xtIrwaFavtOQhauVoWYN22jPFsYoiCjSmEcsJX5VjLsjwPKYD
A5jm4k7Dpqbv+tEda7y3.7pshffT9xfkN2T6GvFuwpsb263sotjHFdG6E5GF
m3wTIJyMKejUc+MdO5tOH6gdDY07AZKnq4c6Vf06VrMweSTHuizb9he8hlrH
.33+r1XR7Hgtwc85LJUFp12cSYC18oqbS3Sm4JjgJuaVTTPy6U8lAdOlke+X
+vv1.ZVT7.2kYyySC81qhX2c2fe8hak9.isu31OvVxm8Pp6ysP9L2ffbl.sZ
gWcC84bYx7kyGHP0ckwZ6SoqShBBZNtk254tt0F1hh0dkFI.ZPdvdA+3BBqE
US6a725kl05hYtaSacoC4Ewt19U4K+eHyaGS68r1OQihzPik50Yc17FCxBsc
7Oj3tyfYbBevB.3FOUmdtquwRuomw.Bg5OSdjAJF.J4YbnuoF1IduqRXSAGp
Qidsr8pk8WtrIMOin8ILy98S8LX2wXeJazXj8jmAmcYPJ+hb9oFqihR13Gxl
jSa700v9Lbuy.vSbF.z3NGZu1.1rcjjBFBA0TNfTE+t5D3GhrUh68SrhNMnh
NAZUnLZtgVxji04BRpNDh8GzFXYOcvJegMxQZx6UGXk9h+WLvlKz0RQqovKT
57Mnzw.D3UJ8k.xd8sunMLiLALSls9EPF4JEx7qEH.SWd6jgKYp6zQLTb0fV
HsgVnoyC6JGt92zF+d7jorP13qZ18rNvPqDOQFWlKFu9UR7BKiah5YKQO3QM
SH4JQ1mgBhVh+.8fToLEXWWf94JDYzZVhY.TFW20bCf9Xox.FmjxembWwV0t
BiN0.NqcEKU6JzYuqPNETYdmfvp1ULm8tB5Tlfl2tB29W0WBMuDKJ2U5f.mY
wpz2jfqgNHYfNHrWdjx+n3p5MU2ktzkwheZtqGOlTosl65cLEgQOcNKsAyef
jXao6.Igd4Bjjg14BoyhJCGrIu2qpiv1yWn5zHzOy8YG9pIuC7CeL5TB6Z0g
TpdKiQMh9IRwtlbgpiQYFqLB3+adftQjALCsw+D6pc31RZzgkJHmrfsHWxW9
44qrgryK8Ii6b2mEwHM8WKxtkD2WjEDDFsJqGDbXYDo6Y.mYfIAEn4pBRsoE
Hf8G7D9xw5pfAQxwjfOUrDpWtCMHwkk0277m8hUjyD6xgwc7glwl8hzdQDsy
fkvx+cGe2rM9N1k+KQurj8sYbWItGyM+V72UALvDCGK5npXZUQ+gC.Iy5Ryq
hviItd4E5VQUGZZkzhQnsoMFIceCVtCPcDmZ+7LRFHxhHHDIb8tkrnqaRA+Z
PI7qAkvuFTBi0erspBAsJPjWE6rqY91aSu3NuVD+nAtuISmqZO05.+3m73j8
hADzdIPWtwFOzFvgUC5JrawJOFvnGE8ZIKk8uM9q4z2tIusnkGhbybqAd0QO
IvzfBs8SjKVpjs4+4e7C+iTlrnOj9p2N5G9lnWB4kxwzO7mih1X7Mtgq4A0w
29pHvCVtKtgW9K919renD.2E8ruG+Jsepfnn31SFxDCLLiIi3ANmy5tM6vts
.zXpLUDHzej67vaN7QdnXnwP08NXB..nNlKN7Y4NyQ98bSWeU6C8+g84eQfC
uMe.IxR+deBuvs4tBj0SX5trgyf6vdw9jZN6qiuljbf4iMCGvR3mW1FR7hiF
nm7XAIAnquAt8X0FIcAEhBTPEUdOeIBi5FDvDYMSQe4Fi9FNkwDTmeQBUBqn
BXJ7rcUW.KyxxrnCBT2Jlt965e1kMhSSVO3HthTu+lPF+SMnHMMwBJRzhtgn
iLUx60BqLJBs8tlK13F2+jYyYxa3++tW.TTVbFfzYsKSZ4CUpSws34fGhMk6
kD26HRtp9gbrZPxGOIWlNu+yQACrJo4j4.CZN99Pp255KXZ7H0Ds0xO6su64
XGb+fgo1TYvYJQqCDJqEEHryIo0PsxakNwrA0xhYr6RapE0j1ezHhzlhXSIL
BPVx7PTBpcbXrbkDCT4t8fo2CudhAQDiaE+peZSqSToroD3JHY.EfkVvBMwW
vPWYPBy2CMv.ssdFNsf8QVLoIVKgXrIB2Ywb85f7iuvsVYrq+RYmp.2PKYQJ
BbTmJfSYBtaN+fWYg.TezclSgtSFNwDrYI7QruVWu1pvApuktnoHJFK8KtIC
IKfPmq0PAcJ0SdXi5IOuDxWVO44ENMdLBnXrs0oWFGXqOFUzOOfyJOctLV.Y
0CTdZVPbN7Px4TbY+OElsA8MaCjy25d1Fcxy1j4a5l.E5Ahk6JNoiB6yuflt
ES3W9o6Yb0soL2QwzeRMcuyKKIRiBAMmhkS4mvBT3Ik7H0KJ4+TUq+oj+HxC
VZLSE1ewoz+gSAmvB17CjaD3mF572vdcok5F50dczTrAHujkPvkn4k0l8gfR
gCi7DZgLvZXxIhdCs6clJw4ielkVfd1pZ.E2Yb0JZhyju4NuViVU76FSZ7.Z
aI0u.MF0DnAeuUSjxE0XTAJnszoa5ZnH8IIt7mpofRisBOOO8OreFtw60gRP
fqETbR9KhoiLjWdlOQf7jAQzYNSzbTNoqLm+D.S4zhCSl8DLxT47tBM+Y6Dm
2nhoXj072YTsu3XMhzI5r1Co4zzm8LxhqtfhK6.yeFFRNUpqNwKz0QWjbgH5
Ngt3EJM.wJm+lPz7SzoLKstVqbdlQOst3EgOxIlQtWucvtj2dVlkQpq0A5BA
hp2EQlWJTz5TYPOmcFkU..N+cFn50Rf4WTOTYjAM+JRBUl4.7RQVehcwKgH.
n5R0GtXUTKQ9KSyI2m817fLYTdfW5Y8WsOSZ7YiLP5DSThsAQqbCxSBhxsyZ
3rlnJ4Jld4FnHV++5zNfP5qF.SF7z4SleWxM7HuB+0vQB8dTkeS2epuf3uQ.
7WNScPf6WizqU.6e+8hH1+96Egr+82+MQq2y8dA6Jeez9fTOuOaTFG+2e+5H
dn6m4c+8+EO+Ug9e41+ZHmN91e2+0+3+4a91+1eG.f+9a++91+iaQ.n8s+8+
129+9m99+a+u+96A3aCxekX+u7E2k6hq6wqlg9u3bUuUn+uH0KvacifH9l1A
naYpATyqQ8lV.+XiEwxyeBdt5DUb9Acfmeh8YS0oO4+XV2gG7heXuafe1akN
XKkGC6MdhzXOuM871OxOzKB666lSO2UDKK6UqiRRZfNsYRIGer49sYOsqmP3
eQZv9jZwxd6aWKP46ZrItV19PeteEE68r4AivffnWjbFpA0ciCGYHIhd8rDO
9o00wGx0nYXu45OmtPEVjWxCPa7Xp93DjbYQdwB6Rd3YmXrJd2s6Rm1YX0XN
6WyyxVnLiorfy7IWUVz1sUbpF0bMYLy01Thb24jy0fhedzC.5puSdBxj4kjG
nLUJwn0iDYd577PRDm6qw6gyxYiIAo2BDPAzJK6kT5E7rOaavxmbC2bTBrQd
Lhn4pTQAvIChPakV5Mi0ID4YwbyPEaSzdFs9p8O9nWRYnhU7mmuCvEhlKhP1
HQ4jljW1CU5HKdNKSK7hdyJCuD2zYhxcD0DD7fGIE1xRpRsBSphvWwukC1Y.
K+AY3vgLtykoOzy8VGalHWTKMyE0BWmKZmU6hyl1H4rRS7BYVq2jgPYvN.jG
R1howGphPTv4jsfEVy0VLIYsoL7OySaoy.aAMn.r4XN+RsnfZ59cQU.NcPEf
U0J.6QTlYLwxYarTAX7LVOCYCRO2oU2FwViXHleHJjeHWXpigXuJvdXNdpxo
AnhkQHjyXLyKulPHMyinzwx1kcwLZLGS3lxrOJ+XO5rrXVGC0wv2xTFsQmyg
ZeKoW+15.OCzzvfwbtJWfAR2lpzgo7ro8p+NujIUdvPnwi.H7A0t7dQ.Q0Oc
tfgMtq+5jPAHXL0j27S8LaPmUv8Kzx5wv.i6aFd0bkXUc.HdIWZGEujKt1Oa
+FudlXMUj7dDT2EG7Qxf1kZdBphVK7wqvC460LTIywm1avVAJcXnQ1L7O5qj
Y6TaS05bBQ8FTk1iBzV6QopzflM2Y+1ap4YoKX1SW.pit.QIXudYjehMHVoF
TeSyHUZOar9ZPnRMn9V3PUZkpCReMnJsGFOmKbTpGf5oGfNa8.vLtx09byvT
zf3iRXS0aChNZCZq2FDdzFb1mUOZWvxdFWbYqDsssk9fckjA4.ahL5cLqlXP
xbNyapDrSzljXakjLZoOAU1JIYjpOAU1JIYzViMnJsGRayfVmjHfYgpUstfE
cF4WYYqLcrlfcxYlrxRsUpP80fJsR0YNYGpVWvZN0xTzEPp1EzQCBNkwrNZP
kr+jns1inD2BzbZysZcA3bRZSTSAK6KdWvbNYaSHJquilH9TRAKQ1SfzSChU
tA0ifIhZxIzmIgDkXRSzmjPSGkgTM0fTkk0Cmo0pp0EZkmf5cspo8ovtPGMn
RRlr02RGSk3FoOlQlJwLhnOq8LUiYjFmBQJ4LEy4jrUot.gLi9ITstPu6x.T
WcAk2kAczfpYmOcNgcnJv972ENNJzG8O97gBydWPIWhLaLATBDl8dvwM4XNc
SiZffnKLapwnjwsX8I.BqjHcS8YMM1TUcHziHcrRhzI5iwNVMII5yiwX03dn
woP0h5AM1fJom6LJlRoNvbFABJ0AZcf2qW9yH0bau97aORIqaf5aiMQDkGgZ
pAUhUn9XTfvJIj2VuM3wQT8YvHRIdu34zogp0EPNy39zhN2JQnlDu4LRSTad
eNMfDcJBgKdpc9apePzgAP4gUkLsDjmrBM+KnLFeMwNk+0LQEAcNyTQPkjv.
0WHU.MOyQuIDoLjpGmqCU1vRbewGaqCHZQS09fgt8gBcGGHzCbXPevAAcd0k
QFCwsiM2xbZy8wWeyiWPHxik35UN0ZXBO5kEYiWQMbf.fNVvaZ7oV0BjFYe2
GaEt00SrtOVjZcUnWdmIycUqNhWfGu60nuXRfN1N2z4mZzgZ7VV1ND.ULBHT
HVL..VPjUqWpbn+feHeNrrvbPYuEfbSmeBVOR4yGLE41TyATSPpImnUaezOH
nrW2n9xTDf1K1l3twmOiUVAeDu.rnah.lP.5FYAgG5PkCTDl+oFE3D46gJwG
pXDU+Wc73kshCmLf+jXfCEXJ+jjxn4q4FtM+fz1t9Q.cbRD+fxr3nEeI1o5M
1mEUNJE2z14fJnTODTGYVTjkKroMH0BaWmFt8b29fL+z.+MkmJ7+3gzT89kU
Me1DyN1LSqNQraBup.0Nm.jctRIvMYxUtP+ENeCicQgQow7zjM+cyO50UXUl
MECME8VaG1.T7IpIjIX8fQ43oZOcxo5D6vbDu5G8RcSsP1lxkr1.BkJ+D0DO
GzqGiX86hBcWGsnGFU.nEvQvTC.gThjUK.iIlCSd4XaynptofrzwgfsvpxbC
bSseLJhQvPDi6P.HAPP.2gIDcWutMcHCA.NRhODxT9IL.vIMaLz5lFF3.EDS
T1BMnbVmMmaQutng4yVNN1lEexAdDpYH1FHHLnHaKrYNaHJx4piZl0qnBdGH
lrxbPg.wsW2c.wLarXJDR6XSIDa4mPHH57SQyeS1u9WvO87WS
———–end_max5_patcher———–
</code></pre>

]]>
1441