open source audio codecs getting better

Some weeks ago I heard about a new audio codec which is being developed as open source – very similar to vorbis – the previous open source approach to audio codecs.

This time it seems that they’ve got some standardization into the play so it might be more successful than vorbis was.

“Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s SILK codec and Xiph.Org’s CELT codec.”

Source 1: http://www.opus-codec.org/
Source 2: http://auphonic.com/blog/2012/09/26/opus-revolutionary-open-audio-codec-podcasts-and-internet-audio/
Source 3: http://tools.ietf.org/html/rfc6716

downloading the whole Jamendo catalog

Yesterday @simcup wrote on twitter about that he is currently downloading the whole Jamendo catalog of Creative Commons music. Capture

Although I already knew Jamendo it never occurred to be to download their whole catalog. Since I am a fan of choice I immediately thought about how I could download the catalog too. Since the only clue was a cryptic uri-like text how to achieve that it suddenly sounded like a great idea to write a universal tool and release it as open-source. This tool should allow users to download the whole catalog and keep their local jamendo mirror in sync with the server. So anytime new artists, albums or tracks are added the user does not need to download them all again.

So the only thing I had as a starting point was that cryptic uri pointing me to something I’ve never heard of called Rythmbox. Turns out that this is a GNOME music player application which has Jamendo integration. After some clueless poking around I decided to take a look at the source of Rythmbox, especially the Jamendo module.

This module is written in python and quite clean to read. And just by looking at the first lines I came across the interesting fact that there is a almost daily updated XML dump of the Jamendo catalog available from Jamendo. Hurray! Since Jamendo wants developers to interact with the platform they decided to put a documentation online which allows anyone to write tools and stream and download tracks. After all the clues I found I finally ended up on this page.

So there are the catalog download, track stream and torrent uris necessary to download the catalog. Now the only thing that is needed is a tool which parses the XML and creates a nice folder structure for us.

folderstructure

Parsing XML in C# (my prefered programming language) is easy. Basically you can use a tool called XSD.exe and let it generate first the XSD from the XML and then ready-to-use C# classes from that XSD.

generating_xsd_and_csharp

After doing all that actually reading the whole catalog into a useable form breaks down to just three lines of code:

parsingxml

Isn’t it great how modern frameworks take away the complexity of such tasks. At this point I’ve already parsed the whole catalog into my tool and only wrote three lines of code. The rest was generated automatically for me. The best of all – this also works on non-windows operating systems when you use mono.

When the XML data is parsed and available in a nice data structure it’s easy to iterate through all artists, all albums and all tracks and then download the actual mp3 or ogg. And that’s basically what my tool does. It takes the XML, parses it, and downloads. It will check before downloading if the track already exists and will only download those added since the last run.

Additionally since I am deeply involved into the development of the GraphDB graph database at sones I want to make use of the Jamendo data and the graph structure it poses. Since the directory structure my tool is generating is only one aspect how you could possibly look at the data it’s quite interesting to demonstrate the capabilities of GraphDB based on that data.

The idea behind the graph representation of the data is that you could start from almost any starting point imaginable. No matter if you you start from a single track and drill up into genre and artists, or if you start at a location and drill down to tracks.

So what the Downloader does in matters of GraphDB integration is that it outputs a GraphQL script which can be imported into an instance of GraphDB.

The sourcecode of my tool is available on github and released unter the BSD license – feel free to play with it and to contribute.

Source 1: http://www.jamendo.com
Source 2: https://github.com/bietiekay/JAMENDOwnloader

Shairport – someone reversed an AirPort Express

Low Latency Network Audio was a dream for the past years (see an article of 2005 and 2008) and with AirPlay it’s finally there.

I am using the Apple AirPlay technology for several years now… after it got implemented into iOS it’s just fantastic to have the option to have whatever sound source I want to playing loud and clear in any room I want to…

Okay it’s not quite as sophisticated as the sonos solution regarding the control of multiple music sources in multiple rooms but it get’s the job done in an apartment.

So back to the topic: Apple integrated the AirPlay technology into their wireless base station “AirPort Express”. Basically AirPlay is a piece of software which receives an encrypted audio stream over the network and outputs the stream to the SPDIF or audio jack.

Back in 2005 there already was an emulator of this protocol called “Fairport” but Apple decided to encrypt the AirPlay traffic. This led to the problem that the encryption key was unkown because it’s baked into the AirPort Express firmware. And this is where the good news start:

“My girlfriend moved house, and her Airport Express no longer made it with her wireless access point. I figured it’d be easy to find an ApEx emulator – there are several open source apps out there to play to them. However, I was disappointed to find that Apple used a public-key crypto scheme, and there’s a private key hiding inside the ApEx. So I took it apart (I still have scars from opening the glued case!), dumped the ROM, and reverse engineered the keys out of it.”

So to keep things short: Someone got an AirPort Express, dumped the firmware, extracted the AirPlay encryption keys and wrote an emulator of the AirPlay protocol which uses the key. Voilá!

ShairPort is available in source code on the site of the guy and obviously it’s unsure if Apple will react by changing the encryption key in the future. But for the time being it works as advertised:

I took one of my computers and followed the instructions to update perl, install Macports and then run ShairPort. So when ShairPort is run it looks not as appealing as expected:

Notably  it uses IPv6 to communicate between iTunes and ShairPort… Oh I almost forgot to show how it looks in iTunes:

On another side note: It works on Linux, Windows and Mac OS X :-)

Source 1: Apple AirPlay
Source 2: Sonos
Source 3: Apple AirPort Express
Source 4: ShairPort

Still 9 days to go till SXSW 2010

Since there are still 9 days to go till SXSW 2010 it’s a pleasure to give out a link to the completely unofficial torrents which old all mp3 files of almost all songs which are to be presented at this years SXSW:

“The SXSW® Music and Media Conference showcases hundreds of musical acts from around the globe on over eighty stages in downtown Austin. By day, conference registrants do business in the SXSW® Trade Show in the Austin Convention Center and partake of a full agenda of informative, provocative panel discussions featuring hundreds of speakers of international stature.”

sxsw 

Source 1: http://www.sxsw.com/music
Source 2: http://sites.google.com/site/sxswtorrent/2010

Nine Inch Nails – another version of the truth – fan blu-ray release

“12 months,
a core team of dozens (with a network of thousands)
spanning 3 continents,
4 languages,
5 specialist teams,
countless sleepless nights…

It’s finally here.

Filmed in Sacramento, Portland, and Victoria by the Nine Inch Nails team, edited and produced by their fans, The Gift is a stunning work in 1080p High Definition video with 5.1 Surround Sound, multi-language subtitles, and artistically-driven ethics.”

You’re reading it right: the final production is ready to be downloaded. I am downloading it right now.

Capture

It’s a complete Nine Inch Nails live concert in full-hd. Free for all / Not for sale. Get it while it’s hot!

Source: http://thisoneisonus.org

music of the weekend: Ladyhawke

Great find this weekend. I haven’t heard of Ladyhawke until Saturday. Now it’s the soundtrack of this weekend and the upcoming week!

ladyhawke

Great pop music with a touch of rock. Powerful and fast. One of my favourites in the album is “My Delirium” – a song that has a subtle feeling of the Cardigans song “My Favourite Game”.

Ladyhawke writes in her blog about it:

“I wrote the song a year and a half ago after days of no sleep due to terrible jetlag. I felt like I was going out of my mind. I was missing my friends and family back home, and I was basically living to hear my phone ring in hope that it would be one of them calling. So my delirium came out of me thinking I was going crazy from lack of sleep!

I always knew this song had the potential for a really imaginative video, considering the general theme of the song is me going crazy. So when I read the treatment sent in by the Frater guys, a duo of London based directors who specialise inanimation, I knew it was the one!”



Source: http://www.ladyhawkemusic.com/

newly found artist

Imogen Heap is obviously an artist I have missed in the past years. More precisely Imogen Heap is a singer-songwriter whose newest album just became available. I found it due to one very special song called “Bad Body Double” which was played in an episode of the tv show “Heroes”.

imogenheap-ellipse
Imogen Heap - Ellipse

Great thing is that it’s available right now. And it’s available in two flavours. You can have the single-cd version which holds all the great songs. And you can have the deluxe version which holds all great songs + the instrumental version of each song.

Great stuff! It seems I have to catch up some great tunes from this artist in the near future!

UPDATE: Before you need to buy that album, just listen to it first:

Jugendhelden

Es ist schon extrem erstaunlich was in einem vorgeht und welch erstauntes Gesicht man macht wenn man durch Zufall einmal ein Video von den Sprechern der “Drei Fragezeichen” findet.

Hand aufs Herz: Klingen die Stimmen so wie die Personen aussehen? Also ich komm immer wieder aus dem Staunen nicht heraus wenn ich die Stimmen höre und die Gesicher dazu sprechen sehe. Da muss doch ein Trick dabei sein!

Ach übrigends sind heute auch noch zwei neue Folgen der “drei Fragezeichen” erschienen…