Time to report on the sonic bike hacklab Kaffe Matthews and I put on in AudRey HQ in Hackney. We had a sunny and stormy week of investigation into sonic bike technology. After producing three installations with sonic bikes, the purpose of the lab was to open the project up to more people with fresh ideas, as well as a chance to engage with the bikes in a more playful research oriented manner without the pressure of an upcoming production.
Each of the three previous installation, in Ghent, Hailuoto island, Finland, and Porto, we’ve used the same technology, a Beagleboard using a GPS module to trigger samples to play back over speakers mounted on the handlebars. The musical score is a map created using Ushahidi consisting of zones tagged with sample names and playback parameters that the bikes carry around with them.
We decided to concentrate on two areas of investigation, using the bike as a musical instrument and finding ways to get the bikes to talk to each other (rather than being identical independent clones). We had a bunch of different components to play with, donated by the participants, Kaffe and I – while the bikes already provided power via 12v batteries, amplification and speakers. We focused on tech we could rapid prototype with minimal fuss.
The next few posts will describe the different experiments we carried out using these components.
I’ve been doing more remote install work on Kaffe’s latest piece she’s been building while resident at Hai Art in Hailuoto, an island in the north of Finland. The zone building, site specific sample composing and microscopic Beagleboard log debugging is over, and two new GPS Opera bikes are born! Go to Hai Art or Kaffe’s site for more details.
New advancements on the the bike opera project with Kaffe Matthews include a brand new mapping tool based on, yes you guessed it – Ushahidi which I’ve been using for a lot of wildly different projects recently. This time the work has been mainly focused in improving the area mapping – adding features for editing polygons so Kaffe can layer her sounds in space:
This work is fairly reusable, as it only concerns changes to the submit_edit_js.php file in the standard Ushahidi install. In the meantime, Kaffe has been collecting sounds from musicians in Porto and building up a work of truly operatic proportions. We keep our fingers crossed that the bike mounted BeagleBoards can cope with all this material!
Prepare your bicycle clips! Kaffe Matthews and I are starting work on a new Bicycle Opera piece for the city of Porto, I’m working on a new mapping tool and adding some new zone types to the audio system.
While working on a BeagleBoard from one of the bikes used in the Ghent installation of ‘The swamp that was…’, I found (in true Apple/Google style) 4Mb of GPS logs, taken every 10 seconds during the 2 month festival that I forgot to turn off. Being part of a public installation (and therefore reasonably anonymised :) – this is the first 5th of the data, and about all it was possible to plot in high resolution on an online map:
It’s interesting to see the variability of the precision, as well as being able to identify locations and structures that break up the signal (such as the part underneath a large road bridge).
The last few days has seen intense work on Kaffe Matthews’ Ghent Bicycle Opera which goes live in a few days, lots of new stuff on the git repo for Beagle Board/GPS powered sample playback.
(image from Timelab/Kaffe’s site)
The main problem with the version we tested in June was that all the samples needed to be preloaded, fixing us to <512Mb total sample data. The sample loading was also extremely slow, meaning it could take up to 10 minutes after starting up till the bikes were usable. This slowness turned out to be uncompressing the ogg samples into memory on the not so fast ARM processor. Seeing as they needed to be entirely uncompressed to play anyway, there was little point in compressing them (we have no shortage of storage memory on the SD cards).
Now the zones (which link areas of the city to audio samples) are surrounded by a couple of hundred metres of loading/unloading area - crossing into this area causes the sample to start loading, exiting frees it from memory. We can now fit all samples for all the routes (collections of zones for different parts of the city) onto a single system - much more than the total memory on the boards.
Other significant improvements include a more data-driven sample playback, where zones are given a naming convention that describe if the sample needs to loop, be panned to come from a specific compass direction (based on the calculated direction of the cyclist, from GPS data) of if they need to be a special mysterious type of zone - called a "ghost zone". Ghost zones are programmed to travel across the city over time - blending between a start and end shape/position, so in the morning they might be heard in different places to the afternoon.
You'll be able to experience The swamp that was, a bicycle opera at Electrified III: The Responsive City, in Ghent from this weekend.
Our first public test for the The swamp that was, a bicycle opera takes place next weekend, so I’ve been working on the on-bike software and getting more experience with the BeagleBoard while Kaffe builds up the sound pieces. In order to test the software, I’ve made a local map I can play with:
Each coloured zone represents a different audio sample. We are also experimenting with direction, panning each sound depending on your direction and that of the sound source. For example it’s possible to set a sound to come from the north, which pans it to the left if you are heading in an easterly direction and the reverse. Using this test map, I can run the system on battery while out walking the dog:
Day one on a new project – with Kaffe Matthews, and a collaboration between FoAM & Timelab, “The Swamp that was” is an opera where bicycles become a way to hear stories of the past in the city of Ghent.
I’m picking up the software side of things from Wolfgang Hauptfleisch, which involves using BeagleBoards – low power self contained open hardware ARM computers, a good follow up to my experiments with the considerably more closed NDS and less general purpose Android.
This is my test BeagleBoard xM in a custom laser cut housing from Timelab.
The “swamp” system is based on lua scripts calling proteaAudio for realtime audio processing. Lua has a tiny footprint and is great as an embedded interpreter (despite indexing from 1 and other minor gripes). Everything seems to be up and running, and I’ve set up a project on gitorious with the sourcecode.
Some random things I’ve learned include: flags to speed up dd copying images to extremely slow usb SD memory cards:
sudo dd if=swamp0-1.img of=/dev/sde oflag=dsync bs=1M count=1024
List ip addresses of devices attached to your local router:
sudo arp-scan --interface=wlan0 192.168.1.0/24
I’m using the Ångström distribution on the beagle board, which uses opkg for package management – it took me a long time to figure out the best way to search for packages is simply:
opkg list | grep alsa