Review Paper on Facial Expression Based Music Recommendation System

: Music plays an important role in one's life, the tone of music helps to heal the pain and it also helps to enjoy moments. We have different song lists depending upon the mood. But there are no such tools that can be used as an emotion-based music player that detects the emotion of the person and plays music according to the mood. The proposed system is Emotion Based Music Player using Python and Machine Learning.


I. INTRODUCTION
Human mood changes every minute and the reason can be anything depending on the current situation.It is very important to detect human mood automatically because it can help other people to recognize without asking.People love to hear songs in every mood like he/she is feeling happy the choice of the songs would be pop and party songs whereas when feeling sad they switch to emotional songs or soft ghazals, but the problem is that they own have to operate the music system and play songs according to their mood which is not a good idea as no one likes to waste time on searching for a particular song in that mood.Many of the music players are available in the market like jio saavn, gaana, vynk etc., but none of these have a feature of recognizing mood and then playing songs according to it.That is why the Emotion Based Music Player is proposed to fulfill the drawbacks of the current music players.Python and Machine Learning are used here to recognize the mood or emotion of the person standing in front of the camera.Then the song will be played automatically.
Nitisha Raut et al.,[1](2018), in her paper, explore a couple of machine learning algorithms as well as feature extraction techniques that would aid us in the precise identification of human emotion.Detection of any apperception by machine learning requires training algorithms and then testing them on a felicitous dataset.
Ankita Mahadik et al.,[2](2021), a mood-predicated music player is engendered which performs authentic-time mood detection and suggests musical compositions as per detected mood.This becomes a supplemental feature to the traditional music player apps that come pre-installed on our mobile phones.A consequential benefit of incorporating mood detection is customer gratification.The objective of this system is to analyze the utilizer's image, soothsay the expression of the utilizer, and suggest musical compositions congruous to the detected mood.
Zeynep Inanoglu,Ron,et al.,[3](2018), is about emotion detection in voice from voice mail messages.Three variants of the training set viz. PhoneShell messages, call home Corpus, Oasis database were utilized.Feature vectors are trained utilizing HMM (obnubilated Markov models) emotion-sagacious.They have additionally used Gaussian Cumulative models and Zwicker's models for loudness.
J. Nicholson et al.,[4](2020), paper presented emotion extraction on textual data.The author proposed the emotion detector algorithm which gives weight to each emotion word with the avail of traversing and parsing the emotional ontology.The emotional class with the highest weightage in the final emotion of the corresponding text data.
Ameeta Agrawal et al.,[5](2019), a separate compilation model (SMM) is utilized to find the homogeneous attribute between input sentences and EARs.Maximum probability shows the emotional state of the input sentence as blissful, woeful, or neutral.Unsupervised emotion detection utilizing semantic and syntactic cognations is explored.
Samira Pouyanfa et al., [6](2019), authors utilized a two-level classifier the process of which could be briefly summarized in three steps: 1) Extracting most opportune features from pieces of music in the database to describe each music musical composition; 2) Applying feature cull approaches to decrement correlations between features; 3) Utilising SVM classifier in two-level to train these features.Conclusively, we incremented the precision rate from 72.14% with simple SVM to 87.27% with our hierarchical classifier.

II. METHODOLOGY
Here in this project a music player using facial expression is proposed with the help of technologies like python and machine learning.As these two technologies have the capability to fulfill the needs of this project and hence are selected Below is the block diagram which shows the concept of the project via blocks.1. Firstly the user will put his/her face in front of the webcam.2. Then the webcam will capture the image of the user.
3. After that detection process will take place.4. Then the emotion of the user will be recognized.5.And lastly, the system will recommend and start playing the song according to the user's mood detected.
6.The process of capturing images and detecting moods will continue till the system is turned off.Many logics, algorithms, and libraries are used to implement this project and are discussed in the next chapter.

III. MODELLING AND ANALYSIS Input Data:
Data can be in any format like in this project the input data is in picture format and the data is taken through the webcam of the system and stored for further processing.

RGB to GrayScale Conversion:
After data input, the image should be converted into GrayScale to optimize the actual expression in the image.

Feature Extraction and Background Removal:
In this project, background removal is a must as this will enhance the quality of the image and helps in detecting emotion clearly.

Training and Testing:
This process includes training the machine through different datasets so that expressions can be recognized quickly from any phase of the image.

Facial Expression Recognition:
The main purpose of the system is to recognize facial expressions and the classification is done using SVM and CNN algorithms.The working of the recognition module is explained below in brief.
www.ijarsct.co.inImpact Factor: 6.252The development of technologies and their integration with hardware and software has become the main adoption method for sundry projects predicated on CNN (Convolutional Neural Network), especially for the image relegation process.In this paper, fundamental concepts of CNN are studied for the downsampling function in OpenCV to process the picture.In the above figure first, the image is taken as input in the system, after that, a haar cascade classifier (machine learning object detection program) is applied to detect objects in the image.Then the image is cropped so that the unwanted background should be removed.And then the cropped image is converted from RGB to grayscale and also resized in a 64*64 frame.All the internal operations of CNN like applying a convolutional layer of 2*2 to the image, max pooling layer of 2*2 is applied for generating the final classification result.Lastly, the result of the classification is shown as sad, happy, neutral, angry, etc.

Support Vector Machine Algorithm:
The SVM is a classifier used to classify different expressions and emotion states like sad, happy, anger, fear, neutral, etc., from a Berlin emotional database that gives almost 93.70% accuracy.The relegation task is simply to determine which side of the hyperplane the testing vectors reside in.Minimizing the structural risk abbreviates the average error of the inputs and their target vectors.In the description that follows, training data are relegated to binary classes.1.The system will capture an image or run a live video using a webcam and store it for feature extraction and background removal.2. Secondly, the captured input will now go through the feature extraction process as well as for background removal so that the result can be obtained easily.3. Now the main part will be executed here, which is to classify and recognize facial emotions and expressions using CNN and SVM algorithms.4.After the classification, the result will show whether the user is happy, sad, angry, neutral, etc.

Figure 1 :
Figure 1: Block Diagram As shown in the figure steps as defined as:1.Firstly the user will put his/her face in front of the webcam.2. Then the webcam will capture the image of the user.3.After that detection process will take place.4. Then the emotion of the user will be recognized.5.And lastly, the system will recommend and start playing the song according to the user's mood detected.6.The process of capturing images and detecting moods will continue till the system is turned off.Many logics, algorithms, and libraries are used to implement this project and are discussed in the next chapter.

Figure
Figure 2: Flow Chart

Figure 3 :
Figure 3: Image Classification using CNN AlgorithmIn the above figure first, the image is taken as input in the system, after that, a haar cascade classifier (machine learning object detection program) is applied to detect objects in the image.Then the image is cropped so that the unwanted background should be removed.And then the cropped image is converted from RGB to grayscale and also resized in a 64*64 frame.All the internal operations of CNN like applying a convolutional layer of 2*2 to the image, max pooling layer of 2*2 is applied for generating the final classification result.Lastly, the result of the classification is shown as sad, happy, neutral, angry, etc.