Inspiration

https://www.youtube.com/watch?v=ZhXsKFuF1GQ Seeing the large possible market (judged by the youtube comments) we decided to make this a reality.

Demo

https://www.loom.com/share/207a31b525d645d8946aeb3cf4ea6f6a?sid=6fc58121-a886-42d8-a321-f91887955fd5

What it does

The user's .wav file is converted into a pulse code modulation array and plotted, then rotated about the origin. Depending on the angle, the frames are merged together and and then played left to right.

How we built it

Using a react frontend and a flask backend connected with an axios api.

Challenges we ran into

The audio quality is terrible at any angle other then 180 and <1. This is probably due to the fact that the rotated PCM points play left to right indiscriminately, and since theres no correlation it sounds like white noise. Also since the amplitude constructively interferes at non-zero angles instead of destructively interfering, the volume sounds really bad.

Accomplishments that we're proud of

Making a low-key sexy front end. And getting a probably mathematically correct rotated soundwave.

What we learned

A lot about how .wav files contain sound data and how you can manipulate this using code.

What's next for Sideify

Making the result sound like the inspiration youtube video. Their effect was probably done by overlapping multiple short segments of an audio, rather then messing with the PCM. We could mimic this by grouping the rotated PCM into blocks. Hopefully since the blocks are close in amplitude and frequency the resulting sound will be more coherent then white noise. Overlapping these blocks based off of their x position should give a much more coherent sound. Also we implemented low/high pass filters but they fail to increase sound quality. Future improvements for sound quality include capping the max/min amplitude with some formula, changing the frequency, using FFT to modify multiple waves instead of just one.

Share this project:

Updates