Académique Documents
Professionnel Documents
Culture Documents
IA
no est a presente. Estos resultados se devuelven en Ior-
ma de vector, guardando la inIormaci on temporal co-
rrespondiente.
DESCRIPCI
ON DEL TRABAJO
Teniendo en cuenta los objetivos planteados, se di-
vidi o el problema en cuatro etapas:
Detecci on local de frecuencia fundamental:
Consiste en estimar para cada instante de tiempo
los posibles valores que toma la Irecuencia Iunda-
mental de la meloda principal. Esta estimaci on se
realiza de manera local, ignorando lo que sucede
en los instantes anteriores o posteriores.
Extracci on y evaluaci on de caractersticas: Una
vez nalizada la estimaci on local, se obtienen can-
didatos a Irecuencia Iundamental para cada ins-
tante de tiempo. Se proponen diIerentes carac-
tersticas de los candidatos que permiten comprar-
los. Dichas caractersticas ser an herramienta para
poder vincular candidatos en diIerentes instantes
de tiempo.
Seguimiento temporal: Se aplican t ecnicas de
seguimiento temporal para encontrar tramos de
meloda principal, utilizando el resultado de la es-
timaci on local de Irecuencia Iundamental y las ca-
ractersticas calculadas.
Aplicaci on (Sntesis Sonora): Por ultimo se cre-
an archivos de audio sintetizado para mostrar de
manera 'amigable al usuario los resultados de los
diIerentes algoritmos.
ESTIMACI
ON LOCAL DE CANDIDATOS
A F0
En |3| se proponen estimadores conceptualmente
simples de Irecuencia Iundamental 10 para se` nales
de m usica poliI onica, y se oIrece adem as una im-
plementaci on computacionalmente eciente para estos.
Dichos estimadores calculan la Iuerza de un candidato
a 10 como una suma ponderada de las amplitudes de
sus arm onicos parciales.
Se dene saliencia o Iuerza de un candidato a 10
en base a la siguiente ecuaci on:
:( ) =
1
n
q( )Y () ) (1)
donde ) es la Irecuencia del m- esimo parcial de un
candidato con Irecuencia Iundamental ) .
El valor representa el perodo para el cual se va
a calcular la saliencia, medido en n umero de mues-
tras. Por lo tanto, el perodo medido en segundos sera
sc
=
}
, donde )
s
es la Irecuencia de muestreo. En-
tonces, calcular la saliencia para un perodo en muestras
equivale a calcular la saliencia para una Irecuencia
) =
=
}
. Por ultimo, la Irecuencia del m- esimo
parcial de la Irecuencia ) es ) =
n}
.
La Iunci on q( ) dene el peso del m- esimo par-
cial en la suma. Y ()) es el espectro normalizado de
la se` nal de audio que entra al algoritmo. Esa normal-
izaci on es resultado de un proceso llamado 'blanquea-
do espectral. Utilizando una gran cantidad de mate-
rial de entrenamiento, se propone adem as una Iorma
param etrica para esta Iunci on q( ).
BIanqueado EspectraI
Con el objetivo de lograr que el sistema sea robusto
Irente a Iuentes de sonido diIerentes se trata de suprimir
la inIormaci on de 'timbre del sonido antes de estimar
10. Esto se logra a trav es del blanqueado espectral el
cual estima la distribuci on en frecuencia de la energa
de una se nal y la aplana o empareja mediante ltrado
inverso.
Se calcula la FFT A(/) de la entrada a[n[ en un
Irame de tiempo enventanado (con ventana Hanning).
Luego se simula un banco de 80 ltros pasa-banda
donde cada sub-banda tiene una respuesta triangular en
amplitud (gura 1).
0 1000 2000 3000 4000 5000 6000 7000 8000
0
0.2
0.4
0.6
0.8
1
Banco de Filtros
Frecuencia (Hz)
Figura 1: Banco de ltros simulado para el blanqueado
espectral.
Las desviaciones est andar
b
de cada sub-banda son
calculadas aplicando el ltro H
b
(/) a la se` nal, donde 1
es el largo de la transIormada de Fourier:
b
=
1
1
|
H
b
(/)A(/)
(2)
A partir de estos
b
se calculan los coecientes de
compresi on
b
=
u
b
donde es la cantidad de blan-
queado espectral aplicado. Estos coecientes
b
, que
representan una cierta inversa de la envolvente espectral
estimada con los
b
, son interpolados linealmente para
obtener coecientes de compresi on (/) para cada bin
de Irecuencia /. El espectro blanqueado se obtiene mul-
tiplicando el espectro de la se` nal de entrada por los co-
ecientes de compresi on, es decir Y (/) = (/)A(/).
En la gura 2 se puede ver un espectro de ejemplo antes
y despu es del proceso de blanqueado espectral.
C aIcuIo de SaIiencia
Se utiliza un algoritmo de bipartici on para estimar
el perodo de mayor saliencia en cierto intervalo de
inter es. Este algoritmo no calcula la saliencia en to-
do el intervalo, sino que mediante bipartici on estima
CONGRESO LATINOAMERICANO DE LA AES 2011, MONTEVIDEO, 30 DE AGOSTO A 1 DE SEPTIEMBRE DE 2011
76
HALDO SPONT
ON MELOD
IA
0 1000 2000 3000 4000 5000 6000
0
50
100
150
Frecuencia (Hz)
Espectro Original
0 1000 2000 3000 4000 5000 6000
0
50
100
150
Frecuencia (Hz)
Espectro Blanqueado
Figura 2: Ejemplo de espectro antes y despu es del pro-
ceso de blanqueado espectral.
en qu e mitad del intervalo se encuentra el de ma-
yor saliencia. Luego esta mitad se toma como un nuevo
intervalo entero y se estima en cu al de sus mitades se
encuentra el de mayor saliencia. Esto se repite hasta
alcanzar la precisi on deseada y con esto determinar el
de mayor saliencia promediando los extremos del ulti-
mo intervalo. Por tanto se obtiene como salida el can-
didato con mayor saliencia :( ).
En la gura 3 se puede apreciar un pseudo-c odigo
de este algoritmo, extrado de [3].
:(t)
Q 1 t
Iov
(1) t
nIn
t
up
(1) t
nax
losi
1
tup(losi) tIov(losi) tpvoc
Q Q 1
tIov(Q) (tIov(losi) tup(losi)),2
tup(Q) tup(losi)
t
up
(
losi
) t
Iov
(Q)
losi, Q
:
nax
()
q(t, :) =
}r(j)o
n}r(j)o
t = (t
Iov
() t
up
()),2
^t = tup() tIov()
losi
aig max
j|l,Q|
:
nax
()
t = (tIov(losi) tup(losi)),2
:( t) = :nax(losi)
Figura 3: Pseudo-c odigo del Algoritmo de C alculo de
Saliencia.
Se implement o adem as una estimaci on iterativa y
cancelaci on donde cada candidato detectado es elimi-
nado de la mezcla y :( ) es actualizado correspondien-
temente antes de estimar el siguiente 10.
EXTRACCI
ON DE CARACTER
ISTICAS
Se utiliza como caracterstica principal una variante
de la saliencia, eliminando la dependencia inversa con
el n umero de parcial :. Se vio que este cambio hace
que disminuyan sensiblemente algunos errores de de-
tecci on como errores de octavas. En resumen, la salien-
cia como caracterstica (y no como funci on de costo a
maximizar) se calcula como:
:()) =
1
n
)
)
Y (:)) (3)
donde se sustituy o q(), :) por
}
}
.
La saliencia es una Iunci on que depende del tiem-
po y de la Irecuencia en que se est e calculando. Es-
to hace que su resoluci on dependa de la resoluci on
de la representaci on en tiempo-Irecuencia del audio
disponible, la cual est a jada por el largo de la Trans-
Iormada de Fourier utilizada para calcular el espectro-
grama de cada pieza musical. Para obtener mayor res-
oluci on, se propone la 'saliencia interpolada.
Esta se
calcula usando como entrada un espectrograma inter-
polado en Irecuencia (se aumenta la cantidad de bins
del espectrograma mediante interpolaci on lineal). En la
gura 4 se ve un ejemplo de mapa de saliencia utilizan-
do un espectrograma interpolado.
Figura 4: Mapa de saliencia interpolada del archivo
joj1.no.
SEGUIMIENTO TEMPORAL (TRACKING)
Lo que se busca entonces con el seguimiento tempo-
ral es aprovechar esa estrecha relaci on entre la Irecuen-
cia fundamental de la meloda principal en un frame y la
de los siguientes o anteriores, as como la continuidad
temporal de la saliencia. Para esto se estudiaron dos
t ecnicas: Filtro de Kalman y Programaci on Din amica.
FiItro de KaIman
Se dise n o un ltro de orden 5, utilizando el Ground
Truth para entrenar los coecientes del mismo. Una vez
completa la estimaci on local de 10 y la extracci on de
caractersticas, se busca un punto de arranque para el
tracking en base a buscar un candidato que tenga ma-
yor saliencia como caracterstica. A partir de este punto
se aplica Kalman hacia atr as y hacia adelante, buscan-
do en cada paso candidatos en un entorno de la predic-
ci on. Se van uniendo as diferentes candidatos para for-
mar tramos de meloda. El algoritmo consta adem as
CONGRESO LATINOAMERICANO DE LA AES 2011, MONTEVIDEO, 30 DE AGOSTO A 1 DE SEPTIEMBRE DE 2011
77
HALDO SPONT
ON MELOD
IA
con condiciones de parada de Iorma de intentar detec-
tar principios y nales de lneas mel odicas. Luego se
busca un nuevo punto de arranque, y se contin ua el pro-
ceso hasta que se cumpla alguna de las condiciones de
parada globales.
En la gura 5 se ve el resultado de la estimaci on de
frecuencia fundamental de la meloda principal luego
de aplicarse el ltro de Kalman discreto dise nado. Se
ve como se reducen notablemente los errores que se
mencionan anteriormente, logr andose un resultado que
vara suavemente, muy similar al Ground Truth.
1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2
160
180
200
220
240
260
280
300
320
Frecuencia de la meloda principal.
Tiempo (s)
Referencia (Mirex, etc.)
Resultado del algoritmo
1 1.2 1.4 1.6 1.8 2 2.2
235
240
245
250
255
260
265
270
Frecuencia de la meloda principal.
Tiempo (s)
Figura 5: An alisis de desempe no del ltro de Kalman,
archivo joj1.no.
Programaci on Din amica
La programaci on din amica |4| reune un conjunto de
t ecnicas que permiten determinar de manera eciente
las decisiones que optimizan el comportamiento de un
sistema que evoluciona a lo largo de una serie de esta-
dos. En nuestro problema parece intuitivo reconocer a
los diIerentes instantes de tiempo como etapas y a los
candidatos a 10 en cada instante junto con su saliencia
asociada como los estados.
El algoritmo se compone de los siguientes m odulos:
Determinaci on de puntos seguros.
Elaboraci on de candidatos.
Seguimiento del mejor camino.
En sntesis dicho algoritmo debe seguir el mejor camino
entre puntos seguros de la meloda a partir de la
evaluaci on de ciertas caractersticas de los candidatos
obtenidos anteriormente.
En la elecci on de la Iunci on de costo a utilizar, se
busca que esta:
1. Penalice saltos en Irecuencia para Irames conse-
cutivos.
2. Mantenga continuidad en la saliencia.
3. Seleccione caminos de saliencia alta.
En la gura se aprecia un ejemplo del desempe no
de PD para el seguimiento de meloda principal.
S
INTESIS SONORA
La sntesis sonora se realiza de una manera simple,
cambiando la Iase de una Iunci on sinusoidal de manera
de que la derivada de dicha Iase sea igual a la Irecuencia
1.2 1.4 1.6 1.8 2 2.2 2.4
180
200
220
240
260
280
300
Frecuencia de la meloda principal.
Tiempo (s)
Referencia (Mirex, etc.)
Resultado del algoritmo
1.2 1.4 1.6 1.8 2 2.2 2.4
240
245
250
255
260
265
270
275
280
Frecuencia de la meloda principal.
Tiempo (s)
Referencia (Mirex, etc.)
Resultado del algoritmo
Figura 6: An alisis de desempe` no de PD, archivo
joj1.no.
instant anea estimada en el sistema. M as Iormalmente,
se crea una se` nal de audio j(t) tal que:
j(t) = t)) (4)
donde
d t)
dt
= 2 (t) (5)
siendo )(t) la Irecuencia instant anea estimada en el sis-
tema y un Iactor multiplicativo menor que 1 para evi-
tar la saturaci on de la se` nal de audio sintetizada.
RESULTADOS
Se muestran los porcentajes de acierto (banda de
8 /) de la estimaci on local de Irecuencia Iundamental
de la meloda principal, utilizando la base de datos de
prueba de MiReX:
Primer candidato Alg un candidato
STFT 60,91 78,82
CQT 55,97 76,23
Cualitativamente, tanto el Filtro de Kalman como
PD, ayudan a mejorar notoriamente el resultado pri-
mario de la estimaci on local de 10. Se logran resul-
tados muy positivos en varias piezas musicales popu-
lares. Se pueden apreciar que los resultados son buenos
utilizando el algoritmo de sntesis sonora.
REFERENCIAS
[1] Emilia G omez, Anssi Klapuri, and Benot Meudic,
'Melody description and extraction in the context
oI music content processing, Journal of New Mu-
sic Research, vol. 32, 2003.
|2| Haldo Spont on, Pablo Soubes, and Gonzalo Gini,
Meloda: An alisis y estimaci on de la meloda prin-
cipal en piezas musicales reales, Proyecto ae Fin
ae Carrera, IIE, Facultaa ae Ingenier'a., 2004.
|3| Anssi Klapuri, 'Multiple Iundamental Irequency
estimation by summing harmonic amplitudes, in
in ISMIR, 2006, pp. 216221.
|4| Martin L. Puterman, Markov Decision Processes.
Discrete Stochastic Dynamic Programming, Wiley-
Interscience, April 1994.
CONGRESO LATINOAMERICANO DE LA AES 2011, MONTEVIDEO, 30 DE AGOSTO A 1 DE SEPTIEMBRE DE 2011
78