Moodify
(Não é mais mantido)
Um WebApp que usa um instantâneo tirado do usuário para detectar emoção e usar isso, gerar uma lista de reprodução de música adequada. Este projeto foi construído para o mês de código da ACM, codificação real realizada em cerca de 3 semanas.
Leia o artigo detalhado sobre a construção do Moodify aqui: https://medium.com/@ajay.ns08/acm-montho-ofcode-2k17-building-moodify-d5d9e0c52ca7
Implementação
A câmera, o tocador de música, os scripts para reconhecimento de emoções e banco de dados foram conectados e embrulhados em um webapp usando o Flask, usando rotas para usar o back -end como uma API enquanto o front -end lida com o usuário.
Sendo uma configuração experimental incorporada em um período tão curto de tempo, a interface e o fluxo do usuário exigiriam várias correções antes da implantação.
Instalação
Você deve ter o seguinte pré -instalado:
- OpenEncv
- MongoDB
- Arquivos de dados preditores do DLIB a serem colocados em dados/
- Os arquivos de dados do Haar Cascades a serem colocados em dados/
- Python 2
- Arquivos/mp3 e arquivos/IMG armazenam os dados da música e a arte do álbum
De preferência, configure um Env virtual e você só precisará instalar pacotes:
pip install -r requirements.txt
Verifique se você tem o MongoDB em execução para hospedar o banco de dados. Também execute um servidor HTTP simples para servir os arquivos/ pasta no localHost: 8000
cd files
python -m SimpleHTTPServer
Inicie o programa
Abra o WebApp do navegador no LocalHost: 5000
Tecnologias
Front-end
- AngularJS: JavaScript Framework para programar o tocador de música.
- Materialize: estrutura CSS para esfolar o aplicativo com base no design de materiais do Google.
- Webcamjs: Biblioteca JavaScript para captura de imagem
- Angular SoundManager 2: Adiciona funcionalidade de Music Player para AngularJS usando o SoundManager 2 API
Back -end
- Flask: Um Microframework for Python para construção de aplicativos da web
- OpenCV: Visão computacional de código aberto, usado aqui para reconhecimento facial, análise e identificação de emoções.
- Algumas bibliotecas de aprendizado de máquina usadas junto com OpenCV, como DLIB, Numpy, Scikit
Componentes individuais
- NG-MusicPlayer: O componente do Music Player construído em AngularJS e se materializa.
- PyemotionRecognition: o script usado para detectar o humor de uma imagem usando as bibliotecas OpenCV e Machine Learning.
- Pymusicmood: Para classificação automática de música em humores com base em parâmetros extraídos da API do Spotify.
- CAM-APP, PY-FLASK-WA: Código inicial na configuração do servidor CAM e Flask