Music Mouse, Part VI
This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data.
The Arduino side of the Music Mouse is working. Whew! All that’s left is to interpret the messages it sends out in Pure Data. Soon we’ll have music.
Pure Data Interpreter
Create a new file in Pure Data and follow these steps to birth your very own Music Mouse:
- Add the standard serial port messages and
comportobject. - Add a
repack 4object to collect up the four bytes of each message from the Arduino. - Add a
route 0 1object to divert the message along different branches of your patch based on the message type, the first byte of each message. - Feed the outlet of
repackto the inlet ofroute. - The browser-based Music Mouse lets its notes ring out for a long time. Let’s do that too. Add a
makenote 100 10000object. This makes a note with velocity 100 that lasts 10000 milliseconds = 10 seconds. - Add an
unpack float float floatobject to tease apart the three bytes of the harmony message. - Feed the chord, which comes from from the 0-outlet of
route, to the inlet ofunpack. - Feed each of the three outlets of
unpackto the first inlet ofmakenote. - Add an
unpack floatobject to tease apart the three bytes of the melody message. By listing only a single parameter afterunpack, we effectively throw away the two zeroes. - Feed the melody bytes, which come from the 1-outlet of
route, to the inlet of this secondunpack. - Feed the melody’s MIDI number, which comes from the outlet of this second
unpack, into the left inlet of themakenoteobject. - Add a
noteoutobject. - Feed the first outlet (the MIDI number) of
makenoteto the first inlet ofnoteout. - Feed the second outlet (the velocity) of
makenoteto the second inlet ofnoteout.
Test your patch. Your should able to produce music with the joystick!