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

Sintetizador de Partituras Musicales para Coro (Presentaciones)

  • Upload
    iloes

  • View
    125

  • Download
    1

Embed Size (px)

DESCRIPTION

Presentaciones asociadas al desarrollo de un sistema de síntesis en voz sonora de partituras corales para el "II Desafío Tecnológico" que organiza el DTSTC de la Universidad de Granada.

Citation preview

Page 1: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 2: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 3: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 4: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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…

Page 5: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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.

Page 6: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 7: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 8: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 9: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 10: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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)

Page 11: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 12: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Gracias

Grupo I4

I4

Grupo I4

Page 13: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 14: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Sumario

� Introducción

� Procesamiento MIDI y de audio

� OMR y síntesis de partituras

I4

� Interfaz de usuario

� Conclusiones y trabajo futuro

� Referencias

Page 15: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 16: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 17: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 18: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 19: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 20: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Procesamiento MIDI y de audio

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

I4

Page 21: Sintetizador de Partituras Musicales para Coro (Presentaciones)

OMR y síntesis de partituras

� En la actualidad sólo partituras muy sencillas

I4

Page 22: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 23: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 24: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 25: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 26: Sintetizador de Partituras Musicales para Coro (Presentaciones)

OMR y síntesis de partituras

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

I4

Page 27: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 28: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 29: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 30: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 31: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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”

Page 32: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Sintetizador de partituras musicales para coro

GRACIAS

I4

GRACIAS

Page 33: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 34: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Sumario

� Introducción

� Procesamiento MIDI

I4

� OMR

� Android

Page 35: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 36: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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.

Page 37: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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)

Page 38: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 39: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

� Inversión de la imagen binaria

I4

Page 40: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 41: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 42: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 43: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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]

Page 44: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 45: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 46: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 47: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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

Page 48: Sintetizador de Partituras Musicales para Coro (Presentaciones)

AndroidI4

Page 49: Sintetizador de Partituras Musicales para Coro (Presentaciones)

AndroidI4

Page 50: Sintetizador de Partituras Musicales para Coro (Presentaciones)

AndroidI4

Page 51: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Android

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

� Orientada a enseñanza.

I4

Page 52: Sintetizador de Partituras Musicales para Coro (Presentaciones)

AndroidI4

Page 53: Sintetizador de Partituras Musicales para Coro (Presentaciones)

Android

.txt

I4

.wav

Page 54: Sintetizador de Partituras Musicales para Coro (Presentaciones)

ResumenI4

Page 55: Sintetizador de Partituras Musicales para Coro (Presentaciones)

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