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
comport
object. - Add a
repack 4
object to collect up the four bytes of each message from the Arduino. - Add a
route 0 1
object 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
repack
to 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 10000
object. This makes a note with velocity 100 that lasts 10000 milliseconds = 10 seconds. - Add an
unpack float float float
object 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
unpack
to the first inlet ofmakenote
. - Add an
unpack float
object 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 themakenote
object. - Add a
noteout
object. - Feed the first outlet (the MIDI number) of
makenote
to the first inlet ofnoteout
. - Feed the second outlet (the velocity) of
makenote
to the second inlet ofnoteout
.
Test your patch. Your should able to produce music with the joystick!