What makes a song a hit? Are there patterns in all popular pop songs that make them fail-proof? Can someone with almost no musical training (me) use these rules to generate an ok-sounding song? Let’s see!
There is so much interesting research on this topic, ranging from industry workflow that seems scientific, to thorough data visualizations of individual songs.
On the industry front, this New Yorker article gives the reader a window into the industry, which apparently is full of specialists, each responsible for a niche part of the song (beats, melody) and then the pop artist basically is like a kid in a candy store, choosing the tracks they want to sing over, sometimes singing it almost exactly like the original song writer’s sample. Regarding data visualization and algorithms, there is so much deep learning doing on here. This visualization is neat. And then there’s the concept of looking at spectographs.
And beyond that, there’s machine learning algorithms, like juke deck, which writes a song for you, or the creator’s of the Spotify Discovery playlist generator.
After digging into all this reading, I decided that the best way to learn was to start by taking a popular pop song, deconstructing it, and seeing it, track by track. Isabel and I chose Rihanna’s ‘We Found Love.’ First we tried to use the sheet music to just translate the melody into Tone.js synth sounds, but this proved to be painful and our music-reading skills are lacking, We didn’t know how to match the melody perfectly, and get the nuances. It sounded mechanical. So then we bought the midi version of the song. It comes with splits/stems/tracks (not sure of the correct term). So now we’re trying to get those stems into Tone.js, using a midi to json converter.
And, as per usual, asii code is a must in making out API: