Des problèmes de sélection d'instrument ont été signalés sur la version publique de Melody Assistant. Nous avions validé ceci durant la phase de test sur Harmony Assistant et pensions (à tort) que cela validerait également Melody, qui n'a pas fait partie de la béta. Des corrections ont donc été appliquées et une nouvelle version de Melody publiée sur le site (7.3.0a). Nous ferons "gaffe" pour la prochaine fois. Ceci nous a pris une bonne partie de la journée et a donc retardé d'autant la sortie de PDFtoMusic, prévue pour la fin du mois. Elle devrait donc voir le jour en début de semaine prochaine. Pour le prochain concours, nous aimerions mettre en pratique une idée ancienne : demander de sonoriser un film court ou un diaporama. Nous avons relancé des contacts que nous avions avec des passionnés de l'animation 3D. S'ils n'aboutissent pas, nous chercherons une autre idée. Certains ont proposé un travail collaboratif sur une même oeuvre. C'est une chouette idée mais qui nous semble un peu difficile pour les habitués du Concours. Il me semble me rappeler que cela avait déjà été tenté sur le Forum, c'est peut-être à relancer... |
|
|
by Didier Guillion | | |
| |
|
Ca y est, nous avons validé les nouvelles version d'Harmony et de Melody, les archives sont prêtes et testées. Nous sommes en train de les poster sur le site. Elles devraient être visibles d'ici quelques poignées de minutes. Dans notre planning, la prochaine mise à jour sera celle de PDFtoMusic puis du Myriad Music Plug-In. A plus long terme, nous allons porter notre effort en premier lieu vers "ScanToMusic" et en parallèle vers une amélioration de la mise en page sous Harmony Assistant. Un point de chute vers Septembre 2007 nous semble raisonnable bien que des versions béta devraient être disponibles quelques mois avant. Ah! Et au fait, le concours se termine d'ici quelques jours, il est encore temps d'envoyer vos oeuvres. Et nous, de trouver un nouveau sujet pour le prochain concours... |
|
|
by Didier Guillion | | |
| |
|
Aujourd'hui rien de trépidant, nous continuons à tester en profondeur les versions à venir d'Harmony et de Melody afin de préparer leur sortie imminente, vraisemblablement demain, si tout ce passe bien. Les contacts avec la société Sibelius sont en pleine activité. PDFtoMusic avait un peu mis à mal leur importeur MusicXML mais apparemment ils travaillent dur dessus. Ceci a abouti à un échange mutuel de logiciels. Nous avons donc reçu une version de Sibelius 4 pour Mac et PC. Le package pèse son poids et est vraiment très impressionnant, avec notamment un véritable livre qui fait office de manuel d'utilisation. Le Forum est en pleine effervescence. Certains s'inquiètent que nous passions beaucoup de temps à explorer de nouvelles ouvertures plutôt qu'à affiner les outils existants : http://www.myriad-online.com/cgi-bin/bbs/YaBB.pl?board=other;action=disp lay;num=1174118926 D'autres ont lancé un fil passionnant sur les possibilités d'amélioration de la mise en page : http://www.myriad-online.com/cgi-bin/bbs/YaBB.pl?board=other;action=disp lay;num=1174576201 Et en particulier du mode gravure. Je suis persuadé que tout ceci aboutira à des évolutions dans les prochains mois. |
|
|
by Didier Guillion | | |
| |
|
La version publique d'Harmony Assistant v9.3 et Melody Assistant v7.3 approche à grand pas. Nous testons en ce moment les archives que nous allons publier très bientôt sur notre site. Il devient maintenant de plus en plus difficile de générer et surtout de tester les versions pour Mac OS 9. Vraisemblablement, et sauf requètes multiples des utilisateurs, cette version devrait rester en 9.2 et 7.2. Rappelons toutefois que la version Carbon est censée fonctionner sans problème sous Mac OS 9 à l'exception des entrées-sorties MIDI. Mais qui utilise encore l'OMS sur Mac OS 9 ? Cela fait tout de même 6 ans que ceci a été considéré comme "abandonné" par Apple. Juste après viendra la prochaine version de PDFtoMusic... |
|
|
by Didier Guillion | | | |
|
Aujourd'hui nous avons papillonné sur une multitude de choses. L'objectif étant de finaliser les versions à venir de PDFtoMusic, Harmony Assistant, Melody Assistant et consorts. Ces versions devraient voir le jour d'ici la fin du mois, et c'est une question de jours. En premier lieu, nous avons eu la possibilité de tester nos programmes sous Windows VISTA, cela fonctionne, bien que d'un premier abord l'interface du système semble complètement "pompée" sur son concurrent direct. C'est regrettable qu'autant d'énergie et de temps ne puisse aboutir à quelque chose de vraiment différent qui fasse réellement envie... Mais c'est un autre problème. M Puff nous a soumis des fichiers un peu "casse-tête" où les caractères sont tracés par des images, cela sera traité dans la prochaine version de PDFtoMusic. Les différents programmes ont été compilés en version "publique" et sont en phase de test en vue d'une publication dans les jours qui viennent. Sur le forum et l'atelier démocratique, pleins d'idées et de suggestions se sont mises à fuser. Il est dommage qu'elles arrivent au tout dernier moment d'une béta qui a duré plus de deux mois, elles ne pourront malheureusement pas être intégrées dans la prochaine version. |
|
|
by Didier Guillion | | |
| |
|
L'opportunité nous a été donnée de tester (enfin) Windows Vista. La compatibilité de nos programmes semble assurée, l'installation et l'exécution s'étant déroulée sans problème notable. Simplement, comme prévu, Vista est bourré d'alertes de sécurité. S'apercevant que les systèmes précédents étaient des passoires dans ce domaine, Vista, à l'instar de MacOS X, décharge la responsabilité sur l'utilisateur, qui doit à tout bout de champ confirmer l'installation des programmes, l'usage des plug-ins dans le navigateur, l'utilisation des panneaux de configuration, etc. Par exemple, lors du lancement de l'installateur, on obtient (sur une version anglaise du système) : Brr, ça fait peur ! Donc, je suppose que nous aurons des tonnes de demandes au support technique, disant "Y'a Windows qui me dit que votre programme veut accéder à mon ordinateur. Qu'est-ce que je dois faire"? Jusqu'à ce que nous nous soyons décidés à acheter une signature numérique, et la mettre en place sur nos programmes... Sinon, les programmes fonctionnent bien, la preuve : Il n'y a plus qu'à faire un thème d'écran "Vista" (sans les icônes qui bougent) pour Harmony/Melody, afin ne pas perturber ceux qui ne connaîtront que cette interface graphique. |
|
|
by Olivier Guillion | | |
| |
|
Si, comme nous, vous avez un soupir ému aux seuls mots "Astereoïd","Pacman","Centipède", courrez voir cette vidéo magnifique : http://www.eatpes.com/game_over.html Note : Ce billet attends d'être posté depuis le 28 Aout 2006, la vidéo étant malheureusement temporairement indisponible, nous avons du différer... N'hésitez pas à la télécharger, elle ne restera peut être pas longtemps. Prenez également un peu de temps pour visualiser les autres réalisations de PES elles débordent d'imagination et sont un vrai plaisir ! |
|
|
by Didier Guillion | | | |
|
Alors que nous améliorons la reconnaissance des portées sur la page, des tests doivent être réalisés avec autant que possible de partitions différentes, pour localiser les éventuels problèmes. Durant nos recherches de partitions scannées pouvant servir d'exemple, ce site a attiré notre attention : Historic American Sheet music Il contient de très nombreuses partitions anciennes (1850-1920), scannées avec une bonne précision et un soin particulier. Les typographies sont parfois assez bizarres (dessinées à la main?) : Le fait que ces partitions proviennent de sources diverses permettra de fournir à ScanToMusic des jeux de caractères très différents, pour juger de son adaptabilité. |
|
|
by Olivier Guillion | | |
| |
|
La première connexion entre les modules de traitement d'image et les modules de traitement des informations musicales a été effectuée. Le traitement d'image repère les lignes horizontales, suit leurs petites imprécisions, élimine les "trous", les classe, puis transmet ces données brutes à un module de recherche de portées, similaire à celui utilisé dans PDFtoMusic. A partir de là, on obtient les premières informations concernant la structure de la partition scannée, c'est-à-dire la position des portées et la valeur de l'espace entre les lignes. Ceci permettra d'entamer une deuxième phase d'analyse d'image, car la valeur de l'interligne conditionne la taille des objets que l'on peut rencontrer sur la portée (altérations, têtes de notes...). Connaître cette valeur facilite la discrimination entre les objets pouvant avoir à peu près la même forme, mais à des échelles différentes, comme par exemple une tête de noire et un point. |
|
|
by Olivier Guillion | | | |
|
Un cas intéressant, rencontré ce jour. Les diagrammes d'accord guitare sont tracés non pas avec des lignes et des cercles mais via trois caractères spéciaux : une grille vide et des points : Ceci sera traité dans la prochaine version. |
|
|
by Didier Guillion | | | |
|
A l'étape 115 de PDFtoMusic, nous vous avions raconté que nous cherchions de nouveaux locaux, plus adaptés. C'est chose faite depuis la semaine dernière ! Après presque deux ans de recherche Sylvie nous a trouvé une nouvelle maison dans le même quartier mais plus grande. Il faut savoir qu'il y aura de nombreux travaux avant que nous déménagions du 22 rue Pierre d'Aragon au 26 rue Michel de Montaigne. Si tout ce passe bien, la transition devrait ce faire cet automne. La batisse date de 1860 pour le rez-de-chaussée, elle a été étendue début XXème, avec l'ajout de deux étages. Comme nous travaillons chez nous, il était important que l'activité professionnelle soit proche mais puisse être séparée. C'est chose faite puisqu'une aile de la maison sera destinée à Myriad. Il y aura trois bureaux, l'un pour la réception, deux autres l'un sur l'autre avec une mezzanine (nous avons plus de 6 m sous plafond à cet endroit). Chacun pourra organiser à sa guise son espace de travail. Une grande partie de nos recherches se fait avec un crayon, une gomme et du papier, une vaste terrasse pourra nous accueillir. Voici la future porte d'entrée de Myriad : Et une vue du mur de nos locaux, typiquement Toulousain, avec briques et galets : |
|
|
by Didier Guillion | | |
| |
|
M Good nous a signalé un problème sur l'importation de certains fichier PDF. Il apparaît que c'est un problème de traitement d'un ancien type de police de caractères, les Types 1 d'Apple. Ceci a pris pas mal de temps d'analyse mais semble corrigé. Voici en attendant les améliorations/corrections qui seront disponibles dans la version 1.0.3 de PDFtoMusic : Améliorations - Optimisation du temps de traitement - Gestion des multi-écrans sur Macintosh. - Meilleure gestion des noms d'accord écrits sur des lignes décalées. Corrections - Gestion du clavier sur MacTel - Reconnaissance et exportation de la notation FaSoLa Aiken - Interprétation des polices Adobe Type 1 On peaufine, on peaufine... |
|
|
by Didier Guillion | | | |
|
Une des premières opérations généralement effectuées par un logiciel de reconnaissance optique de partition, OMeR inclus, est de "seuiller" l'image, c'est-à-dire de remplacer les nuances de gris par du noir ou du blanc pur. Ceci permet de simplifier grandement les calculs, chaque point de l'image ne pouvant alors avoir que deux états, allumé ou éteint. Dans ScanToMusic, nous avons décidé, dès le début, de conserver les niveaux de gris de l'image. "Pourquoi ?" me demanderez-vous, "C'est simple", vous répondrai-je : lorsque l'oeil - ou le cerveau- humain regarde une forme dessinée avec des niveaux de gris, les gris plus ou moins foncés sur le pourtour des objets lui permettent d'affiner ce contour. Cela permet de voir des formes aux contours arrondis même si la précision du scan est faible, alors qu'une image seuillée noir/blanc fait apparaître un crénelage. Voici un exemple: Cette note, extraite d'une partition scannée, est présentée en taille réelle sur la ligne du haut et en taille double sur la ligne du bas. En A, l'image originale en niveaux de gris, telle que la traite ScanToMusic. Même s'il apparaît un peu flou, le symbole est bien visible, et sa forme et ses courbes se voient clairement. En B, C, D, la même image en noir/blanc, réalisée avec divers niveaux de seuillage. On se rend nettement compte de la perte de qualité et de définition qui résulte de cette opération. Partant du principe qu'il est préférable de conserver un maximum d'information utile dans l'image avant d'entamer la phase de reconnaissance de symboles, les niveaux de gris seront donc conservés tout au long du traitement par ScanToMusic. |
|
|
by Olivier Guillion | | |
| |
|
Les premiers tests de reconnaissance de symboles musicaux ont été effectués. Il a suffi de sauvegarder tous les symboles qui ont été isolés sur la partition scannée puis de les fournir au module d'OCR musical de PDFtoMusic. Ces premiers résultats sont prometteurs, le module reconnaissant quasiment 100% des clés de sol, 90% des rondes, noires et blanches. Sachant que, pour l'instant, les symboles sont fournis au module de reconnaissance avec les lignes de portées, c'est-à-dire traversés de part en part par une ou plusieurs lignes horizontales noires, on peut considérer ces résultats comme prometteurs. Il faut maintenant améliorer les algorithmes de "mise en boîte", afin d'éviter de fournir à ce module soit des morceaux de symboles considérés comme indépendants, alors qu'ils constituent le même signe (clés de fa, certains chiffres indicateurs de mesure, etc), soit plusieurs symboles distincts mais pris pour un seul signe (notes accrochées ou en accord, groupe "note+altération" lorsque cette dernière est proche, etc.). |
|
|
by Olivier Guillion | | | |
|
Le module le plus important de ScanToMusic va être la reconnaissance de caractères musicaux (et alphanumériques). Afin de permettre de tester rapidement ce système, nous avançons rapidement, en laissant de coté le "fignolage" des modules en amont. Après une élimination rapide des lignes de portées, des algorithmes de "mise en boîte" des divers objets ont été mis en place. Ces algorithmes sont destinés à séparer sur la page scannée les divers éléments qui la composent, et de les extraire un à un pour les soumettre à l'analyse de caractères. Ceci pose des problèmes lorsque deux lettres apparaissent "collées" l'une à l'autre dans un mot, ou lorsque des notes sont reliées par des barres d'accroche par exemple. Mais pour l'instant nous faisons abstraction de ces problèmes, pour savoir rapidement quels résultats nous pourrons obtenir sur les éléments bien séparés. Afin que ce blog reste lisible par un non-initié, nous simplifions ici le plus possible les concepts qui sont abordés. De même, pour des raisons de confidentialité, nous n'entrons pas dans le détail des algorithmes que nous mettons en place. Certains d'entre vous (et je pense notamment à Jean-Armand) ont posté dans les étapes précédentes des suggestions et même des algorithmes fort bien faits, sur lesquels nous étions déjà en train de travailler. Merci, et chapeau ! Je ne suis jamais contre un petit coup de main, et échanger des idées est le meilleur moyen d'en trouver des nouvelles et des bonnes, mais si possible, pour discuter précisément du programme, je préfèrerais que cela se fasse par e-mail. Il y a déjà des produits dans ce créneau, et probablement d'autres à venir, donc cela m'embêterait un peu de fournir publiquement un mode d'emploi pas à pas sur l'art et la manière de développer un tel projet, avec tous les algorithmes que nous utilisons expliqués en détail |
|
|
by Olivier Guillion | | |
| |
|
Aujourd'hui, nous avons commencé à essayer de gommer les lignes de portées, sans trop abîmer les caractères qui sont imprimés dessus. Ce n'est pas aussi facile que ça peut en avoir l'air. Il faut parvenir à "deviner" ce qu'il y avait imprimé sur la partie noire de la ligne, sans pour l'instant pouvoir s'appuyer sur une quelconque connaissance des caractères typographiques, puisque c'est justement cette étape qui est destinée à isoler les objets graphiques à reconnaitre. Si, au bout du compte, nous nous apercevons que cette opération ne peut pas s'effectuer sans dommage, nous pouvons encore changer notre fusil d'épaule, et considérer que les lignes de portées font partie intégrante du caractère à reconnaître. Mais cela compliquerait alors la partie reconnaissance proprement dite, car pour une tête de note, par exemple, il faudrait pouvoir reconnaître les quatre glyphes: - tête de note entre deux lignes - tête de note sur une ligne ou sur une petite ligne supplémenraire (ledger line) - tête de note avec une ligne dessous (Sol aigu pour une clé de sol) - tête de note avec une ligne dessus (Ré grave pour une clé de sol). En somme, multiplier les calculs de reconnaissance par quatre... |
|
|
by Olivier Guillion | | |
| |
|
Le suivi des déformations des lignes horizontales de portées a été mis en place. L'algorithme corrige donc les rotations de page jusqu'à +/- 4°, avec une précision qui a été augmentée pour atteindre le 30ème de degré. Les déformations sont également gérées, le programme permet donc de déterminer la courbe que forment les lignes, et de la compenser. Voici un extrait d'une partition scannée, puis détériorée artificiellement, juste pour rendre les choses plus difficiles : Voici la même partition, une fois débruitée, recontrastée et redressée : Maintenant que les lignes horizontales sont bien horizontales, on peut attaquer l'étape suivante, qui consiste à s'intéresser aux symboles qui sont écrits sur les portées... |
|
|
by Olivier Guillion | | |
| |
|
M Frouvelle nous a fourni un cas d'étude très intéressant. Il essaie de récupérer plusieurs centaines de partitions créées sous MS-DOS avec le programme "Score". Or, sous MS-DOS, chaque programme devait piloter "à la main" les imprimantes qu'il était capable de reconnaître. Avec Windows et Mac OS, le programme utilise une interface unifiée et c'est cette interface qui traduisait les commandes génériques en appel aux différents pilotes d'impression. Pas de "Print to PDF" en MS-DOS donc. M Frouvelle a donc judicieusement utilisé l' exportation en EPS disponible dans "Score" puis, converti les fichiers EPS en PDF sous Windows. Le problème est que ce transfert transforme le tracé des polices en éléments Postscript et PDFtoMusic ne retrouve pas de police musicale mais uniquement des tracés élémentaires. Nous sommes donc en train d'analyser le problème. Paradoxalement, les tracés complexes, comme les clefs de sol ou les notes sont maintenant reconnus, mais les tracés plus élémentaires comme par exemple les dièses (deux lignes verticales suivis de deux lignes obliques) ne sont pas encore localisés. Il va falloir je pense mettre en place un module spécifique pour ce genre de tracé. A suivre... |
|
|
by Didier Guillion | | | |
|
Aujourd'hui, premiers tests sur de vrais scans de partition. Les algorithmes de suivi de lignes de portées fonctionnent correctement sur ce type de document, mais ceux destinés à l'amélioration du contraste sont perturbés par les particularités liées au scan : pages tachées, froissées, ou laissant apercevoir le verso par transparence. Ces algorithmes ont donc été repris pour tenir compte de ces particularités. L'angle maximal de rotation de la page scannée a été réduit à un intervalle de -4° à +4° Faites l'essai avec un logiciel de traitement d'image, en appliquant une rotation à une page parfaitement horizontale: Vous vous apercevez que pour obtenir un angle de rotation supérieur à 4°, il faut vraiment positionner sa page comme un sagouin sur la vitre du scanner. ScanToMusic devrait être beaucoup plus tolérant qu'OMeR sur les paramètres de numérisation, mais il ne faut quand même pas exagérer, un minimum de soin sera tout de même nécessaire. |
|
|
by Olivier Guillion | | |
| |
|
Le suivi des lignes de portées a été amélioré, afin de permettre de suivre les déformations de la page scannée. Dans cette image, on voit les courbes détectées (en rouge) dessinées par-dessus la partition débruitée et recontrastée : Il faut maintenant peaufiner ce résultat. En effet, pour chaque ligne de portée, on obtient un petit faisceau de courbes possibles, quasiment confondues. La prochaine étape est d'y effectuer une sélection, pour ne garder que la courbe la plus probable, et y appliquer un lissage afin qu'elle se confonde au mieux avec la véritable ligne. |
|
|
by Olivier Guillion | | | |
|
Nous avons attaqué les premiers algorithmes de détection proprement dits. Nous partons d'une image déformée et bruitée, dans laquelle les lignes ne sont pas parfaitement horizontales : Après avoir appliqué les algorithmes de débruitage et d'optimisation du contraste de l'étape 1, on en extrait les lignes fines et "presque" horizontales. Les tiges, barres de mesures, accroches, têtes de notes et autres symboles sont gommés : Puis une recherche des pentes des droites est effectuée, avec une précision d'1/10 de degré (cela pourra être ajusté par la suite), le résultat apparaissant ici en rouge : Les lignes de portées apparaissent donc clairement, avec leur pente et leur écartement. Ces données sont cruciales pour la suite, lorsque nous effectuerons la détection des symboles qui sont imprimés dessus. On suppose cependant ici que les droites restent des droites, ce qui n'est pas toujours le cas lors d'un scan. Parfois lorsqu'on scanne une page d'un livre relié, il y a une courbure, une déformation sur le bord de la page. L'algorithme doit donc maintenant être modifié pour s'adapter à ces contraintes, et effectuer le suivi de la pente de chacune des lignes de portée. |
|
|
by Olivier Guillion | | |
| |
|
Le projet "Super-OMeR" a enfin démarré, sous le nom provisoire de "ScanToMusic". Le but de ce programme, est, je le rappelle, d'analyser des pages de partition scannées pour en extraire les éléments constitutifs, et recréer une partition éditable (Harmony ou MusicXML). Dans la dernière étape, les algorithmes développés pour PDFtoMusic devraient pouvoir être largement utilisés. Mais dans un premier temps, il faut préparer la reconnaissance optique de l'image. Plutôt que d'utiliser de vraies pages scannées, nous partons des images obtenues par l'afficheur de PDF de PDFtoMusic : Cette image est alors altérée pour la faire ressembler à ce qu'on aurait pu obtenir à la suite d'un -très- mauvais scan. Rotation, déformation, altération des contrastes, "taches" et bruit de fond sont appliqués : Les premiers algorithmes de ScanToMusic doivent permettre de retrouver une image "propre", débarassée (ou presque) des problèmes de taches, de bruit et de contraste : La prochaine étape consistera à redresser tout cela, en évaluant, puis en compensant les déformations de la page. |
|
|
by Olivier Guillion | | |
| |
|
|