aubio

Save the kiwis

A few months ago, Lukasz Tracewski explained his project on the aubio-user mailing list. Using aubio's onset detection from his custom Python code, he is able to process very large amounts of recordings from New Zealand wilderness to monitor the populations of kiwis and improve their protection.

Kiwi and its egg

A kiwi and its egg, by Shyamal (own work), CC-BY-3.0, via Wikimedia Commons

Here is how Lukasz describes the challenge:

The project is to support efforts in kiwi protection, famous flightless bird from New Zealand. We count their calls (and also determine gender) in each file and use this information to understand ecosystem health and how well protection efforts are working.

As you can imagine finding that there is something worth interest in a recording is crucial: if there are too many false positives, then noise reduction by spectral subtraction becomes inefficient. The other way risk is even greater: if bird call goes undetected, then it will be included in noise-only regions and then subtracted from a whole sample, effectively eliminating many possible candidates.

Processing time becomes important when there are truly many sample. As mentioned before, there are 10000 hours of recordings. To get them identified we will probably buy time on Amazon Web Services EC2 compute-optimized instance (something with 32 virtual CPUs). Time is money in this case, so keeping it short is crucial.

Interestingly, Lukasz found that the energy onset detection method, which often generates a lot of false positives on music signals, was, in his case, the one giving the best result for the detection of bird calls.

Find out more about Lukasz project on the Ornithokrites web page.

Sat, 29 Nov 2014, 23:46. trackback - view/add comments

Bitwig ships aubio, and shouldn't

On March 27th, the first public release of Bitwig, a digital audio workstation often compared to Ableton Live, was announced. Bitwig had made a bit of noise for the past few years as a promising software for music composers and producers.

That same day, a good friend of mine gave me the news that vamp-aubio.so, a binary version of the Vamp plugin for aubio, was included in the first public demo of Bitwig, along with an old binary version of the entire aubio library.

It seems they decided to use aubio's onset detection to automatically slice their samples. Now, in the default configuration, aubio is not used. But Bitwig is a commercial software, and should not include GPL code in any sort of way.

After being asked, Bitwig publicly confirmed that they were not using [aubio] anymore, and just forgot to remove the file. I also wrote to them asking them to do so and received a mail from their side confirming they would do remove it as soon as possible.

Version 1.1 was released a few days ago, and still ships aubio's binary. From version 1.0.2 to version 1.1, all of them contained aubio's binary code. How could someone possibly forget to run rm -f in no less than eight months and several releases?

Tue, 18 Nov 2014, 22:27. trackback - view/add comments

0.4.1 is out

A new version of aubio has been published. This version is mostly focusing on media file input and output. Here is a quick overview of the changes.

Read the changelog to find out more details about what 0.4.1 brings.

Note: this version is API and ABI compatible with 0.4.0. Since it only adds new features to the existing interface, your existing source and binary code will keep working without any modifications.

Download aubio 0.4.1

Happy hacking!

Wed, 12 Mar 2014, 19:53. trackback - view/add comments

pd-aubio 0.3

pd-aubio is the Pure Data external for aubio. The previous release of aubio included the pd-aubio external. It now has its own package, updated for aubio 0.4.0.

pd aubio screenshot

Download pd-aubio 0.3

Git repository

git://git.aubio.org/git/pd-aubio/

Github mirror

https://github.com/piem/pd-aubio/

Happy hacking!

Fri, 20 Dec 2013, 15:03. trackback - view/add comments

0.4.0 released

After more than five years of development behind the curtain, the time has come to release a new version of aubio.

The list of changes is long, but to make it short, aubio is now:

Several new features have been added, including:

An audio example is worth a thousand characters. Here are a few examples of graphs obtained using the new Python interface.

pitch detection example pitch detection example

pitch detection example pitch detection example

Examples of plots obtained using aubio's new Python interface. From top to bottom, left to right: a. Onset detection on recording of an electric bass guitar with distortion. The original waveform is shown in the upper part, while the lower part shows the onset detection function (green), the thresholded function (yellow), and the detected onsets (red) (source code). b. Pitch detection on a male voice. The middle plot shows the detected f0 (dashed green) and the detections for which the confidence is higher than a given threshold (blue). The bottom plot shows the confidence for each frame (blue) and the confidence threshold (green) (source code). c. Energies found in 40 bands equally spaced on the Mel scale, obtained on a sample containing a guitar and a keyboard (source code). d. Different spectral descriptors computed on a drum loop, showing the behavior of these functions for different percussive sounds (source code).

Sound samples credits and references:

  1. Night Creatures – That's The Night / One Of Those Songs, on Vogue Records, 1976
  2. Nicolas Vion – Fr-grenouille.ogg, on Wikimedia Commons, 2006
  3. Cold Blood – Baby I Love You / Same, on Reprise Records, 1973
  4. Larry Young's Fuel – Spaceball, on Arista, 1976

Download aubio 0.4.0

Merry hacking!

Tue, 17 Dec 2013, 19:00. trackback - view/add comments

xhtml | css