Moolody is a Sound-emotion drawing machine, which can translate human sounds into a specific pattern and then play it with music.

First part is a drawing machine. The machine could analyze sound and translate it into some specific patterns and drawing them. Another part is a Synthesizer. This machine could read special patterns and play the music with different kinds of digital instruments.

At first, I started with digital sound converting. I used Pure Data and processing to detect sound and generated patterns. I chose drawing dots in a circle because this pattern is much easier to draw after switch to my drawing machine.

visual pattern exploration — watercolor drop:



Explorations of how to play back the sound:

connect to my midterm instrument:

And play testing in class:

  • The pattern looks really beautiful when people sing a songs accurately.
  • People can’t actually hear what it play when my instrument play at the same time.
  • People don’t like the screen as I expected. I might use an iMac and put it inside the box.

Drawing machine:

Normally a drawing machine would use a pen, but what I want is many colorful dots. And the dots should be big enough so I could easily recognize them. So I decided to use dropper, which is really get me into a lot of troubles.


I bought two kinds of Pipettes. The glass one is 3ml, and the plastic one is 1ml. Here comes the first problem: if you want same volume of water every time , the pressure you need is different every time because the different water level has changed.


Glass dropper worked better, but the paper would also influence the patter. This is normal print paper, which takes a long time to absorb water:


So I have to buy many kinds of paper to test:


Then I tested 12v – 6N solenoid, and connected with Arduino:


I tried to use solenoid to squeeze the pipettes, but it was too weak to push the water out. So I had to change to a stronger and bigger solenoid.


But the servo worked. It is much stronger than the solenoid.pfinal3-09

Next step is controlling the movement of servo, I used stepper motor and belt:


First prototype – try to assemble belt with pulley and combine with servo (used one brass tube as trail). But it was unstable and sometimes idler gears:


Second prototype – Use metal right angle bracket to make it stronger:


This one could not squeeze out water every time because when servo hit the dropper, the metal sheet bent first.


Adding a brass tube is really helpful, but as you can see the acrylic bent this time.


Then I have tried three kinds of linear trail:


Third prototype – full range of my machine:


Double the thickness make it stronger:


Laser cut a slot structure to make sure that servo wouldn’t move:


Pattern Read:

At first I tried to use camera to read pattern, but I couldn’t find a open source library that could identify dots. And color makes a lot difference.


I bought a Pixy and used it to identify color dots. It worked, but it needs a stable light condition:pfinal3-36

First photo resistor prototype:

After build this, I found that all the photocell would give different values in a same light condition, so I have to code some setup program so that my machine could fid most light condition:


Turntable – L293 H-bridege chip test:


Second photo resistor prototype – combine it with turntable



Soldering photo resistors set:


User test on class:


  • People would get a little confused when they are first time to see my machine. Playing the music first and then invite user to record their own sound would be helpful.
  • I may need a LED light or a mark to let people know which area is reading the pattern.
  • In a noisy condition, I may need a direction mic and a 3.5″ audio-in for earphone.

Solder and testing circuits:


Final prototype:

Measuring the height:


Connected every part:






Base for turntable:


Final circuits test:




Testing program:

I’m using Pure Date to analyze human sound and translate it into MIDI numbers. Arduino communicate with PureData and send MIDI number when it detect some dots, then Pure Data get MIDI numbers and send them to FM8 through AU Lab. Through this process, I can play sound by using different kind of tones.









Leave a Reply

Your email address will not be published. Required fields are marked *