Estoy tratando de hacer una detección de tono en tiempo real usando C++. Estoy probando un código de performous (http://performous.org/), porque todo lo demás no me ha funcionado. Sé con certeza que esto funciona, pero simplemente no puedo hacer que funcione. He estado intentando esto durante algunas semanas y no he podido hacer funcionar ningún código de detección de tono.
Detección de tono en tiempo real usando FFT [closed]
Niall
En lugar de usar la entrada del micrófono, debe crear datos de una frecuencia única conocida y ejecutarlos a través del programa y ver si obtiene el resultado correcto. Luego puede agregarle armónicos y ver si eso funciona. Los datos del mundo real son demasiado variables para las pruebas iniciales.
El código de audio performous tiene algunas optimizaciones, límites de frecuencia y heurísticas que lo hacen solo adecuado para cantar (y otros tonos similares). El rango óptimo es alrededor de 80-600 Hz.
Pi
C/C++/Obj-C Algoritmo en tiempo real para determinar la nota (no el tono) de la entrada vocal
Compruebe la respuesta aceptada en este enlace.
He buscado en SO una respuesta a este problema, y este es el recurso más útil que he encontrado.
Parece que Performous usa este algoritmo, pero es difícil distinguirlo del código de Performous.
EDITAR: finalmente he logrado una solución de trabajo. envíeme un correo electrónico si está interesado sunfish|gmail|c0m
-
me puedes decir como lo solucionaste?
– ichherzcplusplus
8 mayo 2020 a las 18:55
“no puedo ir a trabajar” significa ??? (¿no compilará? ¿no se ejecutará? ¿convierte su computadora en una bola de fuego?)
– Jason S.
23 de septiembre de 2009 a las 16:08
compila, pero genera frecuencias que van desde 0 hasta aproximadamente 1024
– Niall
23 de septiembre de 2009 a las 16:13
Echa un vistazo a la Biblioteca FMOD. Una de sus muestras hace detección de tono en tiempo real IIRC. La biblioteca es gratuita para código abierto y tiene un precio moderado para aplicaciones comerciales. Incluso si no desea utilizar la biblioteca, tal vez le proporcione alguna información.
– Ryan Emerle
23 de septiembre de 2009 a las 17:01
y que tiene de malo eso? La C media es de 440 Hz, por lo que ese rango parece razonable si toma muestras de su micrófono. ¿Qué frecuencias esperas?
– A Shelly
23 de septiembre de 2009 a las 19:06