Esto podría encajar mucho mejor en signal.stackexchange.com, si lo reformulas como una pregunta de procesamiento de señales
De todos modos, no empieces con "Quiero hacer un chip dedicado". Para empezar, quiero entender cómo se puede hacer algo así, y luego elegiré las herramientas y las implementaciones.
Sin embargo, la pregunta "cómo detectar mejor el tono del canto humano es muy complicada y está lejos de ser fácil de responder; incluso desde un punto de vista puramente teórico-musical, la voz no tiene una frecuencia fundamental, a menos que sea cantada por el efecto de producir el tono perfecto.
Por supuesto, puedes intentar detectar el tono dominante en una canción, y esa es una pregunta bastante común en signal.stackexchange.com, por lo que solo puedo animarte a buscarla, pero sigue siendo una buena pregunta si lo que tu algoritmo detecta como dominante representa lo que un humano podría percibir como el tono de canto: los humanos están lejos de ser uniformes, y eso no se detiene en la percepción de la música.
Un pequeño Cortex-M4F como el microcontrolador STM que mencionas podría ser adecuado para muchos de los algoritmos que deberás tener en cuenta, pero muchos otros no funcionarán.
Por lo tanto, se aplica una de las reglas importantes de la ingeniería: primero, comprenda su problema y luego elija las herramientas. Eso se aplica a cosas como la FFT tanto como a la plataforma informática en la que se ejecutará esto.
Cualquier enfoque razonable para esto consistirá en diseñar primero el DSP en una computadora estilo PC, probarlo contra señales digitales grabadas (por lo tanto, archivos de audio), refinarlo y luego trasladarlo a cualquier plataforma que elija colocar. su PCB.
Esa es una de las fortalezas de DSP: en realidad es solo matemáticas. Puede hacerlo en una PC tan bien como puede hacerlo en un microcontrolador, siempre y cuando la matemática que haga sea la misma.