Transcripción musical de una fuente sonora polifónica

Transcripción musical de una fuente sonora polifónica para instrumentos de una
sola clave
Paola A. Cardona, Cristian C. Serna
Universidad del Quindı́o
[email protected], [email protected]
Luis M. Capacho, Jorge I. Marı́n
Universidad del Quindı́o
[email protected], [email protected]
Abstract
Este proyecto se enfoca en dos temáticas objeto de estudio durante varios años, la separación ciega de fuentes y
la transcripción musical. La aplicación desarrollada comprende tres etapas de procesamiento: mezcla y separación
de fuentes, transcripción musical y visualización de notas
transcritas en pentagrama. En la primera etapa, se realiza
la mezcla a partir de dos señales de audio de diferentes instrumentos para simular una grabación a dos micrófonos a
través del uso del concepto de HRTF (Head Related Transfer Function). Luego se procede a separar las fuentes de
dichas señales mezcla utilizando el método Infomax (método ICA), el cual se caracteriza por su similitud en resultados comparado con otros métodos de este tipo. Las señales
separadas se pasan entonces a la segunda etapa de procesamiento, la cual se encarga de realizar la transcripción
musical por medio del método propuesto por Anssi Klapuri,
el cual elimina la información tı́mbrica de los instrumentos
y obtiene la F0 sin importar el tipo de fuente sonora. Finalmente la transcripción obtenida para cada instrumento, es
plasmada en una partitura haciendo uso del software libre
MuseScore, el cual, basa su funcionamiento en el lenguaje
de etiquetas XML.
complejo identificar caracterı́sticas fundamentales como las
notas y los tiempos de interpretación o los sonidos de los
distintos instrumentos que puedan componer una obra.
Dichas dificultades, han sido el marco de un centenar de
investigaciones cientı́ficas, que han buscado acercar al ser
humano a la compresión y reproducción del proceso que se
lleva a cabo entre el sistema auditivo y el cerebro humano
por medio de sistemas y algoritmos computacionales.
Algunos de los algoritmos existentes hasta la fecha para
la separación de fuentes, son los algoritmos de BSS o “Blind
Source Separation” donde los más utilizados son los métodos ICA, los cuales han sido desarrollados ampliamente durante los últimos años y aplicados a problemas prácticos en
diversas áreas cientı́ficas y tecnológicas, como el análisis de
señales neuronales y la separación de señales acústicas. [1]
A su vez para la transcripción musical han sido desarrollados métodos que se enfocan en calcular la frecuencia
fundamental de las notas que componen una melodı́a, diferenciando unos de otros en la forma como se analiza la
señal estudiada, ya que algunos se ejecutan en el dominio
del tiempo mientras otros en el dominio de la frecuencia.
Cada uno de los métodos desarrollados posee ventajas y
desventajas que son tenidas en cuenta según sea el análisis
y los resultados esperados.
2.. Métodos propuestos
1.. Introducción
2.1.. HRTF
En el entorno que nos movemos a diario, encontramos
infinidad de expresiones musicales con las que podemos tener contacto, las cuales a su vez, se ven ligadas a la cultura
en la que estas se desarrollan y a lo que el ser humano expresa en ellas. Sin embargo, en la mayorı́a de ocasiones, quienes las escuchan desean poder interpretarlas lo más cercano
posible al audio original, provocando enormes dificultades
para quienes no poseen educación musical ya que se vuelve
Según [?] Head Related Transfer Function (Función de
transferencia Relacionada a la Cabeza) es una respuesta que
caracteriza cómo un sonido desde un punto especı́fico llega
al oı́do (generalmente en el extremo exterior del conducto auditivo). Por esta razón un par de HRTF (para los dos
oı́dos) puede ser utilizado para sintetizar un sonido binaural
teniendo en cuenta que cada una, es una función compleja
que tiene información de magnitud y desplazamiento en fa-
c
978-1-4673-9461-1/15/$31.00 2015
IEEE
se. Además de esto la HRTF es altamente dependiente de la
ubicación de la fuente de sonido en relación con el oyente,
razón principal por la que se es capaz de localizar la fuente
sonora.
Figura 2. Representación del Cocktail Party Problem [1].
La separación ciega de fuentes asume que cada una de
las señales mezcladas tienen una distribución no gaussiana
y son estadı́sticamente independientes. El sistema de ecuaciones lineales que resulta de las n señales recibidas por los
m micrófonos se evidencia en el grupo de ecuaciones 2.
x1 (t) = a11 s1 + a12 s2 + . . . + a1n sn
Figura 1. Filtrado de una señal x(t) por dos funciones de transferencia hL (t) y hR (t) [6].
x2 (t) = a21 s1 + a22 s2 + . . . + a2n sn
···
La figura 1 muestra como una onda de sonido es percibida por los oı́dos, donde hL (t) hace referencia a la respuesta
al impulso en el dominio del tiempo para el oı́do izquierdo
y hR (t) la respuesta al impulso en el dominio del tiempo
para el oı́do derecho. X(t) representa la presión proveniente de la fuente de sonido, XL (t) la presión percibida en el
oı́do izquierdo y XR (t) la presión en el oı́do derecho. Dado
que la convolución es una multiplicación en el dominio de
la frecuencia, la presión en los oı́dos puede ser representada
como la convolución de la señal de sonido y la respuesta al
impulso de cada oı́do, como se muestra en la ecuación 1
XL,R (w) = F (hL,R (t) ∗ x(t)) = HL,R (w)X(w)
(2)
xm (t) = am1 s1 + am2 s2 + . . . + amn sn
Donde las señales x1 (t), x2 (t), . . . , xm (t) son cada una
de las mezclas recibidas por los m micrófonos, sn son las
señales fuente y las constantes amn están relacionadas con
la distancia existente entre las fuentes y los micrófonos.
Es importante tener en cuenta el número de fuentes n y
de micrófonos m utilizados, ya que de esto depende que el
sistema tenga o no tenga solución, es decir, si el número
de micrófonos es mayor o igual al número de fuentes el
sistema tiene solución pero en el caso contrario el modelo se
convierte en BSS no determinado y no habrı́a una solución
al problema.
(1)
2.2.. Separación ciega de Fuentes
La separación ciega de fuentes o BSS (Blind Source Separation), se define en [1] como el término usado para describir un método de extracción de las señales de origen, a
partir de un conjunto de mezclas de señales observadas con
poca o ninguna información en cuanto a la naturaleza de
esas señales fuente. Un ejemplo clásico de separación ciega
de fuentes es el Cocktail Party Problem. Este hace referencia a la tı́pica situación en la cual cierta cantidad de personas conversan simultáneamente dentro de una misma habitación. La intención es entonces poder separar las voces de
cada sujeto a partir de las mezclas registradas por micrófonos posicionados dentro del recinto. En la figura 2 se puede
observar una representación simple de dicha situación.
2.2.1.
Método Infomax
Según [1] “Infomax es un método de ICA basado en
teorı́a de información que tiene como objetivo encontrar
señales de fuentes independientes por maximización de la
entropı́a”. La ecuación 3 define en general el propósito de
Infomax, el cual pretende extraer de unas señales de mezcla
x, las señales y por medio de la optimización de la matriz de
desmezcla w. Para Infomax las señales que se extraen solo
son señales fuente si son independientes entre sı́, pero dado que la independencia no puede ser medida se recurre al
concepto de la entropı́a, la cual tiene una estrecha relación
con la independencia de las señales, es decir, si la entropı́a
2
es máxima se puede afirmar que las señales son independientes entre sı́.
y = Wx
cada instrumento aporta musicalmente, logrando ası́, obtener una estimación más robusta ante variaciones de las fuentes sonoras. Para determinar el valor de dicha F0 se calcula
la saliencia o fuerza de dicho candidato. Este valor se obtiene debido a la suma de los pesos de las amplitudes de los
harmónicos parciales [4].
(3)
La entropı́a de las señales de mezcla es constante, a pesar
de esto es posible maximizar el cambio en la entropı́a asignando las señales y = W x a un posible conjunto de señales
Y = g(y) = g(W x). Para lograr optimizar la matriz de
desmezcla W y por tanto la maximización del cambio de
entropı́a x → Y es necesario extender el mapeo en Y , y
con la maximización de la entropı́a, las señales que se obtienen como resultado son independientes. Se toma entonces la inversa y = g −1 (Y ), que resulta ser señales extraı́das
y igualmente independientes. Ya que las señales y que son
extraı́das son independientes, se dice que son las señales
fuentes s originales [1].
2.2.2.
2.3.1.
Para realizar un blanqueado espectral es necesario que la
señal de entrada X(n), sea analizada por ventanas con un
solapamiento del 25 %. La cantidad de muestras que comprende cada ventana es de 8192 para una fs de 44100. Luego
de tener la señal enventanada se aplica una ventana de Hamming y seguido se realiza un relleno con ceros (padded) dos
veces el tamaño original del enventanado. Al vector anterior, se le aplica la Transformada Rápida de Fourier (FFT)
y se obtiene como resultado X(k). Ya en la frecuencia es
posible aplicar blanqueado espectral. Para ello se simula un
banco de 60 filtros pasa banda, caracterizados por poseer
una respuesta Hb (k) de tipo triangular en amplitud, como
se muestra en la figura 3. Cada sub-banda se extiende desde Cb−2 hasta Cb+2 [8]. Las frecuencias centrales de cada
sub-banda Cb son distribuidas uniformemente en una escala
logarı́tmica y se denotan por la ecuación 6.
0,5b+1
(6)
Cb = 229 ∗ 10 21,4 − 1
Expresión Infomax para entropı́a
Dado que la matriz W que maximiza la ecuación 4 también lo hace en Y , significa que las filas de Y son independientes y también las de y puesto que ésta es la inversa de
Y , lo cual denota que W es quien genera las señales originales. El algoritmo Infomax utiliza la ecuación 4 como
fundamental.
h(Y ) =
2.2.3.
M N
1 XX
ln px (yit ) + ln |W |
N i=1 t=1
Blanqueado espectral
(4)
Algoritmo para Infomax
1
0.9
La maximización de la entropı́a permite encontrar la matriz de desmezcla óptima W , es decir, siguiendo de forma
iterativa el gradiente ∇h hasta que se alcanza un máximo
local.
La ecuación 5 es la forma general del algoritmo Infomax usando gradiente ascendente para optimizar la matriz
de desmezcla W .
0.8
Amplitud
0.7
0.6
0.5
0.4
0.3
0.2
0.1
−T
Wnew = Wold + η Wold
+
1
N
N
X
!
Ψ(y t )[xt ]T
0
0
(5)
500
1000
1500
2000
2500
Resolución en muestras (N)
t=1
2.3.. Transcripción musical
Figura 3. Banco de filtros usado para el blanqueado espectral.
La trascripción musical se define como el proceso mediante el cual, a partir de la audición de una pieza musical
se reconstruye la secuencia de notas que forman la partitura
[5]. Cuando un instrumento genera una nota, a dicho sonido
se le asocia una frecuencia fundamental F0.
Anssi Klapuri gracias a largas investigaciones proporciona un método que estudia un tipo de estimador de F0, donde
una señal de entrada es enventanada y achatada espectralmente con el principal objetivo de eliminar el timbre que
Seguido es necesario calcular la desviación estándar σb
de cada sub-banda por medio de la ecuación (7).
s
σb =
1 X
Hb (k)|X(k)|2
K
(7)
k
En la cual, K es el tamaño de la transformada de Fourier
(16384). El resultado que se obtiene para σb es producto de
un intento por estimar la envolvente del espectro X(k).
3
Al realizar el proceso anterior se lleva a cabo el cálculo de los coeficientes de compresión γb = σbv−1 , donde
v = 0,33 es un parámetro que indica el porcentaje de blanqueado espectral aplicado. Finalmente los coeficientes γb
son interpolados para pasar a tener la misma cantidad de
puntos de la FFT obteniendo γ(k). [4]
El espectro blanqueado Y (k) es obtenido por ponderación del espectro de la señal de entrada con los coeficientes
de compresión como Y (k) = γ(k)|X(k)|
2.3.2.
Algorithm: Busqueda para el máximo de s(τ )[4]
1
2
3
4
5
6
Cálculo de la saliencia
7
Para el cálculo de la saliencia se hace uso de la transformada de Fourier donde k(τ, m) es un conjunto de intervalos
en la vecindad del m-esimo parcial del candidato a F0. Este
cálculo se realiza haciendo uso de la ecuación 8.
s(τ ) =
M
X
8
9
10
11
g(τ, m)maxk∈kτ,m Y (k)
12
(8)
13
m=1
Las vecindades del candidato a F0 se calculan por medio
de la expresión mostrada en la ecuación 9.
"*
K
mK
τ + ∆τ
2
+
*
,...,
mK
τ − ∆τ
2
+#
(9)
fs
τlow (q)+α
mfs
τup (q)+β
τ = (τlow (q) + τup (q))/2
∆τ = τup (q) − τlow (q)
end
qbest ← arg máxq∈[1,Q] Smax (q)
end
2. Se estima un τ con YR (k) y el algoritmo de biparticion.
El máximo de s(τ ) determina τ .
3. Los parciales de τ están ubicados en YR (k) en los vecinos de frecuencia h mK
τ i . Se estima la frecuencia y
amplitud de cada parcial y se calcula la magnitud del
espectro de unos pocos vecinos, formando el espectro
de la fuente sonora detectada. El espectro del m-esimo
parcial de la fuente sonora detectada es además ponderada por g(τ, m) y sumado en el lugar correspondiente
en YD .
Algoritmo usado para el cálculo de la saliencia
Para la ejecución del algoritmo que se encarga del cálculo de la saliencia, se tiene en cuenta que es necesario declarar cual es el valor mı́nimo y máximo que puede recibir τ ,
además de la precisión que se busca obtener al calcular un
valor para este.Se usa un algoritmo de bipartición en el que
se estima el τ de mayor saliencia en el intervalo de interés.
Este algoritmo no calcula la saliencia en todo el intervalo o
ventana de N muestras, sino que mediante bipartición estima en que mitad del intervalo se encuentra el valor de τ que
se aproxima a la F0 [4].
2.3.4.
Con g(τ, m) =
1. Se inicializa un espectro residual YR (k) igual a Y (k)
y un espectro de sonidos detectados YD (k) = 0.
Acá kτ,m define un rango de frecuencias en la vecindad
del candidato a F0 y el valor tope de M será 20. Igualmente
∆τ denota el espaciamiento entre los periodos candidatos
sucesivos. Normalmente ∆τ = 0,5 ya que este hace referencia a la mitad del espaciamiento de los intervalos de
muestreo. [2]
2.3.3.
Output: τ̂ = (τlow (qbest + τup (qbest ))/2
ŝ(τ̂ ) = Smax (qbest )
Q←1
τlow (1) ← τmin ; τup (1) ← τmax
qbest ← 1
while τup (qbest ) − τlow (qbest ) > τprec do
Q←Q+1
τlow (Q) ← (τlow (qbest ) + τup (qbest ))/2
τup (Q) ← τup (qbest )
τup (qbest ) ← τlow (Q)
for q ∈ {qbest , Q} do
4. El espectro residual es recalculado como YR (k) =
máx(0, Y (k) − dYD (k) donde d es la cantidad de sustracción aplicada.
5. Si aún quedan sonidos u otra condición de parada se
repite el proceso desde el paso 2 [4][8].
3.. Análisis y resultados
Para llevar a cabo la validación de este proyecto, se utilizan 6 audios de caracterı́sticas diferentes entre sı́. Estos son
sintetizados para tres instrumentos (flauta, violı́n, guitarra).
Las caracterı́sticas de los audios usados son:
Estimación iterativa y cancelación
El primero de ellos contiene la escala ascendente y descendente de las notas que son contempladas en la transcripción musical (Do4–Sol5) permitiendo analizar qué
tan robusto es el algoritmo diseñado ante los diversos
instrumentos. Cabe resaltar que este audio solo posee
Además de los pasos anteriores se implementa un ciclo
iterativo que busca eliminar del audio, todo sonido detectado permitiendo que s(τ ) se actualice con estos valores antes
de estimar el siguiente F0. Los pasos llevados a cabo en este
ciclo son:
4
FLAUTA
cambios tonales, ya que la duración asignada a cada
uno de estos es la misma (negra).
Media
Desviación
Estándar
El segundo audio se caracteriza por presentar variaciones de notas y de tiempos, que aportan un mayor nivel
de dificultad al proyecto, evaluando ası́, la robustez y
fiabilidad ante cambios tonales, de tiempos e instrumentos En este se contemplan las figuras musicales
como corchea, negra, blanca y redonda.
GUITARRA
Media
Desviación
Estándar
Media
Desviación
Estándar
% Asertividad notas
72,17
16,07
VIOLÍN
Media
Desviación
Estándar
Media
Desviación
Estándar
% Asertividad total
79,86
9,79
% Asertividad notas
98,42
2,54
% Asertividad tiempos
30,32
16,45
% Asertividad tiempos
85,33
6,69
Cuadro 2. Valores obtenidos para Guitarra MIDI.
VIOLÍN
Media
Desviación
Estándar
% Asertividad total
79,54
9,32
% Asertividad notas
100,00
0,00
% Asertividad total
51,82
19,55
% Asertividad notas
95,84
4,18
% Asertividad tiempos
67,58
13,13
% Asertividad total
42,07
25,52
% Asertividad notas
97,81
3,52
% Asertividad tiempos
65,77
14,83
Cuadro 6. Valores obtenidos para Violı́n (Separación de fuentes
MIDI).
Cuadro 1. Valores obtenidos para Flauta MIDI.
GUITARRA
% Asertividad tiempos
35,32
20,62
Cuadro 5. Valores obtenidos para Guitarra (Separación de fuentes
MIDI).
Los resultados obtenidos se analizan verificando tres tipos de asertividad (asertividad total, asertividad en notas y
asertividad en tiempos). Además de esto por medio de conceptos estadı́sticos como la media o valor promedio y la desviación estándar que expresa la dispersión de los datos con
respecto a dicho valor promedio. Se tiene en cuenta además
que estos análisis se hacen para transcripción de audio originales MIDI y para audios obtenidos luego de realizar una
separación de fuentes.
% Asertividad total
17,02
15,91
% Asertividad notas
80,15
7,61
Cuadro 4. Valores obtenidos para Flauta (Separación de fuentes
MIDI).
Los audios restantes son canciones escogidas por sus
caracterı́sticas, las cuales se acoplan a las condiciones
previas de análisis como lo son melodı́as interpretadas por instrumentos musicales de una sola clave y ausencia de alteraciones como bemoles o sostenidos. Las
canciones elegidas son Cielito Lindo, Estrellita, Los
Pollitos Dicen y el Himno de la Alegrı́a.
FLAUTA
% Asertividad total
14,16
13,47
% Asertividad tiempos
84,03
11,11
Cuadro 3. Valores obtenidos para Violı́n MIDI.
5
Con ayuda de los resultados obtenidos y analizando los
escenarios en los cuales han sido recolectados estos datos,
se evidencia que los algoritmos usados siguen presentando
una sensibilidad considerable ante el ruido que poseen los
audios de caracterı́sticas reales en comparación con los sintetizados. Por esta razón se plantea como trabajo futuro la
implementación de otro método previo a Infomax, que permita eliminar la redundancia en los datos o decorrelarlos,
generando de esta forma un algoritmo más robusto ante los
diversos tipos de señales que se encuentran en el entorno.
Igualmente se plantea el uso de herramientas de aprendizaje para mejorar la asertividad que la aplicación posee en el
momento y lograr de esta forma la búsqueda de una mayor
fiabilidad en los datos obtenidos. Paralelo a esto se plantean
como desarrollos futuros el poder abarcar en el proceso de
transcripción musical, piezas que contemplen acordes o alteraciones musicales además de la identificación del instrumento interpretado.
En este proyecto se hace difı́cil comparar los resultados
obtenidos con otros trabajos o aplicaciones realizadas, ya
que el enfoque que se plantea difiere en un gran porcentaje
de los demás, debido a que en el estado del arte no se aprecian trabajos que realicen separación de fuentes polifónicas
y una posterior transcripción musical. Por lo tanto el objetivo que se busca es analizar y comprender que resultados se pueden obtener de la unión de dos métodos que por
separado funcionan a la perfección y determinar con base
en estas apreciaciones que más desarrollos se pueden hacer en pro de obtener una aplicación robusta. Algunos de
los proyectos que se encontraron en el estado del arte son
por ejemplo la detección de melodı́a principal para piezas
musicales reales en la cual resaltan las cualidades del algoritmo propuesto por Anssi Klapuri [2]. Igualmente es posible encontrar trabajos enfocados transcripción de melodı́as
polifónicas mediante el uso de redes neuronales dinámicas
[3], transcripción de música polifónica para piano basada
en resolución de grupos de notas y estados finitos [5] y un
escrito enfocado en una aproximación genética a la transcripción automática de música [7].
La asertividad en notas es mucho mejor que la de tiempos, debido a que el algoritmo usado para determinar
la F0 es mucho más robusto que el utilizado para determinar las figuras musicales. Esta diferencia radica
en el hecho que este último depende estrictamente del
BPM, medida que se relaciona con el valor en ventanas
para un tiempo de ejecución en particular.
Referencias
[1] J. H. Garvey. Independent component analysis by entropy maximization (infomax). PhD thesis, Monterey, California. Naval
Postgraduate School, 2007.
[2] G. Gini, H. Spontón, and P. Soubes. Detección de melodı́a
principal.
[3] A. P. Ibánez. Transcripción de melodıas polifónicas mediante
redes neuronales dinámicas.
[4] A. Klapuri. Multiple fundamental frequency estimation by
summing harmonic amplitudes. In ISMIR, pages 216–221,
2006.
[5] S. G. Meire. Transcripción de música polifónica para piano
basada en la resolución de grupos de notas y estados finitos.
Inteligencia Artificial, Revista Iberoamericana de Inteligencia
Artificial, 14(45):44–47, 2010.
[6] T. Potisk. Head-related transfer function.
[7] G. M. J. d. Reis. Una aproximación genética a la transcripción
automática de música. 2014.
[8] M. P. Ryynänen and A. P. Klapuri. Automatic transcription of
melody, bass line, and chords in polyphonic music. Computer
Music Journal, 32(3):72–86, 2008.
4.. Conclusiones
Es posible afirmar que la elección de métodos como
Infomax y el estimador de F0 de Anssi klapuri, permitieron cumplir con los diferentes objetivos planteados para este proyecto, brindando a quienes no cuentan
con los conocimientos musicales, la posibilidad de tener una aplicación que se enfoca en la separación de
fuentes y transcripción musical automática.
Las etapas de acondicionamiento de señales como el
blanqueado espectral aplicado, permiten realizar la
transcripción musical a multitud de instrumentos, debido a que el timbre que aporta cada uno de estos es
previamente eliminado, permitiendo obtener fácilmente la frecuencia fundamental F0.
Para la correcta aplicación y funcionamiento del método Infomax, los audios analizados deben ser obtenidos
por medio de una grabación a dos micrófonos, ya que
el valor del ángulo con el que el micrófono capta las
señales es quien determina en ultimas la forma como
deben ser separados los instrumentos.
Eliminar completamente la interferencia aportada por
el segundo instrumento en la separación ciega de fuentes usando Infomax, no es posible ya que la acción de
mezclar señales produce señales más Gaussianas, lo
cual representa una mayor dificultad al momento de
separarlas.
La asertividad del proceso de transcripción, depende
de la naturaleza del instrumento analizado, ya que por
lo general los instrumentos de viento generan mayor
cantidad de armónicos que los de cuerda, lo cual afecta
la transcripción.
Todas las asertividades se ven reducidas cuando se realiza la trascripción a partir de la separación de fuentes
ya que la interferencia aportada por el otro instrumento
afecta el procesamiento.
6