Inspiration

The inspiration for this project came from algorithms on music streaming platforms. Spotify and Apple Music both utilize algorithms that recommend playlists that have a certain mood or emotion associated with the songs, and we wanted to mimic this algorithm without a person to individually tag all the songs.

What it does

The algorithm uses a spectrogram to analyze the frequency and amplitude of audio input and output a categorization of the song as one of three moods: happy, sad, and calm.

How we built it

We used spectrogram.py library to convert audio wave files to spectrogram images. Then, we passed in a dataset of 100 songs labeled as either happy, calm, or sad. Using Google Cloud AutoML, the trained model predicts the mood of new song input based on a comparison between its spectrogram image and the training dataset.

Challenges we ran into

Adapting to new technologies and tools such as the Google Cloud AutoML and Spectrogram conversion algorithm.

Accomplishments that we're proud of

Clear distinctions visible between spectrogram images per mood

What we learned

How to learn and use new technologies in a short amount of time, working on a time crunch, developing both front and back end for an application.

What's next for moodsic

Functionality: moodsic is an avenue to feed in musical audio input and output a mood categorization for each song. Usage: users feel noticeably different after listening to a song recommended by our application.

Video (would still be updated)

https://streamable.com/blt99

Built With

Share this project:

Updates

Submission history