Peut-on utiliser une norme qui exite déjà?
Oui, mais deux questions sont cruciales: la minimalité du format
(coût de la représentation), et le fond de partitions disponible.
abc est le plus concis, a l'avantage d'être déchiffrable
à vue, et possède un fond correct; il contient un minimum
d'informations tout en étant déjà graphique puisqu'on
peut le déchiffrer.
XML serait plus gourmand, au moins 10 carctères pour un signe
musical, mais la compression devrait donner des résultats moindres,
et le fond n'existe pas, sauf à programmer un traducteur depuis
MIDI par exemple. Avantage: XML est extensible.
Les 8va et les indications de portée quand il y a un doute (piano)
sont des informations situées à la limite sémantique/graphique,
il vaut mieux les mettre dans le fichier sémantique.
Ce fichier contient par ailleurs les notes, les altérations
(et non le pitch), les clés, et les portées.
Le fichier syntaxique contient et le nombre de lignes, l'espacement,
la taille des lignes, etc; en fait, il doit contenir le résultat
de la mise en page que le navigateur doit retrouver. Ce fichier reste flou
pour l'instant, mon travail de recherche consiste à décrire
précisement ce qu'il doit contenir et comment (l'architecture),
en gardant une certaine ouverture pour les applications à venir.
Le problème consiste à définir la limite entre sémantique
et syntaxe, ce qui est évident pour le texte mais pas pour la musique.
Il s'agit de formaliser les règles (description) typographiques
(cf. placement des altérations d'un accord par Catherine). ex: à
la balise <p>, mettre le fond en rouge, police, espaces, taille pour
la distance (timbalier, mal-voyant). Eviter de coder les choix typographiques
en dur. L'algorithme applique les règles, réseau de contraintes
si nécessaire. Lignes supplémentaires.
Et la notion de page?
Lien au support. "Je suis une CCS pour papier" => tourne au bout de
N mesures; "Je suis une CCS pour écran" => tempo d'affichage.
Une application: défilement de partition en SVG, vitesse en
nb de mes. par sec., possibilité nb de mes. d'avance pour l'aide
au déchiffrage.
SÉMANTIQUE adj. (gr. sêmantikos, qui signifie).
1. Relatif au sens, à la signification des unités linguistiques.
2. Qui concerne la sémantique.
3. En logique, qui se rapporte à l'interprétation, à
la signification d'un système formel, par opp. à syntaxique.
4. Trait sémantique, sème.
* n.f.
1. Étude scientifique du sens des unités linguistiques
et de leurs combinaisons. (La sémantique structurale étudie
le sens des mots en fonction de leur
environnement ; la théorie générativiste l'étudie
en fonction de la structure profonde de la phrase.)
2. En logique, étude de propositions d'une théorie déductive
du point de vue de leur vérité ou de leur fausseté.
sémanticien, enne n.
sémantiquement adv.
Du point de vue sémantique.
SYNTAXIQUE adj.
1. Relatif à la syntaxe, aux relations entre les unités
linguistiques.
2. Qui se rapporte à l'aspect formel d'un langage, d'un système,
par opp. à sémantique.
3. Relatif à la syntaxe d'un programme ou d'un langage de programmation.
SYNTAXE n.f. (gr. syntaksis, ordre).
1. Partie de la grammaire qui décrit les règles par lesquelles
les unités linguistiques se combinent en phrases.
2. Ensemble de ces règles, caractéristiques de telle
ou telle langue.
3. Ensemble de règles qui régissent un moyen d'expression
donné (musique, cinéma, etc.).
4. En logique, étude des relations entre les expressions d'un
langage formel.
5. Ensemble des règles d'écriture d'un programme informatique
permises dans un langage de programmation et formant la grammaire de ce
langage.
TYPOGRAPHIE n.f. (du gr. tupos, caractère, et graphein, écrire).
1. Procédé de composition et d'impression sur des caractères
et des clichés en relief.
2. Présentation graphique d'un texte imprimé :Une belle
typographie.
The XML Cover Pages:
http://www.oasis-open.org/cover/xml.html
W3C Cascading Style Sheets:
http://www.oasis-open.org/cover/css.html
XML/XSL Software Tools:
http://www.oasis-open.org/cover/publicSW.html#xmlTools
XML and Music:
http://www.oasis-open.org/cover/xmMusic.html
Free XML tools and software (dont Amaya):
http://www.garshol.priv.no/download/xmltools/
Linux:
http://www.garshol.priv.no/download/xmltools/plat_ix.html#plat17
Alain Michard, XML langage et apllications:
http://www.eyrolles.com/xml
Deuxième version de la suite de tests SVG du W3C:
http://xmlfr.org/actualites/tech/010205-0002
"Le période de révision de la phase Candidat à
Recommandation s'achèvera lorsqu'il y
aura au moins une implémentation SVG qui passera tous les tests
BE (Basic
Effectivity) de la suite de tests SVG. Le bilan des implémentations
de SVG est déjà
très positif et, à ce point, la plupart des tests sont
réussis par au moins une des
implémentations, même si le critère de sortie
n'a pas encore été atteint. On peut
anticiper que l'avancement des implémentations permettra d'atteindre
ce critère dans
un mois environ."
Free music files to download, MIDI, MP3 and Sibelius:
http://www.mfiles.co.uk/
Top 50 of MIDI sites:
http://miditop50.com/
abcMIDI package:
http://perun.hscs.wmin.ac.uk/~jra/abcMIDI/
abc version of Nottingham Music Database (over 1000 Folk Tunes):
http://perun.hscs.wmin.ac.uk/~jra/NMD/
Computer Access to Notation and Text in Music Libraries:
http://www.svb.nl/project/cantate/cantate.htm
Téléchargement plugger pour la lecture MIDI: karimbar@netscape.net
There is a single DTD for SVG. To make a valid SVG graphic, start with this skeleton:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN"
"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
<svg width="100%" height="100%">
<desc><!-- put a description here -->
</desc>
<g><!-- your graphic here -->
</g>
</svg>
To make a well-formed SVG graphic, or a document which includes multiple namespaces including SVG, start with this skeleton:
<?xml version="1.0" standalone="no"?>
<svg width="100%" height="100%"
xmlns = 'http://www.w3.org/2000/svg '>
<desc><!-- put a description here -->
</desc>
<g><!-- your graphic here -->
</g>
</svg>
Remember to add an encoding declaration if your file is not in UTF-8 or UTF-16. Yes, even if (especially if) it is in Latin-1 (ISO-8859-1)!
http://www.pinkjuice.com/SVG/browsers.htm
Jeffrey Zeldman , co-founder and group leader of the web standards
project :
"SVG is an important standard.
Supporting it with plug-ins is a nice first step, but we look forward to
seeing native support for SVG in browsers, operating systems, or both."
http://www.adobe.com/svg/basics/getstarted.html
Text
SVG text elements often resemble straightforward text elements in HTML.
Font styles and colors are defined as style
properties. As long as there is no custom kerning or binding to a path
within the text string, the text is kept together inside
these tags, just as in HTML. This allows for very simple edits to text
content, as well as easy scriptability for dynamic text
generation and manipulation.
Text properties also include position coordinates that define the relative
position of the text element within the bounding box.
Cascading Style Sheets
Cascading Style Sheets (CSS) are used in Web page design as efficient
and effective methods of defining and organizing styles
for text and graphics displays on a Web page or entire site. SVG supports
CSS2 definition style sheets and so can be authored
using inline, embedded, and external style sheets. Everything from
text attributes to layout (as in line spacing) and graphic
attributes (fill and stroke properties) can be defined as styles.
Cascading Style Sheets are defined in two parts: the selector and the
style. In the following example, "st0" is the selector, and
"fill:red" is the style:
.st0 {fill:red;}
Styles allow creators to "cascade" changes throughout a document or
site by editing the definition once.
Printing
In addition to the accurate color control SVG offers through ICC color
support, your SVG images are capable of printing at the
maximum resolution of any printer. Instead of printing jagged screen
resolution images, your SVG images will print with smooth
edges and clean gradients. SVG documents are printable with all the
same graphics rendering features as displayed on-screen.
Any embedded fonts and unusual glyphs, as well as filter effects, will
print. Another feature is that the current displayed state of
the image is printed. Also, if you have zoomed in or out or panned
the image, that state of the image is printed.
Transformations
All SVG graphic elements have a "transform" attribute. This attribute
can be set and changed to various values in order to move
and distort the element. A transform attribute takes a list of transformations,
which are applied in reverse order.
Dynamic insertion of SVG elements
We have seen how the <defs> and <style> elements can contain
definitions that can later be referenced multiple times for various
elements. Similarly, the <use> element can also define an SVG element
or object that can then be referenced for multiple
instantiations in an SVG document.
One feature of SVG is that it supports the W3C DOM standard. This means
that, using a language such as JavaScript, you can
manipulate the contents of an SVG document on the fly. In the browser,
each distinct part of the SVG document becomes a
"node" in a "tree." Using JavaScript, you can modify a node, remove
it, change its position in the tree, or simply add new nodes.
This is a key concept to developing dynamic SVG documents.
http://www.w3.org/TR/2000/CR-SVG-20001102/fonts.html
Reliable
delivery of fonts is a requirement for SVG. Designers need to create SVG
content with arbitrary fonts and know that the same graphical result will
appear when the content is viewed by all end users, even when end users
do not have the necessary fonts installed on their computers. This parallels
the print
world, where the designer uses a given font when authoring a drawing for
print, and the graphical content appears exactly the same in the printed
version as it
appeared on the designer's authoring system.
SVG
utilizes the WebFonts facility defined in the "Cascading Style Sheets (CSS)
level 2" specification [CSS2] as a key mechanism for reliable delivery
of font
data to end users. In a common scenario, SVG authoring applications generate
compressed, subsetted WebFonts for all text elements used by a given SVG
document fragment. Typically, the WebFonts are saved in a location relative
to the referencing document.
One
disadvantage to the WebFont facility to date is that specifications such
as [CSS2] do not require support of particular font formats. The result
is that different
implementations support different Web font formats, thereby making it difficult
for Web site creators to post a single Web site using WebFonts that work
across all
user agents.
To
provide a common font format for SVG that is guaranteed to be supported
by all conforming SVG viewers, SVG provides a facility to define fonts
in SVG. This
facility is called SVG fonts.
SVG
fonts can improve the semantic richness of graphics that represent text.
For example, many company logos consist of the company name drawn artistically.
In some cases, accessibility may be enhanced by expressing the logo as
a series of glyphs in an SVG font and then rendering the logo as a 'text'
element
which references this font.
Règles:
Using XML for Musical Representation:
http://www.musicxml.org/stanford.html
HTML is too unstructured for automated electronic commerce
MIDI does not represent concepts needed for notation and analysis
If you can represent it hierarchically, you can represent it in XML
Separates semantics, structure, and presentation
Domain-specific languages are defined with a Document Type Definition
(DTD)
Previous attempts at musical DTDs have generally been too simple for
real use
With a standard DTD in place, musical scores can be exchanged on the
Web and between different musical software programs
Support notation, performance, and analysis applications
NIFF and SMDL are both oriented towards machine readability, not human
readability
NIFF is oriented towards notation; difficult to use for other applications
SMDL trades off ease of use with common notation for full generality
MusicXML leverages Internet standards
XML compresses very well
Zip compresses MusicXML about 30x
Standardization thus becomes a DTD design issue
Accessible from many programming languages (Java, C++, Visual Basic)
Tools available from multiple vendors
Summary:
XML is the Internet standard for representing complex structured data
Representing music in XML is a natural way to publish musical scores, not
just recordings, on the Internet
Standard music DTD must be well-designed from musical, human, and computer
perspectives
MuseData, an electronic library of classical music scores:
http://www.musedata.org/
karimbar 902377
MuseData File Format:
http://www.musedata.org/formats/musedata/
MuseDataTM is the primary encoding system used by the Center for Computer
Assisted Research in the Humanities (CCARH). All musical information is
entered and verified by the Center's
personnel from established or specially commissioned editions of music.
An online description of the MuseData file formats is available, taken
from the book Beyond MIDI: The Handbook of
Musical Codes.
MuseData files have the potential to exist in multiple formats generated
from a common set of information. Most derivative encodings accommodate
only some of the features included in the
master MuseData encodings. The MuseData file format is designed to
support applications in sound, graphics, and analysis. Derivative formats
of the MuseData musical encodings which are
currently in distribution are: MIDI1, MIDI+, and Humdrum.
04/16/93 E. Correia
WK#:581
MV#:3c
Breitkopf & H?rtel, Vol. 13
Clarinet Quintet
Trio II
Clarinet in A
1 0
Group memberships: sound, score
sound: part 1 of 5
score: part 1 of 5
$ K:0 Q:6
T:3/4 X:-11 C:4
C5 3
e d [ (&0p
E5 3
e d ]
measure 1
G5 3
e d [
E5 3
e d ]
C6 6
q d )
G5 3
e d [ (
E5 3
e d ]
measure 2
D5 3
e d [
F5 3
e d ]
A5 6
q d )
F5 3
e d [ (
D5 3
e d ]
measure 3
C5 3
e d [
B4 3
e d =
E5 3
e d =
D5 3
e d =
G5 3
e d =
F5 3
e d ] )
measure 4
D#5 6
q # d (
E5 6
q d )
C5 3
e d [ (
E5 3
e d ]
The Humdrum Toolkit: Software for Music Research:
http://dactyl.som.ohio-state.edu/Humdrum/
The Humdrum Toolkit provides a set of free software tools intended
to assist in music research. The toolkit is suitable for use in a wide
variety
of computer-based musical tasks.
This site contains a comprehensive collection of over 200 web pages providing
both detailed and summary
information concerning all aspects
of the Humdrum Toolkit.
**kern
*clefG2
*k[]
*M2/4
8c
16c
16e
=
8g
8g
8a
8a
=
8g
16a
16b
8cc
8g
=
8g
8g
8a
8a
=
4g
8g
16g
16g
=
8g
8a
8g
8f
=
*-
MIDI Manufactures Association:
http://www.midi.org/
OCR:
pignon@physique.ens.fr
Compression de texte, pattern matching, Claude Martineau:
martinea@monge.univ-mlv.fr
myriad-online.com -> harmony assistant
Laboratoire d'Éditions Musicales (Valérie Otero, direction
artistique):
http://www.labem.net/
The Internet center for free sheet music download:
http://www.musicaviva.com/
THE XML FILES:
http://www.webdeveloper.com/xml/xml_072498.html
msdn online developper centre:
http://msdn.microsoft.com/xml/default.asp
XML Schema Part 0: Primer
W3C Proposed Recommendation, 30 March 2001
http://www.w3.org/TR/xmlschema-0/
XML applications :
SVG pour la notation musicale:SMDL : pas fini! MNML - The Musical Notation Markup Language : almost can't represent anything but notes and rests. Even staccato points and slurs are missing. MusicML : is dead MHTML : it isn't readable with standard parsers. MML: Music Markup Language , http://www.mmlxml.org/ , SGML Theta: Tonal Harmony Exploration and Tutorial Assistent : no information ScoreML : this Project hasn't yet uploaded their personal webpage yet. eXtensible Score Language (XScore) : http://fn2.freenet.edmonton.ab.ca/~rgrigait/xscore/ , 1998 MusiXML: My own format , MusiXML.DTD et MusiXML.xsd (XML Schema), work -> page -> system -> staff -> measure -> reference to part of <content> MusicXML : an interchange format for notation, analysis, retrieval, and performance applications; Recordare MusiqueXML : a project to transform a music notation XML format to SVG. NIFFML : Mapping NIFF to XML ChordML : lyrics and chord symbols, not scores JMSL Score : Java Music Specification Language, no official information about it XMF - eXtensible Music Format : no information minimusic : not public; smaller than MIDI MusiCat : store catalog entries that describes the music SVG (Scalable Vector Graphics) SMIL : Synchronized Multimedia Integration Language and it synchronizes graphics and sound.