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
© Copyright 2024