Rockbox

Tasklist

FS#2564 - Audioscrobbler support

Attached to Project: Rockbox
Opened by Chester Rimmer (chester_rimmer) - Thursday, 07 July 2005, 12:05 GMT
Last edited by ruiner808 (ruiner808) - Tuesday, 06 December 2005, 18:29 GMT
Task Type Feature Requests
Category
Status Closed
Assigned To No-one
Operating System
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

To make Rockbox do two things:


1:
Log what songs I listen to, and then later be able to
upload that information to audioscrobbler. Quoting
Audioscrobbler's website
(http://www.audioscrobbler.com/help/):

"Audioscrobbler is a computer system that builds up a
detailed profile of your musical taste. After
installing an Audioscrobbler Plugin, your computer
sends the name of every song you play to the
Audioscrobbler Server. With this information, the
Audioscrobbler server builds you a 'Musical Profile'.
Statistics from your Musical Profile are shown on your
Audioscrobbler User Page, available for everyone to view.
With this information, Audioscrobbler is able to
automatically generate suggestions for new
songs/artists you might like. These suggestions are
based on the same principles as Amazon's "People who
bought this also bought X,Y,Z", but because the
Audioscrobbler data is what people are actually
listening to, the suggestions tend to make more sense
than Amazon."


2:
Use the information like Amarok (linux mp3-player).
Quoting a post by Peter van Hardenberg:

"Audioscrobbler is wonderfully awesome. It is tightly
integrated into amaroK, which if you are a Linux user,
kicks ass. You can enable an option which will append
Audioscrobbler recommendations to your playlists, so
you can queue up an album and when it ends, more
similar music will follow up. Last.FM (a sister site)
will create a custom streaming radio station from your
audioscrobbler profile, and the charts they generate
are just the bees knees."

Best regards,
Chester
This task depends upon

Closed by  Björn Stenberg (zagor)
Saturday, 05 August 2006, 07:52 GMT
Reason for closing:  Duplicate
Additional comments about closing:  Closing all feature requests.
Comment by ruiner808 (ruiner808) - Tuesday, 06 December 2005, 18:29 GMT

I would love to have audioscrobbler support! That would be
truly awesome. I would even be satisfied with a log of what
has been played so that I could have my desktop player
playback the same thing to submit to Audioscrobbler.


Here's my Audioscrobbler page:
http://www.last.fm/user/Ruiner808/
Comment by Chirag Mehta (ChiragMehta) - Tuesday, 28 February 2006, 15:09 GMT
I was thinking it maybe easier to log what has been listened to on a file such as playlist on the player. Then write a small Audioscrobbler standalone app that read this file and submitted it to audioscrobbler. From what I hear, a Protocol1 is used. I do not mind helping to develop this BUT i would not be able to do it by myself!! I would either work on the standalone app or the rockbox plugin.
Comment by kevin (pupil) - Saturday, 04 March 2006, 17:02 GMT
I would love fo rAudioscrobbler support with Rockbox. Please add this function somebody!
Comment by kevin (pupil) - Saturday, 04 March 2006, 17:02 GMT
I would love for Audioscrobbler support with Rockbox. Please add this function somebody!
Comment by gh (gh) - Sunday, 12 March 2006, 13:40 GMT
This feature would be great!
Comment by Mark (mlmurray) - Tuesday, 04 April 2006, 13:04 GMT
Here's my vote for this feature! Audioscrobbler + Rockbox would make my personal audio listening experience complete!
Comment by Christian Schönberger (bruder_s) - Monday, 17 April 2006, 12:03 GMT
I made a patch which keeps a log of played songs, both as playlist and plain text file (/history.txt & /history.m3u).
It stores only songs played longer than 2 minutes or 50% of the song's length.
Appends an option 'History' to General Settings|Playback.

I'm new to Rockbox-Development and hope I've done it right.
Tested on Nano / Nano-Sim / iPodVideo-Sim / H3xx-Sim / .

The part which has to be done now is submitting the text-file to Audioscrobbler.
I haven't checked what options are available, but a web-interface should do it...
Comment by Anton Romanov (theli) - Monday, 17 April 2006, 12:12 GMT
does rockbox with your patch stores timestamps (when song was played) ?
this is necessary for submitting ... also ... (from audioscrobbler docs)
* Each song should be posted to the server when it is 50% or 240 seconds complete, whichever comes first.
* If a user seeks (i.e. manually changes position) within a song before the song is due to be submitted, do not submit that song.
* Songs with a duration of less than 30 seconds should not be submitted.
* If a MusicBrainz? ID is present in the file (as defined here), then you should send it.

Comment by Christian Schönberger (bruder_s) - Monday, 17 April 2006, 12:34 GMT
does rockbox with your patch stores timestamps (when song was played) ?

yes (y-m-d h-m-s).

this is necessary for submitting ... also ... (from audioscrobbler docs)
* Each song should be posted to the server when it is 50% or 240 seconds complete, whichever comes first.

Currently 120 seconds but easy to change.

* If a user seeks (i.e. manually changes position) within a song before the song is due to be submitted, do not submit that song.

No. I'm not sure how to check this but I'll have a look at this.
Anyway, I think this applies more to players like Winamp/etc, where it's very easy to skip to the end of a song.
On a portable you have to hold FF for some seconds.
This makes 'cheating' more difficult (but not impossible) and I wouldn't have a big problem with that.

* Songs with a duration of less than 30 seconds should not be submitted.

I can add this check.

* If a MusicBrainz? ID is present in the file (as defined here), then you should send it.

I just read a short intro to MusicBrainz ID and as far as I understand it, a acoustic fingerprint of the file has to be created.
If this isn't implemented already in Rockbox, I don't have the time / knowledge to do this.
And I guess it would reduce the battery-life as well.
Comment by Christian Schönberger (bruder_s) - Monday, 17 April 2006, 13:23 GMT
Added checks for song-length >= 30sec and elapsed-time >= 240sec
As far as I'm concerned, the skpping issue can be ignored. If you want to cheat it's much easier to manually edit the generated textfile...
Comment by Anton Romanov (theli) - Monday, 17 April 2006, 13:29 GMT
well.. it's not about 'cheating' i suppose... it just about that if you have searched inside the song than you haven't realy 'listened' to it :)
Comment by Chirag Mehta (ChiragMehta) - Monday, 17 April 2006, 14:05 GMT
Now whats left is to figure out how to submit to Audioscrobbler!
Comment by Anton Romanov (theli) - Monday, 17 April 2006, 18:21 GMT
it would be nice to heave separate settings for txt and m3u history
Comment by James Lee (MrStaticVoid) - Wednesday, 19 April 2006, 04:27 GMT
Christian,

The MusicBrainz IDs are stored in the metadata of the file if it has it. Just for example, here is the metadata from one of my MB tagged files.

ALBUM = Camel
ARTIST = Camel
DATE = 1973-02-00
MUSICBRAINZ_ALBUMARTIST = Camel
MUSICBRAINZ_ALBUMARTISTID = 94b7a39b-f3cc-4796-90dd-b1786a62877e
MUSICBRAINZ_ALBUMARTISTSORTNAME = Camel
MUSICBRAINZ_ALBUMID = 9ef14bb8-e7c2-4fba-956d-dd1ddba060e5
MUSICBRAINZ_ALBUMSTATUS = official
MUSICBRAINZ_ALBUMTYPE = album
MUSICBRAINZ_ARTISTID = 94b7a39b-f3cc-4796-90dd-b1786a62877e
MUSICBRAINZ_NONALBUM = 0
MUSICBRAINZ_SORTNAME = Camel
MUSICBRAINZ_TRACKID = 773631c4-0e42-4c50-bda0-dee4e1faf084
MUSICBRAINZ_VARIOUSARTISTS = 0
TITLE = Slow Yourself Down
TRACKNUMBER = 1
TRACKTOTAL = 7

I can't wait to see where this patch goes. I'd love to have AS support.
Comment by Anton Romanov (theli) - Thursday, 20 April 2006, 13:08 GMT
well, i've written a python script which parses history.txt and sends data to audioscrobbler...
well.. the only thing is needed for me now is song length in seconds for last.fm to accept data...
Comment by Anton Romanov (theli) - Thursday, 20 April 2006, 13:09 GMT
also, there is similar work here
http://www.rockbox.org/tracker/task/5166
Comment by Christian Schönberger (bruder_s) - Thursday, 20 April 2006, 17:02 GMT
I have included the length.
Can't compile atm, because there's some error in a file, but it should be fine...

And I made a python submitter, too.
I'll have a look at the work done in the other task...
Comment by Christian Schönberger (bruder_s) - Thursday, 20 April 2006, 17:22 GMT
I looked at the code and it seems more complicated (but maybe better, I don't know).
Plus, you'll have to use the 'Audioscrobbler Software' - on the other hand, maybe you get rid of this problem:
As of now, it isn't possible to submit tracks which were played before another track which has been already submitted (i.e. play some song in winamp and try to submit your earlier-played songs).
I thought maybe I could use the timestamp of your most recent track in the profile.
Then I could start to submit all the tracks with fake timestamps and add the length of the song (until the current time is reached).
But the list of recent tracks cleans out after some time, so I guess it's impossible to do...

@theli
What ID do you use in your script?
I wrote a mail to russ (at last.fm) asking for general info and if he could give me an ID, but no answer yet...
Comment by Anton Romanov (theli) - Thursday, 20 April 2006, 17:33 GMT
1. i doubt this problem can be passed
1.1 it is not really out ... you can always receive latest's track timestamp
but i see this as a very bad solution ... better is just to send data from rockbox before listening to to other musci on pc :)
2. i use 'tst' ... this should be used for testing :)
(application/octet-stream)    bu (0 KiB)
Comment by Anton Romanov (theli) - Thursday, 20 April 2006, 17:36 GMT
strange ... i haven't uploaded anything ...
Comment by Christian Schönberger (bruder_s) - Thursday, 20 April 2006, 21:10 GMT
Ok,
just tried to read the recent tracks and noticed they were gone from time to time...

I use the same ID for testing, but I thought maybe you asked for an ID, too.
When I get the ID I can post my submitter, since they don't want code to be published with the test-ID.
I think we can built one script then and use this ID...
Comment by Anton Romanov (theli) - Friday, 21 April 2006, 05:41 GMT
i've haven't tried to asking for id yet cause we are just at the stage of testing..
you can contact me by email
theli at ukr dot net
so we can merge our submitters into one
Comment by Anton Romanov (theli) - Friday, 21 April 2006, 10:02 GMT
you've included album art for some reason in the patch ... please, remove it
Comment by Christian Schönberger (bruder_s) - Friday, 21 April 2006, 12:54 GMT
sorry, my fault
here's the patch again...

Loading...