I recently finished a web development course and have been trying to come up with side projects to reinforce my learning. I was browsing beatport and decided to look at how their Stem Tracks player works and thought it'd be a fun challenge to see if I could recreate it (https://ryandejaegher.github.io/wavesurfer/).

I was surprised to see that the waveforms for each stem are actually just images of the waveform and not dynamically generated.

A quick google search for javascript waveform/audio analysis brought me to https://wavesurfer-js.org/. This could actually generate a waveform based on the audio loaded in the browser.

I made a quick and dirty version today but there's still some things that need to be added:

- Individual toggling of mute/solo for each stem
- Ability to click/scroll on any point of the waveform (right now you can only click on one, and that messes up the play order)
- Make it look nice!
- Use full song stems (currently using loops from Splice, which is why one stem ends faster than the others)

Let me know what you guys think. Screen Shot 2017-03-19 at 9.59.43 PM.jpg