This Week’s Accomplishments:
This week, I have written the phase vocoder algorithm in Python. It successfully shifts our test tone by a given number of semitones up or down. There are currently some harmonics introduced in the process that I will need to debug, but the output is coherent. I also tested the input levels coming out of a guitar using an oscilloscope. I noticed that there is a significant amount of noise above the threshold of human hearing. So, we decided that we can use a simple RC filter to remove the noise before the signal gets input into the Daisy Seed. This should avoid any issues with aliasing. We also completed part of the Ethics Assignment this week.
Status:
Now that the phase vocoder pitch shifter works, progress is back on track.
Next Week:
Next week, I will start rewriting the phase vocoder algorithm in C++. Notably, for real-time input, I will need to use a circular buffer to store the signal while each batch is being operated upon. I will determine if I need to write a fast Fourier transform algorithm or if we can import a (or use an already-imported) library.