SongWriter is fundamentally a Bot that scrapes the web for Facebook posts and then converts them into song lyrics using Natural Language Processing. For my use case, the facebook page that the bot was set to target was the UniMelb Love Letters page, as I thought that a love song would be easiest to write.
First the bot would scrape the post and put them all into an ever-growing JSON file, and then break down each post into lines using any type of punctuation as a delimiter. Once I had a list of lines, I then used the language processing to split the lines into syllables. This was done using the CMU Pronouncing Dictionary, which is a dictionary of words and their pronounciations. Using these pronunciantions, I was able to generate pairs of lines that rhymed, and then generate a song from these pairs. Furthermore, I ensured that the number of syllablles in each line was the same, so that the song would be in time.
I also made a video recounting my development efforts, which you can watch below. I ended up using my limited musical prowess to build a song around the bot-generated lyrics: /videos/song-writer