When it comes to music, people favor different elements of a song which makes them  have a certain feeling of that song. Which is exactly why my class is creating a program which recommends people a song that they like based off of the elements of a song that they like.

For instance, I like the song Nights by Frank Ocean because of the catchy tempo and bass of the song. Personally I think the tempo, bass, and also how catchy of a song makes it good music.





My class defined a song by using the following components:


A string given by the user (What is the title of the song?)


A string given by the user (Who is the performer of the song?)


A restricted string that provides genres that you can only pick from. (What is the genre of the song?)

  1. Blues
  2. Classical
  3. Country
  4. Electronic
  5. Folk
  6. Hip Hop
  7. Jazz
  8. Latin
  9. Pop
  10. Reggae
  11. Religious
  12. Rock
  13. RnB
  14. World
  15. Other

Sub genre

A string given by the user (What is the sub genre of the song?)

Primary Instrument

A string given by the user (What is the main instrument in the song?)


An integer (On a scale from 1-10 how important are the lyrics to the song?)


An integer (On a scale from 1-10 how strong is the bass in the song?)


An integer (On a scale from 1-10 how fast is the song?)


A restricted string providing options for user to pick how the song makes them feel.

These options are:

  1. Happy/Joyful
  2. Sad
  3. Romantic
  4. Angry
  5. Chill
  6. Motivating
  7. Compassionate
  8. Humorous
  9. Enlightening
  10. Confused
  11. Passionate
  12. Hype
  13. Grace


Example of song data

Title                                                                                Performer                                     Genre

Violet Hole rock punk guitar 4 6 4 sad
Day ‘N’ Nite (nightmare) Kid Cudi hip hop alternative hip hop drum machine 4 4 5 chill
Slide Calvin Harris electronic synthpop piano 5 5 7 joy
DYWM NAO electronic synthpop guitar 5 5 8 romantic
Super Rich Kids Frank Ocean RnB neo soul piano 5 7 9 chill