From wikiPodLinux

Table of contents


pdPod allows the creation of interactive musical applications for the iPod. It integrates Pure Data (http://www-crca.ucsd.edu/~msp/software.html) a visual sound programming language by Miller Puckette (http://www-crca.ucsd.edu/~msp/) which allows the rapid develoment of musical applications. Guenter Geiger (http://gige.xdv.org/) has made PDa (http://gige.xdv.org/pda/), a port of Pure Data for PDA linux devices which we recently adapted to run under iPod linux as well. Martin Kaltenbrunner (http://modin.yuri.at/) created a GUI application which allows the execution, display and control of PD patches from within podzilla. This application was created at the Music Technology Group (http://www.iua.upf.es/mtg/) at the Universitat Pompeu Fabra in Barcelona, Spain. Have a look at this paper (http://modin.yuri.at/publications/ipod_icmc2005.pdf) we presented at the ICMC05 (http://www.icmc2005.org) for some ideas what might be possible to do with this application for the iPod. You might also want to have a look at this little demo video (http://modin.yuri.at/publications/pdpod.avi).


  • replace your podzilla binary with the version provided on this page
  • unzip the "PureData" folder to the root of your iPod music partition (next to iPod_Control)
  • add the line "ifconfig lo" to the file /etc/rc (if not already there)

(hint: use the "start" script to copy podzilla and to retrieve, edit and store the /etc/rc file)


  • select the pdPod application in the Extras menu
  • load the desired patch from the file selector box
  • if the patch has no custom GUI a default GUI is displayed
  • the four iPod buttons (rwd,menu,play,fwd) serve as simple note on/off buttons
  • the wheel sends incrementing/decrementing values
  • the "action" button just sends a simple bang
  • to exit from your patch hold the "action" button and press the "menu" button
  • to pause your patch hold the "action" button and press the "play/pause" button
  • to exit from the file selector press the "menu" button

Content Creation

  • learn PD first http://www-crca.ucsd.edu/~msp/Pd_documentation/
  • for the creation of custom GUIs you have to name the widgets you want to display with a preceeding "ipod_"
  • the patch "ipod_decode.pd" is needed for the communication with the GUI (control and visual feedback)
  • just have a look at the example patches below for a quick start
  • you have to create the patches using PD for Linux/Mac/Win32, pdPod is just an execution environment
  • your patches need to be placed into the "PureData" directory in order to be found by pdPod


pdPod is based on the legacy podzilla0 code and supports all iPod models that are supported by the original podzilla. This means that all but 5G iPods can run the pdPod interface. The pd binary itself should run on all platforms though. We are currently working on a module for the new podzilla version, whish is still to unstable for a release though.



(remark: this kernel just reduces the buffer size to 8*1024 instead of 40*1024. this is a temporary "hack" to increase the responsiveness of pdPod)


The PureData folder contains four example patches:

  • pdpod_test: plays s simple sinewave, change the frequency turning the wheel
  • pdpod_fm: FM synth demo, push the buttons to play the notes, turn the wheel to change FM params
  • pdpod_drums: a simple drumpad. the buttons trigger drum samples
  • pdpod_l8p: an advanced sequencer demo (as shown in the video)



  • if you have questions regarding Pure Data in general please post to the PD mailing list: pd-list[AT]iem.at
  • for any specific question regarding pdPod please post to the ipodlinux forum
  • General pdPod thread: http://ipodlinux.org/forums/viewtopic.php?t=4414
Retrieved from "http://ipodlinux.org/PdPod"
Personal tools