Possible Future Extensions
Andre Wiethoff <[email protected]> Mon, 04 May 2015 12:44:28 +0200
| Newsgroups | gmane.comp.audio.musicbrainz.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello everybody, I am Andre Wiethoff, the person behind Exact Audio Copy and Easy Audio Copy. My interest is mostly in audio and nowadays I also do quite some research on personalized music recommender systems. I came to the conclusion that only collaborative filtering will help most for producing good recommendations (for the time being). Even though AcousticBrainz produces impressive results, it is not yet up to be used exclusively for choosing a good playlist for the user. In my opinion, perhaps we will have in 10 years the analysis algorithms that are capable of producing results that are exact enough for productive use. It would create great value for the user if an application would be able to create a playlist for the given user depending on his preferences. Not only for streaming, but also using his local music collection. For now, the necessary data are all closed source, available only to the owning companies (and sometimes available as an API with big restrictions what to do with the data - some algorithms couldn't even be run if the database is not available completely, e.g. doing collaborative filtering with self-created algorithm is not possible with any of the APIs (as far as I know)). Users are submitting their information for free and the companies lock them away - there should be an open source counterpart to stop this closed information handling. (And of course such a database would need some lobbying work for the larger, commercial player companies like Sonos in order to add submission to their players). As a possible future extension it would be great if such information (e.g. scrobbling and, even more important, personal ratings of songs for each user) could also be stored in MusicBrainz. For that, a unique token per user need to be created (more or less automatically, should be easy for the user to create within any end-user application - that should be unique for all applications that the user uses). Creating such a token would be quite difficult when trying to do it the easy way (as when such a token already exists with one application, the other application need to retrieve that token without creating one first - this will help moving the personal information to a new player). And it should be easy enough that commercial player software/hardware would also be willing to implement it. Perhaps the best idea would be still to use Username/Password? Further, AcoustIDs should be used to unambiguously identify a specific song played (other metadata could verify the correctness of the assignment). Last.fm does scrobbling by metadata only (as far as I know), which might cause conflicts by different versions of a song (e.g. radio edit, live, etc.). Finally, the ratings should reflect various liking levels (I propose -2, -1, 0, 1, 2 - perhaps best displayed as thumbs up/medium up, etc.), as the more songs the user is able to rate, the better will be the results of the recommendation engine. If just offering thumbs up/down, people will not rate songs that are quite ok (and not rating a song should provide no (implicit) rating at all, as the user could e.g. let the songs play unattended). Of course at the beginning there will be no software which fills the database with information, but I think there need to be a framework first before some audio player would integrate the API to provide information about the songs a user plays (and hopefully likes or dislikes). Only after the database has been populated quite a bit, the player applications will receive something back for the submission of information. I would propose that also a baseline recommendation engine should be implemented in MusicBrainz, which can be called via API. Researchers or developers who want to create a better recommendation engines would be free to work on the full database and implement their own ideas. Of course creating a baseline recommendation engine is still a huge project, there are some shortcuts which would help creating playlists somwhat more easy... What are your thoughts on this? Thanks for your time! Best regards, Andre Wiethoff PS: I proposed to add AcoustID submission into EAC (submitting the fingerprints with each extracted CD together with the DiscID) already quite some time ago, directly to one of the developers (don't know anymore to whom), but didn't receive any reply. If something like this is interesting, please contact me (privately?).