View
17
Download
6
Category
Preview:
DESCRIPTION
Disasssertion report
Citation preview
1
Method & System for generation of music player recommendation
BITS ZG628T: Mid Semester Report
By
Mohit Tanwar
ID No. 2013HT12298
Dissertation work to be carried out at
Samsung Research Institute, Delhi
Submitted in partial fulfillment of
M.TECH. Software Systems degree program
Under the Supervision of
Pradeep Singh Panwar, Domain Lead, Media Solution Center, South West Asia
Samsung Research Institute, Delhi
BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE
PILANI (RAJASTHAN)
2
Birla Institute of Technology & Science, Pilani
Work-Integrated Learning Programmes Division
Second Semester 2014-2015
BITS ZG628T: Mid Semester Report
Details of Work Done:
Task 1:
Identification of Music/Song Parameters i.e. Metadata Identification related to
Music / Song / Audio MP3 file
Songs / Audio MP3 files can be downloaded from Applications like Wynk/Gaana/Saavn.
Reason for downloading Audio MP3 files from these applications is that these are white
label applications which have direct contracts with Studios like T-Series, Sony Music, Zee
Music Entertainment etc. Metadata tags provided by each MP3 are rich and full of data,
which can be used for extraction of meaningful data from these metadata.
Metadata provided by each application
1. Song Name
2. Album Name
3. Singer(s) Name(s)
4. Label Name
5. Music Director
6. Lyricist(s)
7. Cast (Actors)
8. Song Duration (MM:SS)
9. Album Duration (MM:SS)
10. Song / Album Image Artwork
11. Genre
12. Mood
Examples
Song
Name
Album
Name
Singers Label Music
Director
Lyricist Cast Song
Duration
Manali
Trance
The
Shaukeens
Yo Yo
Honey
Singh
Neha
Kakkar
Zee
Music
Yo Yo
Honey
Singh
Sahil
Kaushal
Akshay
Kumar
3:23
Touch My
Body
Alone Aditi
Singh
Sharma
T-
Series
Raghav
Sachar
Kumaar Bipasha
Basu
3:46
3
Now how can we obtain this data and store them. Well, there are many ways, but I
followed two ways.
1. Extraction of ID3 Tags from Downloaded Songs
2. Manually collect data for those audio mp3 whos ID3 Tags are not present.
ID3 Tags:
ID3 is a metadata container which is embedded with the MP3 audio file format. It has
information about song like title, artist, album, track number etc.
Extraction of these tags can be done using LINUX command line tool eyeD3.
MySQL Database:
In order to store these metadata, I have created simple Database with these tables.
Table1: Song Detail
Table2: Album
Table3: Artist
Table4: Genre
4
TASK 2:
Server application to provide REST APIs to access Songs Metadata and audio
file streaming.
Machine & Software Specifications:
CPU: Intel i3
RAM: 2GB
OS: Ubuntu 14.04 LTS
Java JDK 1.7
Apache Tomcat 7.0
MySQL
Spring 4.1
High Level APIs
1. GET /getSongsList
2. GET /song/{songId}
3. GET /artist/{artistId}
4. GET /album/{albumId}
5. GET /play/{url}
6. PUT /event/{type}
Developments of REST APIs are in progress.
TASK 3:
Android Application development for the following:
1. Render Songs List
2. Show Song Detail
3. Play Song i.e. Music Player
4. Show Artist
5. Show Album
6. Provide User Events
A development of Android Application is also in progress.
5
Plan of work :
Date Work Plan Status
15-01-2015 to 15-02-2015
Identify music parameters e.g. ID3 Tags, Genre,
Moods etc.
Design Server Application. Design Database for storing data.
Design Android application
DONE
16-02-2015 to 16-03-2015
Develop Server Application
Develop Android Application Analysis of data captured from an application and
implement cleaning and preprocessing algorithms.
Implement hypothetical model for algorithm/
solution to generate recommendations
IN PROGRESS
17-03-2015 to 30-03-2015
Perform test on recommendation generation and
correction of errors generated during the test run.
PLANNED
References:
1. http://www.gaana.com/
2. http://www.saavn.com/ 3. http://get.wynk.in/
4. http://en.wikipedia.org/wiki/ID3 5. https://spring.io/guides/gs/rest-service/
6. http://developer.android.com/index.html
http://www.gaana.com/http://www.saavn.com/http://get.wynk.in/http://en.wikipedia.org/wiki/ID3https://spring.io/guides/gs/rest-service/http://developer.android.com/index.html
Recommended