Acontecimientos recientes han despertado mi interés por mejorar cómo "siente" el sonido PIC-Tengu. Hasta ahora se limita a detectar la amplitud del sonido, es decir, detecta sonidos fuertes y débiles, pero no puede diferenciar la voz humana de otros sonidos ni detectar ritmos.
Diferenciar la voz humana se me antoja casi imposible, ¿pero y los ritmos, o bpm (beats per minute)?
Me he encontrado este fantástico documento (
http://www.gamedev.net/reference/articles/article1952.asp) que dejo adjunto como referencia.
En la primera parte se enuncian algunos algoritmos sencillos que podrían afrontarse con un PIC normal. En la segunda parte se desarrollan otros algoritmos más complejos que requerirían cálculos de FFT (Fast-Fourier transformation) y que imagino que sólo podrían afrontarse con un DSPIC.
Como no tengo ni idea de DSPIC, ni dispongo de medios para programarlos, me centraré de momento en los algoritmos básicos y ya les comentaré mis resultados.
No obstante, si alguien tiene idea de cómo filtrar la voz humana, cualquier información será bienvenida.