We drew inspiration to start this project when we noticed that Youtube's Autoplay feature for their videos is not a perfect approach to listen to your playlist favourite songs on Youtube because of the lack of fluidity with the cut transition and a period of silence or an awkward shift of music as a result of this. Adding to this, we also noticed how applications that focus only on playing music attempted to mitigate this problem of cut transitions by performing a crossfade when the current track ends and the next track is set to play. However, we decided that just a crossfade between music was not a good enough solution since our goal was to allow the user of our application to essentially feel like he/she is listening to a single song that does not end or have unintentional pauses until the user decides to stop or pause the music.
What it does
To create the effect that the user is listening to a single song, the application we designed creates a natural transition in the form of harmonic progression between the ending of a current song and the beginning of the next song on the list to create the illusion that the next song is part of the current song.
How we built it
We made the interface with Javax swing and then put the wav files we got from that through fft to try to find individual notes. After, we tried to find a key signature that matches the most closely with the notes of the song, and used that as our guess for the song's key signature. With the Circle of Fifths model, we find keys that sound good together and try to maximize the number of songs playing next to each other.
Challenges we ran into
Communication among team members was a huge problem for us as we did not have the sufficient information provided with each other to create a efficient working environment. In addition, the difficulty of creating the program was a challenge for all of us as we did not have much experience working with the various techniques attributed with developing a program that analyzes the frequency of the sound waves.
Accomplishments that we're proud of
We figured out how to analyze the frequency of the sound waves which essentially was the biggest challenge with creating the program because of the huge complexity of it.
What we learned
We learned that teamwork is a core factor in the success of our program and the efficiency of our time spent working.
What's next for Sound Blender
For Sound Blender, we can improve this program by increasing the support for other audio file types and also allow users to select how they want their harmonic progression to sound like when transitioning.