Music collection frustration


I’m finally getting frustrated with the (FOSS) tools available for sorting a reasonable large digital music collection. Although I liked Amarok 1.x and think Songbird (it’s still in review in Fedora though, and now blocking on FE-Legal) is currently the best choice, these applications don’t offer me sufficient insight in my collection.

To briefly sum up the functionality I’m looking for and these applications to the best of my knowledge can’t do:

  • Connect with external metadata sources, like Discogs (this is really a must for me) and MusicBrainz
  • Store more metadata than the usual Artist, Album, Genre, Year. I want to be able to assign an album to multiple styles, for example: Ambient, Experimental, IDM. Just like they do on Discogs.
  • Support Labels! I want to be able to browse my collection by record label. Didn’t anyone think of this yet?
  • Have a two-stage import function. First, point to a directory that you’d like to import. Then present a screen that lists the artist / albums, make any corrections (or opt to import from external metadata sources) and then commit. My current database is a mess because of poorly tagged files.
  • Be able to model an artist hierarchy. For example: “Aes Dana” and “Solar Fields” are in the group “H.U.V.A. Network”, when I click “Aes Dana”, I also want to see his work for “H.U.V.A. Network”, so the application should understand groups and artist aliases.

Furthermore, this application should be accessible from anywhere, so I think it should be completely web-based. I think Songbird comes with a built-in webbrowser, so perhaps this could integrate nicely. Other ideas for the future: make a FUSE module to provide a virtual file system to the music database.

I’ve already written a data model in Django’s models.py, now I just need a name for the project (assuming that it will ever make it beyond the “good idea” stage)!

  1. #1 by Oliver at June 8th, 2009

    Ok but you need a mega awesome cross-reference search machine in there.

    Thinking, say I listen to Song X by Y on album Z. Now, Maybe I wanna know all albums that also have Song X on it. Or what about movies, which movie also used song X in it’s score :)

    Same goes for Y, what other songs did Y do that I have.
    Speaking of, maybe I wanna know not just the songs that I have, but possibly songs that aren’t in my db … so many idea’s.

    And then I’d want to have it work as a icecast source so i can stream it whever I am :D

  2. #2 by Herr Irrtum at June 8th, 2009

    Hi,
    Exactly anything you mentioned makes so much of a perfect sense. Anything! This would result in such a perfect freaky music desk…

    I really hope, that amarok and i.e. sunbird guys read this. The Label sort, the hierarchy network thing, the multiple style tags thing… soooo nice!
    And it’s not really so hard to implement: nothing more than a bit more digging into the database backend and enabling some more widgets to let the user use those new database parts.
    Of course it means work, but technically it is not hard. The most challenging part will be to create a good UI for it.

    BTW: I think that the cross reference thing Oliver mentioned is also a good idea. But: I fear it will get a bit out of hand, especially when it comes (again) to design a UI for it :)

    Anyway very good suggestions,
    regards,
    Herr Irrtum, Italy

  3. #3 by ejal at June 8th, 2009

    You might be able to take design and coding parts from the open source Jinzora project. (http://en.jinzora.com)

    I used it several years ago and believe it has significantly improved since then. Most of the requirements you state are already filled by the last version.

  4. #4 by anon at June 9th, 2009

    Store your data on the server, playlists and all, and play with a client.

  5. #5 by jasper at June 9th, 2009

    Yeah, that could be easily done with a separate Django application within the same project. And Ejal: thanks for the Jinzora suggestion, they already have that implemented, too bad I don’t like their data model. Their interface is nice though, and I’m not too big on that myself, so I might borrow some code there.

(will not be published)
  1. No trackbacks yet.