Inspiration

The soundtrack of a movie is what makes it come to life. Until today, you've had to settle for having to manually cue your life's soundtrack from your Spotify playlist. Or worse, just imagining it in your head. With SoundtrackOfLife, the best song for your current emotion is automatigically played! (The added bonus of tracking your health stats and it being able to help identify potential health issues is just the cherry on top)

image

What it does

  • ECG/EEG sensors attached to a Raspberry Pi Zero measure your brain waves and cardiac data. From this, we determine your emotion as a coordinate on a valence/arousal map of emotions.
  • We map your Spotify library onto this emotion map and find the most suitable song for what you're currently feeling. It automatically plays on your primary Spotify device. We make sure that if a song was recently played, we play the next best fit song instead.
  • A React-Native app shows your current bio stats and emotion.

image

Seemo: A Computational Approach to See Emotions - Scientific Figure on ResearchGate. Available from: https://www.researchgate.net/figure/Core-emotions-established-in-the-circumplex-model_fig1_324664655 [accessed 20 Feb, 2022]

How we built it

image

We use an AD8232 ECG sensor and the Grove EMG detector as an EEG sensor, attached onto an ADC pHat for a Raspberry Pi Zero W 2.

Challenges we ran into

  • SSH'ing into the Raspberry Pi Zero was unnecessarily challenging due to Windows 10 driver issues
  • Soldering pins onto the wrong side of a board and needing to fix that
  • Getting Spotify Premium
  • Noisy brainwave signals - since the electrodes are placed on the forehead, they also pick up a lot of low-frequency noise from eyeball movement

Accomplishments that we're proud of

  • We have a working MVP!

What we learned

  • How to interface with the Spotify API in Python
  • Used Firebase for the first time
  • Calculating emotions reliably from brainwaves using really cheap hacky equipment is hard

What's next for SoundtrackOfLife

  • Tidying up loose ends - making the implementation more robust
  • Packaging up the wearable into something that looks less intimidatingly geeky
  • Adding interface to link Spotify account to the React-Native app

Built With

Share this project:

Updates