1 / 24

MusicXML

Informática Musical. MusicXML. 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. Grabación de una interpretación: CD, MP3

colby
Télécharger la présentation

MusicXML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Qué es MusicXML • 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

  4. 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.

  5. MusicXML 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: • MuseData: 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

  6. ¿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 los lenguajes de programación

  7. Usado por

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

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

  10. “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

  11. Distribución midixml.dtd note.dtd opus.dtd partwise.dtd score.dtd timewise.dtd MIDIEvents10.dtd attributes.dtd barline.dtd common.dtd direction.dtd identity.dtd link.dtd To06c.xsl timepart.xsl parttime.xsl midixml.xsl ISOlat1.pen ISOlat2.pen <!ENTITY % identity PUBLIC "-//Recordare//ELEMENTS MusicXML 0.7 Identity//EN" "identity.dtd"> %identity;

  12. 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)

  13. 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>

  14. 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> <note> <pitch> <step>E</step> <alter>-1</alter> </pitch> <duration>12</duration> </note> <note> <rest/> <duration>12</duration> </note>

  15. 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

  16. 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

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

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

  19. 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

  20. <note> <pitch> <step>G</step> <octave>3</octave> </pitch> <duration>4</duration> </note> <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

  21. 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

  22. Futuro del MusicXML • MusicXML 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

  23. 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 MusicXML • Leemos el MusicXML en Java • Nuestro sistema genera un MusicXML con el análisis melódico / armónico • El músico importa el MusicXML desde Finale y comprueba el etiquetado automático • Jtest: • Comparamos el análisis creado por el músico con el que genera nuestro sistema

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

More Related