Le robot d'indexation (crawler) a été amélioré, et gère maintenant correctement la navigation en mode "utilisateur enregistré", necessaire pour balayer le site cpdl.org. Nous avons résolu quelques problèmes rencontrés au fur et à mesure. Par exemple, le robot allait exporer le lien "logout", ce qui le désenregistrait du site. Autre cas, celui d'une page dynamique qui contient un lien sur elle-même auquel a été ajouté un paramètre. Par exemple, la page /dossier/test qui pointe sur /dossier/test?param=1 qui pointe sur /dossier/test?param=1¶m=1 qui pointe sur /dossier/test?param=1¶m=1¶m=1, etc. Le robot ne peut pas comprendre qu'il s'agit de la même page cer l'adresse est différente et le contenu aussi. Nous avons résolu ce problème de boucle en limitant le nombre de liens successifs depuis la page d'accueil. On peut considérer que s'il faut plus de 20 clics pour arriver à une page, celle-ci n'a que peu d'intérêt... Nous avons fait tourner le système une nuit entière, et il a collecté sans erreur quelques milliers de fichiers divers. Mais lorsque la liste de pages à explorer devient importante, le programme commence à consommer un peu trop de puissance processeur, aussi l'avons-nous aujourd'hui réécrit en quasi-totalité pour optimiser la bête, et rendre tout cela plus propre. Une nouvelle version du robot devrait donc pouvoir tourner ce week-end. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons reçu un accord de principe, encore à confirmer officiellement, nous permettant d'indexer les partitions du CPDL. Cependant, il s'agit d'un site de type Wikimedia, pour lequel les visiteurs sont redirigés vers deux sites miroirs, interdits aux robots. Nous avons donc créé un compte d'utilisateur pour le robot, permettant de parcourir le site original. Mais cela nécessite que le robot soit enregistré, donc gère les "cookies" d'autentification. Pas facile. Pour l'instant, nos essais ne sont guère concluants, le site considérant que le robot est un simple visiteur malgré les cookies. Mais on s'accroche... |
|
|
by Olivier Guillion | | |
| |
|
Le "crawler" a récupéré un petit milliers de fichiers sur internet. Une fonction spéciale dans notre version de développement d'Harmony Assistant a ensuite traité ces fichiers (à distance, par une connexion Internet) afin de calculer les données permettant une recherche mélodique sur ceux-ci. Ensuite, sur une page Web pour l'instant disponible uniquement localement, le plug-in a été utilisé pour entrer une séquence à rechercher. Dans le résultat des recherches, le même plug-in permet de jouer la séquence correspondante telle que trouvée dans le fichier. Donc le principe est en place, et fonctionne. Maintenant, nous allons essayer d'améliorer le "crawler", afin qu'il prenne en compte les restrictions d'accès spécifiques définies par chaque serveur Web. Il semblerait que quelques sites majeurs d'archives de partitions libres de droit aient demandé à ne pas être visités par les robots d'indexation. Ceci nous empêche déontologiquement de traiter leurs fichiers et donc de les proposer dans les résultats de nos recherches. Nous essayons de prendre contact avec les responsables de ces sites afin d'obtenir une dérogation. |
|
|
by Olivier Guillion | | | |
|
Tout est en place, nous essayons maintenant de rendre un peu plus propres les différentes étapes du processus. Nous avons défini les informations intéressantes devant être extraites des fichiers musicaux (titre, textes, notes et durées, etc) et sur lesquelles des recherches pourront être lancées. Le "crawler" a été testé sur des sites autres que le MUSL, et Harmony Assistant a été modifié pour permettre de calculer les données codées permettant la recherche sur les fichiers trouvés. Il nous sera ensuite facile de permettre à des utilisateurs extérieurs de participer à la constitution de la base de données de recherche. Enfin, la recherche a été améliorée, avec un nouveau calcul de durées relatives pour la partie rythmique. Prochaine étape, récuperer un bon milliers de fichiers, les entrer dans la base, puis effectuer des recherches dessus. Un 2e mode de fonctionnement spécial du plug-in permettra, dans la page des résultats de la recherche, de jouer la séquence trouvée dans chaque fichier. Le plug-in sera alors réduit à un simple bouton "play". |
|
|
by Olivier Guillion | | |
| |
|
Le système de recherche mélodique s'articulerait autour de 3 modules principaux : 1- Le "crawler". Ce programme balaie en permanence le contenu des serveurs Web. Il recherche, dans les pages HTML, les liens vers d'autres pages et vers les fichiers musicaux. Les fichiers musicaux sont pré-traités et stockés dans un dossier temporaire, et les adresses des autres pages sont ajoutées le cas échéant à la liste des pages à traiter. C'est ici qu'on règle la "portée" de l'indexation en éliminant ou en traitant les liens vers les sites extérieurs. 2- Le traitement des fichiers musicaux. Ce programme récupère un à un les fichiers musicaux pré-traités issus de l'étape 1, et en extrait des séquences musicales permettant une recherche (code Parsons et autre). Le résultat de ce traitement est inscrit dans une base de données. Ceci est fait par Harmony Assistant (version spéciale ou script dédié). 3- La recherche : A partir de la séquence entrée par l'utilisateur, balaie la base de données et fournit les résultats de la recherche, classés par pertinence. Si la 3e étape est nécessairement réalisée par notre serveur Web, nous réfléchissons à des systèmes qui permettraient de distribuer la charge de travail du point 2. et éventuellement 1. à des utilisateurs consentants. Pour le point 2. (traitement des fichiers musicaux), il n'y a pas de problème technique ou légal. Le fichier musical lisible ne transiterait jamais sur le réseau, et l'utilisateur ne saurait pas quel fichier il traite et n'aurait pas accès au détail des données. Pour le point 1. ("crawler"), c'est plus compliqué. Si le travail est distribué parmi les utilisateurs, cela ne pourrait se faire que parmi un petit groupe de personnes de confiance. En effet, si l'ensemble du Web était balayé, le programme pourrait faire accès à des sites illégaux, ces accès étant inscrits dans les fichiers-journaux de l'utilisateur ou de son fournisseur d'accès. Nous préférons donc dans un premier temps nous occuper de cette partie nous-même. |
|
|
by Olivier Guillion | | | |
|
Nous sommes en train de mettre en place des versions spartiates du système de balayage de sites et de conversion des partitions en code permettant les recherches mélodiques. Outre la mélodie, il devrait également être possible d'effectuer des recherches textuelles sur toutes les informations contenues dans le fichier : commentaires, titre et compositeur, paroles, et pourquoi pas la grille d'accord si celle-ci est disponible. Cela permettrait ainsi de rechercher rapidement toutes les versions d'un morceau connu (ex Chaconne de Bach), dans tous les formats de fichiers reconnus par nos logiciels (MIDI, KAR, MUS, MYR, ENC, ABC, TAB, RHP, MOD, etc, etc, y compris en PDF). Reste le problème de l'étendue de la recherche. Pour les fichiers de MUSL, aucun problème ni technique ni juridique. Etendre la recherche à un pannel de sites connus, qui autorisent les moteurs d'indexation et qui proposent des partitions libres de droit, nous ne voyons pas de problème non plus. Reste la possibilité d'étendre la recherche au contenu complet d'Internet. Techniquement, cela peut poser des problèmes de stockage, mais ça, c'est notre problème. Légalement, on pourrait nous reprocher de proposer des liens vers des contenus illégaux. Pourtant, le rapprochement avec Google paraitrait naturel. Il ne s'agirait ni plus ni moins qu'un Google qui traiterait la musique au lieu de traiter les textes. Mais il arrive que ce qui paraît évident au technicien échappe au juriste. S'il est incontestable qu'un accès centralisé à toutes les sources de partitions musicales en ligne pourrait être d'une grande utilité à de nombreuses personnes, cela vaut-il la peine de prendre un risque sur le plan juridique? Nous nous interrogeons. Vraiment. |
|
|
by Olivier Guillion | | |
| |
|
Nous y avions réfléchi, Sylvain a relancé l'idée. Le site musipedia ainsi que les recherches personnelles de Sylvain nous ont convaincu de son intérêt. Voila de quoi il s'agit : de la même manière qu'un moteur de recherche permet de retrouver les textes contenant une certaine séquence de mots, une recherche mélodique permet de retrouver les partitions qui contiennent une certaine séquence de notes, ou une séquence approchante. Une recherche de séquence existe déjà dans Harmony Assistant, mais elle ne permet de rechercher que dans les fichiers présents sur le disque dur de l'utilisateur. Nous nous étions alors dit que ce serait intéressant de permettre une telle recherche dans MUSL, mais nous n'avions pas trouvé le moyen de faire entrer facilement à l'utilisateur la séquence à chercher. Nous hésitions à aborder le Flash ou le Java juste pour ça, et le HTML ou le Perl ne nous étaient d'aucun secours. Puis Didier a eu L'idée : les visiteurs du MUSL ont tous le plug-in installé. Pourquoi alors ne pas prévoir un mode spécial dans le plug-in qui présenterait un dessin de clavier et une portée simple, et qui permettrait à l'utilisateur d'entrer sa séquence? Ensuite, un module de recherche en Perl irait comparer la séquence ainsi entrée avec la signature mélodique de chaque fichier du MUSL (par exemple, basé sur le code Parsons), et les résultats présentés par ordre décroissant de pertinence. Tout à fait faisable. Puis nous avons continué à réfléchir, et à nous demander ce qui nous empêcherait d'étendre cette recherche à quelques autres sites proposant des musiques libres de droit. Ou, pourquoi pas, à l'intégralité des partitions, en n'importe quel format, PDF compris, qu'on peut trouver sur Internet ? N'est-ce pas ce que fait Google avec les textes et les images ? Mais cela implique quelques interrogations d'ordre moral, légal (copyright), et techniques que nous exposerons dans le prochain billet. La saga risque d'être longue. |
|
|
by Olivier Guillion | | |
| |
|
Principalement deux corrections aujourd'hui : - Problème de désynchronisation de Virtual Singer dans les mélismes (syllabe prolongée sur plusieurs notes) lorsque les notes avaient une durée d'appui inférieure à 100%. Désormais, la durée d'appui de ces notes sera ignorée, sinon Virtual Singer n'a pas de moyen de chanter le passage convenablement. - Dans "Fichier > Nouveau", le "dernier modèle choisi" ne fonctionnait pas correctement si la préférence générale "Sauve > Proposer l'extension par défaut .myr au lieu de .mus" était désactivée. |
|
|
by Olivier Guillion | | | |
|
L'année 2010 a commencé sur un long week-end, aussi avons-nous passé une bonne partie de ce lundi à traiter les e-mails reçus ces derniers jours. Mais nous avons cependant pu travailler un peu, et notamment corriger un problème d'export MusicXML qui nous avait été signalé. Il nous faut maintenant vérifier que la correction en question n'aura pas eu d'effet de bord néfaste. Dans un autre domaine, le plug-in Quicklook sur Mac OS X ne fonctionnait plus sous Snow Leopard. Nous nous disions que, comme avec Safari, les plug-ins 32 bits n'étaient plus supportés, mais miracle, avec la mise à jour 10.6.2, voila que ce plug-in QuickLook se remet à fonctionner. Un coup isolé d'Apple ou un retour délibéré vers une compatibilité avec les modules 32 bits ? En va-t-il être de même avec Safari et le Myriad Plug-in ? Meilleurs voeux à tous !! |
|
|
by Olivier Guillion | | | |
|
|