Live data from Hacker News

The music classifying nightmare

blog.pkh.me

51–60 of 77 posts

Re: The music classifying nightmare

#51
Use hierarchical directories. They work. I sort my mp3's into two distinct music collections:

  /Albums/
  /Singles/
Then I sort by genre:

  /Albums/%GENRE
  /Singles/%GENRE
In Albums, I then sort by artist, then by album:

  /Albums/%GENRE/%ARTIST/%ALBUM/# - %SONG.mp3
Whereas in Singles, I organize by:

  /Singles/%GENRE/%ARTIST - %SONG.mp3
This system scales very well. I have a 100GB collection and can nail down any song or album in my collection in a few clicks.

Re: The music classifying nightmare

#52

Use hierarchical directories. They work. I sort my mp3's into two distinct music collections: /Albums/ /Singles/ Then I sort by genre: /Albums/%GENRE /Singles/%GENRE In Albums, I then sort by artist, then by album: /Albums/%GENRE/%ARTIST/%ALBUM/# - %SONG.mp3 Whereas in Singles, I organize by: /Singles/%GENRE/%ARTIST - %SONG.mp3 This system scales very well. I have a 100GB collection and can nail down any song or albu…

I can see few issues with this that wouldn't work with me:

1) How do you deal with songs that have multiple genres?

It is a standard part of the TCON (content type / genre tag) to separate multiple values through either coma, slash.

For example this allows you to select songs that are tagged as both 'Ambient' and 'Rock'.

2) how do you deal with album that has songs of varying styles?

For example: "Prodigy - Music for Jilted Generation" has a dance track like "Voodoo People", and a chillout track "3 Kilos"

http://www.last.fm/music/The+Prodigy/_/Voodoo+People/+tags

http://www.last.fm/music/The+Prodigy/_/The+Narcotic+Suite:+3...

3) Compilations

Let's say we have a compilation made by a group called 'Air'. This compilation is called 'Deck Safari'. Do you use Album Artist instead of artist if it is a compilations (aka: if TCMP flag exists, use TPE2 instead of TPE1?)

Checkout the album:

http://www.discogs.com/AIR-Deck-Safari-Part-1/release/215068

4) I don't understand how you handle singles.

Let's say you have a single ""Wamdue Project ‎– King Of My Castle"" released in 1999 by Urban (563 891-2). Your formatting doesn't store album at all?

http://www.discogs.com/Wamdue-Project-King-Of-My-Castle/rele...

And then, how do you combine it with the fact that a year later was a different mix released by Avex Asia Ltd. (AVTCDS-235) with different set of songs?

http://www.discogs.com/Wamdue-Project-King-Of-My-Castle/rele...

To me it looks like your singles folder is intended for random songs, not to handle actual CDS/CDM style singles.

Re: The music classifying nightmare

#53

Use hierarchical directories. They work. I sort my mp3's into two distinct music collections: /Albums/ /Singles/ Then I sort by genre: /Albums/%GENRE /Singles/%GENRE In Albums, I then sort by artist, then by album: /Albums/%GENRE/%ARTIST/%ALBUM/# - %SONG.mp3 Whereas in Singles, I organize by: /Singles/%GENRE/%ARTIST - %SONG.mp3 This system scales very well. I have a 100GB collection and can nail down any song or albu…

Yeah this is essentially what I did (before giving up and starting my own music database model and management software), except I have a few more collections (Albums, EPs, Singles, Live, Mixes, Best Of), no genre folder, and years/labels in the folder names..

Re: The music classifying nightmare

#54
post #10
post #4

Earlier quoted context omitted.

It's not irrelevant. If the exact same recording of a song appears on two albums, an ideal categorization system would allow it to appear as such without storing multiple (redundant) copies of the song. An easy way to think of it is a normalized relational database. If the song has an id of 5 and is on two albums with id 2 and 3, then there would be an AlbumSong join table with schema (album_id, song_id) and two rows…

> If the exact same recording of a song appears on two > albums, an ideal categorization system would allow it to > appear as such without storing multiple (redundant) copies > of the song. I don't agree. The song was released twice; if you have both albums, you ought to have two copies of it.

Blue Oyster Cult are one of my favorite bands. I have many of their "greatest hits" albums because they release one every few years, and frequently there will be a few previously unreleased tracks that are worth having.

This means that in my iTunes library I currently have seven copies of Don't Fear the Reaper. Three of these are copies of the studio version. Incidentally, I hate this song, and though I think you're right and I should have two copies of the song, I can't help but react with mild revulsion whenever I realize I'm going to be hosting yet another copy of it.

Again, I think you're right, and it's not particularly meaningful to worry about the extra ~100 MB of space they're taking up (ALAC format), but it's an annoyance.

Re: The music classifying nightmare

#55
post #27

This sounds like exactly the kind of problem that relational databases were designed to solve. You can organize it with an entity-relationship model fairly easily. Once you have stored your information in a database, the filename doesn't really matter as long as each mp3, ogg, etc. gets a unique name; you can look up the file by querying the database for files that have the properties you care about.

This isn't something that relational database fixes. It is about schema and data tagging. It can all still sit in ID3v2 tags, as long as people use all tags properly. The problem is that most tags are badly written, and most software that displays songs only displays bare minimum. Typically tags I miss seeing: Style / Moods / Genres / Composers / Performers. Even Album Artist or Compilation tags are bad. Same with so…

I think Figs is onto something though: the OP is clearly worrying about how to stuff all this information into the filesystem, and the plain fact is that while all of the information needs to be accessible beyond the database, either in the hierarchy or in the tag embedded in the file itself, a lot of that information is not structured in a manner conducive to access via those two rather limited methods.

For the sake of argument, let's be platonic idealists for a second and say that a song is a concept and the files are simply recordings of performances—they're not "songs" at all, per se. Say I play "Black Betty" by Lead Belly. I get curious about the song, so I want to hear other versions of it. There's no way to express this data in ID3 or through a naming convention—it's just a reference to a concept that has no existence in a pile of MP3s—and it's hard to imagine a linking regime that would be maintainable. To do this, you need a place to put metadata that isn't attached to the files themselves, which can point to them. Note that this kind of scenario is not outside the OP's scope: they say in the article they are interested in providing all music to everyone, so these kinds of relationships would need to be documented and searchable.

I personally think a relational database is a fine tool for this problem, but lately I've been looking at RDF for things and I think RDF might be an even better choice, since it's really designed for metadata description, ontologies (like music categorization) and graphs. I think it would turn out to be a ton of work, but I think it would satisfy many of the requirements.

Re: The music classifying nightmare

#56

Use hierarchical directories. They work. I sort my mp3's into two distinct music collections: /Albums/ /Singles/ Then I sort by genre: /Albums/%GENRE /Singles/%GENRE In Albums, I then sort by artist, then by album: /Albums/%GENRE/%ARTIST/%ALBUM/# - %SONG.mp3 Whereas in Singles, I organize by: /Singles/%GENRE/%ARTIST - %SONG.mp3 This system scales very well. I have a 100GB collection and can nail down any song or albu…

I can see few issues with this that wouldn't work with me: 1) How do you deal with songs that have multiple genres? It is a standard part of the TCON (content type / genre tag) to separate multiple values through either coma, slash. For example this allows you to select songs that are tagged as both 'Ambient' and 'Rock'. 2) how do you deal with album that has songs of varying styles? For example: "Prodigy - Music for…

1) How do you deal with songs that have multiple genres?

In "Singles" I sometimes copy individual MP3's into both Rock and Metal. It comes up less often than you'd think.

2) how do you deal with album that has songs of varying styles?

I just pick the one genre that makes the most sense. As long as I know, or can quickly find which genre an artist is in, that's what matters. How long does it really take to check if I put an AC/DC album in Rock, or Metal?

3) Compilations

I either place it in /Albums/Soundtracks (if it's a soundtrack), or make a "Various Artists" directory in /Albums/Electronic or whichever genre makes sense. Almost all of my compilations are dance or electronic music.

4) I don't understand how you handle singles.... To me it looks like your singles folder is intended for random songs, not to handle actual CDS/CDM style singles

I actually removed most of the EP's and CDS rips from my MP3 collection because I found I never listened to them. I would take the individual MP3's that I really liked and placed those into my /Singles/ directories. Otherwise I could treat them just like I do my Albums.

Re: The music classifying nightmare

#57

Earlier quoted context omitted.

I can see few issues with this that wouldn't work with me: 1) How do you deal with songs that have multiple genres? It is a standard part of the TCON (content type / genre tag) to separate multiple values through either coma, slash. For example this allows you to select songs that are tagged as both 'Ambient' and 'Rock'. 2) how do you deal with album that has songs of varying styles? For example: "Prodigy - Music for…

1) How do you deal with songs that have multiple genres? In "Singles" I sometimes copy individual MP3's into both Rock and Metal. It comes up less often than you'd think. 2) how do you deal with album that has songs of varying styles? I just pick the one genre that makes the most sense. As long as I know, or can quickly find which genre an artist is in, that's what matters. How long does it really take to check if I…

I guess I enjoy putting more tags into collection. I try to fit few from last.fm , and few that came with the tagging. So a single track can have multiple tags (I think I average 10 tags per track). It is normal to have things like like 'Symphonic' and 'Rock' and '80s' and 'Krautrock' as separate tags on one song. Or in case of some electronica (like ones found at http://ektoplasm.com ): 'IDM', 'downtempo', 'goa', 'psy-dub'.

For compilations I try to keep track of who made compilation, especially if it is a mix by a DJ. I do have many that are just VAs too.

In the end, I have three types of music plays:

- everything by an artist -- this is why I keep CDS / CDM / EP to have remixes, and to track them with covers, etc

- specific album -- this works great for movie scores, or albums that have songs tailored to go one to another (Jean Michelle Jarre work from 70s and 80s is awesome in this)

- party mode -- something like pandora -- last.fm is queried about tracks similar to current one (and past one), and sets up playlist of similar songs to play. See http://forum.xbmc.org/showthread.php?tid=83915

Re: The music classifying nightmare

#58
post #29
post #19

Oh god, I tried renaming files on my own (and I'm kind of a beginner programmer). Then I found out about unicode problems and then came 2 problems. problem #1 was apparently I set the encoding wrong while renaming the ID3 for the music files so the foreign languages turned into question marks. I thought scratch that, time to use someone else's tool. foobar2000 solved everything I had a problem with except problem #2.…

This is the shitty python script I use to organize music, which seems to work pretty well except in one case[1]: https://gist.github.com/3681165 . For the love of god, try it on a small sample of your music or it will wreak all kinds of havoc and you will yell and curse my name. What it does: takes a directory of folders with MP3s, and makes them into the a directory of folders like yourdir/[ARTIST]/[ALBUM]/[TRACK No…

That's nice, thanks for sharing. I used exfalso, for which mutagen was written, to build a similar directory structure for my music. Mine was "Audio/[ALBUM_ARTIST]else[ARTIST]/[ALBUM]/[TRACK 00]. - [TITLE].mp3" The one thing it did that your script doesn't is it will enter TPE2 if present and backtrack to TPE1. And similar considerations can be entered for adding a disc prefix for multi disc albums. (Since that anachronism is still relevant.) The only problem was I needed to go back through and delete a bunch of empty directories.

Re: The music classifying nightmare

#59
post #15

You're making the problem a lot harder than it needs, or ought, to be. The most telling example, IMO, is the Aphex Twin one... > Oh, and his real name is Richard David James. What are you > supposed to use for the file system directories and files > name? His name? The most common nickname? Both? One file > system solution is to have symbolic links (do you link > Richard David James to Aphex Twin, or vice versa?). Fo…

No need to link artist names in this case. Just specify "Richard David James" as composer.

Re: The music classifying nightmare

#60
There seems to be confusion between the filesystem and the metadata.

The filesystem is for storage... it's only important to be able to group tracks together in small batches (releases - albums/singles/EPs) to be able to manage the files

The metadata is for searching, grouping and locating in your music player.

With that in mind, a lot of the problems he's cited vanish.

I have ~84,000 tracks from over 6,000 albums. The result of a 5 year ripping spree after a decade worked in the music industry.

Every track, with no exception, has been scanned by MusicBrainz Picard, had it's PUID generated and meta data normalised.

I've allowed my definition of genre be influenced by general opinion... I simply learned how the mass tag things.

The result is that I can find everything in my interface (Squeezebox) within seconds.

The file storage I only need to care about for management of the files, and copying to my portable player or deleting old releases (which I do rarely, but it does happen).

The file storage starts with file type:

MP3|FLAC|FLAC_9624

Below those are folders for high level type of content:

Artists|Classical|Spoken Word|Compilations|Soundtracks

Within Artists I used

Artist/Release Name[ - Catalogue Number]/[Volume/][Media/]Track Number - Track Name

I only fill in catalogue number if I have two versions of the same titled release... i.e. Quadrophenia by The Who I have a couple of versions of.

I only fill out Volume if this is a multi-volume release.

I only fill out Media if this is a release that spans multiple CDs or DVDs.

So the short version of that might be:

FLAC/Artists/The Who/A Quick One/02 - Boris the Spider.flac

And a long version might look like:

FLAC/Artists/The Who/Quadrophenia - Polydor 2777840/CD2/01 - 5.15.flac

I have no problem at all storing and finding tracks, and I've no problem at all searching for tracks.

One of the good things about Squeezebox is that when you search it searches all metadata and the full file path. So a search for "quadro poly" would turn up the Polydor version of Quadrophenia.

Post reply on HN