alps, acoustic localisation positioning system, is an indoors tracking and positioning system, which uses the physical principle of acoustic localisation to estimate positions of acoustic signal receivers (microphones) and senders (loudspeakers). This is the same principle, as when we count seconds between lightning and thunder to estimate how far away it struck.



alps works on ubiquitously available audio technology, i.e. on equipment you can buy from any music equipment retailer.


alps is a participatory design project, we are musicians and artist as well as researchers and developers. The whole project shall be as open as possible to as many stakeholders as possible.: All code and publications are open source and freely available. the development of alps is also integral part of a doctoral project, but shall not be limited to it. Hopefully the community of users and developers of alps can grow from here and, spread.


alps can track (a) microphone(s) in relation to (a) loudspeaker(s), or the other way round. This means you can use it as an indoor positioning system with accuracy in the millimeter to low centimeter range at an update rate up to 60 Hz at a latency of 1.6 ms. The system is scalable, but the larger the area covered, the higher the update rate and the longer the latency. alps was specifically developed for spatially interactive applications in the sonic arts. This means, wherever there are a lot of loudspeakers and microphones, it should really work.

For more details on how this works, have a look here.


For now, it's not so straight forward yet. But if you want to persevere, and you are a bit computer savy, get the code from here. As to hardware, you will need a (fast) soundcard, microphone(s) with a good signal-to-noise ratio, and loudspeakers with a frequency range upo to 30 kHz. Many loudspeakers do! We used Genelecs 1029A loudspeakers and dpa 4061 microphones. The less directional the loudspeakers and the microphones are, the better.

The other thing to have a good look at is the configuration file, which is pretty much all you need to tweak once the code is running. The comments in it hopefully help a bit. Please let us know how you get on via the blog

This project is funded via a researcher's grant by Kone Foundation