Category Archives: Pitch Detection

Fast and Efficient Pitch Detection: Double Trouble

      DSP, Electronics, Infinity, Pitch Detection, Software

This D string was driving my pitch detector nuts. It’s jumping from fundamental to octave and back all over the place. Can’t make up its mind! The effect is like a wacko version of Satch with a whammy pedal gone haywire.

What the hell am I talking about? Last month, I wrote about a fast and efficient software multichannel pitch detection scheme using dual peak-detectors. I needed it to be as efficient as possible, so I can run multiple detectors simultaneously using a small 32 bit microcontroller (MCU). Most of the time, it works really well, except in some cases, like that troublesome D string.

Continue reading

Fast and Efficient Pitch Detection

      DSP, Electronics, Infinity, Pitch Detection, Software

Phase Accurate Synthesizer (blue) Tracking Guitar (yellow)

I needed to implement real-time, multichannel pitch detection in software using a small ARM Cortex-M4 microcontroller (MCU). My all-time favorite is the STM32F4 family from STMicroelectronics. It has DSP and single precision FPU instructions and can reach up to 225 DMIPS/608 CoreMark at up to 180 MHz operating frequency. Not too bad, actually, especially for this class of MCUs, but it can easily get overwhelmed with complex DSP code we normally take for granted in a desktop or laptop machine with multi-cores running in the GHz range.

I’ve been working on this for quite some time now and I am quite pleased with the results. I now have a fast, accurate, low-latency, phase-correct and efficient multichannel pitch detection. I thought I’d like to share. In case you are wondering, no, it is not for note to MIDI conversion, although that is obviously one application.

Continue reading