As part of my master’s I built an instrument into a duck. Not a real duck of course. My plan was to create a standalone instrument with an Arduino board (so not using the Arduino to send e. g. sensor data to a computer which does the sound synthesis). Amazingly enough I found a nice way to do sound synthesis on the Arduino: Mozzi.
The next thing was how to smoothen the PWM output of the Arduino. A solution for that was to build a low pass filter as described here. Last thing was to attenuate the output a bit, for that I used the simple amplifier as described in Nicolas Collins’ book “Handmade Electronic Music”. Now just shove that all into a cheap bathroom radio in duck form, add some sensors and a mini jack output, and I’m all set.
For the piece I wanted to use video material as accompaniment. I searched for videos of orchestras I could use and found some nice little news snippets from the Netherlands which are CC-BY-SA licensed on Open Beelden. As I wanted to play the videos in a granular fashion, I wanted to have something that would just skip to any possible point instantaneously. After trying to achieve that task with Processing and failing miserably as at least Processing 1.x had a pretty slow video performance, I built a simple video player with Cinder that reacted to osc messages I sent from SuperCollider.
I used SuperCollider to do the actual sequencing of events with some random elements in it and for the reverb, filtering, compressing and spatialisation of the duck’s sound. The finished piece was premiered at the Studiokonzert 2013 in ZKM Kubus in Karlsruhe and I also performed it at the second concert of the MuSA Symposium.
Get svn version as the last version (1.0.0-beta5) won’t build in Mac OS 10.8:
svn co https://horde3d.svn.sourceforge.net/svnroot/horde3d/trunk horde3d
Build with cmake:
mkdir build; cd build
# no make install, so just copy frameworks to the appropriate places
sudo cp -R Horde3D/Source/Horde3DEngine/Horde3D.framework /Library/Frameworks/
sudo cp -R Horde3D/Source/Horde3DUtils/Horde3DUtils.framework /Library/Frameworks/
Set new-horde to #t in libs/external/horde3d.xtm.
In the horde3d_knight.xtm example, the horde resources_path should point to
As part of a stupid bet, 2.5 years ago cappel:nord, a max user and me tried to clone minesweeper in our then-weapon of choice (supercollider, max and pd). cappel:nord/supercollider was fastest, but I managed to get a 10×10-version together… As I wasted some hours on this, I want to document it here to ensure, that if in the future someone claims to be the first to implement minesweeper in pd, I can point to this blog post 😀
There are still some bugs and the code could probably be better, but it was fun 🙂
A recent addition to this is an auto-complete plugin… this was done in DesireData, an alternative gui for pd, but the project somehow never went anywhere as far as I could tell.
I’m really happy that such additions are finally possible in the main distribution and hope that some exciting plugins will be created, perhaps making pd a more pleasant experience to use without so much mouse wiggling.
What I also found in my search for effective pd livecoding techniques (i found nothing…) was a performance by jeraman named “Ada 2.0”, which is visually really nice and sounds better than I imagined from the concept. He uses a library called pyata, which he wrote, to manipulate pd objects from within python. I haven’t tested it, but it sure looks interesting and it’s nice to know that something like this exists 🙂