A word about Emby

Sometimes, it takes someone asking a question to make you realise you've been doing something dumb for quite a long time! This post will tell the story of one such question, realisation and (most importantly) the fix! So, my thanks to Jeff in advance for having asked the question that made me realise I've been doing Emby wrong all these years!

But first, of course, I have to explain what 'Emby' is! Well, it's a mostly-free, but not open source, media server. You install it on a spare computer and it catalogues whatever media files you point it at. They can be music, photographs or videos -so Emby can manage a collection of movies or photo albums as well as a large classical music collection. By the power of networking, this Emby server makes the assorted media it knows about available to any other device that you can point at it. These Emby clients can be nothing more complex than a web browser, but they can also be dedicated apps, available for all sorts of operating systems and devices. To put it as simply as I can, then, Emby lets my carefully-curated music collection be accessed from a phone in a car; or from a laptop in a Polish hotel when I'm on holiday; or from a new Android tablet I might be using when score-reading in the garden.

The in-car audio was especially important to me: back in the early 2000s, I would laboriously copy selections of music out of my 'real' collection onto an SD card or USB stick, and insert said devices into whatever in-car audio system I was using at the time. Back then, these would usually not recognise or play FLACs, so there was also usually a step of converting the FLACs to MP3 before copying them onto the SD Card/USB stick. It was slow, clunky... and you were only ever able to access a small part of the music collection at a time. These days, I simply hook my Android phone up to the car audio via Bluetooth and then, using the Android Emby client, can play any part of my collection on demand, no file copying or manual format conversions required.

But, as one question from my correspondent Jeff made me realise, I've been using Emby wrong all this time! Let me explain.

As you will know from all my articles and previous blog posts, the organising principle for my classical music is: composer -> genre -> composition. That is, if I want to play (say) Britten's War Requiem on my desktop PC using my file manager to access the files physically, I'd click the Benjamin Britten folder, then the Oratorio folder, then the War Requiem (Britten - 1963) folder:

Broadly speaking, this way of organising my music means I can select any specific thing to play in about 3 mouse clicks (and then a double-click on the FLAC file itself to initiate playback). It's an efficient way of finding music and works nicely.

Now back to Emby. When it's displaying your music library, it has a number of different ways in which to display things:

I think the default is 'Albums', which might make sense in a non-classical setting, but obviously won't work well for a collection of music that is firstly organised by composer. But no problem, right? There's the option to sort by Artist there, and you can set that as your default sort order. In my case (and after days spent fetching and adding appropriate composer art work to the system!), sorting by Artist gives you this:

And we're now in business! Sure, I can't see Benjamin Britten on that screen, because it's busy displaying lots of 'A' composers, but there's a side-bar of initial letters on the right-hand side of the screen, and it's not too hard to click the 'B' item and begin the process of clicking on the Benjamin Britten item that would then be displayed. So let's do that now...

Immediately, you see where Emby departs from the organising principles I apply to my real, physical music collection. Instead of displaying a set of genres to select from, I'm presented with sections called 'Songs' and 'Albums'. Yugh! Apart from being musically illiterate in a classical music context, it's not the way my music is physically organised, so I'm now going to have to find music to play by laborious slog. It's the equivalent of walking into a library where all the books on shelves are sorted the alphabetical order of their titles and then asking 'Got any Charles Dickens?'!

Well, this is what I've been putting up with for years. I want to hear War Requiem? Then I have to click the heading Albums and start scrolling! Given the amount of Benjamin Britten I own, it's a long scroll, too:

Notice there's not even an 'initial letter' filter on the right-hand side this time. You can't just jump to the 'W' section, in other words. You really do have to scroll all the way down, rather laboriously. Can you imagine what the Johann Sebastian Bach page looks like -and how long it would take to scroll through!- if you wanted to play his cantata called 'Wachet auf!'

The fundamental flaw here is that Emby breaks the fundamental rule of organising music mentioned in my last post: your logical and physical data models should always match each other. Here, my physical model is organised as composer/genre/composition; Emby is reading metadata from my files and displaying it as a composer/composition logical model. The mismatch between the two models results in a hell of a lot of scrolling... and much reduced 'discoverability' of music in consequence.

As I say, I've put up with this for years for a couple of reasons. Firstly, my car journeys are usually short -so, I'm unlikely to spend one hunting down hours and hours of really important music! I'll generally click on something that pops up early in the display and call it quits: it's usually good enough to last the journey time and I don't have to go back scrolling again for a second or third piece. The inadequacies of Emby's logical model don't have major real-world consequences, in other words. Secondly, if I'm listening to lots of music on an overseas holiday, I'm doing the holiday wrong! In other words, I might play the occasional piece when retiring for the night, but if I'm playing much more than the occasional piece, my holiday is clearly very, very boring... and I don't do boring holidays! So, again, the need to quickly pick piece after piece to play for hours at a time doesn't really apply. So, Emby's inadequacies have been lived with, and they haven't come close to undermining the fundamental point and purpose of Emby for me.

But now I return to Jeff's questions of me about how I organise my music. He casually noticed "...you [have] subsidiary folders of genre but there isn't a third folder option [in my music player]...". What he meant was: most media players display Artist/Composition (just as we've seen in Emby), so how do you get your media player to display Artist/Genre/Composition? A very reasonable question. Obviously, when I use my physical model (i.e., when I navigate through it on hard disk with a file manager), I'm able to fully respect the three-level hierarchy; but most media players, by default, do not support a three-level logical hierarchy. On Windows, for example, here's what Foobar2000 (a superb Windows-based music player) defaults to displaying:

Note that clicking open a composer item leads you directly into a list of specific compositions, with no 'genre' to step through first: exactly the point Jeff was making. Even Strawberry (my preferred Linux- and Windows-based music player) defaults to this:

Again, composer -> composition, no genre present. So Jeff's right: music players tend not to respect a composer/genre/composition cataloguing hierarchy -and Emby is accordingly in excellent company in also not doing so!

But, here's the thing. With the two Windows and Linux-based music players I've mentioned, I always got into the habit of changing the default sorting and grouping hierarchy. On Foobar2000, for example, I do a File -> Preferences -> Album List and add a new entry to the 'Views' section, like so:

Notice (in blue) how I've created a new view called 'By artist/genre/album...'? Once that's been created and saved, you can then return to the main music display folder and select the new view under the list of All Music, like so:

And bingo! Foobar2000 now organises by composer/genre/composition, just as my file system does. Strawberry can be finagled into doing the same thing, if you right-click the main display of music items, select 'Display options' and then choose Group by -> Advanced grouping:

Here, you get to choose which 'tags' to sort and group by -and remembering that artist=composer, and album=composition, you can select a three-level grouping hierarchy that eventually yields this:

Thus Strawberry is made to conform to the composer/genre/composition organising principle after all.

Now, I've known this for years (almost decades!). It's never been an issue for me to get a music player to display its own database of music in the same hierarchy as I physically organise the music files on disk. I've always known it's usually not right by default, but can be altered into being 'correct'. But describing this to Jeff made me realise: why I have I never taken the trouble to do this with Emby?! Why have I always just put up with the fact that Emby lacks the 3-level organisation principle every other player I use respects?

In my original reply to Jeff, I batted that issue aside with a casual "Emby doesn't [do the three-level hierarchy], which is a pain, but bearable, because Emby is not my priimary way of playing music". Which, as I've explained, is mostly true... but that reply bugged me for a while. It's too glib, too dismissive... and I shouldn't have to put up with an Emby failing if it's at all possible to tweak Emby like I can tweak Foobar2000 or Strawberry.

Well, hold the front page! It isn't possible to tweak Emby like this. It's a client-server application and simply doesn't have that sort of 'view customisation' built into it (which is bad, and it should have, and I hope the developers do it at some point in the future!). If you select the 'Artist' view to get all your composers displayed as the first hierarchy level, there is nothing you can do to get Genre displayed as the next level. This much I have known for years and, as I say, put up with.

But my glib answer to Jeff still bugged me and I accordingly decided to not use the Artists view. Remember, there are others:

The Albums, Composers, Genre and Songs views are of no interest to me. I don't want to see all my Symphonies listed together, for example, which is what the Genre view would do: mixing Beethoven's symphonies up with Mozart's, Haydn's and Elgar's and everyone else's is not going to help me find a particular symphony to play very easily! So, in desperation, I clicked the Folders view. And guess what? When you do that, Emby displays your music precisely as it finds it on the hard disk!

In other words, in my case, it first displays twenty six letters of the alphabet; click one of those and it displays all the composers whose names begin with that letter; click one of those and it displays all the genres that composer worked in, and finally, if you click a genre, you get all the compositions of that genre. Perfect! Emby now displays my music exactly as my file manager or any other music player does.

Putting it slightly differently: because my quick answer to Jeff displeased me, it prompted me to re-think the way I use Emby... and, in the process, I discovered that it already allows for displaying and organising music precisely as I do my physical files on disk. The physical model can thus match the Emby logical model exactly, and I can suddenly navigate my Emby library as effectively as I can do with a File Manager. Perfect!

Well... almost. There are 'issues' with switching views in Emby like this... but I'll leave that for my next post, as this one has gone on quite long enough! All I want to say by of conclusion is this: most music players (including Emby) do not organise or display classical music correctly in a three-way hierarchy, but all the ones I consider to be of sufficient quality to use as daily drivers (now including Emby!) can be tweaked and adjusted to organise and display classical music in a much more appropriate manner. In short: the nexus between physical and logical models that is so essential for navigating a large music collection does not have to be foregone, though you may have to hunt around in your favourite music player's options to find out how to achieve the ideal, effective non-default sorting/grouping order.