Informtica Musical Music XML Lenguaje de representacin musical

  • Slides: 24
Download presentation
Informática Musical Music. XML Lenguaje de representación musical simbólica David Rizo y José Manuel

Informática Musical Music. XML Lenguaje de representación musical simbólica David Rizo y José Manuel Iñesta

Representación de la música en informática • Dos tipos básicos de ficheros – Audio.

Representación de la música en informática • Dos tipos básicos de ficheros – Audio. Grabación de una interpretación: • CD, MP 3 – Simbólico. Indicaciones que dicen cuándo y cómo deben sonar notas: • partituras

Qué es Music. XML • Lenguaje de representación musical • Se guarda información de

Qué es Music. XML • Lenguaje de representación musical • Se guarda información de notación partituras o ejecuciones de ellas • No se guarda audio • Necesidad – Diversos programas – diferentes objetivos compartir información – Formatos actuales tienen carestías – Bancos de partituras: PDF o propietario

En la práctica. . . • MIDI como formato de intercambio • Totalmente extendido

En la práctica. . . • MIDI como formato de intercambio • Totalmente extendido • Miles de ficheros disponibles • Problemas: – – No distingue DO# de un REb No sabe qué es una repetición. Desconoce el concepto crescendo. No puede representar tresillos.

Music. XML como formato de intercambio • Pensado para representar información de – Ejecución:

Music. XML como formato de intercambio • Pensado para representar información de – Ejecución: similar a MIDI – Notación: similar a NIFF (sistema de codificación) • Basado en los formatos académicos: – Muse. Data: del CCARH de la Univ. de Stanford. Pensado para clásica y folk – Humdrum: de la Univ. de Ohio. Para análisis de cadenas (p. ej usa expresiones regulares) • Construido sobre la práctica – Ciclo iterativo

¿Por qué XML? • Sintaxis básica del lenguaje ya definida • Estándar abierto: DTD

¿Por qué XML? • Sintaxis básica del lenguaje ya definida • Estándar abierto: DTD pública que define el lenguaje • Posible integración como parte de otros lenguajes mayores: DTD Multimedia • Disponibles parsers en casi todos lenguajes de programación

Usado por

Usado por

Disponible para desarrollo: • DTD en la web de Recordare bajo los términos de

Disponible para desarrollo: • DTD en la web de Recordare bajo los términos de uso de W 3 C • Documentación suficiente • Lista de discusión activa • Conceptos equivalentes a los respectivos musicales • Herramientas de desarrollo que funcionan con los ficheros de Music. XML: parsers (SAX y DOM) y XML Databinding (xdk)

¡Hola Mundo! = <? xml version="1. 0" encoding="UTF-8" standalone="no"? > <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD

¡Hola Mundo! = <? xml version="1. 0" encoding="UTF-8" standalone="no"? > <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD Music. XML 0. 7 Partwise//EN" "http: //www. musicxml. org/dtds/partwise. d td"> <score-partwise> <part-list> <score-part id="P 1"> <part-name>Music</part-name> </score-part> </part-list> <part id="P 1"> <measure number="1"> <attributes> <divisions>1</divisions> Resolución <key> Tonalidad <fifths>0</fifths> </key> <time> Métrica <beats>4</beats> <beat-type>4</beat-type> </time> <clef> Clave <sign>G</sign> <line>2</line> </clef> </attributes> <note> <pitch> Altura <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> Duración </note> </measure> </part> </score-partwise>

“Pegas” • Tamaño excesivo: Demasiado texto para cada elemento musical • Ineficiente frente a

“Pegas” • Tamaño excesivo: Demasiado texto para cada elemento musical • Ineficiente frente a otros formatos Pero… • Pensado como formato de intercambio • Alto nivel de compresión

Distribución attributes. dtd barline. dtd common. dtd direction. dtd identity. dtd link. dtd midixml.

Distribución attributes. dtd barline. dtd common. dtd direction. dtd identity. dtd link. dtd midixml. dtd note. dtd opus. dtd partwise. dtd score. dtd timewise. dtd MIDIEvents 10. dtd To 06 c. xsl timepart. xsl parttime. xsl midixml. xsl ISOlat 1. pen ISOlat 2. pen <!ENTITY % identity PUBLIC "-//Recordare//ELEMENTS Music. XML 0. 7 Identity//EN" "identity. dtd"> %identity;

Metainformación • Datos sobre el documento <!ENTITY % score-header "(work? , movement-number? , movement-title?

Metainformación • Datos sobre el documento <!ENTITY % score-header "(work? , movement-number? , movement-title? , identification? , part-list)"> • Sinfonía o álbum = varios ficheros distintos con igual work, distinto movimiento • Datos sobre autor (música, texto), edición • Información sobre los instrumentos (part): notación (abreviaturas) y MIDI (dispositivos)

Representación sobre ejecución • Compatible con MIDI • Es lo único requerido • Elementos

Representación sobre ejecución • Compatible con MIDI • Es lo único requerido • Elementos para: – Tonalidad y compás – Resolución: divisiones por tiempo – Instrumentos transpositores • Trompeta en Bb: representado C, suena Bb <transpose> <diatonic>-1</diatonic> <chromatic>-2</chromatic> </transpose>

Notas y silencios <note> <pitch> <step>E</step> <alter>-1</alter> <octave>5</octave> </pitch> <duration>12</duration> <tie type="start"/> <lyric> <syllabic>start</syllabic>

Notas y silencios <note> <pitch> <step>E</step> <alter>-1</alter> <octave>5</octave> </pitch> <duration>12</duration> <tie type="start"/> <lyric> <syllabic>start</syllabic> <text>Ho</text> </lyric> </note> <pitch> <step>E</step> <alter>-1</alter> </pitch> <duration>12</duration> </note> <rest/> <duration>12</duration> </note>

Parámetros del fichero • Similar al. ini o. cfg pero asociado a la partitura

Parámetros del fichero • Similar al. ini o. cfg pero asociado a la partitura • Valores por defecto: p. ej. Tempo = 90 • <sound tempo="88" dynamics="71"/> • Datos concretos para representaciones ambiguas: p. ej. la longitud de las notas de adorno

Notación • Comparte elementos con la parte compatible MIDI • ¿Cómo se sabe que

Notación • Comparte elementos con la parte compatible MIDI • ¿Cómo se sabe que la nota va hacia bajo? • Representación de la partitura – no de la ejecución – Clave al inicio del pentagrama – Repeticiones – Marcas de digitación para piano – Anotaciones para el intérprete

Notación <directive> Andantino </directive> <direction placement="above"> <direction-type> <words font-style="italic" relative-x="-12">dolce</words> </direction-type> </direction>

Notación <directive> Andantino </directive> <direction placement="above"> <direction-type> <words font-style="italic" relative-x="-12">dolce</words> </direction-type> </direction>

Cifrados para guitarra <technical> <string>3</string> <fret>5</fret> <hammer-on type="start" number="1">H</hammer-on> </technical>

Cifrados para guitarra <technical> <string>3</string> <fret>5</fret> <hammer-on type="start" number="1">H</hammer-on> </technical>

Percusión • Representación conjunta instrumentos con y sin afinación • Pentagramas con más/menos de

Percusión • Representación conjunta instrumentos con y sin afinación • Pentagramas con más/menos de 5 líneas • Múltiples instrumentos por part • Cabezas de nota • Repeticiones

<note> <pitch> <step>G</step> <octave>3</octave> </pitch> <duration>4</duration> </note> <chord/> <pitch> <step>B</step> <octave>3</octave> </pitch> <duration>4</duration> </note>

<note> <pitch> <step>G</step> <octave>3</octave> </pitch> <duration>4</duration> </note> <chord/> <pitch> <step>B</step> <octave>3</octave> </pitch> <duration>4</duration> </note> <backup> <duration>4</duration> </backup> <note> <pitch> <step>E</step> <alter>-1</alter> <octave>4</octave> </pitch> <duration>3</duration> </note> Polifonía • • Representación de varios pentagramas por instrumento Múltiples voces por instrumento Operaciones de movimiento del contador temporal Acordes

Aplicaciones adicionales • Además de representar música con los XML podemos: – Crear BBDD

Aplicaciones adicionales • Además de representar música con los XML podemos: – Crear BBDD XML musicales: formato nativo • Mejor que las relacionales (complejidad) • Lenguajes de búsqueda con secuencia y jerarquía – Tamino: soporta XQuery – XIndice: soporta XPath – Analizar el contenido de un fichero: XQuery … de varios ficheros (alineación)- XPointer – Realizar transformaciones: XSL • Potencial típico del XML: – separación presentación de contenido PDA, Web – sindicación de contenidos

Futuro del Music. XML • Music. XML formato que más ampliamente está siendo adoptado

Futuro del Music. XML • Music. XML formato que más ampliamente está siendo adoptado desde MIDI • En fase de construcción: trabajando junto a: – Grupo de trabajo XQuery – music-ir. org – Compañías de software musical • Seguridad (PKI) • Incremento de capacidades

Nuestra experiencia • Usado para trabajar conjuntamente con músicos – Tarea: análisis melódico /

Nuestra experiencia • Usado para trabajar conjuntamente con músicos – Tarea: análisis melódico / armónico • Objetivo: etiquetado automático de notas reales, extrañas (de paso, bordaduras…) – El músico usa Finale como herramienta de etiquetado • Exportamos el material a Music. XML • Leemos el Music. XML en Java – Nuestro sistema genera un Music. XML con el análisis melódico / armónico • El músico importa el Music. XML desde Finale y comprueba el etiquetado automático – Jtest: • Comparamos el análisis creado por el músico con el que genera nuestro sistema

Informática Musical Music. XML • Lenguaje de representación musical simbólica David Rizo y José

Informática Musical Music. XML • Lenguaje de representación musical simbólica David Rizo y José Manuel Iñesta