MusicXML
MusicXML은 악보를 XML 형식으로 표기하는 오픈 포맷이다. Recordare 사에서 개발해 2004년 1월 버전 1.0이 발표된 후, 2005년 5월 버전 1.1이, 2007년 6월 버전 2.0이 발표되었다. 확장자는 .xmz이었으나 W3C개발로 .mxl (또는 .musicxml)로 바뀌었다.
많은 프로그램이 이 포맷을 지원하고 있고, 변환 플러그인이 다수 개발되었기 때문에 현재 존재하는 대부분의 음악 프로그램에서 입출력이 가능하다.
Categories
- MusicXML:Tutorial
- Music
- 악곡의 형식 (Musical form)
- 소리 (Sound)
- Standard Music Font Layout (SMuFL)
- Music Encoding Initiative (MEI)
- Beats Per Minute (BPM)
- 음표 (Musical note)
- Note value
- 악상 기호 (List of musical symbols)
- Musical Instrument Digital Interface (MIDI)
- 표준 MIDI 파일 (Standard MIDI File)
Music notation
- GUIDO music notation (Guido; GUIDO)
- LilyPond - music notation for everyone - WikiDocs 문서 링크 있음
- Notation Interchange File Format (NIFF)
Simple Type
Elements
자세한 내용은 MusicXML:Element 항목 참조.
Complex Type
Samples
- MusicXML:Airplane - 떳다떳다비행기
Scripts
- MusicXML:Scripts:Mxl2Svg - mxl -> guido -> svg 변환 Python 스크립트.
파일 포맷
- .mxl
- 압축된 MusicXML 파일.
-
.musicxml
- 비압축파일 확장자로 사용하고 있다.
Terms
Music#Terms 항목 참조.
MXL Format
확장자 파일 포맷은 압축된 MusicXML에 된다. zip 파일 포맷이므로, 확장자를 .zip
으로 바꾸면 압축이 풀린다.
이 파일은 JAR와 비슷한 포맷이다.
META-INF/container.xml
파일은 다음과 같다:
<?xml version="1.0" encoding="UTF-8">
<container>
<rootfiles>
<rootfile full-path="elite.xml"
media-type="application/vnd.recordare.musicxml+xml"/>
<rootfile full-path="elite.pdf"
media-type="application/pdf"/>
</rootfiles>
</container>
Libraries
- The MusicXML Library (libmusicxml)
- http://libmusicxml.sourceforge.net/
- https://github.com/grame-cncm/libmusicxml
- MusicXml.NET (Archived)
- Quick C# parser for MusicXML
- https://github.com/vdaron/MusicXml.Net
- MusicXmlSchema (sightreader/musicxml-schemas)
- https://github.com/sightreader/musicxml-schemas
- MusicXML 2.0, 3.0, 3.1 XSD to C# autogenerated schemas with some documentation and pascal-cased names.
- Dependency: XmlSchemaClassGenerator
- Manufaktura Controls (Manufaktura.Controls, Manufaktura, ManufakturaLibraries)
- Bitbucket - ManufakturaLibraries
- http://musicengravingcontrols.com/en-US/Home/
- https://www.codeproject.com/Articles/1252423/Music-Notation-in-NET
Softwares
- Software - MusicXML 소프트웨어 목록
- Frescobaldi
- MakeMusic!
- 시벨리우스 (Sibelius) - 4 이후.
- 피날레 (Finale 2008이후)
- Encore 5
- capella Media Producer
- NOTION
- Harmony Assistant
- Guitar Pro
- Cubase
- 뮤즈스코어 (MuseScore), (libmscore)
Example
다장조의 도 음을 표기한 경우는 아래와 같다.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC
"-//Recordare//DTD MusicXML 2.0 Partwise//EN"
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<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>
<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>
See also
- Music
- XML
- GUIDO music notation (Guido)
- VexFlow - JavaScript Music Notation and Guitar Tablature
- 기보법 (Musical notation)
- Beats Per Minute (BPM)
Favorite site
- Wikipedia (en) MusicXML
- Music in MusicXML
- MusicXML Documentation
- Github - MusicXML specification
- [추천] MusicXML: 기초 악보 만들기 - BGSMM 1
- 악보 기보법 기초 가이드 ( Music Notation Basic Guide ) - 47번째 강좌 :: The Note Music Story 2
Documentation
- [추천] MusicXML Documentation (
MusicXML Reference > Score Schema (XSD) > Elements
를 클릭하면 XSD 요소에 대한 상세 설명을 볼 수 있다) - w3.org - MusicXML 4.0