2º Desafío Tecnológico Departamento de Teoría de la Señal...

55
2º Desafío Tecnológico Departamento de Teoría de la Señal Telemática y Comunicaciones "Sintetizador de partituras musicales para coro" I4 Grupo I 4 Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero

Transcript of 2º Desafío Tecnológico Departamento de Teoría de la Señal...

2º Desafío TecnológicoDepartamento de Teoría de la Señal Telemática y Com unicaciones

"Sintetizador de partituras musicales para coro"I4

Grupo I4Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero

1.Introducción

� Objetivo: diseñar e implementar un buen sistema para la sintetización de partituras musicales para coro de la forma más realista posible

I4

de la forma más realista posible� Problema: gran espectro de soluciones, diferentes técnicas, etc

� Solución: experimentación con varias técnicas: adquisición de datos, síntesis de voz, etc

2. Técnicas de Desarrollo

� 2.1 Extracción de la Información Musical:� Fichero de entrada:

� Partitura en formato imagen � Fichero en formato MIDI

� 2.2 Sintetización sin Letra:

I4

� 2.2 Sintetización sin Letra:� Usando wavetables

� 2.3 Sintetización con Letra:� Síntesis LPC � HMMs (modelos ocultos de Márkov)

� 2.4 Modelado de Dinámica:� Modelo ADSR

2.1 Extracción de la Información Musical

� 2.1.1 Archivo en formato MIDI� Herramienta: MidiToolbox para Matlab� Extracción de características: notas, duración, número de canales, comienzo

I4

duración, número de canales, comienzo de las notas, velocidad…

2.1 Extracción de la Información Musical

� 2.1.2 Archivo en formato imagen� Objetivo: Extracción de características de una partitura: notas y letra

� Diseño e implementación de un sistema

I4

� Diseño e implementación de un sistema OMR (Optical Music Recognition) para la lectura de partituras.

2.2 Sintetización de Voz sin Letra

� Objetivo: generar las diferentes líneas melódicas del coro mediante wavetables

� Elaboración de una base de datos:� Matriz de dos dimensiones, correspondiéndose

I4

� Matriz de dos dimensiones, correspondiéndose una de ellas al timbre y la otra al pitch

� Posibilidad de registrar voces de diferentes cantantes (según el sexo, la tesitura, etc)

� Síntesis de voz: concatenación de unidades básicas de voz real recogidas en la base de datos

2. Técnicas de Desarrollo

� 2.1 Extracción de la Información Musical:� Fichero de entrada:

� Partitura en formato imagen � Fichero en formato MIDI)

� 2.2 Sintetización sin Letra:� 2.2 Sintetización sin Letra:� Usando wavetables

� 2.3 Sintetización con Letra:� Síntesis LPC � HMMs (modelos ocultos de Márkov)

� 2.4 Modelado de Dinámica:� Modelo ADSR

2.3 Sintetización de Voz con Letra

� 2.3.1 Síntesis LPC� La señal excitación variable a partir de la información de altura tonal extraída (pitch)

� Variación de los coeficientes del filtro todo-polos LPC para modelar el tracto vocal en

I4

polos LPC para modelar el tracto vocal en función de la letra y del tiempo

2.3 Sintetización de Voz con Letra

� 2.3.2 HMM (Modelos Ocultos de Márkov)� Buena técnica para reconocimiento de voz

I4

voz� Últimamente usada para la síntesis de voz a partir de texto

� Creación de un bloque de modulación de pitch para incluir la información relativa a la altura tonal

2.4 Modelado de Dinámica

� Variación en la intensidad sonora de cada voz (ponderación de la forma de onda en el dominio del tiempo)

� Esquema ADSR

I4

� Esquema ADSR (Attack/Decay/Sustain/Release)

3. Conclusiones Finales

� Sintetización aditiva de cada una de las líneas melódicas que componen el coro

� Modelar las cuatro cualidades del sonido de la forma más fidedigna posible (timbre, altura, intensidad y duración)

I4

(timbre, altura, intensidad y duración)� Emplear psicoacústica para evitar el solapamiento de voces

� Resultado: fichero de audio con la pieza coral sintetizada de la forma más realista posible

Gracias

Grupo I4

I4

Grupo I4

2º Desafío TecnológicoDepartamento de Teoría de la Señal Telemática y Com unicaciones

"Sintetizador de partituras musicales para coro"I4

Grupo I4

Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero

Sumario

� Introducción

� Procesamiento MIDI y de audio

� OMR y síntesis de partituras

I4

� Interfaz de usuario

� Conclusiones y trabajo futuro

� Referencias

Introducción

� Extracción de la información musical:� Fichero de entrada:

� Partitura en formato imagen � Fichero en formato MIDI

Síntesis sin letra:

I4

� Síntesis sin letra:� Usando wavetables

� Modelado de dinámica:� Modelo ADSR

Procesamiento MIDI y de audio

� Uso de las voces corales de Colossus

� 32GB de sonidos reales

Compatible con GM

I4

� Compatible con GM

� UnNKS � NKS a WAV

Procesamiento MIDI y de audioI4

� El problemas se divide� En canales

� En notas� En notas

� Se atacan por separados

� Uniéndose los resultados en una solución única

Procesamiento MIDI y de audioI4

� Filtrado ADSR lineal para cada nota

� Mejoras� Incorporación de un modelo más � Incorporación de un modelo más realista

Procesamiento MIDI y de audio

� Filtrado de acústica� Suavizado de interfases

� Correlación de las líneas melódicas

� Emulación de la acústica del recinto

I4

� Emulación de la acústica del recinto

� Obtención de respuestas con Adobe Audition

Procesamiento MIDI y de audio

� Implementación en el dominio de la frecuencia� Zero-padding de h(n)

I4

OMR y síntesis de partituras

� En la actualidad sólo partituras muy sencillas

I4

OMR y síntesis de partituras

� Preprocesamiento de la imagen� Conversión a niveles de gris

� Inversión

� Binarización

I4

� Binarización

� Corrección de la inclinación� Transformada de Hough

OMR y síntesis de partituras

� Segmentación de pentagramas� Mediante la proyección horizontal de histograma

� Segmentación de símbolos

I4

� Segmentación de símbolos� Mediante la proyección vertical de histograma

OMR y síntesis de partituras0

50

100

150

200

250

I4

300

350

400

450

5000 2 4 6 8 10 12 14 16 18

x 104

0 100 200 300 400 500 600 700 800 9000

0.5

1

1.5

2

2.5

3x 10

4

OMR y síntesis de partituras

� Fase de clasificación de símbolo� Sustracción de la componente DC

� Normalización de la proyección de histograma segmentada

I4

histograma segmentada

� 24 coeficientes del módulo de la FFT

� Comparación con los patrones de la base de datos � Seleccionar el de mínima distancia euclídea

OMR y síntesis de partituras

� Inclusión de diferentes versiones de un símbolo en la DB

I4

OMR y síntesis de partituras

� Detección del tono� Mediante proyección horizontal de histograma

I4

0

10

20

30

40

50

60

70

80

90

1000 500 1000 1500 2000 2500 3000 3500 4000

OMR y síntesis de partituras

� OMR � Fichero de texto� Pitch, duración (negra, blanca, redonda)

� Extracción vector (notas, duración)

� Pitch (frecuencia fundamental)� Pitch (frecuencia fundamental)

� Duración (negra=1, blanca=2, redonda=4)

� Síntesis � Wavetables� Pitch � Notación MIDI

� Duración � Nº de muestras según bpm

� Modelo dinámico (ADSR) por nota

Interfaz de usuario

� Se crea para el fácil manejo de las funciones habilitadas

� Permite leer archivos .mid y .jpg para realizar la síntesis Funciones:

� Visualizar la partitura en un panel de imagen

� Cambiar la acústica de la señal sintetizada

Modificar la velocidad de reproducción� Modificar la velocidad de reproducción

� Reproductor de música

Conclusiones y trabajo futuro

� Modelo más realista de dinámica (ADSR)

� OMR de partituras más complejas (incluyendo la letra)

� Síntesis de piezas con letra� Síntesis de piezas con letra

Referencias

� MIDI Toolbox, Departamento de Música, Universidad de Jyväskylä, Finlandia, https://www.jyu.fi/hum/laitokset/musiikki/en/research/coe/materials/midi-toolbox/

� X. Fernández Hermida y C. Sánchez-Barbudo y Vargas, “Development of an Optical Music Recognizer”

I4

“Development of an Optical Music Recognizer”

� A. Sánchez, J. J. Pantrigo y J. I. Pérez, “Extracción de Líneas Melódicas a partir de Imágenes de Partituras Musicales”

Sintetizador de partituras musicales para coro

GRACIAS

I4

GRACIAS

2º Desafío TecnológicoDepartamento de Teoría de la Señal Telemática y Com unicaciones

"Sintetizador de partituras musicales para coro"I4

Grupo I4

Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero

Sumario

� Introducción

� Procesamiento MIDI

I4

� OMR

� Android

Introducción

� Mejoras:� Procesamiento de MIDI con track

� Mejora OMR

I4

� Mejora OMR

� Aplicación Android (Modo didáctico)

� Carencias:� Síntesis sin letra (Solfeando)

� Base de datos sin derechos

Procesamiento de MIDI con trackI4

� Se comprueba si el midi es mono canal, y en ese caso si usa track.

� Se realiza la misma síntesis que ya teníamos pero con la columna track teníamos pero con la columna track y no con los canales.

� En equipos pequeños hay problemas al existir una carencia de memoria.

OMR (Optical Music Recognition)

� Reconocimiento Automático de Partituras Musicales� Problema complejo

� Ventajas:

I4

� Ventajas:

�Almacenamiento perpetuo en el tiempo de la información musical en formato digital

�Tratamiento de los datos digitales

(modificación, transmisión...)

�Gestión más eficaz de las obras (mediante bases de datos)

Desarrollo del OMR

� Análisis de partituras corales en formato JPG

� Se utiliza la herramienta Image Toolboxde Matlab para:

Diseño e implementación de un bloque que

I4

1. Diseño e implementación de un bloque que separe los pentagramas de la partitura y los símbolos de cada pentagrama.

2. Creación de un clasificador que reconozca los símbolos proporcionados

3. Utilización de las reglas de teoría musical para comprobación de errores y búsqueda de símbolos compuestos

Pre-procesado de la imagen� Binarizar la imagen mediante el método de Otsu

� Inversión de la imagen binaria

I4

Segmentación de pentagramas� Se aplica a la imagen el histograma horizontal� Se descartan los valores del histograma horizontal por debajo de un umbral (máximo valor del histograma horizontal/2)

� Se busca el patrón característico que conforman los pentagramas

I4

Segmentación de símbolos� Se aplica el histograma vertical a cada pentagrama segmentado

� Se haya la mediana del histograma vertical

� Se eliminan los valores por debajo de este valor

I4

Reconocimiento de símbolos

� Segmentación de los símbolos mediante el histogramavertical del pentagrama modificado

� Erosión mediante elemento horizontal de 20 píxeles

� Substracción de la imagen erosionada a la original paraeliminar las líneas del pentagrama

I4

eliminar las líneas del pentagrama

Reconocimiento de símbolos

� Comparación de patrones entre los símbolos segmentados y las imágenes de la base de datos

� correlación cruzada normalizada:

� Valor comprendido entre [-1,1]

I4

� Valor comprendido entre [-1,1]

Algoritmo de reconocimiento de símbolos

� Primero se busca la clave (Sol, Fa)� Seguidamente se busca el compás� Después se reconoce cada uno de los símbolos segmentados

I4

Reconocimientos de símbolos unidos� Se detectan mediante la anchura de píxeles� Se erosionan mediante elemento horizontal de 5 píxeles

� Se sustrae el elemento cuya longitud horizontal es mayor (barra horizontal o ligadura)

� Se comparan las figuras para obtener su duración y tonalidad

I4

� Se comparan las figuras para obtener su duración y tonalidad

Detección de la tonalidad� Extraer la posición de las líneas del pentagrama� Extracción del punto medio de la posición de cada nota (utilizando información del histograma horizontal)

� Obtener la frecuencia de la nota mediante la distancia mínima a las líneas del pentagramaRegistro de cada figura y frecuencia en un fichero

I4

� Registro de cada figura y frecuencia en un fichero de texto

Síntesis de la partitura� Utilización de las reglas de la teoría musical:

� Si el pentagrama está en clave de Fa se transportan todas las notas del mismo

� Si se detecta un punto después de una figura se alarga la duración (1.5x duración)

I4

se alarga la duración (1.5x duración)

� Si se detectan dos puntos verticales y una barra doble se repiten todos los compases anteriores

� Extracción de un vector de notas y duración de cada pentagrama

� Multiplexación de pentagramas aprovechando las características de las partituras corales

AndroidI4

AndroidI4

AndroidI4

Android

� Partitura electrónica, nos permite música simple.

� Orientada a enseñanza.

I4

AndroidI4

Android

.txt

I4

.wav

ResumenI4

Sintetizador de partituras musicales para coro

I4

Referencias

[1] D. Carretero de la Rocha, Sistema de Reconocimiento de Partituras Musicales. Proyecto fin de carrera, 2009.

GRACIAS

[2] http://developer.android.com/index.html