Personal Accomplishments
I do not have any updates on the project from Spring break. I was briefly messing around with the chunks of a song using python asyncio functions. Currently it’s able to iterate over multiple chunks, and when it senses a match of song title between two chunks. Once it finds a match it can exit out of the for loop, and doesn’t have to iterate over all the chunks for the selected song.
I was also looking into accessing the chunks every 30 seconds. This needs to happen over the whole course of the audio because even if we identified the song in the first two chunks, the song might change over the course of the compilation, and we need to account for the song inflections.
I briefly used the Genius Lyrics API as well to get the lyrics of the song from the title we polled through Shazam. This gives us scope to do a sentiment analysis on the entire song, and we can incorporate the mood features from the sentiment analysis for future work.
Right now, I mainly want to focus on having a few threads where my recognize_song_info function can intercept the thread where the chunks are being iterated on, and the thread can sleep for a couple seconds before we look at the next set of chunks. I am having a few Nonetype errors because it is not being able to keep track of the last chunk index properly. I am working on trying to fix those errors right now.
On Track?
I am on track as I accounted for the delay in Spring break as well for my audio processing section. By the end of the week, I should be able to get a pandas dataframe for all the audio analysis coefficients, and iterate over the chunks seamlessly in intervals.
Goals for Next Week
Step 1 : Get a dataframe for each chunk of all the coefficients (Able to get it for the entire song, not for a particular chunk)
Step 2 : Iterate over chunks every 30 seconds (Halfway there)
Step 3 : Look into sentiment analysis for the lyrics, and incorporate that into the dataframe (Should be doable given that I have worked with sentiment analysis before)
Step 4 : Integrate all elements with the lighting engine, and the UI