The on-bike software runs on Beagleboards with an adapted version of the Ångström linux distribution.
The software is written in Lua and periodically polls the GPS device for location, looks up where it is on the map and triggers samples to play based on it's previous state. The map is stored in JSON format, as exported from the map tool and contains zones, which consist of names, polygons and sample parameters.
The code is available here under the GPL licence.
The normal action when a bike enters a zone is to start playing the sample associated with it. The sample is stopped when it either a) runs out or b) the cyclist leaves the zone. On leaving the zone, the sample is faded out gradually. There are also a number of parameters that change this behaviour:
This parameter causes the sample to loop, until the cyclist leaves the zone.
This causes the sound to play all the way through, regardless of where the cyclist is. This is also useful for areas where GPS signal is noisy.
A ghost zone contains two polygons which are slowly blended between over time. This has the effect of sounds moving around the space. Ghost zones can also be looped or one shot.