Inspiration

Kanye West's fifth studio album, Yeezus, has been on our minds recently. As we revisited his old classics, reliving the artistry, and innovation, we couldn't help but wonder: what made these songs so unforgettable? The deeper we dove, the more we realized just how much Kanye's creative process relied on sampling - transforming elements of older songs to build something fresh and iconic.

What it does

Stample takes song titles and the associated artist, displays the songs that were sampled within the given song, and provides the time stamps in both songs where the sample is most prevalent.

How we built it

The front-end portion of Stample was developed using Flask and React, and the back-end portion was programmed in Python.

Challenges we ran into

The biggest challenge we ran into during our development was integrating an API that would directly tell us sampled sampled works within a given song. All of the APIs that we came across were either only for private use, or were programmed solely to tell the user the artist and name of a song (information which the user would already have), but not the samples within. We attempted to use AcrCloud, WhoSampled, Tracklib, and SecondHandSongs without success. We finally found success in implementing OpenAI and Genius APIs in our application. We also ran into problems when trying to find the point between the two songs where the sample is most prevalent. We were able to flesh out this capability using wavelength analysis by using Fourier Transformation, providing a method in comparing segments of each song for a quantitative score on likeness. Finally, we had trouble creating our front end interface, as nobody in our group had any experience with the matter, and therefore could not link the front end to the back end by taking string inputs and printing out statements to the website.

Accomplishments that we're proud of

We are proud of creating a simple and sleek front end display, given our lack of experience. We are also proud of our use of wavelength analysis to find the most prevalent sample timestamp in a given song.

What we learned

We learned more about front-end and how to connect it to our backend, fourier transformation to help with finding correlation between .wav files, and learning how to complete a coherent full-stack project start to finish as a team.

What's next for Stample

The next steps for Stample are finding a solution for faster wavelength analysis speeds. We are also looking to implement a better sample recognition API for greater accuracy in recognizing samples.

Share this project:

Updates