[vlc-devel] Idea for GSoC 2010

Pranav Agarwal meetpranav123 at gmail.com
Mon Mar 22 02:01:49 CET 2010

Hello all,

Im Pranav Agarwal currently pursuing MSc Maths & BE Computer Science from
BITS, Pilani, India. I have an idea which i'd like to implement on the VLC
Media Player as a part of the GSoC 2010.

* Idea: *

The objective is to develop an application that creates a playlist of
audio/video files based on User’s Mood and the first song chosen to play, by
extracting certain attributes of music files automatically through Signal
Classification techniques or an Online metadata search procedure.

* Concept*:

Say a user has 100 songs in a directory that he adds to the media player as
a potential playlist. Assuming the directory has songs of different Genre, a
user might not be interested to listen to all the songs but a few which
suits his mood. The application does so by finding the similarity between
the songs on the basis of several features like frequency spectrum,
zero-crossing rate, tempo, beat strength etc through Signal Processing
techniques and help identify a potential playlist for the user depending on
the mood.
Moreover, the application depends on what according to user is Rock,
Classical or any other genre as according to one particular user, the song
could be a soft rock and according to someone else it could be a classical
one and since, there is no standard way of finding the Genre of the song,
User Perception plays an important role in categorizing songs. This kind of
a plugin to VLC could be added as another mode(something similar to the
Random Mode).

The first part of the project involves using the Signal Processing
techniques to find the attributes such as the spectral centroid, zero
crossing rate(both mean and standard deviation), beats per minute, beat
strength(both mean and standard deviation), tempo to find the hidden
attributes of the song and thereby calculate its distance from the other
songs in the list. By putting in a threshold, we can put the songs in an
order and thereby create an playlist depending upon the users's mood.
The second part will be to integrate it with the VLC Media PLayer.

*What I've done till now?*

I have presently written the code for finding the attributes (as mentioned
above) for any particular song in Matlab. I'd like to extend my project so
that it gets implemented on VLC and thereby relieve user's of constantly
clicking on a song from a list of songs.
the project that i have implememted has one limitation which is "extracting
the attributes for a mp3 file with size greater than 4MB."
I'm currently working on this part.

I intend to participate in GSoC and work with the VLC community and hope to
implement this feature on VLC. My programming skills are C, Ruby, Shell
Scripting. If this idea looks good, i'd like to know, what are the
programmable skills required?

Waiting for a reply, so that someone can guide me through as to how can i go
about working with it and take up this idea further.


Pranav Agarwal
meetpranav123 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20100322/3baaa753/attachment.html>

More information about the vlc-devel mailing list