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