aubio

Sailing away from keyboard

I will be sailing for the next three weeks, from Norway to France, and I will not have much internet access on the way. So please don't expect any reply until April 15. If you have some urgent questions, try the irc channel (#aubio on freenode).

On my way back I plan to finish the new tempo algorithm and release the next aubio version, so now would be a good time to test the git branch and fill in bug reports.

Enjoy the spring!

Thu, 18 Mar 2010, 09:23. trackback - view/add comments

Meet gst-aubio

Gstreamer logo

I have just pushed the Gstreamer plugin for aubio to git.aubio.org. No official release just yet, but you can fetch the latest gst-aubio branch using:

git clone git://git.aubio.org/git/gst-aubio

So far there are two elements: aubiopitch and aubiotempo. Here is an example of how to use them:

gst-launch-0.10 filesrc location=uri://to/soundormovie.file ! decodebin \
   ! audioconvert ! aubiopitch silent=FALSE ! aubiotempo silent=FALSE \
   ! fakesink

Many thanks to the nice folks at Ubicast, who sponsored the development of these elements. They used it for instance to automate camera switching on the video stream of their party events, but also to control lights and camera. Check out this test.

Sat, 12 Dec 2009, 15:51. trackback - view/add comments

Logo for aubio

A few days ago I asked Thorsten Wilms, who designed a bunch of fine logos for audio softwares, if he could think about a logo for aubio. As a starter, I mentioned the cover of a previous issue of Computer Music Journal.

Thorwil just posted a few ideas on his blog. Suggestions, comments, opinions? All welcome!

Cover of Computer Music Journal 29-1

Computer Music Journal cover, Volume 29 Issue 1

Mon, 07 Dec 2009, 19:10. trackback - view/add comments

Switching to git

I have always been happy about bzr. Recently I started working on a project that uses git, and this first contact was enough to convince me switching my own branches from bzr to git. The main argument is speed! The stage area is also a nice thing. I often rushed to type Ctrl+C with bzr after forgetting to mention which files I meant to commit.

Converting the branches was as easy as:

git init
bzr fast-export . | git fast-import
git reset

gitweb is now installed at http://git.aubio.org. You can clone a branch using:

git clone http://git.aubio.org/git/aubio

Hopefully this should also prevent trac eating most of the available memory. Still, the trac site remains really slow compared to gitweb, and has no support for multiple projects. So I am considering switching to Indefero or Redmine. They are written in PHP and Ruby, which are not really my preferred languages, but both have built-in support for multiple projects and are actively developed. Any suggestions?

Thu, 03 Dec 2009, 03:50. trackback - view/add comments

Keeping it groovy

example of tempogram

Tempogram for Havana Cultura: New Cuba Sound, a 45:31 minutes mix by Gilles Peterson

At the latest ISMIR conference, Peter Grosche and Meinard Müller presented a paper called A Mid-Level Representation for Capturing Dominant Tempo and Pulse Information in Music Recordings. I was told to give it a look, as Meinard Müller gave an impressive presentation with several sound examples of difficult but successful beat tracking.

The method they describe is somewhat intuitive: build an onset detection function, or novelty function, detect the pitch, or fundamental period, on this function, and synthesise the result using an overlap-add technique. The approach is elegant, efficient, and present several advantages over existing methods, such as the one currently implemented in aubio: versatile, computationally efficient, it does not depend of previous context, is easy to implement, and can be easily configured for different situations, with independent tempo and time resolutions.

Last week-end I gave a shot at implementing this algorithm and got pretty impressive results right at the first attempts. I managed to get 82% of correct tempo (BPM) over my test database; not bad compared to the 72% reached with the latest aubio version ‒ the database, constructed by Stephen W. Hainsworth, consists of 222 musical extracts of various genres.

I thought about titling this post "Harder, better, faster, stronger", but that sounded a bit déjà-vu, and the musicians from Cuba are much harder to follow than the famous French duo. The figure above shows a tempogram of a 45 minutes long mix by the amazing Gilles Peterson.

There is more than tatums and tactus coming out of these tempograms: some interesting patterns emerge, describing the rhythmic structure of the sound. More about this later, as soon as I find time to complete my implementation, adding the precise beat locations so they can be played.

Thu, 26 Nov 2009, 01:53. trackback - view/add comments

xhtml | css