Inspiration
Often, people find it difficult to select the music that suits the atmosphere. There are always situations when people may feel a bit empty in life or afraid of awkward silences when meeting new people. As music lovers, we were inspired and decided to make MoodMix, a smarter music player that selects the appropriate song based on the surrounding environment.
What it does
MoodMix’s primary function is to randomly select and play a song for the user based on components of their environment: noise level and brightness. The device uses sensors to detect these two parameters and select a song from the corresponding library. Brighter environments lead to more upbeat song choices and vice versa, while noise level determines the volume at which the music is played. Additionally, the user has the option to skip the “recommended” song, at which point another song will be randomly pulled from the library.
How we built it
MoodMix uses the Arduino UNO and Grove light, sound, and touch sensors to collect information from the external environment. From the sound sensor: when the output analog value is detected to be > 8000, the device considers this a loud environment, and raises the volume of its song selection. Similarly, for the light sensor: MoodMix considers the user to be in a bright environment when the sensor outputs an analog value >500.
The code used in this project is a combination of C++ and Java (see linked GitHub repository).
Challenges we ran into
Some of the technical challenges we ran into include difficulty in data transmission, sensor ineffectiveness, and playing audio files through Java.
Accomplishments that we're proud of
When signing up for the competition, we were hoping to make something cool while learning more about hardware projects. Within such a short period of time, we have acquired so much new knowledge about using sensors with Arduino, playing audio files, coding using C++, etc. We have also become better at problem solving throughout the course of the competition. As a result, we are extremely proud of our team that we were able to produce the design starting from scratch.
What we learned
Through the hardware component of our project, we were able to gain hands-on experience with connecting sensors to the Arduino microcontroller and collecting input from the physical environment.
Through the software component of our design, we were also able to learn more about C++ and Java, as well as some interesting libraries we imported. Learning to play audio files through Java and programming on several platforms simultaneously.
What's next for MoodMix
Over the past 24 hours, we’re proud of how much we have been able to develop this design, given that this is our first Hackathon/Makeathon!
Moving forward, if we had more time to work on the project, here are some things we would be really interested in looking into:
- Making the design portable - requires processing on the device itself instead of through a laptop and integrating the sensors.
- Having more categories of music and moods.
- Incorporating machine learning - training AI to pick the right music for our environment based on sensor input!
Log in or sign up for Devpost to join the conversation.