PDa - Puredata anywhere

Introduction

General

PDa is a clone of the computer music system Pure Data (Pd, for short) that runs on Personal Digital Assistants (PDA's). Currently only PDA's where you can install Linux are supported. Pure Data is a computer music language, that is widely used around the world and resembles MAX/MSP (another comercial computer music system). Pd is free software, and so is PDa. PDa has basically the same functionality as Pd. There are a few differences though. For general information follow the links to the different sites that talk about Pd in the webring.

Differences between Pd and PDa

PDa is not just a fresh compile of Pd for PDA's. It is fundamentally distinct from Pd in that it uses fixed point arithmetic instead of floating point in its signal calculations. For the implementation side this means that all signal processing (tilde) objects had to be rewritten in order to do their calculations with fixed point numbers. The control calculations are still in floating point and therefore a lot slower.

Because of this, it is not straight forward to port externals that are written for Pd to PDa. This means that there are no graphics extensions, additional filters or other additional objects. There is only the Pd core. Even though there is the Pd core, PDa has some additional limitations. One of these limitations is access to signal (sample) tables. They are indexed by milliseconds rather than sample indexes (e.g to playback a second of sampled sound you have to create a signal that goes from 0 to 1000 in 1000 ms). The maximum value that can be reached with this method is 8.192 seconds of sound. If you want longer sound files to be played, you have to use the sfread~ object, it is builtin in PDa.

Supported Hardware

PDa should generally run on all Linux based devices. Due to differences between the specific platforms it is most of the time difficult to install PDa on your device. I have been trying to supply precompiled packages for several different platforms, but they sometimes are out of date due to the lack of time for updating. In the worst case the real hackers can try to compile the system form source. Here is a list of the working platforms.

Generally, if you do not need the graphical part (TCL/TK), you should be able to run PDa on any Linux enabled ARM based system, such as these:

http://www.gumstix.com
Triton LP.
http://www.arcom.com/devkit-linux-viper.htm
http://www.xbow.com/Products/XScale.htm
http://www.dspdesign.com


The gumstix port is provided by Tim Redfern with preliminary work done by alejo.

Preliminary work has been done to support the Blackfin architecture.

Another cheap platform you can use are the NSLU2 storage routers. They come with a 133 Mhz ARM CPU, that can be overclocked to 266 Mhz. See the NSLU2 Linux homepage. One good thing about these routers is that they come with two USB ports, so you can hook up high quality soundcards.

iPod's are based on ARM processors too, just install linux on it and download a precompiled version of PDa for your ipod. This version comes without the tcl/tk gui, it has a costum gui called "pdpod", created by Martin Kaltenbrunner.

Yet another platform you can use to play around with Pd is the gp2x. Chris McCormick has created gp2xPd, a frontend for Pda for the gp2x gaming console.

The Nokia 770 Network Tablet runs a version of Linux based on the meamo system. Work is on the way to make PDa running on these, preliminary packages are here. Its installable on the 770 and the N800.

Miscannelous Information

For more information take a look at the paper about PDa from the ICMC 2003


























Last Modified: April 07 2008 13:30:36 GMT