As a musician I’m always searching for new, better gear and the perfect tool to develop my sound (anyone who knows what’s what knows this is impossible). In my search of sonic expansion and unique personalized controls for it, I’ve come across some very interesting prospects. Perhaps coincidentally but not surprisingly, the ones that I’ve found to be more interesting and groundbreaking are free and open-source: Pure Data, ReacTIVision, Charlie Robert’s Control, Iannix (I’ll admit it’s a novelty, but its connectivity and aesthetics definitely inspire a different approach to composition, be it sonic or visual.), Processing, and Arduino (Yes, I know Arduinos aren’t free, but they are extremely cheap for what they are and what they’re capable of.). I should also mention Csounds and SuperCollider but I must admit that I haven’t really gotten into these. I also use tools like Ableton Live, Reason, Reaktor, and Max/MSP, and do a bit of circuit bending.
So, I’ve come to the temporary conclusion that the tool that remains useful is the one which can be constantly modified to the user’s needs; this applies to both aesthetics and functionality. In that mindset, pure data is the tool for signal processing that I’ve become comfortable with, due to its graphical programming nature. But to perform with it, an interface must still be developed and polished to be both effective and visually pleasing to the user and the spectator alike. ReacTIVision is great for taking a different approach to performance but I find that the interface is limited in the sense that it still requires a physically bulky object, and it’s quite expensive to build one (if you want the whole visual feedback thing going on). Charlie Roberts’ Control is extremely useful for prototyping and getting into coding at the same time, and in a very friendly way (JSON), but the visual product is somewhat lacking. This is where I’m hoping Processing will fill the gap. So far, I really enjoy Processing’s aesthetics and documentation, and there seems to be a quite thriving community there too. Oh, and it has OSC and Pd libraries, among many others. OSC is used to send information to and from Pd, Iannix, Arduino, Max/MSP, Reaktor, etc. and libPd is for embedding Pd in other software as a sound engine! This means that instead of hacking together a bunch of tools with different uses and sketchy comunication, you can build an integrated system that works and looks just the way you want it to. Voila! You’ve programmed custom software and you never even noticed, just as Miller Puckette originally intended when he wrote Max in the first place. Update: Peter Kirn of CreateDigitalMusic helped develop the Pd library for Processing and recently gave a class over in L.A. California on making it work. So far, Android development is faster than iOS on this, funny huh? Hopefully, there’ll be further documentation soon, so I can get it to work fully and share it.
I’ll be working hard at learning Processing so I can put together a Pd/Processing system that’ll allow me to concentrate on composing and performing and worry a little bit less about the technical aspects of my setups. For anyone interested in these tools, here are some of the best resources I’ve found for learning Pd and Processing separately, then a small tutorial on having them communicate with each other. Important: Processing does not automatically include the OSC library, you must download it from their site first here. Then unzip in Documents>Processing>libraries (if you don’t already have a “libraries” folder, create it and unzip the OSCP5 file in there.). Then open Processing, click File>Examples and a new window will open, scroll down and you should see the OSCP5 there.
Dr. Raphael Hernandez has a great series of videos for learning Pure Data on Youtube. This is the first video.
Youtube user STE1438 has a bunch of videos for learning Processing. I’m just getting started on these, but they’ve been great so far.
Finally, I found this video by Youtube user Psicodelio on basic communication between Pure Data and Processing, it’s in spanish but I’ll most likely be reproducing this video in English pretty soon.