Semaine 1

 



19/03/2001


Présentation des locaux: équipe SRC (Systèmes Répartis et Coopératifs)
Emploi du temps: rapport des avancées hebdomadaire + problématique mi-mai
Présentation du sujet:
  Historique: qualité graphique de la notation musicale et édition partagée
  Perspectives: plug-in Java SVG XML, mémoire de 50 pages
 

Présentation des locaux:

bureau B843, 8e étage, batiment C
bureau Nabil Bouzaïene B832
bureau Emmanuel Saint-James B828
équipe SRC (Systèmes Répartis et Coopératifs) du LIP6 au 5e étage
Responsable: Claude Girault
environ 20 permanents + 20 temporaires parmi 300 personnes au LIP6
Bibliothèque informatique et recherche au 1er étage, commandes honorées, bleuets catalogue en ligne
CEA Commisariat à l'Energie Atomique
 
 
 

Présentation du sujet par Emmanuel Saint-James: Qualité graphique de la notation musicale

Historique:

Esprit LaTeX (Knuth): qualité graphique sur papier, Ecole graphique Estienne, Loïc Legal, police musicale baroque pour Berlioz, logiciel dirigé par Dominique Magira et M. Montel
Editeur de partition multipolice par Nabil en un applet Java multiplateforme; écran, ergonomie
équipe SRC: aspect distribué, synchronisation d'actions, sans défaillances, résistance aux fautes, validité/prouvabilité/complicité du protocole
Qualité de service: supprimer les pupitres à l'orchestre; vitrine SRC
Qualité microtypographie (caractères) et macrotypographie (mise en page, justification)
Association le Label de Valérie Otéro pour la défense de la typographie musicale
En 4 ans, la mentalité des graveurs a changée: asie pas chère mais mauvaise qualité
Catherine Guastavino stage DEA ATIAM il y a 2 ans, thèse au LAM
2 évolutions futures possibles:
-défilement partion temps réel, machines coopérantes
-extraction de connaissances (data manning), bdd midi en réseau Assayag 2 étudiants, analyse musicale
 

Moyens:

XML large, temps d'apprentissage important, seul
Java facile

Programme graphique:
=> interprète d'un sous-ensemble PostScript EPS pour gérer les polices concues avec Fontographer, où chaque caractère est une fonction
=>W3C nouvelle norme SVG Scalable Vector Graphic

3 directions (préférence pour la 2e):
-réécrire en SVG au lieu interprète PS
-travailler une représentation accessible de la partition au lieu des clics de souris mémorisés; bdd XML; pb techniques de rejustification
-cache pour accélérer en stoquant les signes déjà calculés comme dans l'appel par nécessité de PS
 

Emploi du temps:

9h30-12h, 13h-19h
rapports des avancées chaque semaine
présentation des trauvaux de l'équipe le mardi matin
1 mois exploration du sujet: mots-clés, lecture, direction
Pâques
1 mois établir la problématique: lecture + expérimentation, chargement de softs, examiner
mi-mai: la problématique à résoudre doit être établie
rédaction au fur et à mesure
journal: discussions, bugs, pistes...
 

Matériel:

piraterie: auto-administration, pages sur le serveur du campus, send mail fini -> Xavier Bonnaire global, ssh cripté seulement (ni rlogin, ni telnet)
45 Go, imprimantes A4 et A3 au 5e, téléphone (non finalement), photocopieuse à code d'accès
 

Attentes:

DEA = préparation à la recherche
documentation sur un pb + test
identification des pbqs + avancées !
1- assimiler l'état de l'art
2- identification des pbqs non résolues
3- tentative résolution
faire 1 et 2 rapidement pour approfondir 3
liste des pbs et classement triviaux à insolubles
pas trop directif mais ne pas simplement apprécier
 

Mémoire:

50 pages (ex Tatouage de signaux musicaux)
code en annexe
LaTeX
soutenance publique: questions sur le compte-rendu
délibération corps enseignant + spécialistes
ESJ + Cadoz + extérieurs
montrer EN QUOI IL Y A PROBLEME, puis SOLUTION
danger: plongé ds la pbq => on oublie les tenants et les "pas encore aboutissants"
 

Logiciels:

RedHat 7, Jean-Luc, Nabil
Amaya
Emacs
compilateur Java?
LaTeX (pour mac aussi)
 

Rendu sonore de la partition:

Cubase le fait déjà
soit trivial donc à rajouter, soit montrer intérêt de la pbq; déconseillé
les éditeurs: stages DEA Nabil
pb si on veut que ce qu'on édite soit jouable: perception, interprétation
Optique différente: typographie irréprochable pour un graveur professionnel, qui se fout du son; aspects physiques: tourne de l'interprète, distinction automatique chiffrage accord/doigté, dispostion des altérations
sonore => typo dégeulasse, incohérence do#/réb
couplage son/graphisme => le graphisme morfle!
+ on s'occupe du son, - on s'occupe de la partition
mailing list linux audio wave
Dave Philips Linux Sound...
Open Sound System (OSS vieux) -> ALSA à la place
 

Installation:

Pentium 160
écran 17 pouces
Compte barkati sur ufr-info-p6.jussieu.fr
configuration Gnome
Navigateur Gnome
 

Bibliographie:

Actes des JIM 2000
Electronic Publishing, Artistic Imaging, and Digital Typography, Springer 1998
Infographie musicale, Etat de l'art & Perspectives
Edition distribuée de partitions musicales multi-polices
Justification automatique de partitions
 

Liens:

LaTeX
http://www2.linuxjournal.com/lj-issues/issue70/3387.html
Machine Nabil
kindi.ufr-info-p6.jussieu.fr
RedHat Linux 7
file:/usr/share/doc/HTML/index.html
 


20/03/2001


Installation machine et bureau
Visite bibliothèque
Lecture et résumé de:
- Infographie musicale, Etat de l'art & Perspectives
- Edition distribuée de partitions musicales multi-polices
- Justification automatique de partitions
Polices dynamiques

Idées:

sélecteur de rejustification dans le serveur selon critères de nécessité
pertinence des représentations internes
une sauvegarde par client sur le serveur (demander équipe distribuée)

Navigation:

signets W3C, XML, SVG
 

Résumés:

Infographie musicale, Etat de l'art & Perspectives

1 Introduction: qu'une soixantaine de signes
2 Formalisation des partitions musicales
2.1 NIFF (Notation Interchange File Format)
2.2 SMDL (Standard Music Description Language)
2.3 CMN (Common Music Notation)
2.4 MusiXTEX
2.5 ABC
3 L'infographie musicale au crible des traitements de texte
3.1 Des correcteurs orthomusicaux
3.2 Une portée hors de portée
3.3 Des carcans typographiques
3.4 La police du XIXe
4 Conclusion: polices dynamiques, nomenclature précise -> alphabet
 

Edition distribuée de partitions musicales multi-polices

1 Introduction: travail simultanné quantitatif et qualitatif, annotations identiques, problèmes polices web et accès concurents à une partition
2 Dessin de caractères
2.1 Le problème des polices dans une page Web
2.2 Un mini-interprète EPS en Java
2.3 Le remplissage de Java n'est pas celui de Post-Script
3 Edition partagée
3.1 L'asynchronisme des chargements
3.2 Fenêtre textuelle
4 Conclusion: impossible de retravailler une partition saisie préalablement
 

Justification automatique de partitions

1 Introduction: formalisation du savoir-faire des graveurs puis proposition d'un algorithme de justification automatique
2 Des règles de gravure empiriques et lacunaires
2.1 Microtypographie
2.1.1 Clef et armure
2.1.2 Espacer les signes, en théorie
2.1.3 Des altérations à la limite de la surimpression
2.1.4 Les hampes
2.1.5 Les points
2.2 Macrotypographie
2.2.1 Mise en page
2.2.2 Aligner à tout prix
2.2.3 Les chaises
3 Un algorithme de justification: matrice d'évènements avec espaces minimaux et souhaités avant et après
3.1 Aligner les portées
3.2 Espacer les évenements
3.3 Espacer les sige=nes d'un même évènement
3.4 Réalisation: balayer entièrement toutes les portées, puis déterminer les passages à la ligne, puis espacer tous les évènements, enfin chaque évènement dipose les signes qui le compose.
 

Listes de choses faites/à faire:

Bureaux:

Questions à ESJ:

  1. polices dynamiques: idem pb { ou racine ou intégrale en PS pour les polices statiques, ici lien entre croches de longueur variable; 3 "hacks": changement de police mais pb épaisseur et cadrage, insérer du dessin pur comme PS où chaque caractère une police est un dessin repérable parmis 256 fonctions zéro-aires, artifice PS par paramètrage des fonctions à l'aide de variables globales cf Jacques André valeurs aléatoires mettre le cache PS à 0 fonctions postfi
  2. impossible retravailler une partition saisie préalablement: sauvegarde sur le serveur puis mini-ftp, une sauvegarde par client ou une seule sur le serveur?
  3. autres travaux antérieurs: musique.html, catherine.html, home httpd cgibin html

Bibliographie:

Création de fontes en typographie numérique, Jacques André, IRISA + IFSIC 1993; postscript p16, fontes dynamiques p59
CD TEX/LATEX pour mac

Emmanuel Saint-James:

La Programmation Applicative, Hermes 1993
(direction) Marc Gengler, Réduction parallèle dans le lambda-calcul: non-existence d'une stratégie optimale fondée sur le partage, thèse P6 1989
(direction) Pierre Jeanjean, De l'implémentation d'un langage à objet dans un milieu méta-récursif vers l'implémentation méta-récursive d'un langage à objets, thèse P6 1987
De la méta-récursivité comme outil d'implémentation, 1987


21/03/2001


Installation complète de la machine ceres.lip6.fr: rdv Jussieu
Lecture et résumé: Une bibliothèque informatique pour la notation musicale baroque (Ep'98)
Démonstration de Nabil: éditeur partagé auto-justificateur écrit en Java, muni d'un sous-interprète PostScript
Historique des travaux du labo
Métrique des polices
 

Installation de la machine ceres.lip6.fr:

RedHat 7 Gnome
connection réseau IP 132.227.64.159
connection imprimante
commande d'un compte à l'école doctorale avec une adresse internet

à faire:

Documentation:

/home/esj/Cacophonie/Ep98/ep98.ps -> ghostview
 

Une bibliothèque informatique pour la notation musicale baroque

In Electronic Publishing, Artistic Imaging, and Digital Typography, Springer 1998

Introduction: différencier les signes musicaux
Une graphie anachronique
Un ductus oublié même des copistes
La hampe, empattement vertical
Les degrés de liberté du lien
Un dessin fonction de l'inclinaison
Une numérisation paramétrée rétrospectivement
Fonctionnalisation de l'interface
Discrétisation de l'allongement
Les liens superposés
Mise en oeuvre
Conclusion: justification automatique pour réduire la part des interventions manuelles -> éditeur rapide et satisfaisant
 

Démonstration de music par Nabil

applet Java sur kindi.ufr-info-p6.jussieu.fr/music/music.html, version 1.1b
éditeur partagé: 2 personnes sur internet, boutons rouges quand l'autre écrit, dialogue (chat) fenêtre saisie + fenêtre rapport, l'autre ne subit pas les zooms grâce au contexte personnel d'affichage, police baroque ou classique sur le client
pas tous les signes, juste principe, code labo expérimentation rigolo, pas clé en main
racourcis clavier
zoom inégalé, option écran anti-aliasing + long, zoom java 3 fois + lent et moins beau: redessiner lineto est + rapide et va + gros
pb alignement croche = ens de signes (tête + queue)
mode ajout (systématiquement à la fin) / mode insertion
lien (beam) : sélectionner
déplacement temps-réel -> redessin des liens et des notes -> possibilité accélération
Netscape et Explorer n'interprètent pas de la même façon Java
police baroque dégeulasse à petite échelle
dessineCarre: surface sensible
distinction voie/portée
menu mise en page
déplacement aligné sur toutes les portées ou individuel (ctrl)
"espace avant"
barre de mesure I
option justification
couler
distinction slur (dessin quelconque, noeud par ctlr-clic) / tie (liaison horizontale attachée à la première note, déplacer les 2 notes? non)
pas de police en SVG

à faire (refaire):

menu
coches dans les menus
changer les fenêtres de dialogue
génération ps complet
undo
séléction intelligente
gribouillage avec calque (layer) sans tout redessiner pb java -> essayer évènement
grammaire de communication: sémantique

Idées:

comparer midi et format de sauvegarde
 

Bibliographie:

Rapport de stage DEA ATIAM 1996 de Nabil Bouzaïene: La notation musicale aux prises avec l'ordinateur
Thèse de doctorat de l'Université Paris 6 spécialité informatique de Nabil Bouzaïene, juillet 2000: Typographie coopérative de partitions musicales par navigation interprétative de contours
The LaTeX Companion 1994 ->p157 NFSS
The LaTeX Graphics Companion 1997 -> p353 PSNFSS
 

Discussion ESJ:

1- SVG au lieu de PS:
Question: pb trivial convertion des moveto, lineto et curve et finalement ps nécessaire pour un fichier imprimable de qualité
Réponse: traducteur ps -> SVG intéressant sauf si sous-ensemble et mise en page incrémentale, vérifier que svg n'est pas prématuré pour les navigateurs, télécharger Amaya
2- accélération:
Q: efficacité de l'applet trivial
R: oui, appel par nécessité de ps
3- représentation:
Q: représentation accessible de la partition très intéressante car réflexion pour la définition d'une normalisation dans le but d'une analyse musicale de bdd avec pb sémantique, et entités évènementielles pour le travail partagé avec une représentation informatique à la fois musicale et graphique
R: danger ne pas réinventer la roue (SDML et NIFF), tps de développement très long mais technologie évolue rapidement donc obscolescence ou incompatibiliés, il faut donc se tenir très au fait et devancer les technologies; une police est un ensemble de dessins plus un ensemble de métriques (déformations du dessin), il faudrait un format pour afficher une partition d'après la métrique et non de la police, respect de la métrique à part (indpdt couleur par ex), taille des caractères + table des métriques ligatures; 2 pôles : format de représentation (le document existe indépendamment) et édition de partition (coopérative, déjà fait par Nabil); cf nfss (New Font Selection Scheme) et psnfss de LaTeX
CCL: plug-in au format XML balance entre précision graphique (typogravure) + extraction de connaissance + édition; étude de faisabilité si trop de travail
 

4- historique:

95/96 La notation musicale aux prises avec l'ordinateur, Nabil Bouzaïene
96/97 Une bibliothèque informatique pour la notation musicale baroque, Nabil Bouzaïene, Loïc Le Gall, Emmanuel Saint-James
97/98 Infographie musicale, Etat de l'art & Perspectives, Nabil Bouzaïene, Emmanuel Saint-James
98/99 Edition distribuée de partitions musicales multi-polices, Nabil Bouzaïene, Emmanuel Saint-James
99/00 Justification automatique de partitions, Nabil Bouzaïene, Catherine Guastavino, Emmanuel Saint-James
99/00 Typographie coopérative de partitions musicales par navigation de contours, Nabil Bouzaïene


22/03/2001


Conférence de Tristan Cazenave: Algorithme de découverte d'algorithmes de recherche arborescente (cf notes papier)
Lecture du rapport de stage de DEA de Nabil: classement des logiciels, saisie toujours perfectible
Documentation internet sur Amaya, SVG (Scalable Vector Graphics), et XML (Extensible Markup Language)
 

Lecture du rapport de stage de DEA de Nabil:

1 Introduction : la saisie est le défaut commun à tous les logiciels
2 Notation, typographie et gravure
3 Normes de description des partitions musicales: SMDL et NIFF
4 Les logiciels: classement textuel/graphique, liberté/contrôle, et midi/non midi; p21 la partition doit suivre l'exemple du texte
5 Conclusion: l'ordinateur devrait être un catalyseur d'une révolution de la notation musicale
A Partition: étude/exécution
B SGML (Standard Generalized Markup Language): balisage logique
C Marché des logiciels de notation musicale
 

Documentation internet:

Amaya:

http://www.w3.org/
http://www.w3.org/Amaya/
The current release, Amaya 4.3.1, supports HTML 4.01, XHTML 1.0, XHTML Basic, HTTP/1.1, MathML 2.0, many CSS 2 features, and limited SVG support.
We plan to make a new release by end of June 2001.
W3C's Editor/Browser
                           Amaya is a browser/authoring tool that allows you to publish documents on the Web. It is used to demonstrate and test many of the new developments in Web
                           protocols and data formats. Given the very fast moving nature of Web technology, Amaya has a central role to play. It is versatile and extensible and is available
                           on both Unix and Windows '95/NT platforms.
                           Amaya has a counterpart called Jigsaw which plays a similar role on the server side.
                           Amaya is a complete web browsing and authoring environment and comes equipped with a "WYSIWYG style" of interface, similar to that of the most popular
                           commercial browsers. With such an interface, users can easily generate HTML and XHTML pages, as well as CSS style sheets, MathML expressions, and
                           SVG drawings (full support of SVG is not yet available, though).

SVG:

http://www.w3.org/Graphics/SVG/Overview.htm8
This is the official W3C overview of the Scalable Vector Graphics (SVG) format, currently nearing completion at W3C.
http://www.w3.org/Graphics/SVG/SVG-Implementations
What is it ?
SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. Text can be in any XML namespace suitable to the appplication, which enhances searchability and accessibility of the SVG graphics. The feature set includes nested transformations, clipping paths, alpha masks, filter effects, template objects and extensibility.
 SVG drawings can be dynamic and interactive. The Document Object Model (DOM) for SVG, which includes the full XML DOM, allows for straightforward and efficient vector graphics animation via scripting. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on SVG elements and other XML elements from different namespaces simultaneously within the same Web page.
http://www.carto.net/papers/svg/first_e.html
Unfortunately Adobe did not provide us with a Linux SVG-plugin
Here are 0 matching plug-in(s) found :
http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm?cp=pif
This guide tells you how to develop plug-ins that extend Netscape Communicator with a wide range of interactive and multimedia capabilities.

XML:

http://www.w3.org/XML/
The Extensible Markup Language (XML) is the universal format for structured documents and data on the Web. XML in 10 points explains XML briefly. The base specifications
are XML 1.0, W3C Recommendation Feb '98, and Namespaces, Jan '99. The XML Activity Statement explains the W3C's work on this topic in more detail.
http://www.w3.org/XML/1999/XML-in-10-points
Development of XML started in 1996 and it is a W3C standard since February 1998, which may make you suspect that this is rather
immature technology. But in fact the technology isn't very new. Before XML there was SGML, developed in the early '80s, an ISO standard
since 1986, and widely used for large documentation projects. And of course HTML, whose development started in 1990. The designers of
XML simply took the best parts of SGML, guided by the experience with HTML, and produced something that is no less powerful than SGML,
but vastly more regular and simpler to use. Some evolutions, however, are hard to distinguish from revolutions... And it must be said that
while SGML is mostly used for technical documentation and much less for other kinds of data, with XML it is exactly the opposite.
http://www.w3.org/TR/xmlschema-1/
http://babel.alis.com/web_ml/xml/REC-xml.fr.html
http://www.xml.com/
http://www.xml.com/pub/a/2001/03/21/svg.html
                            <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN"
                               "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">

                           <svg width="21cm" height="13.5cm">
                            <title>MegaMall Handbill</title>
                            <desc>
                                Handbill for the fictitious MegaMall
                            </desc>
                                <!-- graphic specifications go here -->
                            </svg>
In this brief introduction, you've learned how to
set up the dimensions of an SVG drawing
create basic shapes such as rectangles and circles
transform a graphic by translating, scaling, and rotating it
define graphics for later reuse
group graphics
use simple paths
add text to a graphic
use filters for visual effects


23/03/2001


Installation Alpha pour LaTeX sur mac
Téléchargement SVG Viewer pour mac
Téléchargement et installation d'Amaya
Installation du compilateur java d'IBM
Documentation de Nabil
Bibliothèque: XML
Rapport de la semaine

http://www.adobe.com/svg/viewer/install/main.html
The Adobe® SVG Viewer is a plug-in that your Web browser will use to render SVG.
http://www.adobe.com/svg/overview/overview.html
                                                      Discover the future of Web graphics in SVG
                                                      The Scalable Vector Graphics (SVG) format is set to revolutionize the way graphics
                                                      look on the Web. What is it? Quite simply, SVG is an open-standard vector graphics
                                                      language that lets you design Web pages with high-resolution graphics that can
                                                      contain sophisticated elements, such as gradients, animation, and filter effects, using
                                                      plain text commands. SVG promises to bring precision and quality to Web graphics
                                                      and design, delivering the layout capabilities, choice of fonts, interactivity, and colors
                                                      that make a site shine.
         To view this page you need
         an SVG viewer. There is
         currently no Adobe SVG
         Viewer available for your
         browser.
http://www.adobe.com/svg/indepth/faq.html
                                                    Q.
                                                    When will Web browsers support SVG as a standard built-in feature?
                                                    A.
                                                    The browser vendors have not announced a schedule yet for supporting SVG as a standard
                                                    built-in feature.
http://www.s-line.de/homepages/gerd_castan/compmus/notationformats_e.html
PDF is not a music notation format in the sense that you can arrange or play the file. But PDF is good for high quality platform independant printing using Acrobat Reader . This is the reason, why sites that sell online sheet music often use PDF as download format.
4.XML applications
              SMDL
              MNML - The Musical Notation Markup Language
              MusicML
              MHTML
              MML: Music Markup Language
              Theta: Tonal Harmony Exploration and Tutorial Assistent
              ScoreML
              eXtensible Score Language (XScore)
              MusiXML: My own format
              MusicXML
              MusiqueXML
              NIFFML
              ChordML
              JMSL Score
              XMF - eXtensible Music Format
              minimusic
              MusiCat
              SVG (Scalable Vector Graphics)
              SMIL
http://www.s-line.de/homepages/gerd_castan/compmus/MusiXML_e.html
In spring 1998 I started to develop the MusiXML DTD. There are many more XML music notation formats. But none of them uses XML schema so far.
MusiqueXML by Francois Chastanet, Antoine Paolini and FX Vila is a simplified derivat of MusiXML. It is part of a project to transform a music notation XML format to SVG.
http://francois.chastanet.free.fr/musiquexml/MusiqueXML.htm
Support for SVG in Amaya:
Amaya displays images including those in the PNG format, which is a more powerful graphics format than GIF and is being increasingly used on the Web. Amaya supports also a subset of the
Scalable Vector Graphics (SVG) format, namely basic shapes, text, images, and foreignObject (the later is useful to include HTML fragments or MathML expressions in drawings). The
graphics are written in XML and may be mixed freely with HTML and MathML.
http://www.gca.org/attend/2001_conferences/europe_2001/
http://xml.apache.org/batik/
Batik is a Java based toolkit for applications that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as viewing, generation or manipulation.

Divers:

Possibilité d'utilisation de SVG d'ici la fin du stage?
"Eppaj": éditeur de partition partagé auto-justificateur
ps1, ps2, puis polices windows, puis adode pdf "régression"
LITP: Laboratoire d'Informatique Théorique et de Programmation
à faire: inventaire et classement des documents fournis par Nabil

Bibliographie:

Analyse des standards de notation musicale en vue de leur utilisation pour la transcription de la musique en Braille et l'étude d'une base de données musicales, thèse de doctorat de Didier Langolff à l'université Paul Sabatier de Toulouse, 2000
SVG 1.0 specificaction (02/11/2001)

Emprunts bibliothèque:

XML Langage et applications, Alain Michard, Eyrolles 3e tirage 1999
Le programmeur XML, Simon North et Paul Hermans, CampusPress 1999
De l'écrit au numérique -constituer, normaliser et exploiter les corpus électroniques-, Benoît Habert, Cécile Fabre, Fabrice Issac, InterEditions Masson 1998

Sites de documentation en informatique:

http://www.axiom.iup.org/S/BIUS/
http://www.sudoc.abes.fr/
http://www.inria.fr/
 

Documentation de Nabil

4 catégories:
  1. Normes pour la notation musicale informatisée
  2. Développement de plug-ins et de polices
  3. Travail coopératif
  4. Typographie