About Ambix
overview
Ambix enables you to mix ambient soundscapes over Spotify music playback. Take your favorite music on an adventure through different environments by selecting and layering an ambient track to augment your listening experience. Mix and match to create your perfect atmosphere for work, study, and play.
The music player is enabled by the Spotify Web Player API. Log in to your Spotify client and then use those same credentials to authorize Ambix. You can then select Ambix as your playback device from your Spotify client/app and get to mixing. The ambient tracks are powered by YouTube videos (there's a practically endless collection of them online). If you find a YouTube video with an ambient soundscape you enjoy, add it to Ambix by clicking the 'plus' button in the Ambient Mixer and provide the link to the YouTube video.
This project was a lot of fun to work on and really resonated with my previous background in sound design for live-performance. This is a project that I actually use on a regular basis to get myself into a flow mindset when working.
Deployed Site: Pending RedeploymentGitHub Repos: https://github.com/ambix-org/
Tools: node
, react
,
express
, nginx
, pm2
,
superagent
, sass
APIs: Spotify Web Playback SDK,
Spotify Web API,
YouTube IFrame Player API
challenges and successes
Implementing Spotify's OAuth2 code flow for authorizing the Spotify Web Player SDK |
Creating a custom function for the volume sliders that complements human hearing with an exponential curve to give the perception of linear progression |
Dynamically dimming and illuminating UI elements based on the state of the Spotify Web Player and the YouTube IFrame |
Utilizing YouTube's IFrame Player API to play ambient tracks on the page without displaying the associated video |
Providing the ability to modify your collection of ambient tracks and preserve them using local storage |