Lilyxml Project Vision


Table of Contents

Introduction
Develop an XML variant specifically made for Music notation entry by humans.
Develop a Relax NG schema for lilyxml
Develop a lilyxml "validation" term? engine
Print from lilyxml
Develop converters to and from other formats and lilyxml
Build a repository of test files to ensure the qualtiy of the converters between the various formats
Create a frame work for lilyxml to be completely multilingual including bidi support

Introduction

lilyxml was conceived because of frustration with the existing ascii music notation systems. On the one hand there exisit a plethor of formats, abc, lilypond, musictex, guido, to name a few. But each one uses ascii (text) in a propriety non-standards based way. One the other hand xml is widely supported and standards based but no system which is easy to enter and read has been developed for musich notation. (There are plenty of data transfer systems, most notably Musicxml) This then was the motivation of taking one of the most sucessful music notation systems (LilyPond) and recasting it in XML form.

Develop an XML variant specifically made for Music notation entry by humans.

Goal Represent in XML as many corresponding semantic (nonformatting) musical elements as possible. The reference non xml language used is Lilypond.

Rationale Permit music notation (lilyxml) to be validated by standard xml tools.

Develop a Relax NG schema for lilyxml

Goal To enable validation of lilyxml documents.

Rationale Make it possible to create a user enterable and xml validatiable XML music notation system

Develop a lilyxml "validation" term? engine

Goal Develop an engine to check lilyml for musical errors.

Rationale Permit debugging of music within lilyxml, and permit the sending of error free musical code to the processing tools

Print from lilyxml

Goal Lilypond will display and print in as many formats as possible. This will include but not be limited to print media, web, and pda.

Rationale Permit lilyxml to be used for the widest possible needs.

Develop converters to and from other formats and lilyxml

Goal Create (initially) convertors to and from lilypond to lilyxml using both xsl and python. Later to create convertors to other popular formats such as abc, musicxml etc.

Rationale Permit importation of existing music into lilyxml and exportation of lilyxml to other formats

Build a repository of test files to ensure the qualtiy of the converters between the various formats

Goal Collect a wide variety of notated examples of as many types and styles as possible. to ensure that the lilyxml synax

Rationale Ensure that the lilyxml synatax match as many music scenerios as possible.

Create a frame work for lilyxml to be completely multilingual including bidi support

Goal Permit all titles, markup, and lyrics to be entered in as many languages as xml supports, unicode etc.

Rationale Music exists in all languages and lilyxml should support this.