Wikiversity

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 wieku[1].

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 HumDrum[2].

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ów[3].

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 utworu[2][4].

<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ż

Przypisy

  1. STUART CUNNINGHAM, Suitability of MusicXML as a format for computer music notation and interchange, CAIR University of Wales.
  2. a b STUART CUNNINGHAM, Music File Formats and Project XEMO; MSc Multimedia Communications, University of Paisley, 2002/2003.
  3. MICHAEL GOOD, MusicXML: An Internet-Friendly Format for Sheet Music, Recordare LLC.
  4. HUGO 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.

Linki zewnętrzne