Pregunta

Como continuación de mi anterior pregunta, si quiero que la aplicación de mi teléfono inteligente detecte una determinada nota musical, y solo necesito saber si el sonido entrante es esa nota musical o no, con cierta borrosidad, para permitir que la nota esté desafinada en x centavos .

Teniendo esto en cuenta, ¿existe un método superior a otros en cuanto a velocidad y precisión?Es decir, sabiendo que la nota que busca es, digamos, #C3, ¿cuál es la mejor manera de saber si esa nota está presente o no?Supongo que buscar una sola nota sería más fácil que separar todas las formas de onda y luego observar los resultados de la frecuencia fundamental.

En las respuestas a mi pregunta original, un encuestado sugirió que la autocorrelación podría funcionar bien si sabes que las notas están dentro de un rango determinado.Me pregunto si la autocorrelación funcionaría aún mejor si solo tuviera que verificar la presencia o ausencia de una determinada nota (+/- x centavos).

Esos métodos son:

  • Beso FFT
  • FFTW
  • Transformada Wavelet discreta
  • autocorrelación
  • análisis de cruce por cero
  • filtros espaciados por octava
  • DWT

Cualquier idea sería apreciada.

¿Fue útil?

Solución

Como se describe, sólo tiene que determinar si un lanzamiento en particular está presente. Una muy simple detector (rápido) acaba de registrar el equivalente a un periodo de la forma de onda, a continuación, grabar otro período y correlacionarlos, como una autocorrelación simplificado (single-lag). Si hay una alta coincidencia, ya sabes la forma de onda que se está grabando se repite en todo el mismo período, o un armónico de la misma.

Por ejemplo, para detectar 1 kHz, ficha 1 ms de audio (48 muestras a 48 kHz), a continuación, grabar otro 1 ms, y compararlos (correlacionan = multiplican todas las muestras y suma). Si se alinean (correlación por encima de un umbral), entonces usted está escuchando a 1 kHz, 2 kHz, 3 kHz, o algún otro múltiplo. Haciendo varios períodos le daría más confianza en el partido.

Una verdadera autocorrelación dirá qué armónica, en concreto, si eso es importante para usted.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top