Caleb’s Status Report for 9/23

While waiting for parts this week, I spent time looking into audio separation APIs within Python. Although several existed that seemed to do the job, the one that looked most user-friendly was Nussl. This API has both plotting capabilities for the signals as well as built-in methods to complete short time Fourier transforms (stft). Because to execute the dynamic time warping, we’ll be breaking the signal into 46ms segments, this transform should be really helpful. Something to note is that a vast majority of source separation software is built for separating out the instruments of a 4 part band: vocals, guitar, bass, and drums. Because this stand is envisioned for a concert or orchestra setting, the source separation needs to be able to separate out concert instruments.

Nussl does have a feature where the model can be trained on input data. However, to limit the scope of this and not have to sample every instrument that may occur in a concert setting, we’ll be just focusing on extracting a violin part from a recording. In regards to separating out two violins playing different parts, because notes don’t “cancel-out”, dynamic time warping will still be able to align using a violin part that’s a subset of the notes being played.

 

Leave a Reply

Your email address will not be published. Required fields are marked *