MusicXML – znacznikowy format prezentacji graficznej notacji muzycznej oparty na wzorcach dokumentowych DTD (ang. Document Type Definition). Został zaprojektowany dla reprezentacji muzyki nutowej, szczególnie odpowiedniej dla zachodniej notacji muzycznej mającej początki w XVII wiekuSTUART CUNNINGHAM, Suitability of MusicXML as a format for computer music notation and interchange, CAIR University of Wales..

Jest wymienny, łatwy w analizie, wyszukiwanie informacji w nim jest proste – bazuje na powszechnie stosowanym formacie XML – jasny w zrozumieniu i łatwy w konstrukcji. Dzięki temu użytkownik ma łatwość w manipulacji i organizacji danych.

MusicXML został oparty na dwóch akademickich, badawczych formatach muzycznych:

MuseData, opracowany przez Waltera Hewletta w Center for Computer Assisted Research in the Humanities (CCARH), znajdującym się na Uniwersytecie Stanforda Humdrum, opracowany przez Davida Hurona, rezydującym na Uniwersytecie Stanu Ohio.

MusicXML to głównie przeróbka MuseData do postaci XML z dodaniem kilku kluczowych koncepcji z HumDrumSTUART CUNNINGHAM, Music File Formats and Project XEMO; MSc Multimedia Communications, University of Paisley, 2002/2003..

Ponieważ oba formaty były używane głównie do pracy z muzyką poważną i folkową, MusicXML postawił za cel wyjść poza tę granicę i objąć także nowoczesną muzykę popularną.

Struktura MusicXML a XML XML został zaprojektowany, aby rozwiązać typowe problemy, z którymi spotykali się programiści, m.in. twórcy oprogramowania muzycznego – problem zgodności, wymiany i jednolitości formatu.

Ponieważ XML jest formatem hierarchicznym, nie można w nim bezpośrednio opisać muzyki. W zamian stworzono dwa wysokopoziomowe formaty dokumentowe:

partwise.dtd – reprezentuje nuty według partii/instrumentu timewise.dtd – reprezentuje nuty według ścieżki czasowej/miary.

Nuty w zapisie DTD partwise i timewise reprezentują kolejne pojedyncze ruchy (zagrania) w muzyce przez poszczególne instrumenty. Wielokrotne ruchy również są możliwe i zostały opisane w innym pliku DTD (opus.dtd, opus – dzieło muzyczne), występują w nim odwołania do plików z opisem pojedynczych instrumentówMICHAEL GOOD, MusicXML: An Internet-Friendly Format for Sheet Music, Recordare LLC..

Przykład pliku XML z wewnętrzną deklaracja DTD dla obiektu „note” (nuta). <?XML version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (pitch, duration, voice, type, stem, lyric) <!ELEMENT pitch (#PCDATA)> <!ELEMENT duration (#PCDATA)> <!ELEMENT voice (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT stem (#PCDATA)> <!ELEMENT lyric (#PCDATA)> ]>

<note> <pitch> …</pitch> <duration>2</duration> <voice>1</voice> <type>quarter</type> <stem>up</stem> <lyric number="1">…</lyric> </note>

Przykładowa informacja muzyczna w pliku xml MusicXML jest formatem opisowym, dlatego z poprawnie zdefiniowanego pliku możemy uzyskać znacznie bogatszy zbiór informacji niż z pliku MIDI.

Przykładowo informacja o ścieżkach muzycznych utworu zawiera ich nazwę, użyty instrument, definicję programu i kanału MIDI, zaś poszczególna ścieżka posiada takie atrybuty jak tempo, rozmiar, tonację, metrum, klucz itp. Zagłębiając się coraz bardziej w strukturze hierarchicznej, możemy osiągnąć opis liryczny, towarzyszący poszczególnej nucie utworuHUGO SANTANA, MÁRCIO DAHIA, ERNESTO LIMA, GEBER RAMALHO, VExPat: An Analysis Tool for the Discovery of Musical Patterns, Centro de Informática – Universidade Federal de Pernambuco..

<measure number="1" > <atrributes>…atrybuty miary…</atrributes> <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>96</duration> <type>whole</type> </note> </measure>

Zobacz też AJAX XHTML SGML RDF SMIL XUL SVG MathML

Przypisy

Linki zewnętrzne Oficjalna strona formatu MusicXML Specyfikacja XML 1.0

Kategoria:Aplikacje XML