Music Listening App final year project for BSCS BSIT MCS BSSE

Music Listening App final year project for BSCS BSIT MCS BSSE

Project Domain / Category

Mobile Apps

Abstract / Introduction

The proposed mobile app allows users to tailor their music listening experience using the metadata. Each song has its associated metadata (for example, the album of the song, year of release, genre, tempo and artist, etc.). The user will have to provide the metadata of a song while saving it into its music library.

While listening to music, the app will automatically select the next song based on the user’s preferences (the values of metadata selected).

For example, a user may select that I want to listen to fast music released in 2017 then the app will automatically select the next song that is fast and is released in the year specified.

Functional Requirements

  1. The user will be able to add a new song to the library (in the app) by providing the following metadata regarding the song:
    • Artist(s)
    • Year of release
    • Album of the song
    • Genre
    • Tempo
  2. While saving a new song in the library, the user will select one or more artist(s) from a list of artists already present in the database. If the artist(s) of the song is/are not already present in the database then the user will first add the artist(s) in the database. Now the new artist(s) will also appear in the list and user can select it/them.
  3. While saving a new song in the library, the user will select an album of the song from a list of albums already present in the database. If the album of the song is not already present in the database then the user will first add the album in the database. Now the new album will also appear in the list and user can select it.
  4. While saving a song, the user can select one of the following as its genre:
    • Rock
    • Folk
    • Pop
    • Jazz
    • Classical
    • Hip hop
  5. While saving a song, the user can select one of the following as its tempo:
    • Slow
    • Mildly slow
    • Moderate
    • Slightly fast
    • Fast
  6. While listening to the music, the user must be able to select metadata values that are relative to the current song or some absolute values.
  7. When the user selects the metadata values that are relative to the current song then he/she can select:
  8. Next song should be either of the same artist(s) or of a different artist(s)
  9. Next song should be newer or older (determined by the year of release)
  10. Next song should be of the same album or from a different album
  11. Next song should be of the same genre or of a different genre
  12. Next song should be faster, slower or of the same tempo as the current song
  13. When the user selects an absolute metadata value of the song then he/she can select the exact values of:
    • Artist(s)
    • Year of release
    • Album of the song
    • Genre
    • Tempo
  14. The application must automatically determine the next song to be played on the basis of the metadata values selected by the user. For example, if a user has selected particular values of metadata and only three songs in the library match these metadata values then the songs will be played in the following order:
  15. Song 1
  16. Song 2
  17. Song 3

After song 3, song 1 will be played again. This cycle will continue until the user changes metadata values.

Tools:

Android