Category Archives: Ubuntu

New paper on our software to manage sound archives

The paper describing our software Pumilio has just been published in the Bulletin of the Ecological Society of America. Pumilio is a web-based sound archive and analysis tool.

Pumilio was created out of necessity. Our lab was collecting a lot of sound data and there was no system that could help us manage that amount of data. In addition, we used at least two operating systems (Windows and Linux) and some collaborators even use Mac. On top of that, some of us used Chrome, while some used Firefox. 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.

One of the first instances of this system 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.

Afterwards it was all step by step. A JavaScript plugin built to crop images over the web became a selection tool for zooming in a sound and filtering.

The main idea is to make it easy to navigate a sound archive using any modern computer. This means using cross-browser tools to allow the use of any modern browser. Blueprint enables a consistent CSS, JQuery takes care of most of the JavaScript and some of the styling.

Screenshots of Pumilio:

Main Menu

Browsing the archive

All the data of a sound file

The software is available for free under an open source license from the project website.

Villanueva-Rivera, Luis J. and Bryan C. Pijanowski. 2012. Pumilio: A Web-Based Management System for Ecological Recordings. Bulletin of the Ecological Society of America 93:71–81. doi:10.1890/0012-9623-93.1.71PDF. Full textPumilio Website.

Installing a graphical desktop to Ubuntu on Amazon EC2

Amazon’s EC2 service offers an interesting diversity of cloud computing. From less than a dollar an hour, you can run a powerful virtual machine on their hardware. View my previous post on setting up an Ubuntu machine with R.

I was interested in playing some with this infrastructure, and now installing a graphical interface, GNOME, on a Ubuntu machine. After setting up an Ubuntu 10.10 machine from these instructions, set up remote access with these instructions: read more »

Getting Started with Ubuntu and R on Amazon’s EC2 cloud

Amazon EC2 is their “cloud” service, which means that you can run a virtual machine on their hardware. They have many basic VMs, which they call AMI, that you can use to start and setup your machine with the configuration and software that you need.

New accounts, since October 2010, on Amazon Web Services can have a year of free services of the basic varieties of their services. For example, they offer 5GB on the S3 storage and a “micro” virtual machine on their EC2 platform. The micro has a single Xeon E5430 2.66GHz CPU, 613 MB of RAM and 8GB of disk space. It is not much, but you can use it to play and learn to use EC2. You can also setup a machine configuration and then save it as an image (AMI) to create more powerful machines from that configuration. read more »

Mount a Windows share

Windows Shared folders can be read in Linux using Samba. Recently Samba was replaced with CIFS and can be mounted using mount. To mount a Windows Share folder in a local directory in Linux:

  1. mount -t cifs \\\\IP\\SHARE LOCAL_DIR -o user=user

It will ask for the password.

If the share requires a domain, just add the domain:

  1. mount -t cifs \\\\IP\\SHARE LOCAL_DIR -o user=user domain=DOMAIN_NAME

To disconnect, just use umount:

  1. umount LOCAL_DIR

Mount a directory using a secure connection

It is possible to mount a remote directory in a local directory using a secure SSH connection. On the local machine install SSHFS and FUSE:

  1. sudo apt-get install sshfs

To mount, execute this command, replacing the values in CAPS:

  1. sshfs SERVER:/DIR LOCAL_DIR

This will mount the remote directory DIR on the machine SERVER on the local dir LOCAL_DIR.

To disconnect:

  1. fusermount -u LOCAL_DIR