As a follow-up to yesterday’s post on importing CDs I’ve decided to add my CD importing code to github.

It lives here.

I suspect it’s more useful as source code for people to look at than as a project for people to use.

It’s a little bit too much “MeWare” at the moment for it to be generally useful.

Of course, it would not be that much work to make it more generally useful:

  • Put all the paths to binaries in a config file (they’re currently hard-coded in the source).
  • Write some documentation (it has JavaDoc but that is all).
  • Make it a little more flexible (it makes some assumptions about output files with specific names and in specific formats).
  • It’s only ever been run on Linux (I’m not sure if all the binaries it requires exist on Windows)

Plus, there are a million and one programs out there to rip CDs (this is the bit where I’m supposed to justify writing yet another one…).

Anyway, the code is available to browse so feel free to “check it out”.

My convoluted CD importing system

And here’s how a CD gets from HMV on to my iPod…

Hmmm, it’s complicated alright.

But it needs to be as I have several goals I am trying to meet.

Never have to rip the CD more than once.

I rip to FLAC format which is lossless so I can recreate the original wav file at any time.

Be able to play my music back from a variety of sources.

I need to be able to play music on both my iPod(s) and through MPD.

The ripping and encoding bit is done with a Java app I wrote that encodes in parallel (it can handle Ogg Vorbis too if I want).

It’s not as automated as I’d like, I need to run it by hand when I insert a CD and choose the matching CDDB entry if there are multiple matches.

Oh, and here’s what I bought.

6 Music

Since installing Ubuntu I’ve not been able to get XMMS to play my music that I stream from home.

I’ve done enough digging to realise the problem is in my code – I’ve just not fixed it yet.

So, in the meantime I’ve been listening to my radio again!

As usual I listen to 6 Music all day.

The latest nutty little tune doing the rounds on 6 Music is Peter Bjorn and John‘s single; Young Folks.

I’ve already got the album on pre-order at Amazon.

Then this morning I realised that I had been following a pattern.

1. Hear song I really like on 6 Music.

2. Buy album on the basis of that one song.

3. Generally be disappointed with rest of album.

Albums and bands that have fallen into that category so far:

Let Us Never Speak Of It Again by Out Hud

Speakerboxxx by OutKast

Give Up by The Postal Service

Riot On An Empty Street by Kings of Convenience

The Futureheads by The Futureheads

Thunder Lightning Strike by The Go! Team

You Are The Quarry by Morrissey

Perhaps I should try to listen to more than one song from the album before I part with my cash this time then.

There again, “everyone loves a great whistling record“.

Making Wiphi Good

BBC News has an article about the Slim Devices’ Transporter wi-fi music player.

As usual when I read about such things I tend to compare it to wiphi, the music player that I built.

It’s interesting to note the amount of work that would have to be done to get Wiphi up to the spec of something that is commercially available.

Visual appeal

My player looks attractive initially.

But it’s a bit chunky, and the green VFD display is not very readable.

Ideally it would be half that height and have a blue LCD display.

It would also have a nice responsive dial for controlling the volume.

It could also do with a nice logo.

Remote control

It doesn’t have a dedicated remote – it’s just configured to use any remote that works with LIRC.

Building a remote control from scratch is beyond my skills.

User interface

The overall user interface isn’t too bad, but it’s not slick.

There’s no indication of what is going on until the box has booted (takes a few minutes as it boots over the network).

The only interface is the remote control and the display panel at the front – which is a bit limiting. It needs an on-screen display on the TV ideally.


I wrote the software myself – it’s essentially some “glue code” (written in Java) between MPD, LCDproc and LIRC.

If it goes wrong and crashes the only way to deal with it is to ssh in and look at log files.

It is MPD based though – I could set it up so that I could control it from a Web browser on another machine for example.

There’s no way to configure it beyond hacking XML files and restarting the box. That could be fixed – but would require a Web interface of course.


It would obviously need a lot of work to get it up to speed.

Also, the software work is far more likely to happen than the hardware work.

I’m not really good with hardware stuff, plus I’ve spent enough on kit for it already.

It’s an academic question anyway, I’m unlikey to give up my day job and build music players for a living.