Sonic Bikes to Sonic Kayaks - using puredata

Posted March 4, 2016 by Dave Griffiths

When I first started working on the Sonic Bikes project with Kaffe Matthews in 2013 I had just moved to Cornwall, and I used the Penryn river for developing "The swamp that was" installation we made for Ghent. We've always talked about bringing this project here, but the various limitations of cycling (fast roads, stupid drivers and ridiculous hills) were always too much of a problem - so we wondered about sonic kayaks, as a distant vague idea. However now, thanks to help from the British Science Association, Feast Cornwall and the Port Eliot Festival they are fast becoming a reality!

We're also using this opportunity to convert kayaks into instruments for sensing marine microclimates - an area which is currently lacking in scientific knowledge. In order to do this, we need to expand the sonic potential of our current system - moving it from sample playback to a more open ended synthesis approach. We're running a open hacklab to trial the use of sensors, and actually get out on the water with Kaffe later in the month.

To do all this - and keep it functioning on a Raspberry Pi, we're using Pure Data. For the moment it seemed most appropriate to stick to the concept of audio zones, previously these defined areas associated with samples that would play back when you were inside of them. The screenshot above is the sonic bike mapping tool - recently rebuilt by Francesca. Using Pure Data we can associated each zone with a specific patch, which leaves the use of samples or not, effects, interpretation of sensor data and any other musical decisions completely open.

The patch above is the first version of the zone patch mixer - it reads OSC messages from the GPS map system (which is written in Lua) and when a patch is triggered, it turns on audio processing for it and gradually fades it up. When the zone is left it fades it down and deactivates it - this way we can have multiple overlayed patches, much like the sample mixing we used before. We can also have loads of different patches as it's only processing the active ones at any one time, it won't stress out the Raspberry Pi too much. I've been testing this today by walking around a lot with headphones on - this is a GPS trace, which gives some ideas of the usual problems of GPS (I didn't actually switch to kayak halfway through, although it thought I did).