Myriad Blog 1.3.0 Friday, Aug 29th, 2014 at 10:20pm 

Dev News Monday, Mar 1st, 2010 at 04:46pm
Harmony 9.5 et autres, étape 38

 
Nous avons recherché les cause du mauvais fonctionnement du plug-in avec Internet Explorer sur Windows Vista/7.
Après avoir pateaugé un temps dans la gestion des comptes administrateurs, droits d'accès et autres joyeusetés incompréhensibles destinés à assurer la sécurité de l'utilisateur en le forçant à cliquer "Autoriser" toutes les 30 secondes, nous pensions avoir réussi à tout remettre en ordre.
 
Mais voila-t-y-pas  qu'Internet Exporer refuse d'effectuer les recherches sur Kooplet, en expliquant qu'il avait volontairement bloqué l'appel à notre contrôle ActiveX pour "des raisons de sécurité", et en ne permettant pas à l'utilisateur de passer outre?
 
Seule solution: abaisser le niveau de sécurité de tout IE, ce que nous pouvons difficilement suggérer aux visiteurs de kooplet. Apparemment, les nouvelles versions de Windows sont de plus en plus avides de signatures numériques, et refusent par défaut de laisser faire ce qu'ils veulent aux contrôle ActiveX non authentifiés.
 
Nous en revenons donc au problème évoqué en mai dernier dans ce billet: acquérir un certificat authenticode afin de pouvoir signer numériquement nos applications. Nous étudions cela, mais ça n'a l'air ni simple ni bon marché chez certains (apparemment les prix varient du simple au quintuple selon le fournisseur)...
by Olivier Guillion
 1 comment.

Dev News Thursday, Mar 4th, 2010 at 05:20pm
Kooplet étape 24

 
Nous avons fait les premiers essais de scellement de nos applications avec la signature numérique que nous avons reçue.
Pour info, cette signature est valable 1 an (renouvelable), et le prix d'achat varie d'environ 100$ (mais on peut trouver moins cher, je crois) à 499$ selon le vendeur.
Pour l'obtenir, il faut montrer patte blanche, et envoyer pas mal de documents officiels (extraits du registre de commerces, factures diverses) et répondre à un coup de fil des USA pour valider le numéro de téléphone.
Mais cela a tout de même été plus rapide que nous le craignions, et cela a l'air de fonctionner plutôt bien et simplement jusqu'ici. Une version beta "signée" du plug-in devrait être disponible au test très prochainement.
 
Nous avons également ressuscité une vielle machine, sur laquelle nous avons installé Ubuntu. C'est la première machine en Linux natif que nous avons ici. D'accord, nous l'utilisons en "bureau à distance", donc elle n'a pas de souris, pas de clavier, et pas d'écran, mais c'est un début
Elle nous permet de faire tourner le "crawler" de Kooplet sur une machine dédiée, ce qui a deux avantages:  
- le langage dans lequel il est écrit (Perl) étant plus stable sur Linux, il vaut mieux le faire tourner sur ce système.
- les calculs, vérifications, balayages de listes utilisant une puissance de calcul non négligeable , une machine dédiée nous permet de ne pas ralentir nos ordinateurs de développement pour cette tâche.
 
Le PC principal de développement commence à ressembler à la salle de contrôle de la NASA. Sur ses deux écrans, outre ses propres fenêtres, la vue de la tête de pont réseau (mails, intranet, P2P...), celle du crawler sous Linux avec quatre agents tournant en parallèle, et la fenêtre de console SSH de notre serveur Web distant qui héberge Kooplet. Il vaut mieux mettre des fonds d'écran différents pour ne pas s'y perdre
by Olivier Guillion
 1 comment.

Dev News Friday, Mar 5th, 2010 at 04:47pm
Kooplet étape 25

 
Une nouvelle version du plug-in ( 5.5 beta 8 ) vient d'être mise à disposition ici.
 
Elle contient une nouvelle version de l'objet ActiveX qui permet l'utilisation du plug-in sur Internet Explorer, et tous les modules, ainsi que l'installateur, sont maintenant signés avec notre signature numérique. A essayer, donc, sur un maximum possible de versions de Windows et d'IE.
 
De son côté, le "crawler" continue à indexer les fichiers musicaux qu'il trouve sur Internet, et Kooplet a allègrement passé la barre des 80000 fichiers.
Ceci a eu pour conséquence de mettre à l'épreuve les diverses fonction d'importation d'Harmony Assistant. Nous les avons améliorées, et la prochaine version en bénéficiera.
 
Bon week-end à tous !
by Olivier Guillion
 3 comments.

Dev News Monday, Mar 8th, 2010 at 05:04pm
Kooplet étape 26

 
Nous avons pu laisser tourner le programme d'indexation ce week-end sur la machine Linux, afin de voir si on pourrait le laisser étoffer la base tranquillement 24h/24.
 
Nouis avons donc mis en place la connexion à distance afin de pouvoir le surveiller, avons sécurisé tout ça avec des mots de passe et un filtrage, et l'avons laissé tourner.
 
Hélas, pas de chance, samedi après-midi tout s'est arrêté net. De retour sur place lundi matin, npus avons pu constater que l'ordinateur était figé sur un écran bariolé. Au redémarrage, la moitié de la mémoire avait disparu !
 
Cet ordinateur est resté dans un placard trop longtemps, et une barrette mémoire ne faisait plus bien contact. Après un peu de chauffe, elle s'est déconnectée en pleine opération.
 
Donc a priori ni Ubuntu ni nos programmes n'étaient en cause ce coup-ci. Après démontage et remontage de la machine, nous avons tout relancé.
by Olivier Guillion

Dev News Wednesday, Mar 10th, 2010 at 05:47pm
Kooplet étape 27

 
Un problème de consommation de mémoire nous empêchait de faire tourner le crawler trop longtemps sur notre machine Linux. Au bout d'un moment, le programme utilisait plusieurs centaines de Méga-octets, et avec 4 instances simultanées, cela faisait effondrer les performance du petit ordinateur qui le fait tourner.
 
Nous avons résolu le problème, qui n'était apparemment pas de notre coté, mais plus général à certains types de traitement dans le langage Perl. Nous avons également fixé une limite à la taille des fichiers analysés, considérant que des PDF de 50 Mo (si, si, on en a trouvé) contenaient probablement des scans de partitions papier et ne seraient donc de toute façon pas indexables.
 
Depuis, l'utilisation mémoire a été réduite à 3 ou 4 Mo par instance, ce qui nous permet de le faire tourner en permanence.  
 
On approche donc de la barre des 100 000 fichiers, trouvés sur une quarantaine de sites. Comme il nous l'a été demandé, nous allons prévoir une option (cachée ou pas) qui permette à l'utilisateur de connaître la liste des sites indexés, et éventuellement de nous en proposer d'autres.
by Olivier Guillion

Dev News Tuesday, Mar 16th, 2010 at 05:13pm
Harmony 9.5 et autre étape 44

 
Les appoggiatures n'étaient plus prises en compte par Virtual Singer. Cela a été corrigé.
Par la même occasion, nous avons essayé de mieux gérer des cas limites dans Virtual Singer, par exemple lorsque la partition présente un mélisme avec des notes staccato.
 
Virtual Singer ignorera les durées d'appui des notes en mélisme (une même syllabe chantée sur plusieurs notes) ou les silences entre ces notes. En effet, mélismes (note continue) et staccato (notes bien séparées) sont contradictoires, et il faut bien faire quelque chose. Si les notes ont été écrites, on suppose qu'elles doivent être entendues.
Cela pourra donc changer la manière dont Virtual Singer chante les partitions qui présentent une telle anomalie.
by Olivier Guillion
 2 comments.

Dev News Wednesday, Mar 17th, 2010 at 05:12pm
Harmony 9.5 et autre étape 45

 
Nous avons encore travaillé sur Virtual Singer, pour gérer les cas limites.
Par exemple, si, dans la dernière syllabe d'une mesure, on tape un espace ou un tiret, le curseur passe à la mesure suivante.
Mais si on fait la même chose en mode d'édition complète des paroles (menu "Portées") on peut taper plusieurs tirets en trop dans la dernière syllabe avant le "slash" (/) marquant la fin de la mesure.
Cela troublait Virtual Singer, qui prolongeait la dernière syllabe et décalait le chant jusqu'à la fin du morceau.
Le cas se produisait notamment lors du copier/coller d'un texte de paroles sur une autre portée, ne contenant pas le même nombre de notes dans ses mesures.
 
Un problème a été corrigé dans les opérations sur les chaînes de caractères utilisées notamment par MyrScript. Cela pouvait produire des crashs dans certains cas, sur tous les scripts manipulant des textes.
 
Des corrections ont été appliquées au module d'importation Finale. Le script pouvait, dans certain cas, produire des notes décalées d'une ligne par rapport à la position voulue.
by Olivier Guillion

Dev News Thursday, Mar 18th, 2010 at 05:26pm
Kooplet étape 29

 
Le robot d'indexation fonctionne bien, presque trop bien, même.  
Avec 4 instances en parallèle tournant sur la machine Linux dédiée, il parcourt les sites assez vite, et trouve un grand nombre de fichiers musicaux. Ces fichiers de format divers, il faut les traiter, c'est-à-dire, quel que soit leur format d'origine, en extraire les informations utilisables par Kooplet (notes, textes, paroles...) afin de compléter la base.
 
Cette tâche est réalisée sur nos postes de travail par une fonction spéciale d'Harmony Assistant et de PDFtoMusic. Mais voila, nous travaillons toute la journée sur ces machines, et nous ne pouvons pas nous permettre de laisser tourner en permanence Harmony et PDFtoMusic en tâche de fond pour traiter les données de Kooplet.
 
Alors, nous sommes en train de réfléchir à nouveau à une solution qui permettrait de distribuer la charge de travail.  Si 25 personnes pouvaient laisser leur Harmony Assistant ou PDFtoMusic travailler tout seul en moyenne 1h par jour, cela doublerait la puissance de calcul allouée à la construction de la base.
 
Pratiquement, cela pourrait se passer comme cela:
- Une personnes désireuse de nous aider nous contacte par e-mail
- En retour, nous lui expliquons comment basculer le programme en mode "traitement des données de Kooplet"
- Lorsqu'il le peut, il enclenche ce mode pendant quelques minutes ou quelques heures, et le déconnecte dès qu'il veut à nouveau utiliser le programme
 
Et voila. Son ordinateur accèdera exclusivement à notre propre site (aucune connexion à un autre serveur) et aucun fichier musical ne sera stocké sur sa machine. Tout est donc parfaitement transparent. Un peu de puissance de calcul de son ordinateur est utilisée durant le laps de temps, c'est tout.
 
Nous n'avons pas, pour ce genre de projet dont le but n'est pas d'être rentable, les moyens d'investir dans une infrastructure technique importante. Il faudra donc que nous nous orientions vers des solutions alternatives, et le système collaboratif en fait partie.
by Olivier Guillion
 4 comments.

Dev News Tuesday, Mar 23rd, 2010 at 05:02pm
Kooplet étape 32

Un peu de technique aujourd'hui.
 
Le problème de corruption de la base de données a été localisé. Il s'agissait d'une erreur bête dans l'utilisation d'une "regular expression" (regexp) dans un des scripts.  
Pour les "techies", nous avions simplement oublié que le caractère "." ne voulait pas dire "n'importe quel caractère" mais "n'importe quel caractère sauf le retour chariot".
 
Cela tronquait les phrases musicales sur environ 2% des fichiers de la base. Nous l'avons corrigé.
 
Ensuite, nous avons travaillé sur l'accélération des recherches. Afin d'accélerer les comparaisons de séquences entre ce que cherche l'utilisateur et ce que contient un fichier, nous avons créé, pour chaque portée, une signature de 256 bits qui permet d'éliminer rapidement les portées dans lesquelles il n'y a aucune chance de trouver la séquence demandée.  
Cette signature avait été créée de manière empirique, mais maintenant que la base est plus complète, nous avons pu établir des statistiques détaillées sur 580000 portées (140 millions de notes). Un arbre binaire partiel sur les probabilités de présence de chaque note nous permet ainsi d'optimiser l'efficacité de cette signature.
 
Il va cependant nous falloir recréer les signatures de toute la base de données, ce qui prend plusieurs heures, avant de valider le nouvel algorithme.
 
Voila pour aujourd'hui. Les allergiques à la technique peuvent maintenant cesser d'éternuer et ranger leur mouchoir
by Olivier Guillion
 1 comment.

Dev News Thursday, Mar 25th, 2010 at 05:26pm
Kooplet étape 34

Aujourd'hui, refonte de la recherche de Kooplet. Les nouveaux algorithmes, qui ne fonctionnent pas encore, n'ont donc pas été mis en ligne (on vous préviendra).
Tout ça à cause de Jean-Armand , qui par son message dans les commentaires du billet de mardi, nous a poussé à nous lancer dans une indexation plus poussée de la base des notes.
 
Nous avions -momentanément- écarté cette solution parce que tous les serveurs sur lesquels la recherche Kooplet pourrait éventuellement être installée ne possèdent pas de gestionnaire de base de données. Il faut donc écrire le système d'indexation en utilisant une simple gestion de fichiers.  
Pour parvenir au premier test d'efficacité, la somme de travail est donc assez importante, et c'est fastidieux (recalculer l'index pour les 160000 fichiers de notre base de test prenait, avant optimisation, près de 24 h).
Le premier test de recherche nous dira si le jeu en vaut la chandelle. Si ce nouveau système s'avère trop peu performant, tout ce travail aura été inutile.
 
C'est pourquoi nous avions reculé jusqu'ici. On s'y est mis, et dès que cela fonctionnera, on vous tiendra au courant des performances de la recherche.
by Olivier Guillion

Dev News Monday, Mar 29th, 2010 at 05:00pm
Harmony 9.5, Melody 7.5 étape 47

 
On ne touche plus trop aux fonctionnalités du logiciel, mais on corrige ce qui pourrait vraiment poser problème lorsque cela se présente.  
 
Nous avons pu localiser un problème lors de la duplication de portées depuis un script, et l'avons corrigé.  
 
Nous "durcissons" également les imports de fichiers en format non natif, et avons traduit en anglais les nouvelles pages de la documentation anglaise. Il est trop tard pour lancer les traductions de ces pages dans les autres langues, cela attendra la prochaine sous-version.
 
A ce sujet, nous n'excluons pas à l'avenir, lorsque les choses seront plus calmes, de proposer un espace collaboratif de traduction des documentations et de l'interface du logiciel, dans l'esprit "Wiki". Cela permettrait aux natifs des différentes langues de contribuer dans la mesure de leurs possibilités, en traduisant quelques mots ou phrases, ou en corrigeant ou confirmant la traduction des autres.
by Olivier Guillion


Full view
Reduced view
Most recent first
Oldest first
All
Didier Guillion
Olivier Guillion
Sylvie Ricard
All
Dev News
Technical
Mood
Memories
Myriad Life
To be seen
30 previous days
Apr 2006
May 2006
Jun 2006
Jul 2006
Aug 2006
Sep 2006
Oct 2006
Nov 2006
Dec 2006
Jan 2007
Feb 2007
Mar 2007
Apr 2007
May 2007
Jun 2007
Jul 2007
Aug 2007
Sep 2007
Oct 2007
Nov 2007
Dec 2007
Jan 2008
Feb 2008
Mar 2008
Apr 2008
May 2008
Jun 2008
Jul 2008
Aug 2008
Sep 2008
Oct 2008
Nov 2008
Dec 2008
Jan 2009
Feb 2009
Mar 2009
Apr 2009
May 2009
Jun 2009
Jul 2009
Aug 2009
Sep 2009
Oct 2009
Nov 2009
Dec 2009
Jan 2010
Feb 2010
Mar 2010
Apr 2010
May 2010
Jun 2010
Jul 2010
Aug 2010
Sep 2010
Oct 2010
Nov 2010
Dec 2010
Jan 2011
Feb 2011
Mar 2011
Apr 2011
May 2011
Jun 2011
Jul 2011
Aug 2011
Sep 2011
Oct 2011
Nov 2011
Dec 2011
Jan 2012
Feb 2012
Mar 2012
Apr 2012
May 2012
Jun 2012
Jul 2012
Aug 2012
Sep 2012
Oct 2012
Nov 2012
Dec 2012
Jan 2013
Feb 2013
Mar 2013
Apr 2013
May 2013
Jun 2013
Jul 2013
Aug 2013
Sep 2013
Oct 2013
Nov 2013
Dec 2013
Jan 2014
Feb 2014
Mar 2014
Apr 2014
May 2014
Jun 2014
Jul 2014
Aug 2014
Aug 29th, 2014 at 06:31pm 
Comment from Nicou59
Zebralette
Aug 29th, 2014 at 04:56pm 
Article from Olivier Guillion
Harmony et les VST(i) Partie 3
Aug 29th, 2014 at 04:56pm 
Article from Olivier Guillion
Harmony et les VST(i) Partie 3
Aug 28th, 2014 at 05:04pm 
Article from Olivier Guillion
Harmony 9.6 et autre, étape 707
Aug 27th, 2014 at 05:30pm 
Comment from Oliveira
Adelante
Aug 27th, 2014 at 05:04pm 
Comment from Nicou59
Aug 27th, 2014 at 05:04pm 
Comment from Nicou59
Aug 27th, 2014 at 05:01pm 
Article from Olivier Guillion
Harmony et les VST(i) Partie 2
Aug 27th, 2014 at 07:22am 
Comment from Antoine Bautista
les lignes...
Aug 27th, 2014 at 07:20am 
Comment from Sylvain Machefert
pré réglages

Top of page
Last update:  (c) Myriad 2013