A web-based sound archive management and visualization system

About two years ago we started a project in which we we collecting several hundred recordings each week at different sites. In an instant, browsing this archive became a problem due to the difficulty in browsing files that we need to listen and look at their spectrograms to make sense. Back then I started to work on a web-based system to manage and browse the archive. What was then is now an open-source and free software system available in version 1.0: Pumilio.

The system is written mostly in PHP, with some Python scripts and Javascript. PHP provides the main interaction and communication with the MySQL database. Python is used to analyze the structure of the sound files and generate spectrogram and waveform images. Javascript, in particular the JQuery framework, provide some checks, notices and interactivity. The system has two sound players, one is based on Prototype and Soundmanager2 and was made by Freesound.org. The other is the JW Player.

A bit further into the project, we needed a way to select regions in the spectrograms. I designed a way to do it from a web browser with a bit of Javascript code, using the JCrop plugin, in addition to the PHP code.

Future enhancements include options for ultrasonic and infrasonic recordings, more tools, and improved archive and metadata management tools. If you are interested in testing it there is a demo available or you can download the current version from SourceForge.

This entry was posted in Bioacoustics, MySQL, Open Science, PHP, Python. Bookmark the permalink.