Semaine 3


02/04/2001

 

Discussion avec esj:

La non-intégration de SVG dans les navigateurs courants n'est pas rédhibitoire pour mon travail.
Objectifs:


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.
 

Définitions:


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.
 

Idées:

Syntagme, différents niveaux.
Approche syntaxique: information déductible à partir des informations sémantiques?
 


03/04/2001


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
 

XML templates:

http://www.w3.org/Graphics/SVG/Overview.htm8#intro

        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.
 
 

Idées:

Lister tout ce qui doit être représenté, puis classer selon les critères sémantique ou syntaxique. Distinguer l'essence d'un objet de sa représenation.
Définir les plus petits éléments, et leurs propriétés.
Définir l'arbre.
bref, retrouver une structure viable.
(il n'y a pas de tradcteur MIDI -> XML)
 

XML Langage et applications, Alain Michard, Eyrolles 3e tirage 1999:

"XML unifie le monde du traitement de documents et celui du Web.", p. 20
Un document XML contient un prologue, un arbre d'éléments (hiérarchie), des commentaires et des instructions de traitement.
Un père et un seul par document.
Pas de recouvrement père/fils.

Règles:

  1. métadonnées descriptives: Resource Description Framework
  2. marquage typographique: association avec des règles de réalisation physique non établie
  3. indépendance physique: les règles de réalisation physiques sont spécfiées dans une feuille de style, modifiable
  4. marquage sémantique: marquage des constructions morpho-syntaxiques qui ont une sémantique définie dans l'univers du discours par un balisage spécifique. "XML permet de créer tous les types d'élements utiles à un marquage sémantique." p. 52
  5. bonne utilisation des attributs
CSS: Cascading Style Sheets, p. 157
Règles de style = sélecteur + propriétés pour le rendu physique
sélecteur{prop1:val1; prop2:val2}
formatage, héritage ou pas, importation
cascade: priorité contre les conflits
plusieurs types de médias: print, screen, all, aural, braille, etc.


04/04/2001

Recordare is developing MusicXML technology to create an Internet-friendly method of publishing musical scores:
http://www.musicxml.org/
MusicXML Definition; Early Review Draft: March 6, 2001
http://www.musicxml.org/xml.html
MusicXML is designed to represent musical scores, specifically common western musical notation from the 17th century onwards. It is designed as an interchange format for notation, analysis, retrieval, and performance applications.
MusicXML is based on the MuseData and Humdrum formats. Humdrum explicitly represents the two-dimensional nature of musical scores by a 2-D layout notation. Since XML is a hierarchical format, we cannot do this directly. Instead, there are two top-level formats:
-partwise.dtd, containing measures within each part
-timewise.dtd, containing parts within each measure.
Two XSLT stylesheets (parttime.xsl and timepart.xsl) are provided to convert between the two formats.
The partwise and timewise score DTDs represent a single movement of music. Multiple movements or other musical collections are represented using opus.dtd. The opus document contains XLinks to individual scores, and will evolve to include more detailed reference and musicological information.

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/
 

News (débroussaillage électronique):

SVG inclue les polices, Webfonts, svgfonts, <text>, <font>, + les coordonnées
SVG supporte les CSS2
SVG imprime en qualité max, profil ICC pour les couleurs
SVG dynamique grâce aux DOM et JavaScript
beaucoup de MDI, peu d'ABC, très peu de NIFFML
XML bon pour les marquages sémantiqueet typographique
XML se compresse très bien (env. *30)
CSS sélecteur et propiétés
MusicXML de Michael David Good chez Recordare
 

Technique:

XSL = eXtensible Stylesheet Langage, nouvel arbre possiblement très différent de l'arbre source, ex: ajout table des matières
DOM = Document Object Model, bosquet au lieu arbre, API
RDF
implicit mesure
silences de plusieurs mesures, invisibles rests?
mesures vides
stem pour les noires et les blanches
backup? retour pointeur temporel
lien incomplets
slur start | stop number
track?
possible no bars?
fifth? à la clef sinon list of altered tones
wedges?
MusiXML.xsd: articulation 1,2,3 pour une même note! (ex: piqué et louré)
test trio Ravel polyrythmie pour les barres de mesures décalées
clefs bizarres?


05/04/2001

 

Conférence d'ESJ: Mise en Toile des Partitions Musicales:

Microtypographie:

Historique:
Caractères mobiles à la renaissance, en bois puis en métal pour la longévité
Rééditer les partitions dans l'esthétique contemporaine de la composition
Édition des signes:
Contours
Police Atys baroque
Lien baroque, et liaison & coulé
 

Macrotypographie:

Édition de la partition:
évenements avec ou sans durée
Allignement vertical des évenements
Édition téléchargeable et coopérative:
Aujourd'hui: interprète PostScript, applet Java, Navigateur, séquence ABC, référencement d'une police téléchageable
Demain: interprète SVG, inclu dans le navigateur, structure XML, référencement d'une feuille de style
Gain: un niveau d'interprétation en moins, téléchargement réduit, exploitable pour la fouille de données, typographie paramétrable
Problèmes à prévoir:
l'interprète SVG aura-t-il un cache débrayable?
et les Hints qui garantissent l'épaisseur?
Tous les navigateurs auront-ils le même rendu?
Les structures entrecroisées en XML sont-elles fiaibles?
Les feuilles de styles peuvent-elles tout décrire? (interface utilisateur difficile à mettre au point)
Le bus d'orchestre
serveurs de niveaux différents
tourne
 

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/
 

Bibliographie:

Manuel de référence du langage PostScript, Adobe Systems Incorporated, 2e édition, éditions Addison-Wesley
"lgg simpe de programmation interprété, ayant de puissantes capacités graphiques. Son application primaire est de décrire l'apparence de textes, formes graphiqeus, et images numérisées." p.1
"Un caractère est une forme graphique générale et est sujet à toutes les manipulations graphiques." p.265
"Les jeux de caractères sont organisés en polices. préparée sous la forme d'un programme, donne lieu à un dictionnaire de police." p.266
 

Idées:

prochain objectif = lister les règles typographiques en vue de faire une feuille de style, penser aux différentes écoles.
cerner les limites de MusicXML


06/04/2001

fvwm2
viabilité XML passe par Netscape et Explorer
SVG pourrait les pousser
Comparer MusicXML et MusiXML -> qu'est-ce qu'un schéma?
CSS à la fois pour HTML et XML

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 :

  • 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.

  •  
    SVG pour la notation musicale:
           It is ideal to integrate music notation with small files with high quality into the WWW (as a replacement for gif; jpeg isn't well suited for musicnotation anyhow) and to print the same data with high quality. It is an ideal replacement for music fonts. Using Java, one can run programs on almost all platforms - but one can't rely that there is an installed music font or even that one is installable. Using SVG, a music notation program can bring along all necesary music notation symbols.
    Made the 'unicode' attribute on the 'glyph' element #IMPLIED to allow for definition of glyphs which do not have corresponding code points in
    Unicode. Such glyphs can only be accessed via the 'altGlyph' facility. This is good especially for music notation symbols, since the UNICODE people don't want graphical symbols inside UNICODE.