All posts by Jiffer

Musical Robotics Workshop

This site has files for the ATLAS Musical Robotics Workshop 2/11/2016!


Download Pd examples

Go to MIDI settings and select the Teensy as your MIDI output (make sure its plugged in)

basic.pd – this is a good place to start. You can test your setup here. Just click on the buttons in the patch (make sure Edit mode is off). You can also use the keyboard with the keys, space, f, j, d, and k

basic-random-vel.pd – this one will randomly calculate a new velocity every time a solenoid is triggered.

algorithmic.pd – this one will generate beats algorithmically based on the position of the slider (controls likelihood).


Download Teensy / Arduino code:

Automatic Off (default) – good for solenoids, not for vibration or DC motors you want to leave on.

MIDI note On / Off  – This one will respond to note on messages and will stay on until a note off message is received (velocity = 0).

Gas Sensor Sonification System

In this investigation, different gas sensors were used with Arduino and Pure Data (Pd), a visual programming language for computer sounds and other multimedia works, to output different noises through the Modular-Muse (mm) Library, an interface developed by Jiffer Harriman specifically for the creation and development of tones. Hydrogen Gas (H2), Alcohol Gas, Carbon Monoxide (CO), and Liquefied Petroleum Gas (LPG) sensors were all used to output these various sounds.
Screen Shot 2015-12-08 at 1.19.14 PM
This system provided a different way of knowing the values of the different gas sensors. Each one has a different range that means different things. By creating a different sound for safe, moderate danger and dangerous, the system gives immediate auditory feedback with sound that doesn’t require looking at a display or interpreting a value.
This project was created as part of the CU Science Discovery Research Experience.

Musical Weather Station

Using this weather station the Musical Weather Station played sounds based on the current conditions. The motivation behind this system is to create a way to determine the weather conditions without having to look at a display, instead you can “hear” the weather.

Screen Shot 2015-12-08 at 1.06.34 PM

The sensors include an anemometer (wind speed), rain sensor, humidity, temperature and light sensors.

Both the anemometer and rain sensors act as switches so they could be used directly with the digital inputs on the Sound Clippys Board. By counting how many times the anemometer toggled in a second the wind speed can be determined. Similarly by counting how many times the rain sensor toggled the amount of rainfall can be determined.

Screen Shot 2015-12-08 at 1.12.10 PM

The other sensors all hooked into the analog inputs on the Sound Clippys Board.


The patch would play simple sounds in a sequence, with each sensor being sonified in the following order:

light, wind, rain, humidity, temperature

Delays were used to create this basic sequence.

Screen Shot 2015-12-08 at 1.12.40 PM

This project was created as part of the CU Science Discovery Research Experience.



Screen Shot 2015-12-08 at 1.28.33 PM

The GuiSam is a glove based “air guitar” instrument. It uses eight switches (four on each hand) and a distance sensor. Playing it is similar to a guitar, the left hand determines the chord and the right hand triggers the notes.


The left hand determines what kind of chord will be played, i.e. major, minor, etc. While the right hand controls which notes are played of the chord. Finally the distance sensor is mounted to the right hand determines the root of the chord (i.e. A, Bb, etc.)

It uses the modular-muse plucked string model and the overdrive effect to sound like an electric guitar.

This sound sample uses that same modular-muse string model through the overdrive effect:

IMG_2487 IMG_2489

Here is an early prototype:

Screen Shot 2015-12-08 at 1.30.06 PM

This project was created as part of the CU Science Discovery Research Experience.



Paper Piano

Paper Piano

You can extend the alligator clip wires by connecting to other conductive materials. Copper tape is a good conductor and is easy to work with.


– construction paper

– copper tape

– Sound Clippys Board

– alligator clips


To build a successful “piano” we need to be able to connect the digital pins to ground individually. This will be done by cutting individual “keys” into the paper which will become the triggers or buttons.  First its good to decide on the size and cut the basic shape. I’m going to make a basic rectangle piano with 6 keys.

Basic Design

Cut down to size and figure out how the “buttons” will be made. For this simple example I cut the construction paper to a small rectangle about 6″ x 3″, then I folded it in half the long way so it is now 6″x1.5″.


Cut the individual keys


Run the ground “wire”

All the keys need to be able to connect to ground (GND). Since all the keys are in-line I just need to run one long piece of copper tape which will go under all of the keys.

Keep the tape a little longer than it needs to be so it can be folded around the back. This makes for a better surface to connect to with the alligator clips later.


Now run copper tape for each individual key. Make sure that the tape is long enough to fold around to the back side of the key where it will make contact with the GND copper tape.




Connect the GND to the ground copper tape which runs under all the keys.

Connect the individual keys to the desired digital inputs.

The example patch “simple-synth” makes each digital input control a different pitch to be played.

The fun has just begun!

Try other examples in the sound clippys example folder to explore different sounds and ways of using digital inputs.

Make Some Noise

This will walk you through one of the simplest ways to start making sound with modular-muse.

Add a Sound Generation Object

Go to the Put menu and select “Object”. You should have a little red box following your mouse. Click on the empty patch window somewhere to place it. Now you have a blinking cursor.

Now you need to put in an object that Pd recognizes. If you have the modular-muse library installed try “mm-waves~”. That little “~” is used in Pd for objects which deal with audio signals as opposed to what are called control signals. More on that later.

Screen Shot 2015-03-18 at 2.47.51 PM

The top of the object has little rectangles which are called inlets. This is where you can send numbers and messages to change the parameters of the object.  This object also has GUI elements built into it which can be used to make changes as well.

Send the sound to the speakers

But by itself it doesn’t make noise, we need to route the audio signal to the computer’s speakers. We do this with another object called [dac~]. Go to Put > object again and place the new object below the mm-waves~ object and type “dac~”.

Connect the sound source to the speakers with a wire

The last step is to connect them with a “wire” in Pd.

Hover the mouse over the bottom outlet of [mm-waves~] and your should turn into a dark O. Click and drag with the mouse. You should have a line following your mouse. Drag to the left inlet of [dac~]. You should hear sound coming out of your Left channel (you can also connect to the right but running another wire to the right inlet of [dac~]).

Screen Shot 2015-03-21 at 11.00.40 AM


If you don’t hear sound check that the “DSP” is on and your volume is up. Go to the Pd window and make sure the DSP box is checked. If you still don’t hear sound – check your audio settings in the Pd “media” menu.

Edit and Performance Mode

Now go to the Edit menu and notice at the bottom of the menu is Edit Mode. If it is checked, select it to un-check it. Now you’re in “performance mode”. This means instead of adding or moving objects or making connections you can interact with your patch.

Screen Shot 2015-03-21 at 11.01.21 AM

Click on the the frequency knob and drag up and down. There you go, you made a mouse Theremin!

Pd Basics


When you first open Pd you get the “console window”. It looks something like this:

Screen Shot 2015-03-16 at 4.15.22 PM

This is not a Pd program, its just where messages will be printed to. Also, notice the check box in the top right that says DSP. Pd will only produce sound when this box is checked! So go ahead and check it. Also remember you can uncheck it if you need to make the sound stop!

Audio Settings

Its also worth noting Pd will only produce sound if you have working speakers or headphones and Pd is set up to use them. To check the audio settings go to Media > Audio Settings. Here you can make sure Pd is using the input and output device you want to use.

Screen Shot 2015-03-21 at 10.36.18 AM

Create a Patch

To create a new patch select File > New. This will give you a blank window, this is the patch canvas where you do your patching.

Go to the Put menu and add an object. This gives you an empty box which will follow your cursor around. Once you click it is placed and you can type a name or value to define what kind of object you want. This is a good time to try the other options in the Put menu, go ahead…

One thing to know about the Pd and the mm library is that there are help files. To learn about a particular object, right (control) click on an object and select help.

For a more detailed Pd overview I recommend Floss Manuals overview here.