Review Request: MusicBrainz and MusicDNS services support implementation

Daniel Dewald Daniel.Dewald at time-shift.de
Sun Sep 26 18:12:14 CEST 2010


On Sunday, 26. September 2010 15:46:25 Stefan Derkits wrote:
> Hey,
> it would be cool to combine the Efforts and think about how to best
> implement Audio Fingerprinting and automatic "guessing" of Tags (be it
> from last.fm or be it from MusicBrainz, the more the merrier ... or?? :) ).
> 

I'd rather recommend against two seperate solutions here. Especially if we 
want to use fingerprints in the Collection. Could get quite some mix up. I 
discussed the musicbrainz vs. liblast.fm stuff in IRC before starting the work 
on the last.fm fingerprinting. As far as I can tell most people agreed that it 
should be last.fm and that using phonon to get the audio data would be the 
only way to ensure that EVERY kind of audio we can play can also be 
fingerprinted (technically this way you could even fingerprint streams to get 
the data / tags of the current song). I'm not sure how all the other devs 
think about this though.

> Sergey, your Code generates the Fingerprints on Demand ... I don't know
> how Daniels Implementation with liblastfm does it ... but wouldn't it be
> better to integrate the Fingerprinting Functionality into the Collection
> Scanner and automatically generate a Fingerprint for all Files and save
> them in the Database?

The problem with phonon is that (at the moment?) it doesn't push the audio 
data faster if only an audioDataOutput is connected. So basically you get the 
fingerprint in a very slow time (liblast.fm needs only some seconds of audio 
to generate a fingerprint.. but phonon has to "play" the song in normal 
speed). For the collection scanner this is (at the moment) not practically.

> Because as long as the Audio in the File doesn't change (which rarely
> happens for Audio Files :) ) the Fingerprint is the same.
> 
> Also my Idea would be to see an Audio Fingerprint as a Tool to Manage
> your Collection and not only to get Tags.
> 2 Examples of Managing Functionality I have in my Mind:
> -) check if the exactly same Song exists more then 1 Time in your
> Library (so that a User could decide to delete the Duplicates)
> -) check for Songs that have Errors (no Idea if Fingerprinting is up to
> that, should play around with it a little bit more :) )

My whole code was build around this Idea. Because of this I made a library out 
of the last.fm fingerprinting code so that every part of amarok can easily use 
it. The tag guessing part from my code is just meant to be ONE of many use 
caeses. There is a (rather old) merge request in gitorious from my code if you 
want to have a look (http://gitorious.org/amarok/amarok/merge_requests/152).

> 
> Just some Ideas, also I'm offering my help to think about the Use Cases
> of Fingerprinting and trying to design the User Interface and additional
> Features.
> 
> Stefan

Daniel

> 
> > Hi,
> > 
> > Sorry to get into this discussion so late. I was in Switzerland ;o).
> > LibLastfm Fingerprinting support using phonon as audio source was
> > already implemented by me and works 50% of the time with xine backend
> > (the other 50% it crashes). The crashing most definitely comes from xine
> > which is somewhat unstable if used with multiple threads as far as I can
> > tell. Otherwise my implementation works just fine. The VLC Backend is
> > not yet up to the task (no working audioDataOutput as of yet). As soon
> > as it is and I can get it stable in most used Backends it will be
> > pushed.
> > 
> > Greetz
> > 
> > Daniel
> > 
> > 
> > 
> > _______________________________________________
> > Amarok-devel mailing list
> > Amarok-devel at kde.org
> > https://mail.kde.org/mailman/listinfo/amarok-devel
> 
> _______________________________________________
> Amarok-devel mailing list
> Amarok-devel at kde.org
> https://mail.kde.org/mailman/listinfo/amarok-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2921 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/amarok-devel/attachments/20100926/f4e11f36/attachment.p7s 


More information about the Amarok-devel mailing list