EmotiChords uses machine learning to analyze the emotion of a written piece of text and plays back that emotion as a musical chord.
An bidirectional LSTM model trained on Google's GoEmotions dataset extracts the emotion of the input text.
Then, a rule-based algorithm retrieves the emotion's respective musical chords according to this chart . The final chords are synthesized using digital signal processing techniques.
main.py -t 'This is great news!'
Note that upon first usage, EmotiChords needs to train the internal classifier, therefore taking some time before being ready. For subsequent runs, the process only takes one or two minutes.
- tfds-nightly
- tensorflow
- keras
- numpy
- scipy
- pygame
- librosa