The Music Library Management blog has moved!

Please visit:
http://www.blisshq.com/music-library-management-blog/
and update your bookmarks.

Tuesday, 23 March 2010

Automatic digital music workflow with VortexBox - (part one) installation

I love being able to listen to my entire music collection throughout my home, in each room of my house. I can even listen to it at work, over the Internet. To get music throughout my house, I run Squeezebox Server. Squeezebox Server is jukebox software that distributes your music library and Internet radio across your home. The software is installed on my home server. A variety of music players in different rooms of my house connect to the Squeezebox Server to play music.

This works great, but listening to music is only part of a digital music workflow (albeit the most fun part!). I can find and play music easily, but what about the process of purchasing, ripping, tagging, organising, finding album art etc? Well it's less easy. My typical workflow at the moment is:

There's too much manual work in my digital music workflow. Most of it is related to ripping, using the manual ripper and tagger 'abcde'. To automate more of the process, I decided to try VortexBox. VortexBox is a combined automatic ripping and jukebox system that actually includes Squeezebox Server. It is essentially a full music operating system and can be installed on a bare-bones computer, replacing the existing operating system.

This is the first part of a three part series on, respectively, installing, configuring and integrating VortexBox into my home network and digital music workflow. By the end, the workflow I described above will (hopefully!) have changed to:
That's five manual steps down to one! Fingers crossed...

Part one - installing VortexBox
A quick warning: this section contains computer nerd jargon! Feel free to ask questions in the comments and I can attempt to explain further.

Currently, my home server runs Squeezebox Server in a virtual machine. Virtual machines are computers (also called 'guests') that run inside other computers (physical computers called 'hosts'). Virtual machines provide flexibility (they can be moved and power cycled separately to other virtual machines, even though they are running on the same physical computers) and lower power usage (in my case only one computer is required for all virtual machines; this server runs more than just a music system). The virtualisation software I use to run the virtual machines is VMware Server, on a headless Ubuntu Server 8.04 host.

So I created a new virtual machine for VortexBox. As far as VortexBox is concerned, as it is installing and running, it sees this virtual machine just as it would see a real, physical computer. First, then, we create a virtual machine in which we will install VortexBox:

Creating our VortexBox virtual machine

An important step is to configure networking for the VM from 'NAT' to 'bridged'. A bridged network makes the VM appear to be just like any other computer on the network and makes it easy for other computers and music players to connect directly to the VortexBox.

The network card should be 'bridged'

VortexBox is downloadable as an ISO that normally you would burn to a CD and then insert into the real, physical computer you intend to install VortexBox on. However, in our case we can skip that step and link our new virtual machine directly to the ISO. VMware does the work of making the ISO look like a CD to the virtual machine ('VM'). So, when the virtual machine is powered on, the VortexBox installation process starts just as it would with a real, physical machine. The linking of the VM to the ISO is done via the CD/DVD Drive options.

Linking the VM to the ISO. The ISO must be inside VMware's 'datastore'

Now we are finished setting up the VM, it's time to power on (virtually, of course!). We are greeted with the standard VortexBox installation menu:


VoxtexBox has a special option for installing to virtual machines. In the installer, choose "Install VortexBox on VMware or <30gb here="">". The difference is that this form of installation uses up much less space, and instead of repartitioning a virtual hard disk, it creates a directory in which music is stored. This is ideal in my use case, because I intend to link this directory to my NAS.

From here, the installation is simple. Once complete, VortexBox reboots itself, and starts successfully. When the startup is complete, we get:


See that URL in the terminal? Navigate to that URL in your browser of choice and you get the VortexBox web based interface:


(Eagle-eyed viewers will notice the IP addresses above are different - this is because I shutdown my server over night and finished this blog post the next morning by which time VortexBox had a different IP address. Shoot me.)

From this interface, you can access the Squeezebox Server, monitor the progress of automated ripping, configure MP3/FLAC mirror directories and more.

VortexBox is now installed, but there are more setup steps to go. We haven't improved our digital music workflow yet, but this will come when we link VortexBox to our existing music and enable automatic ripping. This will all be discussed in part two: integration.

Saturday, 20 March 2010

New release: build 20100313 - update ID3v1 tags to ID3v2 to embed art

This weeks main new feature is the ability to update ID3v1 tags in your library to ID3v2, and have bliss install the album art it has selected. If you have selected to embed art, when bliss encounters an ID3v1 tag it will mark the album art as uncompliant because ID3v1 tags do not support embedded images. The album will appear in the 'Not installed' tab.

However, next to the album a new shortcut enables you to update the tag to ID3v2 and embed the art semi-automatically. Here's the UserVoice suggestion.

I also fixed a general problem with the Google search - this was manifest on Flickr results inparticular. Again, here's where it was suggested in UserVoice.

I also added an extra filter to filter by albums starting with non-alphabetic or numeric characters.

You should also notice the status indicator updates and appears a bit quicker after making changes to your album art rule.

Download from http://www.blisshq.com/download.html and remember that all existing fixes transfer to this new version!

Tuesday, 16 March 2010

From iTunes to Winamp: album art transfer

Why don't they make things easy for us?

I've heard a lot of good things about Winamp and wanted to try out some of the interesting music library information features. I decided to move a small iTunes music library into Winamp to give it a go.

The album art in my iTunes library was reasonably complete. I say reasonably... well it wasn't totally satisfactory:

Four out of six ain't bad... I suppose...

Remember the golden rule for finding iTunes album art:
Album art is found in the iTunes Store ONLY
I had already set up an iTunes Store account and so some of the album art had been found and displayed. Unfortunately this didn't include music not in the iTunes store, such as my rarer albums. I decided to see if Winamp would use my existing art and maybe even fill in the blanks.

So now it was time to install Winamp and take a look. I installed it, started it up and fantastic! It recognised I had an iTunes library and offered to import it. "Great", I thought, "this will import all my art too".

Now, the reality: this is what I got:
One out of six is a lot worse

Alas, the import was not all it could've been. After importing my iTunes library I was greeted with one measly album art cover. The rest of my albums displayed an unwelcome although initially humorous monochrome image of a llama.

Earlier I gave you the main rule for finding album art in iTunes. Now there's the rule for managing album art in iTunes:
Album art is not stored in your music collection, art is stored in the iTunes database
This makes moving album art from iTunes elsewhere difficult. So: time to break out the big guns. I installed bliss, pointed it at the same music library, and told it to manage my album art.

A few seconds later, bliss had found and installed all four of the mainstream releases, fully automatically, and had found the correct art for the remaining two releases, for which it asked for my confirmation to install (presumably it found them on Google and so wasn't totally sure they were correct).
Six out of six!

I restarted Winamp and, joy of joys, the album art bliss had found was visible:

Sometimes the journey is more interesting than the destination

I'm not sure why Winamp won't import album art from iTunes, and I don't know why when it can look up some of my albums it can't find other equally mainstream releases. What I did find out was how bliss helps you move your iTunes library to other players. Now, back to listening to the music...

Saturday, 13 March 2010

New release: build 20100306 - Finished memory footprint reductions

This week's release concludes the work to reduce the memory footprint of bliss... for now. We can now comfortably support around 5000 albums. There is more work to do on this but for now it is 'good enough'. If someone has a larger collection that isn't working quite right, let us know.

We also slotted a UI improvement in - when you choose or change album art yourself, you are taken back to the previous screen, not the home page for bliss.

The new release can be found at http://www.blisshq.com/download.html; existing fixes still work!

Tuesday, 9 March 2010

A bit of press coverage: bliss for Linux album art

Over the weekend, bliss got its first bit of press!

bliss was featured on the TuxRadar Podcast in their 'Discovery of the Week' section. Take a listen; our coverage starts at about 33:45 (mins:secs).

Graham Morrison highlighted the way bliss runs in the background and presents a Web interface:
"[bliss] grabs album covers for your music collection, and it does it automatically, it does it in the background and it does it with a Web interface and it's very cool if you happen to run a Squeezebox or keep your music collection on a big hard drive"
This is pertinent, because home servers and NASs running Linux and other operating systems are increasingly becoming the storage location for our music. If it's stored there and, in the case of centralised jukeboxes like Squeezebox, played from there, it makes sense to manage it from there too.

Here's to more good press!

Saturday, 6 March 2010

New release: build 20100228

This weeks build is an interim build which has lowered the amount of memory bliss requires when it runs.

No new features, sorry!

Pick up the new release at http://www.blisshq.com/download.html; remember your existing fixes apply!

Tuesday, 2 March 2010

What's in a name?

A few people over the last few months have asked me "why the name 'bliss'?". Well, five months ago I had locked myself away for a day to decide on a name for this music management software I was writing.
I'll start by explaining the existing codename for the project alternated between 'AMT' (Automated Music Tagger) and 'Metadata-Sync'. As you can see, I needed something a little more catchy.

I wanted to solve my problems with managing large music libraries. My overwhelming feeling when struggling with my own collection was one of frustration and the mind boggling complexity of having to juggle and keep track of thousands of music files. For instance: how can I keep a consistent genre scheme across the library? And other similar questions. I wanted to invert the relationship: to manage my music in general rather than file by file. So as well as taking an opposite approach to music management, I wanted a name that was the opposite of frustration and struggle.

There were a few possibilities at this point under consideration. The three contenders were: Chorus, Harmony and Bliss.

What settled the argument in favour of the latter was a bit of idle Googling on the subject of classification systems. I found a pioneer of library classification systems was a fellow named Henry Evelyn Bliss. I see bliss becoming an automatic classifier and organiser, of sorts, and so that was settled. I'm afraid the relationship runs no deeper - any similarity between the way bliss works and Mr Bliss's classification system is purely co-incidental!

And that is why bliss is named as it is.