Daily Archives: 17 Apr 2013

GSWA 2: The Arduino Way

The second chapter of Getting Started with Arduino is entitled “The Arduino Way.” It briefly explains that the “Arduino Philosophy” is based on the following:

  • Prototyping. Making actual, physical objects that do things in the fastest and most efficient way possible.
  • Tinkering. Playing without a goal, especially with old or broken electronics, is time well spent.
  • Patching. Making connections between different modules to direct data and control behavior. Robert Moog‘s early analogue synthesizers are mentioned as a prime example. (I like the cover of Switched on Bach in this respect.) Max, Pure Data, and VVVV are all mentioned as programming languages that make patching their primary visual metaphor.
  • Circuit Bending. The creative short-circuiting of electronics – especially toys that talk or make sounds – to create music.
  • Keyboard Hacks. Sort of the same idea but playing with the insides of a keyboard to make it do different things.
  • We Love Junk! Because you can take it apart and do things with it. That’s why I haven’t thrown away my old hard drives or mystery power adapters yet.
  • Hacking Toys. Lots of electronics in kids’ toys to manipulate. The author (Massimo Banzi) recommends the PDF booklet “Low Tech Sensors and Actuators.”
  • Collaboration. There is, in fact, an Arduino community and they tend to post questions and answers and generally help each other. One interesting place for this is the “Arduino Playground” at playground.arduino.cc.

And that’s it. Of course, any time somebody talks about their “philosophy,” I always think of the choreographer Mark Morris. As the story goes, when he was being interviewed to be the artistic director of the Théâtre Royal de la Monnaie in Brussels, Belgium, he was asked about his philosophy of dance. He replied: “My philosophy of dance? I make it up. You watch it. End of philosophy.” (And you’ll be glad to know that he got the job, too!)


  • Getting Started with Arduino, 2e, Ch. 2: The Arduino Way (0 exercises)
  • Sketches (i.e., code) can be downloaded from http://db.tt/f6x9Q4NA
Tagged , , , , , , , , , ,

GSWA 1: Introduction


Chapter 1 of Getting Started with Arduino (GSWA) is a very, very brief introduction. Basically, it contains the following:

  • The URLs for Processing (processing.org) and Arduino (arduino.cc).
  • A slightly tautological definition of interaction design: “Interaction Design is the design of any interactive experience.”
  • An explanation of the term “physical computing”: “[Physical computing] involves the design of interactive objects that can communicate with humans using sensors and actuators controlled by a behavior implemented as software running inside a microcontroller (a small computer on a single chip).”

And so, on to chapter 2!


  • Getting Started with Arduino, 2e, Ch. 1: Introduction (0 exercises)
  • Sketches (i.e., code) can be downloaded from http://db.tt/f6x9Q4NA
Tagged , , , ,

MMJ4M 15: Audio Effects and Processing

Chapter 15, “Audio Effects and Processing” of VJ Manzo‘s book Max/MSP/Jitter for Music shows how to manually create some simple effects – delays and white noise, in particular – and manipulate and visualize them. To get to that point, the chapter shows how to:

  • Create a umenu to give a dropdown list of effect sizes (although it may work better to provide checkboxes that allow for the selection of multiple effects)
  • Create a gate~ object (the MSP audio version) to direct the audio signal towards the appropriate effect patch depending on the effect selected in the umenu
  • Use the tapin~ object to store snippets of audio and the tapout~ object to delay playback
  • Use the transport object to provide global control of timing and playback, as well as the ability to specify timing in samples instead of millseconds
  • Create a umenu to provide a list of filter options and cascade~ and filtergraph~ objects to allow manual modification of those filters
  • Create a noise~ object to generate white noise
  • Use a preset object to save settings for the entire patch

My next big goal is to set up my KMI SoftStep foot controller to activate effects and possibly modify them while live looping, as both hands will be on my saxophone.


  • Max/MSP/Jitter for Music, Ch. 15: Audio Effects and Processing (10 exercises)
  • Patches can be downloaded from http://db.tt/GBYLb0vY (Dead Link)
  • UPDATED LINK: Patches can now be downloaded from http://j.mp/1iy19Xl
Tagged , , , , , , , ,

MMJ4M 14: Audio Buffers

Chapter 14 of VJ Manzo‘s book Max/MSP/Jitter for Music has one purpose: show how to use audio buffers for recording and playing back audio files. These buffers will be a critical component in my planned live looping exercises, so I’m excited about this chapter. I learned how to do the following:

  • Create and name buffer~ objects
  • Open windows to see the sound waves for the buffer~ objects
  • Get information such as track length with the info~ object and use that manually resize the buffer (if desired, although Max 6 seems to adjust the buffer on its own)
  • Use the groove~ object to read audio from the named buffer
  • Set the buffer to loop
  • Set a flonum variable to control playback speed by converting it with a sig~ object
  • Record new audio into the buffer with the ezdac~ and record~ objects
  • Set up a MIDI keyboard to change simultaneously the speed and pitch of the buffer playback, with middle C set for default speed (although it would be better to alter speed and pitch separately)


  • Max/MSP/Jitter for Music, Ch. 14: Audio Buffers (9 exercises)
  • Patches can be downloaded from http://db.tt/GBYLb0vY (Dead Link)
  • UPDATED LINK: Patches can now be downloaded from http://j.mp/1iy19Xl
Tagged , , , , , , ,