How this came to be
Pumilio was created out of necessity. Our lab was collecting a lot of sound data and there was no application that could help us manage that amount of data. In addition, we used at least two operating systems in the lab (Windows and Linux) and some collaborators were using Macs. On top of that, some used Chrome as their browser, while some used Firefox and the Mac users were using Safari.
We started just putting files in folders in a network share. After a few hundred files there is no way of keeping track. Plus, we were wasting time each time we had to open a file in Audacity or Raven to see its spectrogram. So, we wanted to develop a web-based application, cross-browser and cross-OS compatible, that would allow us to manage and browse the sound archive.
One of the first instances of this application was a simple database that would display rows of spectrograms with a Flash mp3 player on the bottom of each. Similar to the "gallery" view of the current version of Pumilio. The problem was generating all those spectrograms. Using R was easy, but took too long to write the png files. The function specgram() in Python crashed with our files (15 minutes). After a while, I stumbled upon a Python script written by the people of Freesound.org. This was a very fast script and I took it and implemented it.
For a while, the development was done in an open way using subversion in SourceForge.
Pumilio is now managed using git in a Github repo. If you want to contribute, just check the code in the project's website. Any and all ideas are welcomed. Let me know if you want to be added to the developer list.
Do not use the dev code for a production system. The code may be buggy, unstable or broken. Use the git repo only for development. Any version with a ".dev" suffix is not stable and should be used with caution.
What is needed in the code?
Please check the file install/pumilio.sql for a clean database structure.