53. (Diciembre 2013) Similitud melódica como transformación de cadenas - II
Imprimir
Escrito por Paco Gómez Martín (Universidad Politécnica de Madrid)   
Jueves 05 de Diciembre de 2013

En el artículo de este mes, el de frío diciembre, explicaremos la primera parte del artículo de Mongeau y Sankoff [MS90] Comparison of musical sequences, en la que se detalla cómo se aplica la distancia de edición a la similitud melódica desde un punto de vista algorítmico (véase la columna del mes pasado [Góm13] para un repaso de los conceptos básicos). En concreto, veremos como estos autores aumentan el arsenal de operaciones sobre las cadenas para acomodar la distancia de edición al contexto musical. Para el mes siguiente dejaremos la descripción de los experimentos que realizaron para probar la bondad de la medida.

1. La distancia de edición para cadenas musicales

El método que proponen Mongeau y Sankoff es particularmente apropiado para la música que está representada simbólicamente, es decir, dada por la codificación de la notación tradicional musical. La codificación más habitual es la midi (programas de edición musical como Finale o Sibelius exportan a midi, por ejemplo). El método de estos autores no se adecua en cambio a música codificada en formato de audio, tales como wav o mp3, que son codificaciones orientadas a describir la música desde un punto de vista físico. De la notación tradicional el algoritmo de Mongeau y Sankoff emplea la sucesión de alturas y duraciones y la tonalidad de la pieza.

Recordamos de la columna del mes pasado que la ecuación básica de la distancia de edición es, dadas dos cadenas A,B de longitudes respectivas n,m, la siguiente:

             (              ||              ||||  d(ai-1,bj)+ cI,              ||{ d(ai,bj) = m´in   d(ai,bj-1)+ cB,              |||              ||||  d(a   ,b   )+ c              |(     i-1  j-1    S

donde los índices cumplen que i = 1,…,n y j = 1,…,m.

El algoritmo de Mongeau y Sankoff examina las diferencias en altura y en duración de las notas. Esto implica que el modelo anterior, tan simple, donde los pesos cI,cB y cS son constantes, ya no es válido. Reescribimos la ecuación como sigue para reflejar que ahora los pesos dependen de la posición del elemento de la cadena (usamos la notación de  [MS90]; d(ai,bj) se designará indistintamente por di,j ).

          (           ||||           |||| d(ai-1,bj)+ w( ∅,ai),           { di,j = m´in | d(ai,bj-1)+ w(ai,∅),           ||||           ||| d(ai-1,bj-1)+ w(ai,bj)           (

(1)

con las condiciones iniciales

( || ||||  di,0 = di-1,0 + w(ai,∅),i ≥ 1 ||{    d0,j = d0,j + w( ∅,bj),j ≥ 1 ||| ||||  d  =  0 |(   0,0

(2)

En todas estas fórmulas se cumple que w(x,y) = w(y,x) para cualesquiera caracteres x,y.

Mongeau y Sankoff se fijaron en dos parámetros a la hora de diseñar su distancia para medir la disimilitud (la distancia de edición mide precisamente eso, la disimilitud entre dos cadenas; algunos autores empero hablan de similitud). Esos parámetros son la altura y la duración de las notas. La forma general de los pesos se descompone en dos términos como sigue:

w(ai,bj) = wint(ai,bj) + k1wdur(ai,bj)

donde wint(ai,bj) es el peso asociado al intervalo entre la nota ai y bj, y, análogamente, wdur(ai,bj) es el peso asociado a las duraciones de ai y bj. El parámetro k1, cuya determinación se hará más adelante, sirve para afinar el modelo. k1 representa la importancia de la contribución de la duración frente a la altura del sonido. El peso wint(ai,bj) es la diferencia entre la posición relativa de las notas ai y bj multiplicada por la menor de las duraciones de las dos notas. wdur(ai,bj) es sencillamente la diferencia en duración entre ai y bj. Los pesos de los intervalos se toman módulo la octava; esto es, el peso asociado a un par de notas a,b es el mismo que el asociado a a y a b más un múltiplo de una octava.

El lector se habrá dado cuenta inmediata de que esta elección de los pesos refleja un confinamiento a la música tonal. Para medir la distancia entre dos notas los autores exigen que la pieza tenga una tonalidad establecida; de este modo, la altura de cada nota es la distancia a la tónica, y la distancia entre dos notas, la diferencia de alturas. Además, los pesos de las alturas reflejan las relaciones de consonancia entre las notas. Así, una octava y un quinta, intervalos muy consonantes, reciben poco peso; en cambio, una segunda o una séptima reciben mucho mayor peso. En cuanto a las duraciones, están codificadas en términos de una unidad mínima, que Mongeau y Sankoff toman como la semicorchea.

Con el fin de asegurarse que el peso del intervalo no depende de la tonalidad o del modo de la pieza, las alturas se convierten a grados de la escala. Esto implica que ahora la distancia entre una tercera mayor y una tercera menor puede ser cero. Esto corrige el peligro de una misma pieza escrita en modo mayor no aparezca como excesivamente diferente de su correlato en modo menor. En la tabla siguiente tenemos los grados de la escala mayor y menor junto con las diferencias correspondientes en semitonos.

Grados de la 1
2
3 4
5
6
7
escala mayor
























Grados de la 1
2 3
4
5 6
7
escala menor
























Semitonos 0 1 2 3 4 5 6 7 8 9 10 11
de diferencia











Tabla 1: Grados de las escala mayor y menor dentro de la escala cromática.

Sin embargo, este esquema es insuficiente porque en una pieza pueden aparecer notas que no pertenecen a la escala en que se encuentra escrita. Las razones son múltiples: dominantes secundarias, cambios temporales de modo, color aplicado a través del cromatismo, alteraciones armónicas, etc. Mongeau y Sankoff implementan un esquema más fino para este caso. Llaman gr(n) al peso asociado a dos notas cuya diferencia es n grados en la escala. Cuando una de las dos notas no pertenece a la escala emplean entonces ton(m), que está dada por la relación:

ton(m) = μ ⋅gr(n(m)) + δ

donde μ y δ son parámetros a determinar y donde n(m) es el grado de la escala más cercano dado por m semitonos. Por ejemplo, n(7) es 4, ya que la quinta el intervalo dado por cuatro grados de la escala consiste en 7 semitonos; n(4) = 2 para una escala mayor y n(3) = 2 para una escala menor.

Otro caso que hubieron de contemplar Mongeau y Sankoff fue el de una nota que se transforma en un silencio –caso distinto de una nota que se suprime o inserta–. Los autores introducen un nuevo peso, wsil, para tratar esta situación. Cuando se da el caso de dos silencios de la misma duración, wsil toma el valor que tendría si hubiese dos notas de la misma altura.

2. Nuevas operaciones

Mongeau y Sankoff, inspirándose en los estudios de reconocimiento de habla (véase [KL83]), añadieron dos operaciones más: la fragmentación y la consolidación. La primera consiste en la sustitución de varios elementos por un solo y la segunda es la operación inversa, la sustitución un único elemento por varios; en la figura 1 se ilustran estas operaciones. Con el modelo usado hasta ahora, la descomposición de una nota redonda en cuatro negras, algo muy habitual en música, sería irrazonablemente costoso.

PIC

Figura 1: Las nuevas operaciones de fragmentación y consolidación.

Los pesos asociados a estas dos nuevas operaciones siguen la misma lógica usada hasta ahora y, en consecuencia, se escribirán como combinaciones lineales de los pesos wint y wdur de las notas que se consolidan o fragmentan. Para la fragmentación el peso total de wint será una combinación lineal de los pesos de cada nota por la nota sustituida final. De manera análoga, se definen los pesos para consolidación.

3. El algoritmo completo

Con las ampliaciones definidas en las secciones anteriores, podemos presentar la relación final para la distancia de edición:

         (|          |||          ||||  d(ai-1,bj) + w(∅,ai), (borrado)          ||||          |||  d(ai,bj- 1) + w(ai,∅), (inserci´on)          ||{ di,j = m ´in  {d(ai,bj- 1)+ w(ai,bj-k+1,...,bj)∣2 ≤ k ≤ j}, (fragmentaci´on)          |||          ||||  {d(a ,b   )+ w(a     ,...,a ,b)∣2 ≤ k ≤ i}, (consolidaci´on)          ||||      i  j- 1      i-k+1      i j          |||          |||(  d(ai-1,bj- 1)+ w(ai,bj) (sustituci´on)

(3)

donde 1 ≤ i ≤ n,1 ≤ j ≤ m, y donde w(ai,bj-k+1,…,bj) y w(ai-k+1,…,ai,bj) son los pesos asociados con la fragmentación y la consolidación, respectivamente. Las condiciones iniciales son las que aparecen en la ecuación (2equation) más arriba.

No entraremos en este artículo divulgativo en cuestiones de complejidad, pero los autores del artículo probaron que la recursión dada por la fórmula anterior se puede calcular en tiempo proporcional al producto n⋅m. En particular, se dieron cuenta que, dada la condición de minimalidad de la definición de distancia de edición, no hacía falta calcular la recursión completa para las operaciones de fragmentación y la consolidación.

En este punto el lector debe estar extrañado de que no hayamos entrado todavía en la cuestión de los numerosos parámetros que quedan pendiente para que la recursión (3) se pueda calcular. Mongeau y Sankoff los calculan de modo heurístico comparando pares de piezas musicales para las que conocen aproximadamente sus valores de similitud; esto se profundizará en el último artículo de esta serie. De todos modos, los autores mismos reconocen que “los valores precisos que han calculado son muy debatibles o que podían optimizarse con respecto a un conjunto dado de datos”. Los valores que dieron para los parámetros son los siguientes:

Peso y valor Intervalo
gr(1) = 0 unísono
gr(2) = 0,9 segunda
gr(3) = 0,2 tercera
gr(4) = 0,5 cuarta
gr(5) = 0,1 quinta
gr(6) = 0,35 sexta
gr(7) = 0,8 séptima
Peso y valor
wsil = 0,1
μ = 2
δ = 0,6
k1 = 0,348
Peso y valor Intervalo
ton(0) = 0 unísono
ton(1) = 2,6 segunda menor
ton(2) = 2,3 segunda mayor
ton(3) = 1 tercera menor
ton(4) = 1 tercera mayor
ton(5) = 1,6 cuarta justa
ton(6) = 1,8 cuarta aumentada
ton(7) = 0,8 quinta justa
ton(8) = 1,3 sexta menor
ton(9) = 1,3 sexta mayor
ton(10) = 2,2 séptima menor
ton(11) = 2,5 séptima mayor

Tabla 2: Pesos del algoritmo.

4. Conclusiones

Es posible que el lector que se asome por primera vez a este tipo de aplicaciones de las matemáticas se sorprenda de cómo se eligen los parámetros del algoritmo. En muchos casos, parece que es una elección demasiado dependiente del contexto o que no hay principios suficientemente generales que guíe tal elección. En parte, este lector tendría razón. Mirado con perspectiva histórica, ese juicio severo se suavizaría. El artículo de Mongeau y Sankoff es del año 1990 y fue pionero en el estudio de la similitud musical por vía de la distancia de edición. Muchos algoritmos vinieron después que mejoraron sus ideas y que se basaron en posteriores estudios de cognición musical. Hemos escogido este artículo para presentar al lector una introducción a la similitud musical desde la computación precisamente por su carácter de artículo pionero. Normalmente, así es cómo ocurren las cosas en ciencia y tecnología. La primera solución suele ser imperfecta, ardua, poco elegante, pero siempre necesaria. Primero se lucha por resolver el problema; más tarde viene la satisfacción estética de la solución limpia y elegante.

 

Bibliografía

[Góm13] F. Gómez. Similitud melódica como transformación de cadenas - I, consultado en noviembre de 2013.

[KL83] J.B. Kruskal and M. Liberman. Time warps, string edits, and macromolecules: the theory and practice of sequence comparison, chapter The symmetric time-warping problem: from continuous to discrete, pages 125–159. Addison-Wesley, 1983.

[MS90] M. Mongeau and D. Sankoff. Comparison of musical sequences. Computers and the Humanities, 24:161–175, 1990.

 
Volver