Detector de acordes de una canción
Acordes en orden, alineados a los beats, con cifrado romano y exportación MIDI. Sin subir el audio y sin registro: el análisis corre en tu navegador.
Cómo se calculan los acordes, paso a paso
1. Cromagrama con NNLSChroma
El audio se diezma a 11 kHz para trabajar sólo con la zona donde vive la armonía (hasta 5,5 kHz) y se analiza
en tramas de 4096 muestras con ventana de Hann. NNLSChroma descompone cada espectro logarítmico en
doce clases de altura mediante mínimos cuadrados no negativos: en lugar de sumar energía por bandas (que
duplica la fundamental en el segundo armónico), busca la combinación de notas que mejor explica el espectro.
Además estima la afinación global y local, así que una grabación a 441,5 Hz no se desalinea del croma.
2. Beats antes que acordes
BeatTrackerMultiFeature detecta la rejilla de pulsos antes de segmentar. Los cambios de acorde se
ajustan al beat más cercano, porque en música real los acordes cambian en el pulso, no en el centro de una
ventana de análisis. Sin esta alineación, un cambio a mitad de compás aparece sistemáticamente desplazado.
3. ChordsDetection sobre 24 tríadas
Cada trama de croma (con el canal de bajos ponderado al 50 %, para que la fundamental del bajo mande cuando la guitarra está en una inversión) se compara con 24 plantillas: doce mayores y doce menores. El algoritmo de Viterbi suaviza la secuencia y evita cambios de un solo fotograma. El resultado son tramos con un acorde, un tiempo de inicio, un tiempo de fin y una fuerza de detección entre 0 y 1.
4. Cifrado romano y coherencia tonal
Con la tonalidad detectada, cada acorde se traduce a su grado. El porcentaje de coherencia es el tiempo en el que el acorde pertenece a la escala, dividido por el tiempo total analizado. Un cifrado romano absurdo (por ejemplo un #III constante) es señal de que la tonalidad detectada no es la correcta, y la herramienta lo muestra en lugar de esconderlo.
5. MIDI sin librerías
El archivo se escribe a mano: cabecera MThd, una pista MTrk, evento de tempo con
microsegundos por negra, compás 4/4, y notas con delta-times en variables de longitud. La resolución es de 480
ticks por negra, la estándar en DAW. No se usa ninguna librería de MIDI porque para un tipo 0 con acordes en
bloque no hace falta.
Para qué sirve saber los acordes
- Aprender una canción. La progresión con cifrado romano te dice qué tocar y por qué funciona, sin depender de un tutorial en otra tonalidad.
- Hacer una versión. Transporta a la tonalidad de tu voz y exporta el MIDI para montar el acompañamiento en el DAW.
- Componer sobre una referencia. Si una progresión te gusta, el cifrado romano te permite reutilizarla en otra tonalidad sin copiar la melodía.
- Comprobar una mezcla. Si el detector encuentra acordes incoherentes en una mezcla que debería ser tonal, suele haber un problema de afinación entre capas o un bajo que no coincide con la armonía.
- Preparar un remix o un mashup. Con la tonalidad y los acordes puedes decidir si dos canciones son compatibles antes de gastar horas en el editor.