A recent talk on DSL(Domain Specific Language) got me thinking about music notations and DSL( well am basically a carnatic musician but recently started learning western violin and sheet music has totally grabbed my interest right now) . I started surfing to see what has been done in this area and I got quite a lot of interesting information that i thought i could consolidate and blog about.
Sheet music is quite complex with so much meaning to each symbol to describe a song's scale, timing and notes with tracks for each instrument. So keying in notes and getting a sheet of notations has its own language to describe its various components. The most interesting thing i found was that there are several approaches and tools for this and several more coming up but there is no single standard that is used by everyone as well as no standard followed for the language specification. A widely prescribed one is based on XML, SMDL(Standard Music Description Language) and all the advantages of XML wrt interoperability is taken by it. MusicXML is a software using this which has a DTD for the notations. Apart from this there are several other language specifications using XML itself that extend SMDL. WEDEL is one such which uses XML but models using MOODS( Music Object Oriented Distributed System) for editing sheet music in a distributed environment like in orchestras. Other softwares are there for optical character recognition and interpreting from sheet music. A lot of freewares are available now for specifying notations and getting quality sheet printouts like LilyPond, iABC, Brahms each having its own specification .
A lot of work is still going on for supporting mordern music notations and standardizing the specification. A common music notation DSL could help a lot, probably taking the best of all the available specifications cause a common language makes communication easier always :)
Showing posts with label Tech. Show all posts
Showing posts with label Tech. Show all posts
Monday, July 7, 2008
Subscribe to:
Posts (Atom)
