HomeProductsDownloadOrderSupportSearch
  
 
 Myriad Blog 1.3.0 Tuesday, Mar 19th, 2024 at 09:09am 

Dev News Tuesday, Nov 6th, 2012 at 05:05pm
Harmony 9.6 et autres étape 444

 
Nous avons changé le bloc d'alimentation de notre PC de développement, et l'avons remis en route. Il commence à se faire vieux : une attache en plastique du radiateur du processeur a lâché, ne permettant plus un contact suffisant. Le PC, en surchauffe, s'éteignait tout seul au bout de 30 secondes. Pour réparer cela définitivement, il nous faut commander un nouveau radiateur et ventilateur, ainsi qu'un peu de pâte thermique.
 
En attendant, nous avons rafistolé tout ça afin de nous permettre de compléter nos sauvegardes, et de continuer à travailler jusqu'à ce que nous ayons trouvé une nouvelle configuration. A priori, nous tenterons de passer sous Windows 8 - 64 bits, afin de ne pas être en retard sur les utilisateurs.
 
Coté développement :
 
- Le curseur de choix de l'échelle des graphismes associés à un ornement a été corrigé dans l'édition des paramètres de la note
 
- La valeur MyrScript correspondante, Ornament.GraphicSize, a été modifiée pour être exprimée en pourcentage. Pour fixer l'échelle 1, il faut utiliser la valeur 100 et plus 1
 
- Le script "Tablature pour instruments à vent" a été repris pour gérer correctement les appoggiatures.
by Olivier Guillion

Dev News Thursday, Nov 8th, 2012 at 05:07pm
Harmony 9.6 et autres étape 446

 
Nous avons corrigé pas mal de petits détails dans Harmony Assistant :
 
- L'annulation d'une opération de changement d'échelle d'impression (mode page) ne fonctionnait pas correctement. Procédure :  
   . Créer un nouveau document très simple
   . Changer l'échelle d'impression à 50% (Options d'impression)
   . Ctrl Z
A partir de là, le curseur pour poser une note n'était pas de la bonne taille et ne tombait pas juste sur les lignes.
 
- Mauvaise prise en compte des retour chariots dans le calcul des largeurs de syllabes de paroles en mode gravure
 
- Dans la documentation, pour désinstaller Virtual Singer, nous conseillions de mettre son dossier à la corbeille. Ceci ne fonctionnait plus, et affichait des alertes.
 
- Une image de la documentation (chapitre "notation en couleurs") ne s'affichait pas correctement sous Internet Explorer, et sur certaines machines, plantait l'affichage ultérieur de certaines images GIF ou JPG.
Après analyse, il apparaît qu'IE réagit mal lorsqu'on lui demande d'afficher une image JPG renommée en PNG (vous pouvez l'essayer chez vous). Le fait que ça altère l'affichage ultérieur d'autres images laisse à penser qu'il pourrait y avoir une faille de sécurité dans une telle opération. A vérifier.
 
- Diverses corrections d'irrégularités dans le plug-in et le player
by Olivier Guillion

Dev News Monday, Nov 12th, 2012 at 04:58pm
Harmony 9.6 et autres étape 448

 
Lors du recalcul du sens des tiges, les ornement pouvant s'inverser, par exemple le point d'orgue, ne se positionnaient pas toujours du bon coté dans les accords complexes, et perdaient les ajustements fins appliqués par l'utilisateur.
 
Dans l'édition d'un instrument à frettes, nous voudrions permettre à l'utilisateur de tester son instrument en situation, par un choix de morceaux de test complet et éclectique.
Mais il nous faut gérer l'adaptation de ces morceaux aux caractéristiques de l'instrument. Si l'utilisateur accorde sa guitare autrement qu'en Mi/La/Ré/Sol/Si/Mi, les morceaux doivent continuer à jouer la même mélodie. Le programme doit alors recalculer une tablature pour que les hauteurs des notes jouées restent les même.
 
Par contre, lorsqu'il s'agit de tester une corde en particulier, on va jouer par exemple la corde à vide, puis la case 2 et 4. Si l'accordage n'est pas le même, le programme ne doit pas alors chercher à jouer une autre corde.
 
Il nous faut donc trouver un système qui nous permette de décrire quels changements le programme est autorisé à faire sur chaque morceau, puis créer chacun de ces morceaux et le tester. Pas mal de boulot en perspective...
by Olivier Guillion

Dev News Wednesday, Nov 14th, 2012 at 04:55pm
Harmony 9.6 et autres étape 449

 
Nous avons mis au point l'adaptation des morceaux de test aux caractéristiques de l'instrument à cordes en cours d'édition. Reste maintenant à organiser ces morceaux de manière à ce qu'ils soient proposés sélectivement dans chacun des panneaux. Par exemple, lors de l'édition des cordes, il faut un morceau de test qui joue sur toutes les cordes séparément et lors de l'édition du gratté, des exemples d'accords ou d'arpèges à différentes vélocités.
 
Coté serveur Web, nous avons (enfin, diront certains) géré le problème des caractères accentués dans les attachements postés sur le forum de discussion. Les noms de fichiers sont maintenant "nettoyés" pour éviter les problèmes.
 
Nous nous sommes rendus compte que les sauvegardes automatiques des parties dynamiques de notre serveur (messages du forum, billets de blog, etc) ne fonctionnaient pas bien depuis quelques mois. Nous nous heurtons à des problèmes de déconnexions intempestives de notre serveur FTP local recevant les archives de sauvegarde. Nous n'avons pour l'instant pas réussi à résoudre ces problèmes.
 
En passant, nous nous sommes aperçus que le répertoire des fichiers attachés aux messages du forum dépasse maintenant les 400 Mo. Il nous est pourtant difficile d'en supprimer, certains anciens messages perdraient leur signification dans cette opération. Là aussi, nous ne sommes pas encore parvenu à trouver un moyen de limiter l'inflation, sans pour autant nuire à la lisibilité des anciens sujets du forum.
by Olivier Guillion
 2 comments.

Dev News Friday, Nov 16th, 2012 at 05:05pm
Harmony 9.6 et autres étape 451

 
 
Les joueurs de guitare, et plus spécialement les amateurs de flamenco ne se contentent pas de gratter les cordes. Ils rythment également leur morceaux par des coups sur la caisse de l'instrument. Cette technique de jeu, appelé "golpe", est relativement codifiée. Le coup peut être porté avec le pouce ou avec l'index au-dessus des cordes, avec l'annulaire au-dessous, ou avec le plat de la main.
 
Nos instruments virtuels contiennent tous les paramètres permettant de gérer un son de ce type, alors nous avons commencé à étudier la possibilité de les inclure dans nos calculs.
 
Voici comment nous avons procédé :  
 
- Le coup lui-même (avec l'ongle, le plat de la main, la pulpe du doigt) est beaucoup trop compliqué à modéliser mathématiquement. Nous avons donc décidé de partir d'enregistrements de ces coups sur une surface non résonnante.
Un premier enregistrement de test a donné cela :
 
Enregistrement brut

 
Il s'agit d'une prise directe au microphone de bruits de main frappant ou frottant une surface non résonnante.
 
A partir de là commencent les calculs.
 
Les paramètres de la caisse de notre instrument virtuel nous permettent de calculer ce qui serait entendu à l'intérieur de la caisse de l'instrument si ces coups étaient portés dessus. Imaginons donc un microphone à l'intérieur de la caisse, il capterait ceci :
 
Calcul du son transmis par la caisse

 
Le son est très assourdi, seules les fréquences transmises par le bois sont entendues.
 
Enfin, on peut à partir de là calculer ce qui est véritablement entendu par l'auditeur.  
Il s'agit d'un mélange entre :
 - Le bruit d'origine, entendu directement et transmis seulement par l'air
 - Le bruit assourdi provenant de la caisse
 - Le son des cordes excitées par la vibration de la caisse.
 
Dans notre exemple, cela donne ceci :
 
Calcul du son entendu

 
Il reste maintenant à affiner les paramétrages, et inclure ces calculs dans nos modules. Il faudra également se décider sur la manière de noter les différents "golpe" sur une partition.  
En bref, pas mal de boulot pour la semaine prochaine...
by Olivier Guillion

Technical Tuesday, Nov 20th, 2012 at 04:51pm
Nouveau PC

 
Suite à diverses pannes, nous avons pris conscience que notre PC de développement commençait à prendre sérieusement de l'âge.  
Ajoutons à cela que de plus en plus d'utilisateurs de nos produits possédaient une version de Windows beaucoup plus récente que la nôtre, compliquant l'assistance technique, et cela explique que nous ayons été contraints de franchir le pas, et de changer de PC.
 
Depuis hier, nous le configurons, installons et testons soigneusement, afin d'être certains qu'aucun grain de sable ne viendra nous bloquer lorsque l'ancien ordinateur aura été remisé au grenier ou transmuté en machine Linux.
 
La prise en main de Windows 8 n'a pas été aussi difficile qu'attendu. Après quelques heures de flottement où nous avons désespérément cherché des moyens simples d'accéder aux fonctions de base, nous avons créé des raccourcis sur le bureau, qui nous permettent enfin de réaliser ce que nous désirons sans nécessiter de clics droits dans tous les coins de l'écran ou de vaines recherches d'icônes dans des tableaux multicolores.
 
L'interface standard, que nous n'utiliserons probablement pas, est résolument moderne, et plaira certainement aux amateurs d'art du même nom. Pour donner une idée, l'ergonomie est directement issue du dadaïsme et la conception graphique de l'oeuvre de Gerhard Richter.
 
Mis à part ces petits détails et le fait que le pilote de notre imprimante (HP Laserjet 1022n) ne soit pas disponible pour Windows 8, le tout fonctionne plutôt bien, et la compatibilité avec XP presque totale. C'est tout de même à noter, à l'heure où Apple semble songer à encore changer de famille de processeurs pour sa gamme Mac.
 
Grâce à la puissance du processeur core i7, les temps de compilation de nos plus gros projets ont été divisés par 3. Nous pouvons donc envisager de faire tourner des calculs assez lourds sans trop d'efforts, et de travailler sur Linux dans des machines virtuelles en conservant des performances acceptables.
 
Nous pourrons nous remettre à la programmation dès demain. Ça va dépoter !
by Olivier Guillion
 1 comment.

Technical Wednesday, Nov 21st, 2012 at 04:59pm
Multiprocesseur et multicoeur

 
 
Tous les ordinateurs "modernes" sont équipés de processeurs multi-coeur, c'est-à-dire capables d'effectuer plusieurs opérations distinctes en même temps, en parallèle.
 
Dans le cadre de la programmation séquentielle (non parallèle) que nous utilisons, lorsqu'une tâche lourde est demandée à un programme, par exemple une boucle de calcul, un seul coeur est mobilisé pour cette opération. C'est ainsi qu' une telle tâche, occupera un ancien processeur (monocoeur) à 100%, mais cette tâche n'occupera pas plus de 10 à 15% d'un processeur à 8 coeurs.
 
Nous avons donc cherché un moyen d'utiliser plus de puissance de calcul, et donc mobiliser plusieurs coeurs pour écourter les temps d'attente de l'utilisateur.
Cela pourrait être utile par exemple dans PDFtoMusic, où le traitement de gros fichiers peut s'avérer assez long.
 
En cherchant un peu, nous avons découvert que notre compilateur C pour Windows (Visual C++) supportait OpenMP, qui permet de spécifier les portions de code pouvant être exécutées en parallèle sur plusieurs coeurs.
 
Nos premiers essais ont montré que ça fonctionnait. Il nous faut maintenant trouver les boucles pouvant être "parallélisées". En effet, plusieurs itérations de la boucle étant réalisées en même temps, on ne peut plus compter sur le résultat de l'itération précédente pour compléter la suivante. Seuls certains calculs très particuliers peuvent donc être modifiés en ce sens.
 
OpenMP existant également sur Linux (gcc), nous avons bon espoir de pouvoir l'utiliser sur Macintosh (XCode).
by Olivier Guillion
 1 comment.

Dev News Friday, Nov 23rd, 2012 at 04:54pm
Harmony 9.6 et autres étape 454

 
La mise en place du "golpe" (coup sur la caisse de l'instrument) a été mise en place techniquement.  
Un nouvel ornement (un carré creux) peut donc être placé sur les notes ou les silences pour matérialiser ce coup dans la partition.
 
Malheureusement, il n'y a pas de notation standard pour différencier les divers types de golpe (avec le pouce, la paume, l'ongle de l'annulaire...).
Ils seront donc tous notés de la même façon, mais l'édition de l'ornement permettra à l'utilisateur de choisir le type et la force du coup.
Dans le paramétrage de l'instrument, on pourra configurer la manière dont ce coup fait résonner la caisse et les cordes.
 
Nous sommes maintenant en train d'enregistrer le son brut des coups sur la caisse, à différents niveaux d'intensité pour chaque type. Cela fait une vingtaine d'échantillons numériques prédéfinis, qu'il faut ajuster soigneusement.
 
Bon week-end à tous !
by Olivier Guillion

Dev News Tuesday, Nov 27th, 2012 at 04:53pm
Harmony 9.6 et autres étape 455

 
 
- Le "golpe" est maintenant entièrement intégré (voir épisodes précédents). En jouant sur la proportion entre le son en prise directe et le son filtré, nous avons pu réduire les échantillons pré-enregistrés à seulement un par type de coup. Cela facilitera les mises au point de ces sons, et allègera l'archive du programme.
 
Voici un extrait sonore présentant en situation quelques-un de ces coups. Nous nous excusons auprès des amateurs de guitare flamenco, il ne s'agit là que d'un test, sans autre prétention. Le volume relatif des coups "golpe" par rapport au son de la guitare, et leur brillance n'ont pas encore été réglés :
Test de Golpe

 
- Certains utilisateurs ayant commandé la base de sons GOLD par téléchargement rencontraient des problèmes pour visualiser la page Web leur donnant accès à l'archive. L'adresse de cette page leur était envoyée par e-mail, et lorsque nous l'essayions depuis chez nous, cela fonctionnait. Ce n'est qu'après de longues recherches que nous nous sommes rendu compte de la chose suivante :
 
  . Lorsqu'on inclut une adresse dans un e-mail, le logiciel de mail du destinataire lui permet d'y cliquer dessus. Pour cela, ce logiciel analyse le texte et repère les adresses (commençant par http).
 
 . Les adresses que nous envoyons sont différentes pour chaque utilisateur (elle contiennent un code personnel). Elles se terminent donc par une série de caractères constituée de lettres, chiffres ou "+" ou "-"
 
  . Certains lecteurs de mail, sur Windows et sur Linux (à moins qu'il ne s'agisse d'une seule et même plateforme Webmail) suppriment le dernier caractère de l'adresse s'il s'agit d'un "+" ou d'un "-". Dans ce cas, l'adresse visitée n'est donc plus conforme à ce que nous avions indiqué, et une erreur est alors affichée.
 
Nous ne savons pas pour quelle raison ces caractères sont ainsi oubliés. Nous avons vérifié dans les docs que nous avions le droit de les utiliser, et c'est le cas. Le problème ne vient donc pas de notre coté, mais nous avons tout de même remplacé ces deux caractères par d'autres ("$" et "_") afin qu'à l'avenir, ce problème ne se reproduise plus.
by Olivier Guillion

Dev News Thursday, Nov 29th, 2012 at 05:02pm
Harmony 9.6 et autres étape 457

 
- Une erreur très bas niveau dans notre gestion mémoire (sur Windows et Linux) pouvait entraîner une instabilité générale des programmes. Etant donnée la complexité de ces fonctions, il nous est difficile de dire quel était l'impact réel de ce problème sur les versions publiques de nos programmes.
 
- Nous avons travaillé sur l'ergonomie des objets de l'interface du réglage des instruments à corde, pour éliminer les actions non voulues sur ces objets lors de certains clics.
 
- Sur notre nouvelle machine Windows 8, nous avons terminé de mettre en place les machines virtuelles : Linux 32 et 64 bits, et anciennes versions de Windows (98 à 2000).
Les machines virtuelles sous Linux-Ubuntu nous servent à développer sur cette plateforme. Nous leur avons alloué plusieurs coeurs du processeur afin d'accélérer les compilations.
 
- Toujours sur cette machine, nous essayons de mettre en place un système de sauvegarde automatique de nos données. Le système d'historique de fichiers inclus dans le système ne nous convient pas, car peu configurable. Nous essayons donc des produits de sauvegarde tiers.
L'idéal aurait été de pouvoir allumer la machine toutes les nuits, afin qu'elle lance la sauvegarde et s'éteigne ensuite, mais nous ne sommes pas parvenus à régler un tel allumage automatique dans le BIOS (pour autant qu'une telle chose soit possible).
 
- Enfin, nous avons récupéré toutes les données possibles du disque externe de sauvegarde abîmé du Macintosh. Le pauvre disque dur est dans un sale état, l'accès en lecture à un bon tiers de ses fichiers se solde par l'arrêt du disque, qu'il faut alors éteindre et rallumer pour continuer.
by Olivier Guillion
 4 comments.


Full view
Reduced view
Most recent first
Oldest first
All
Didier Guillion
Olivier Guillion
Sylvie Ricard
All
Mood
Memories
To be seen
Technical
Myriad Life
Dev News
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
Sep 2014
Oct 2014
Nov 2014
Dec 2014
Jan 2015
Feb 2015
Mar 2015
Apr 2015
May 2015
Jun 2015
Jul 2015
Aug 2015
Sep 2015
Oct 2015
Nov 2015
Dec 2015
Jan 2016
Feb 2016
Mar 2016
Apr 2016
May 2016
Jun 2016
Jul 2016
Aug 2016
Sep 2016
Oct 2016
Nov 2016
Dec 2016
Jan 2017
Feb 2017
Mar 2017
Apr 2017
May 2017
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Jun 2018
Jul 2018
Aug 2018
Sep 2018
Oct 2018
Nov 2018
Dec 2018
Jan 2019
Feb 2019
Mar 2019
Apr 2019
May 2019
Jun 2019
Jul 2019
Aug 2019
Sep 2019
Oct 2019
Nov 2019
Dec 2019
Jan 2020
Feb 2020
Mar 2020
Apr 2020
May 2020
Jun 2020
Jul 2020
Aug 2020
Sep 2020
Oct 2020
Nov 2020
Dec 2020
Jan 2021
Feb 2021
Mar 2021
Apr 2021
May 2021
Jun 2021
Jul 2021
Aug 2021
Sep 2021
Oct 2021
Nov 2021
Dec 2021
Jan 2022
Feb 2022
Mar 2022
Apr 2022
May 2022
Jun 2022
Jul 2022
Aug 2022
Sep 2022
Oct 2022
Nov 2022
Dec 2022
Jan 2023
Feb 2023
Mar 2023
Apr 2023
May 2023
Jun 2023
Jul 2023
Aug 2023
Sep 2023
Oct 2023
Nov 2023
Dec 2023
Jan 2024
Feb 2024
Mar 2024
Mar 18th, 2024 at 08:14pm 
Comment from Sylvain
Mar 18th, 2024 at 08:13pm 
Comment from Sylvain
@André
Mar 18th, 2024 at 07:28pm 
Comment from Antoine Bautista
Build 82....
Mar 18th, 2024 at 05:02pm 
Article from Didier Guillion
Harmony Assistant 9.9.8  étape 198
Mar 18th, 2024 at 05:02pm 
Article from Didier Guillion
Harmony Assistant 9.9.8  étape 198
Mar 17th, 2024 at 11:40am 
Comment from Antoine Bautista
Frite....
Mar 17th, 2024 at 11:40am 
Comment from Antoine Bautista
Frite....
Mar 16th, 2024 at 09:16am 
Comment from André Baeck
Mar 16th, 2024 at 09:16am 
Comment from André Baeck
Mar 16th, 2024 at 09:13am 
Comment from André Baeck

Top of page
Legal information Cookies Last update:  (c) Myriad