Story Transcript
2º Desafío Tecnológico Departamento de Teoría de la Señal Telemática y Comunicaciones
I4
"Sintetizador de partituras musicales para coro"
Grupo I4 Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero
I4
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 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
I4
2. Técnicas de Desarrollo
2.1 Extracción de la Información Musical:
2.2 Sintetización sin Letra:
Usando wavetables
2.3 Sintetización con Letra:
Fichero de entrada: Partitura en formato imagen Fichero en formato MIDI
Síntesis LPC HMMs (modelos ocultos de Márkov)
2.4 Modelado de Dinámica:
Modelo ADSR
I4
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 de las notas, velocidad…
I4
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 OMR (Optical Music Recognition) para la lectura de partituras.
I4
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 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:
2.2 Sintetización sin Letra:
Usando wavetables
2.3 Sintetización con Letra:
Fichero de entrada: Partitura en formato imagen Fichero en formato MIDI)
Síntesis LPC HMMs (modelos ocultos de Márkov)
2.4 Modelado de Dinámica:
Modelo ADSR
I4
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 todopolos LPC para modelar el tracto vocal en función de la letra y del tiempo
I4
2.3 Sintetización de Voz con Letra
2.3.2 HMM (Modelos Ocultos de Márkov)
Buena técnica para reconocimiento de 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
I4
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 (Attack/Decay/Sustain/Release)
I4
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) 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
I4
Gracias
Grupo I4
2º Desafío Tecnológico Departamento de Teoría de la Señal Telemática y Comunicaciones
I4
"Sintetizador de partituras musicales para coro"
Grupo I4 Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero
I4
Sumario
Introducción Procesamiento MIDI y de audio OMR y síntesis de partituras Interfaz de usuario Conclusiones y trabajo futuro Referencias
I4
Introducción
Extracción de la información musical:
Síntesis sin letra:
Fichero de entrada: Partitura en formato imagen Fichero en formato MIDI
Usando wavetables
Modelado de dinámica:
Modelo ADSR
I4
Procesamiento MIDI y de audio
Uso de las voces corales de Colossus 32GB de sonidos reales Compatible con GM UnNKS NKS a WAV
I4
Procesamiento MIDI y de audio
El problemas se divide
En canales En notas
Se atacan por separados Uniéndose los resultados en una solución única
I4
Procesamiento MIDI y de audio
Filtrado ADSR lineal para cada nota Mejoras
Incorporación de un modelo más realista
I4
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
Obtención de respuestas con Adobe Audition
I4
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
Corrección de la inclinación
Transformada de Hough
I4
OMR y síntesis de partituras
Segmentación de pentagramas
Mediante la proyección horizontal de histograma
Segmentación de símbolos
Mediante la proyección vertical de histograma
I4
OMR y síntesis de partituras 0 50 100 150 200 250 300 350 400 450 500
0
2
4
6
8
10
12
14
16 3
18 x
4
10
4
x 10 2.5
2
1.5
1
0.5
0 0
100
200
300
400
500
600
700
800
900
I4
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 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
I4
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 0 10 20 30 40 50 60 70 80 90 100
0
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) 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 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
I4
Referencias
MIDI Toolbox, Departamento de Música, Universidad de Jyväskylä, Finlandia, https://www.jyu.fi/hum/laitokset/musiikki/en/research/co e/materials/midi-toolbox/ X. Fernández Hermida y C. Sánchez-Barbudo y Vargas, “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”
I4
Sintetizador de partituras musicales para coro
GRACIAS
2º Desafío Tecnológico Departamento de Teoría de la Señal Telemática y Comunicaciones
I4
"Sintetizador de partituras musicales para coro"
Grupo I4 Iván Fernández Bermejo Iván López Espejo Santiago Prieto Calero
I4
Sumario
Introducción Procesamiento MIDI OMR Android
I4
Introducción
Mejoras:
Procesamiento de MIDI con track Mejora OMR Aplicación Android (Modo didáctico)
Carencias:
Síntesis sin letra (Solfeando) Base de datos sin derechos
I4
Procesamiento de MIDI con track
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 y no con los canales. En equipos pequeños hay problemas al existir una carencia de memoria.
OMR (Optical Music Recognition)
I4
Reconocimiento Automático de Partituras Musicales
Problema complejo 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)
I4
Desarrollo del OMR
Análisis de partituras corales en formato JPG Se utiliza la herramienta Image Toolbox de Matlab para: 1.
2. 3.
Diseño e implementación de un bloque que separe los pentagramas de la partitura y los símbolos de cada pentagrama. Creación de un clasificador que reconozca los símbolos proporcionados Utilización de las reglas de teoría musical para comprobación de errores y búsqueda de símbolos compuestos
I4
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
Reconocimiento de símbolos
I4
Segmentación de los símbolos mediante el histograma vertical del pentagrama modificado Erosión mediante elemento horizontal de 20 píxeles Substracción de la imagen erosionada a la original para eliminar las líneas del pentagrama
Reconocimiento de símbolos
I4
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
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
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 pentagrama Registro de cada figura y frecuencia en un fichero de texto
I4
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) 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
I4
Android
I4
Android
I4
Android
I4
Android
Partitura electrónica, nos permite música simple. Orientada a enseñanza.
I4
Android
I4
Android
.txt
.wav
I4
Resumen
I4
Sintetizador de partituras musicales para coro Referencias [1] D. Carretero de la Rocha, Sistema de Reconocimiento de Partituras Musicales. Proyecto fin de carrera, 2009. [2] http://developer.android.com/index.html
GRACIAS