How-To: Create an open-source jukebox

December 01st, 2008 | Category: Blog, Tutorial

What: An open-source jukebox.
How: Read on!

Recently I was tasked with creating a jukebox for a party. You can read all about my thoughts on the matter at the link; this article is to provide with the specifics on what software I used, and why.

  • The Hardware

    The hardware I chose to use was rather limited in performance, which I think illustrates the efficiency of the software and solution which I designed. Components were as follows:

    • CPU: Pentium II 300Mhz
    • RAM: 384Mb SDRAM
    • Motherboard: Intel i440BX-based
    • Video: S3 Virge DX/3D
    • Storage: 4Gb, 5400RPM ATA HDD
    • Sound: Creative Sound Blaster Live! 5.1

    Obviously, I chose the software based on the known limitations of this hardware. Luckily I had a spare SoundBlaster Live! card, because I don’t think the system would’ve been able to reliably handle the music playback and the overheads of the user interface without it. Of course, whatever hardware you plan on using will probably be much faster. I really did pull this box right out of the stone age.

  • The Operating System

    The operating system I chose in order to optimise performance was of course my favourite Linux operating system: Arch Linux. With the kernel, modules and all packages being i686-optimized, it was a good starting point for a “from scratch” jukebox system. More importantly though is that after installation of the base system, I had a basic, but fully working, command line Linux system at my disposal. This meant there were no unnecessary startup services, configurations and other settings which would have been useless, redundant or otherwise a hinderence to performance on this slow system.

  • The Desktop Environment

    I chose to install XFCE as the desktop environment because it is the most lightweight of the ‘fully-featured’ environments. I would have liked to use an even lighter option, but of all the specialty and niche options available, I had never used any before, and this build was to be completed in a few hours. So, I chose XFCE which I found behaved no differently to GNOME, but was still relatively responsive despite limited system resources.

    To make the GUI look decent, I had to install a few additional packages that are not explicit dependencies of XFCE. They are listed below.

    • ttf-ms-fonts - the easiest way to make websites look nice is by installing this font package
    • midori - a lightweight, Webkit based browser for GTK+ environments. I chose this over Firefox due to the AJAX-heavy nature of the relaxx player. Webkit is supposedly superior in performance compared to alternatives
  • The Webserver

    Now, you may be wondering why, with such a limited system, I was bothering with so many layers of abstraction between music, player and control. The reason is that none of the music playing applications I investigated (and there were quite a few) offered any functionality near that of a simple party jukebox. So, I had to use a web-based front end for mpd called relaxx, both of which I’ll talk about soon.

    The webserver of choice is lighttpd; a light weight simple web server, with all the features (and a lot more) required for what I had in mind.

  • The Music Daemon

    Simply put: mpd. Or, Music Player Daemon, as it is less commonly known. I chose this system for multiple reasons: first and foremost, its awesome efficiency. With my 80Gb music collection catalogued and at my immediate disposal, mpd uses approximately three megabytes of system memory. Yes, you read that correctly: three. megabytes. If I go ahead and do something silly like, say, add my entire music collection into a single playlist, that number jumps to a staggering (!!!) eight megabytes. Yeah, I know. It’s ridiculous.

    Secondly, due to the daemon nature of mpd, you can use any frontend you like. You can use a text-based terminal application, you can use a GTK+, Qt or other, or you can use a web-based application, like relaxx player.

  • The Music Frontend

    This is the party piece — the piece of the system that everyone gets to see. I chose relaxx player because it had some of the functionality that provides jukebox-like behaviour. Well, kind of. It essentially only had one major feature that made it stand out from a variety of other mpd front-ends: multi-user capability. Essentially, you could lock down certain features of the interface for anonymous users, and require a login for those functions. So, essentially that meant I could specify that anonymous users were only allowed to add songs to the playlist and press play. Meaning you had to log in to delete tracks, stop, pause or rewind, etc.

    The installation of relaxx was straightforward, but I had to install a few extra packages under Arch to make it work properly:

    This was the only part of the system which didn’t quite work out so well. Its functionality was great, but due to the fact that it’s programmed entirely in AJAX, the old Pentium II powering the computer couldn’t quite keep up. It was slow to respond and not very nice to use, but it was usable. The music itself never skipped a beat (literally), but the performance of this frontend left something to be desired.

No comments

Open source jukebox?

October 27th, 2008 | Category: Blog

So this weekend, we had a party. We needed music, obviously. But we didn’t want to use CDs, or an iPod or anything like that. Those things are too easy to change. People go and hit ‘next track’ when they don’t want to listen to something, and it annoys everybody who was actually trying to listen to it. You know who I mean. There’s always one person, sometimes a few people, who think their music is ‘better’ and they always see fit to make everyone else listen to whatever it is they’re wanting us to.

So I wanted to set up something to solve this problem. It obviously had to be a little bit more complicated. It needed to have some kind of vague access control. So I did.

I pulled an old system (PII 300Mhz, 384Mb RAM, S3 Virge DX/3D, and a new addition: SoundBlaster Live! PCI) out from storage and put my favourite operating system on it. The install didn’t work out the first time because I stupidly let the automatic partitioner partition the drive; having only 3Gb in total, this left about 1.5Gb for each of / and /home, which unfortunately isn’t big enough to fit all the software I wanted to install. Round two, I manually created a /swap equal to RAM size and the rest for /.

Installed Arch fine. Installed XFCE4 — for speed. When running it was using an entire 80-ish Mb of RAM. As for how I planned on playing music, well… I installed my favourite audio player and a frontend for it: relaxx player which is a nice AJAXy web client for controlling mpd. This was the only part of the system which was slow: even running it in Midori, the slowness of the interpreted Java/script environment made the UI very molasses-like in response. It wasn’t too bad; maybe a quarter to half second of lag between operations.

The music playback itself never skipped a beat (literally); as mpd itself uses pretty much zero resources. The audio (mp3 mostly, but some FLAC) was streamed over our 100Mbit network from my desktop PC just fine.

What’s good about relaxx is that it has an admin login and a guest (non-authenticated users) operating mode, and you can specify what rights the non-admin user has by simply selecting their permissible operations from a list while logged in as admin. Essentially that meant I was able to specify the guest to only allow add to playlist and play. They could not stop, skip track, delete from the playlist, etc. Which worked out quite well because as I mentioned earlier: there’s always at least one clown who wants to play their favourite tracks from “Greatest Country Hits of the 60s” while everyone else is enjoying something a little less … shit.

The only feature I think is missing from a jukebox-like application such as relaxx is the ability to have multiple playlists as some kind of intelligent queuing system. As an example: before the party started I manually created a large list of desirable songs and set the play mode to shuffle. However, this isn’t the most ideal solution when it comes to allowing others to add their own music. The other extreme would have been to start with a blank playlist and let people add their own songs all night. I think this isn’t ideal because then you may run out of music, or one person who is particularly attentive might see fit to add many songs of their own liking in a row.

So, I think that an intelligent system whereby you may start out with a large playlist of your favourite tracks, but allowing others to add songs they like, is best. However, there would need to be something involved where you could configure the player to, for example, play a recently added track at least once every x minutes. So you know that when you add your favourite song, it will be played in amongst the existing playlist at least once within the next x minutes.

Another idea I had was the use of multiple playlists, each with their own weight. So you could have all your really fav songs in a series of weighted lists, and the chance that a song is played depends upon how much weight its containing playlist has. This way you could only allow people to add to the medium or low weight playlist which ensures their tracks are not played more often than those in the highest weight playlist, which you have setup yourself beforehand.

I imagine there could be many other uses for these kinds of intelligent playlist systems, and I don’t doubt that I am not the first one who has thought of this. Leave a comment to let me know what you think.

1 comment

My Week in Review

September 27th, 2008 | Category: Blog

My week’s been alright this week. I saw Carly and my friends a lot which was good, but unfortunately for some reason, I haven’t had the mental agility recently to do the required thought acrobatics which allow for the override of bad experiences with good experiences.

In other words, I’m focusing on the negative and not on the positive, and it’s getting me down a little.

I wrote a huge spiel about exactly what has been going on at work, but I’ve since deleted it, because it might be incriminating (not in an ‘I’ve done something illegal’ sense, more an ‘Someone might read this and WTF will occur’ sense) and it might make me look bad. That’s not important because it helped me come to the conclusion, and that’s what is important: I don’t get along with my boss. Not on a personal level, and not on a professional level. It’s as simple as that, and I can’t do anything to change it except get a new boss. Which I am working on.

Aside from that, I went out Tuesday night to the Down Under bar in the city with Carly and Annie, and although I don’t have a valid student ID (it’s about a month expired), they let me in anyway. Presumably because I’m really not that old and also because I had two chicks with me. It was alright for a while, until they started playing the shitty music. Vengaboys, that “Boot scootin’ baby” song, etc. Need I say more? It reminded me of highschool. It was ridiculous, and I got tired and a little grumpy. So I went and sat down while the girls danced, and some guy approached me and asked me how I was going, and we had a little chat. It came to the point where he told me he had uni at 9AM the next day, to which I replied “bad luck” — but not in an empathetical way. It was kind of malicious, and although I don’t know your name, I apologise for venting a little on you, dude. I’m sorry. Hopefully next time I see you I won’t be in such a sour mood.

Which brings me onto my next point which is that club Blink is awesome. It’s on Friday nights at 299 in the Valley and it rules. It’s like someone went to my Last.fm and just copied and pasted all my favourite metal and rock into the playlist. With some nice extras added to break up the mix. Plus they have happy hour $3 basic spirits from 9PM until 10PM; $3 bourbons! What more can you ask for? So I was there last night with Annie; I had hoped Bruce could come but apparently he was stuck at work. On his holidays. Yeah, you read that right.

So now as I sit by myself in the girls’ loungeroom, recovering from my hangover, while everyone else is at work, I bring this post to you. I think later I’ll play some WoW and see what Bruce is up to.

No comments

TripleJ Impossible Music Festival

September 21st, 2008 | Category: Blog

It’s awesome!

I’m pleasantly surprised by just how much I’ve enjoyed listening to Triple J’s Impossible Music Festival over the past weekend. You can check the line-up for all of the details about what bands have been playing.

Highlights for me would be The Presets (playing as I write this), Nirvana, Silverchair, Hilltop Hoods, Fatboy Slim, Radiohead, Muse, Yeah Yeah Yeahs … and that’s just so far.

While I sit here listening to the sheer epic awesome that is “My People”, I wonder just how many people are missing out on the experience. Unfortunately, I wasn’t at the gig where this recording was taken, nor was I at any of the other gigs they’ve played this weekend. And not without reason, too: some of the live recordings are taken from the late seventies (Cold Chisel), through the eighties and nineties (Nirvana etc), and as recently as a few years ago.

I’ve never been a huge fan of Nirvana, for example, but I think I’ll listen to more of their stuff now. They don’t exist anymore, but hearing their live set was a great experience. It took their music, which I previously thought of as overplayed radio junk, and it made it something special. Something that had a certain level of commercialism, but, something that was also intimate at the same time.

I really can’t understand why people listen to the commercial radio stations. Maybe they like listening to the hilarious radio ads (got erection problems?). Or maybe they like listening to the ridiculously over the top “DJs”, who realistically are more like talking heads. I won’t draw any conclusions I can’t back up with fact, but I do get the vibe that people on TripleJ actually know stuff about music because they love music and they’ve made it their life goal to work supporting the music industry. I also get the vibe they work to support the artists more than the labels. But that’s just me.

I really appreciate the effort put into these kind of events that TripleJ broadcasts. It’s one part of my tax-paying dollar I’m not sorry to see go. It’s hard to explain if you haven’t listened to TripleJ for a while. Once you start though, you generally can’t stop. That’s a totally good thing.

So, in its last few hours, jump onto the TripleJ site and have a listen or just turn your radio on — however you access the music, nobody cares, just make sure you’re tuned in!

No comments

Upcoming gigs that you should come to with me

July 09th, 2008 | Category: Blog

Hi everyone,

A headsup for some of you: there are a bunch of sweet gigs on over the coming months, and I’m inviting you to attend them with me.

First up is Birds of Tokyo, whom I don’t know much about, other than their frontman is the very same who leads the very entertaining and very awesome Karnivool. Although I haven’t seen either live, the latter’s full-length release, Themata, is a favourite in my collection. Anyway, check out The Birds’ MySpace for more on them. Date is September 5th, cost is $27.75., venue is The Arena.

Next up is heavy-metal favourites, and awkwardly-pronounced, Meshuggah. While I’m not particularly fanatic about their style of music, I can appreciate it in small doses. Let’s hope their performance on October 12th at The Arena isn’t too large a dose! (at a cost of $53.50 + booking fee)

Next up in the metal section (although arguably with less throat-destroying lyrical talent) we have Disturbed. I’ve listened to a lot of their stuff over and over and over, with their album 10,000 Fists taking a special place in my collection. They’re touring with old favourites P.O.D., the up-and-coming Behind Crimson Eyes, and Alterbridge. We can catch them at the Brisbane Entertainment Centre on the 2nd of September at a cost of $89.65.

Changing genre completely, let’s think about Dukes of Windsor. They scored well with their hit The Others showing up in a remix on a recent Ministry of Sound album. You’ve heard it, and you liked it. Trust me. Anyway, they’re touring with the awesome Sneaky Sound System, and I reckon we’d be stupid not to miss their show at The Tivoli, on the August 16th, especially for a cost $53.50 (plus booking fee).

Keeping the electro/dance theme, though moving down in the popularity ranks, we’ve got a relatively unknown group by the name of Grafton Primary. They reached realtively huge popularity on TripleJ last year with the slightly nerdy but ultimately funny (and fun!) Relativity; and they’ve also created many awesome remixes of other popular artists, including remixing the tired and overplayed This Heart Attack by none other than Faker, which in my opinion is as good as the original, if not better. They’re supported by The E.L.F, who are busy doing lots of wierd things on their MySpace, and the first group I ever saw play live: Christopher Robin, whom are not the same you will find on MySpace. They’re a small two-piece electro pair who seem to occupy themselves more with drinking than playing music, but they’re oh so good at it! For a cost of $12 and a trip to the Valley, what more can you ask for? (at Rosie’s)

Second last on this by-no-means-ordered list, we have Canadian crackpots, haters of vowels and all-round funky dudes, MSTRKRFT. They’ve a few releases and a lot of remixes, and they’re all hella-sweet. Accompanied by Ajax and a few other DJs I’ve never heard of, we can catch them at The Arena on the 2nd of August for a cost of $35-$45 (plus booking fee).

Finally, we have two bands actually: PNAU and Operator Please; both huge on the Australian charts, with the former being a veteran of the dance scene and the latter barely out of highschool, you’ve no doubt heard tracks from both, with PNAU’s “Baby” featured on recent advertisements for milk, and Operator Please having many of their songs played on mainstream radio. We can indulge in their alternately funky and rocking sounds (quite a contrast) for only $44 (plus booking fee) at The Tivoli on the 7th of August.

So, if you’re interested in seeing any of these gigs with me, please let me know. Some of them have been on sale a while, and are due to sell out soon, so we need to get in quick! A comment, SMS, e-mail, phone call or face-to-face conversation are all good ways of engaging my attention.

If you want to find out more information about any of the gigs, you can check out the bands’ respective MySpace/websites, or you can visit the awesome Triple J gig guide, which helped me to compile this post.

10 comments

Nine Inch Nails - The Slip

May 06th, 2008 | Category: Blog

I’m a little late to the party on this one, but the latest announcement from nin.com is of a new album entitled The Slip.

There’s a neat twist here that may surprise: it’s been released free to download. Yep, all you have to do is surrender an e-mail address and they’ll give you a download link, where you can choose from any or all of high-quality mp3 (LAME -V0 encoded), high-quality FLAC or m4a lossless, and high-quality 24-kbit/96Hz WAV download format.

nin-theslip-small.jpg

As with the previous Ghosts release, all the downloads come with artwork in the form of a pdf file. The artwork for this release is minimal, but it definitely suits the music. It’s free because it is licenced under a Creative Commons Attribution Non-Commercial Sharealike licence, which in plain English means you can share it with anyone you like, but if you make a derivative work (a remix) you must attribute the original work to Nine Inch Nails, and you may only do so if you are not a commercial entity.

As for the music itself? It’s moody; through some tracks, dark and brooding. Others are punchy and energetic, while others still are almost poppy in nature. For me personally, I’m reminded of the first time I listened to The Downward Spiral; sitting on a mates deck outside, with a bourbon in hand, whiling away the evening with conversation. In other words: to me, it’s true to the sound of Trent’s previous work. If music can conjure memories of good times past, it gets my thumbs up.

Trent has this to say about the album:

thank you for your continued and loyal support over the years - this one’s on me

So head over to http://theslip.nin.com/ and grab yourself a copy!

3 comments

Ghosts I-IV has landed!

April 30th, 2008 | Category: Blog

nin-ghosts-cd-closed.jpg
nin-ghosts-cd-open.jpg

I received my copy of Nine Inch Nails Ghosts I-IV today! All the way from the US of A, it came in a padded package, in excellent condition.

The accompanying booklet, to my surprise, has different artwork than the provided online PDF download, and some may notice a spiffy iMac keyboard in one of the shots.

Unfortunately I couldn’t justify the cost of the $300USD super deluxe limited edition signed package, though I don’t envy Trent for having made the decision to make it available.

The video is titled: “Spend a day with us: play this 2500 times”

No comments

Apocalypso signed copy

April 15th, 2008 | Category: Blog

My copy of The Presets - Apocalypso has just arrived, and it’s awesome. Despite the fact that I’ve already listened to the album a fair bit, this is special because it’s a signed copy. Check it out.

the-presets-apocalypto-signed.jpg

Woo! If you haven’t already, buy it. It’s awesome.

2 comments

The Presets - Apocalypso

April 14th, 2008 | Category: Review

Who: The Presets
What: Apocalypso

It’s here. It’s arrived, finally. After The Presets smashed the clubbing scene with their massive hit My People and released a single in its namesake with some interesting remixes, the album to which this song owes its creation has finally been released. My, is it a gem.
The Presets - Apolcalypso
Immediately as you pop the CD into your favourite playback device — I recommend something connected to a massive subwoofer — you will be blasted away by the opening track, Kicking and Screaming. Its heavy bassline will have you bumping and jumping; punctuated with a zippy beat and echoed with airy screams and the vocals of our boys Julian Hamilton and Kim Moyes, this track is a testament to the quality of things to come.

Second up is the absolutely smashing track My People, which I’m sure you’ve heard of previously. There’s so much emotion and energy here, this I would have to say is my current favourite dance track. Perhaps the best I’ve ever heard. I absolutely love this song for its grungy, deep and powerful sounds. The lyrics are obvious and easy to sing along to, and the backing vocals support and blend seamlessly with the grittyness of the track. I recently heard this song played in a club by the support act for Muscles, and it made me forget about the main act altogether.

A New Sky introduces us with a melodic chanting; a relaxed and refined track which retains the leg-jiggling catchyness of the opener; this track is a great way to pass the time to the next track, and arguably one of the best on the album, This Boy’s In Love. It’s so poppy and wonderful, you could easily be forgiven for embarassingly bopping your head to this in public places. The lyrics are so powerful and emotional; you can’t help but sing along.

Yippiyo-ay follows with some thoroughly oldschool sounds, reminding me of mid-eighties disco music; it’s catchy, smooth and suave. The perfect song to dance to with that pretty girl across the other side of the multi-coloured checkerboard dancefloor.

The rest of the album follows as the first few tracks start it off; strongly. Talk Like That and Together introduce us to some further hard-pumping beats that make you want to jump off your feet and run around the room, while Eucalyptus and Anywhere provide us more catchy tunes to hook our brains around.

If I Know You stands out as an awesomely powerful and emotional track; slow, sad, and moving. It’s kind of an anomaly to a first-time Presets fan; having not known much of their previous work. It’s different and thoroughly enjoyable.

For only $20 from JB HiFi, this album’s a steal. I thoroughly recommend you go and buy yourself a copy right now.

1 comment

Cog - Sharing Space

April 12th, 2008 | Category: Review

Who: Cog
What: Sharing Space

Cog’s latest album, Sharing Space, has been a while in the making. Since early 2007, Cog have been working on the album in the quaint town of Weed, California.

The album takes a slight detour from the stylings of its predecessor; it seems as though the boys wanted listeners to focus more on the lyrics of their songs. This is not without reason, with a few of the songs exploring an anti-establishment mindset, most notably “Swamp” in which ‘the government’ is criticised and blamed.

The vocals are wonderfully typical of Cogs previous work, with multi-layered chorus melodies giving them depth; a welcome multi-dimensional quality.

In aid to this, you won’t hear as many ripping guitar riffs that we’ve come to know and love from Cog’s earlier work; which isn’t to mean the guitar has taken a back seat, its role has merely been reprised somewhat, with less show-boating, and more effort put into making the guitar work together with the rest of the song.

The drumming is foreboding, powerful, with a certain finality to it, ever-present in the background, driving each song by pacing itself with the beat. It’s quality stuff.

The songs “Bird Of Feather” and “What If” have been floating around the airwaves for a while now, and they’re epic tracks. Although “What If” seems to be quite similar-sounding to work from The New Normal-era, it fits right in as the fourth track on the album, followed by the powerfully moving “Bird Of Feather”.

If any complaints, the only I have is that the mastering of the album doesn’t seem quite as good as The New Normal: overall, it’s quieter. I suppose some would say this is due to the quieter, less punchy nature of the songs, but I think they could have done a better job.

Taking everything into account, I’d say that Sharing Space is another quality release from the Sydney band. At only $20 from JB Hi-Fi, you can’t go wrong.

Cog is touring with support around Australia in May and June, check them out.

5 comments

Next Page »