Il pouvait y avoir un débordement mémoire dans Virtual Singer quand on écrivait l'intégralité du texte des paroles sans un seul espace. Cela a été corrigé. Dans les instruments virtuels, la boite de dialogue de gestion de la main droite à été mise en place. Bon week end ! |
|
|
by Didier Guillion | | |
| |
|
- 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 | | |
| |
|
Quand la souris passe sur un effet, l'aire de l'effet est montrée ainsi que la note propriétaire de cet effet. On nous a demandé d'implémenter, en notation grégorienne, les épisèmes horizontaux. Cela a été fait. C'est l'ancêtre du tenuto. De menus irrégularités dans le traitement des chaines non stylées en MyrScript ont été corrigées. |
|
|
by Didier Guillion | | |
| |
|
- 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 | | | |
|
Mon disque dur amovible de sauvegarde m' ayant lâché (nous sommes vraiment dans une série noire question matériel en ce moment...) j' en ai acheté un nouveau, plus spacieux. J'en ai profité pour le partitionner avec pour objectif d'installer différentes versions de Mac OS X pour faire des tests. L'étape suivante a été d'acquérir sur l'Apple Store Mac OS 10.8 (le fameux Mountain Lion). Et là surprise ! Ma configuration matérielle (un mac Pro récent) est déclarée comme non compatible. Je me dit que ce n'est pas possible, qu'il doit avoir une erreur, il date de 2007 donc à peine cinq ans. Mais non, ce n'est pas une blague, il est considéré par Apple comme obsolète et ne pourra donc pas bénéficier des versions majeures de Mac OS X supérieure à la 10.7 ! Le prétexte vaseux est que 10.8 ne gère que le 64 bits et mon Mac Pro a une ROM en 32 bits. Je croyais que c'était Apple qui fabriquait le matériel ET le système d'exploitation... Il reste des programmeurs chez eux ? Si ce n'est pas de l'obsolescence programmée, c'est quoi ça Monsieur Apple ! |
|
|
by Didier Guillion | | |
| |
|
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 | | | |
|
Maintenant, dans le Melody Player, lorsque l'on change la valeur du volume ou du tempo via le clavier, la barre analogique apparait ainsi que la valeur numérique. Les nouveaux ornements associés aux notes : golpe, gratté vers les haut, gratté vers le bas ont trouvé leur place dans la palette des ornements pour la guitare. Le golpe est configurable, on peut définir son volume (sa force) et le type : bout de doigt, doigt replié, pouce ou paume de la main. Enfin, nous avons étudié la possibilité de faire du traitement parallèle des données sur Mac. Apparemment, cette fonctionnalité n'est accessible qu'avec GCC v4.2, or si nous utilisons cette version au lieu de la 4.0, nos applications ne tournerons plus sur Mac OS X 10.4, ce qui est difficilement envisageable. |
|
|
by Didier Guillion | | | |
|
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 | | |
| |
|
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 | | |
| |
|
Correction d'un problème de substitution de chaine en MyrScript qui pouvait faire planter l'import Tabledit. Nouveaux effets associés à la note le coup sur la caisse (Flamenco golpe), le gratté vers le haut, le gratté vers le bas. Nouvelle gestion du calcul automatique des tablatures avec les instruments virtuels. |
|
|
by Didier Guillion | | |
| |
|
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 | | | |
|
Nous avons commencé à travailler, dans les instruments virtuels, à la gestion des mains de l'interprète. Un premier brouillon de la future interface a été conçu sur papier. Quand aucune tablature n'est associée à la portée se jouant avec un instrument virtuel, ou si le paramétrage de l'accordage de l'instrument dans Harmony est différent de celui de l'instrument virtuel, c'est le calcul de tablature d'Harmony qui est invoqué. |
|
|
by Didier Guillion | | | |
|
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 | | |
| |
|
Les modifications apportées aux instruments étaient mal sauvegardés, c'est corrigé. On ne pouvait changer la tonalité de manière indépendante selon les portées, c'est fait. Correction de la mise à jour de l'image quand on appliquait une correction. De nouvelles options du menu Edition permettent de supprimer les modifications sur les éléments sélectionnés, tout sélectionner, tout désélectionner. Correction d'un rafraichissement des icônes quand on lance/arrête la musique. Meilleure gestion du Drawer sur Mac. Et surtout validation des dernières modifications sur plusieurs dizaines de PDF ! |
|
|
by Didier Guillion | | | |
|
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 | | | |
|
Dans PDFtoMusic le traitement des Directions a été repris, la reconnaissance des DaCapo al Coda, DaCapo al Segno, etc, est bien meilleure. Ces sauts sont maintenant exportés en MusicXML et Harmony a été modifié de façon à pouvoir les lire et les interpréter. La gestion des espaces dans le titre, auteur, pied de page a été améliorée. Lors de la sélection des objets par aire, on peut maintenant créer des aires discontinues (sélectionner de nouveaux objets sans remettre à zéro la sélection) ou exclure une aire de la sélection. Il est aussi possible de sélectionner une ou plusieurs portées, pour l'ensemble du document, via un clic droit dans la marge. Les corrections peuvent être appliquées a un ensemble d'objets sélectionnés, ou éliminées des objets sélectionnés ou d'un seul objet. Une grande avancée dans l'édition de PDFToMusic. Bon week end ! |
|
|
by Didier Guillion | | | |
|
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 | | | |
|
Dans Harmony, pour chaque fichier de collection du Jukebox on peut spécifier un délai en secondes entre les morceaux. La traduction en Espagnol a été améliorée. Dans PDFtoMusic, il est possible de sélectionner/désélectionner tous les objets du document via de nouvelles entrées dans le menu édition. Une sélection des objets par aire graphique est implémentée. Si on applique une correction à un des objets de la sélection, la même correction sera appliquée à tous les objets de même type. La sélection par aire était en place depuis 2007 mais incomplètement fonctionnelle et non documentée, c'est en cours de correction. |
|
|
by Didier Guillion | | | |
|
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 | | | |
|
Pour commencer la semaine, et après un week-end allongé, nous avons commencé par traiter nos emails, et là paf ! Notre PC nous lâche : alimentation grillée. Il commence à se faire très vieux, nous devons le changer. Nous avons implémenté, dans le JukeBox, un délai entre chaque morceau joué (cela existe déjà dans le Melody Player). Reste à savoir comment le définir. Sinon, dans l'édition des cordes avancées, il est maintenant possible de faire glisser l'histogramme de filtrage de la corde sur une autre corde pour le copier à l'identique. |
|
|
by Didier Guillion | | | |
|
|