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
Top Related