Re: [Rhythmbox-devel] In the mood: predictive playback for Rhythmbox



On Thu, Jul 24, 2008 at 2:34 PM, giopas <linux giopas eu> wrote:
> Ok, after the entire night of populating inthemood database and some
> short tests, here my firsts commentaries:
>
> 1. with a huge music collection (> 150Gb), inthemood takes about 2.5
> minutes after playing each songs, in order to find the next one (not in
> predictive mode).
That seems *very* excessive.  I hadn't realized the matching program
was so inefficient!  With my database (~2500 analyzed songs) I can't
even measure the amount of time it takes with gprof, so I thought it
would be okay.  At least I know what needs to happen now.

> 2. after the begin of each song Rhythmbox GUI freezes for (at least)
> 5-10 seconds (all plugins are disabled except for Last-fm, that usually
> does not make Rhythmbox freeze, but I will try to test inthemood without
> it), I think in order to find next song

Again, this is one of those "should not happen" things.  I put in a
line to wait for the subprocess to finish because I was getting the
occasional zombie, but perhaps this is what's causing it to hang.
Perhaps try  commenting out the line 'fcompare.wait()' right at the
end of __init__.py?

> 3. I started from an HipHop song, and after 9 songs I listened Loosing
> My Religion! I know that it is not a "genre basis" similarities, but
> this result made me a bit surprised.

The similarity vector is mainly based on timbre (52/68 dimensions), so
it is mostly looking at the quality of the sound of the song rather
than the beat or anything else.  However, I have thought of the idea
of possibly modifying the weighting of the distance computation, so
perhaps this might be something I should consider more seriously.

> Here the list of songs (anyway, if Charlotte needs it, I can send him
> all .vec files in order to have a look at them):
>
>        Group                           Title
> a.      3ème Oeil                       La vie de reve grand tourism
> b.      Blankass                        Celui que j'aimefrancais
> c.      John Scofield                   Offspring
> d.      Michael Jackson feat. Wu-Tang Clan and Mobb Deep        Smooth
> Criminal
> e.      Guns'N'Roses                    Hair of the dog
> f.      Michael Jackson feat. Wu-Tang Clan and Mobb Deep        Smooth
> Criminal
> g.      Lord Kossity                                            Vanity
> h.      Sting & The Police                                      If you                                                  love somebody let them free
> i.      REM                             Losing my religion

The fact that you are getting duplicate results is not good!  Do you
actually have multiple copies of these repeated songs with slightly
different names, or is the same song being found twice?  If it is the
former, then I'm not sure what can be done - perhaps a more
intelligent exclusion filter.

> I've just done another test and here the results:
>
> a.      The Chemical Brothers           09. Hey Boys, Hey Girl
> b.      Chemical Brothers               hey boys, hey girl
> c.      The Chemical Brothers           Hey Boys Hey Girl
> d.      David Bowie                     Here comes the night
> e.      Real Life                       Send me an angel
> f.      Sum41                           Motivation
> g.      Patty Pravo                     A modo mio
>
>
> What I can see from this preliminary test is that:
>
> 4. control based on id3 tags in order to avoid to play the same song,
> does not work as expected (see first sequence with Michael Jackson), or
> is not so smart to understand that there is an id3 issue (see second
> sequence with The Chemical Brothers).

Again, with songs that are the same, but named slightly differently,
this will happen.  Maybe if I remove common modifiers like "The" and
such it will be a more robust filtering scheme.

> 5. as anticipated before, inthemood results surprised me a lot because
> it finds similarities between songs I'd really never suppose. :)

Another thing I should mention is that it only analyzes the middle 30
seconds of the song.  This was done to reduce the amount of time
required for analysis, but it is possible that it could pick up on a
segment that is actually quite distinct from the rest of the song.
I'm not sure how this could be improved while maintaining a tolerable
analysis time.

> However, this is just a 0.1 release... so I'm already waiting for next
> releases!

Thank you so much for your very detailed feedback!  I will continue to
work on this plugin (full-time for the rest of the summer even) and I
hope I can solve some of the issues that are appearing.

Charlotte


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]