Carlos’s Status Report for 4/24/2021

These past two weeks, I’ve been testing my pitch to note mapping and clap detection algorithms. In testing the pitch to note mapping, I came across several potential issues that I had not considered before implementation. For one, I observed that when some singers attempt to hold a note their pitch can drift significantly, in some cases varying more than  cents. This pitch drifting introduces tone ambiguity which can drastically affect classification. Since this app is targeted for beginners, we expect there to be lots of pitch drifting, so this is a case that we have to prioritize.

There are some other approaches that we could have taken for note segmentation, including some machine learning solution, but given the amount of time left, we instead decided to add more constraints to the singing exercise. In particular, we added breaks between adjacent notes, so that we can assume that contiguous pitch contours  are notes. I have not yet adjusted my algorithm to reflect this simplifying assumption, but I will do so by early next week.

Moreover, I have completed the clap detection algorithm which works by analyzing the RMS of a signal. I have tested the algorithm against several noise conditions by adding artificial gaussian white noise and noticed this trend in the kurtosis of the metric derived from RMS

where the x-axis the std of the gaussian noise and the y-axis is the log kurtosis. Interestingly, taking the log of the kurtosis results in a semi-linear relationship. Next, I want to test this algorithm against some real world noise, and analyze its response to reverberant rooms.

For this next week, I will continue fine tuning these algorithms for integration with some of the front-end components.

Leave a Reply

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