Dans l'édition avancée du gratté, nous avons essayé de représenter l'ensemble des paramètres de manière graphique. La représentation obtenue est correcte et fonctionnelle, mais à notre avis assez ardue et un peu "space" : (les numéros des poignées de contrôle n'apparaîtront pas dans le programme) Ce graphe représente l'impulsion qui est donnée à la corde par le gratté à une vélocité donnée. De gauche à droite, le temps. Le premier graphe (pré-pluck) correspond au bruit que fait le plectre en frappant la corde. Ce bruit est peu filtré par la caisse de l'instrument. On peut régler le temps auquel il démarre (1), son volume (2), et le temps auquel il s'arrête (3), donc sa durée et l'écart qui le sépare du lâcher de la corde. Les deux graphes suivant correspondent au lâcher de la corde, qui se met alors à vibrer. Les deux graphes sont mixés lorsque l'impulsion est transmise à la corde, et sont entendus par transmission par la caisse de l'instrument. Celui du haut est la composante harmonique de cette impulsion. Elle correspond à un son plutôt "rond". On peut régler sa durée totale (4), la position du début de relâche de l'impulsion (5), son volume (6) et la brillance de ce son (7). Graphiquement, agir sur cette poignée écarte ou resserre les pointillés à l'intérieur de la courbe. De gros points écartés correspondent à une impulsion ronde, des petits points resserrés à une impulsion brillante. Celui du bas est la composante "bruit" de cette impulsion. Elle correspond à un son brillant. On peut régler sa durée totale (8 ), la position du début de relâche de l'impulsion (9) et son volume (10). Ces 10 poignées permettent de régler chacun des 10 paramètres numériques définissant un niveau de vélocité. Donc, techniquement et informatiquement, tout est correct et fonctionnel. Mais visuellement, nous ne sommes pas vraiment satisfaits. Le graphe fait un peu "échantillons de tissus" et tranche vraiment beaucoup avec la représentation réaliste du plectre dans le volet simplifié. Nous continuons donc à réfléchir à l'amélioration de cette représentation graphique. Si vous pensez avoir l'idée géniale qui rendrait tout cela plus présentable, n'hésitez pas à nous en faire part... |
|
|
by Olivier Guillion | | |
| |
|
Nous avons ajouté une nouvelle fonction au traitement des images : le mixeur de canaux. Cette fonction permet de modifier globalement les couleurs d'une image en choisissant, pour chacune des composantes rouge, vert et bleu de l'image de résultat, de quelle proportion des composantes de l'image d'origine elles seront constituées. Cela nous permet de réduire le nombre d'images nécessaires, pour les décliner à l'envi. Par exemple, à partir du plectre "acier" : on obtient le plectre "or" : sans nécessiter d'images de texture supplémentaires. Lorsque ces fonctions seront disponibles en MyrScript, les amateurs de programmation pourront bien s'amuser. Il devient tout à fait envisageable de créer un logiciel complet de retouche de photo ou de travail sur les images en MyrScript. |
|
|
by Olivier Guillion | | |
| |
|
Suite à la représentation du plectre du billet précédent, avec un creux pour le doigt, un perfectionniste nous a fait remarquer que l'inscription gravée sur le plectre devrait légèrement s'incurver lorsqu'elle chevauche le creux. Sitôt dit, sitôt fait. Nous avons mis en place, dans nos fonctions graphiques, un kit permettant de déformer une partie de l'image. Voila comment ça fonctionne : On part d'une image noir et blanc. Cette image représente un objet en relief. Les points blancs sont les plus élevés (épaisseur maximale), les points noirs les points les plus bas. Par exemple, une demi-sphère donne ceci: Le programme applique alors à l'image une déformation optique induite par cet objet. Si on donne à l'objet un indice de réfraction un peu plus petit que l'air, cela fait une lentille divergente. Le creux du plectre déforme alors légèrement le texte : Nous nous sommes alors dit : que se passerait-il, pour voir, si on lui donnait un indice de réfraction bien plus élevé, et qu'on calculait automatiquement les reflets à la surface de la lentille? Cela n'a aucun intérêt pour l'édition du plectre, mais c'était juste par curiosité. Et bien cela donne cette image : La lentille devient alors convergente. En créant un objet optique plus complexe, obtenu en posant aléatoirement des gros points ça et là : On obtient cet effet : Et pour finir de nous amuser avec ce nouveau jouet, avec un profil en goutte d'eau : On obtient cette animation : étonnant, non ? |
|
|
by Olivier Guillion | | |
| |
|
Graphiquement, le volet d'édition simplifiée du gratté est presque au point. Le plectre est représenté, et 4 curseurs au-dessous permettent de régler le matériau (classés du moins dur au plus dur), l'épaisseur, la hauteur de prise en main (représentée par la hauteur du creux sur le plectre), et la puissance générale de jeu. Cette dernière n'est pas représentée, car nous n'avons pas trouvé de moyen de traduire graphiquement cette information. Des étincelles ou des flammes à la pointe du plectre, ce serait un peu violent... Quoique les guitaristes de metal apprécieraient probablement une telle représentation |
|
|
by Olivier Guillion | | |
| |
|
Nous avons travaillé sur l'onglet simplifié du "gratté". Il faut proposer à l'utilisateur un choix de matériaux pour le plectre. Le dessin du plectre reflètera le choix de dureté de ce matériau. Voici un exemple de représentations qu'on pourra obtenir (pour l'instant, non classées par dureté) : Ensuite, le dessin devra refléter également l'épaisseur du plectre. Voila ce que cela pourrait donner pour du bois, du plus fin au plus épais : et pour du métal : J'en entends dans le fond qui chuchotent que le bois et le métal ne sont pas des matériaux très courants pour les plectres. Nous sommes d'accord, mais le but ici est juste de donner un aperçu des représentation graphiques qu'on devrait obtenir. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons finalisé l'onglet simplifié des cordes. Dans une première liste, on peut donc choisir le nombre de cordes et leur accordage, et dans la liste de droite leur matériau, combinaison de matériau, et présence de cordes filées ou non. Nous faisons en sorte que toutes les listes de valeurs prédéfinies qui sont présentées à l'utilisateur puissent être complétées par celui-ci. Il y aura donc, dans les paramètres avancées, un bouton de sauvegarde, qui ajoute les paramètres actuels à la liste des prédéfinis. A part cela, nous avons : - corrigé un crash dans PDFtoMusic lorsqu'une longue phrase était considérée comme la syllabe de paroles d'une note, - pris en compte, dans MyrScript, la plateforme Linux dans "Application.Computer" - Corrigé une irrégularité qui rendait certaines portées inaudibles lorsque le document était sauvegardé avec une version beta, et rechargées avec la version publique courante Voila, ce sera tout pour cette semaine. Bon week-end à tous ! |
|
|
by Olivier Guillion | | | |
|
Nous avons repensé quelques panneaux de l'édition d'instrument frettés : - Le panneau "Cordes" aura un mode simplifié, dans lequel l'utilisateur pourra choisir un type de jeu de cordes (nylon, acier, bronze...) ainsi qu'un accordage d'instrument. - Le panneau "Gratté" aura lui aussi un mode simplifié, permettant de choisir la matière du plectre, son épaisseur, la position de saisie du plectre, et un paramètre de "violence" du gratté. Nous avons également repris les fonctions de travail sur les images afin de les rendre indépendantes de l'édition des instruments, et ainsi pouvoir les réutiliser ailleurs dans le programme. Enfin, ous avons testé d'autres formes de corps, et utilisé les fonctions graphiques pour faciliter la mise en place de ces nouvelles formes. En voici un exemple (il s'agit juste d'un test, l'image n'est ni définitive, ni même calée correctement) |
|
|
by Olivier Guillion | | | |
|
La plupart des fonctions de travail sur les images dont nous avions besoin ont été écrites. En modifiant certains paramètres des images préalablement stockées, ces fonctions nous permettront de réduire notre travail en amont. Par exemple, à partir une seule image d'une caisse de guitare, nous pourrons l'afficher en perspective dans l'onglet "caisse", ou vue de dessus dans l'onglet "manche". De même, afficher en surbrillance la corde actuellement sélectionnée ne nous obligera pas à prévoir deux versions de l'image de la corde. Voici un exemple de résultat de ces fonctions: Ces fonctions sont vraiment puissantes et pratiques. Une fois qu'elles seront terminées, nous verrons dans quelle mesure il serait possible de les rendre accessibles par MyrScript. Le traitement d'images n'est évidemment pas l'objectif premier d'Harmony Assistant, mais si ces fonctions existent, ce serait dommage de ne pas en faire profiter les utilisateurs de MyrScript. |
|
|
by Olivier Guillion | | |
| |
|
Revenons ici sur l'incident technique qui a touché notre serveur Web il y a deux jours. En fin de matinée, la totalité de notre site a cessé de répondre. Nous avons prévenu notre hébergeur, qui a détecté une personne à la recherche d'une faille, et qui demandait plusieurs centaines de pages à la seconde. Cette personne a été bannie grâce au firewall, et tout est rentré dans l'ordre. Enfin, presque. Nous avons noté des ralentissements importants tout au long de la journée. Un coup d'oeil sur les processus en cours nous montrait que le logiciel de forum était parti dans une boucle infinie, occupant une grosse partie de la puissance de calcul du serveur. Lorsque plusieurs instances du forum étaient ainsi bloquée, le serveur ralentissait considérablement. C'est la conjonction de ce problème avec les accès intensifs du petit malin qui aboutissait au blocage complet. Nous avons donc cherché ce qui ne fonctionnait pas sur le forum, et après près d'une demi-journée d'investigation, nous avons résolu le mystère : Nous avions ajouté, sur le forum, la possibilité d'inclure des vidéos (Youtube, Dailymotion ou Vimeo) grâce à de nouveaux "tags". Par exemple, écrire "[ youtube]xxxxx[/ youtube]" incluait la vidéo Youtube numéro xxxxx dans le message. Une erreur dans la gestion de ces "tags" faisait boucler le logiciel indéfiniment lorsque le mot "youtube" n'était pas écrit en minuscules. Et, malheureusement, un utilisateur avait posté un message contenant [ Youtube] (avec un Y majuscule). Un seul bit mal placé mettait donc en péril la totalité de notre serveur ! Nous avons corrigé le logiciel de forum, et entamé une profonde réflexion sur le thème "On est quand même bien peu de chose ma bonne dame". |
|
|
by Olivier Guillion | | | |
|
Nous avons enfin trouvé moyen, en utilisant les nouveaux accès graphiques de Mac OS X (Quartz), d'accéder aux données brutes des images que nous manipulons. C'était déjà possible sur Windows et Linux, mais manquait sur Macintosh. Cela nous permettra de déformer des images, en changer les couleurs, leur appliquer des rotations, jouer sur la "couche alpha", pour les rendre semi-transparentes, y ajouter des ombres ou des reflets, etc. Reste maintenant à écrire toutes ces fonctions de traitement d'images. Aujourd'hui, en fin de matinée notre site Web a été bloqué par une attaque. Nous recevions des demandes d'accès extrêmement rapprochées (plusieurs dizaines par seconde), qui ont fini par saturer le serveur. L'émetteur n'essayait probablement pas de commettre une véritable attaque DOS, mais apparemment, tentait de découvrir une faille dans notre site en accédant à des scripts d'administration de PHPMyAdmin (que nous n'utilisons pas). Tous ces essais se soldaient par une erreur "404", mais monopolisaient le serveur. Notre hébergeur a banni l'adresse IP du petit malin, et tout est alors rentré dans l'ordre. |
|
|
by Olivier Guillion | | | |
|
Nous continuons à traiter les photos prises hier, et nous en servons pour construire les nouveaux graphismes de l'interface. Le panneau "Microphones" a donc été repris : ainsi que le panneau "Cordes" : Voici un détail de la représentation des cordes (la corde en cours d'édition est sur fond blanc). Les épaisseurs des cordes sont volontairement exagérées, afin de permettre une meilleure visualisation, ainsi que la représentation des enroulements du trait. Nous avons prévu des graphismes pour le panneau "gratté", mais il semble que les paramètres que nous avions prévus ne correspondent pas à ceux réellement mis en oeuvre par un vrai guitariste. Il nous faut donc continuer à y réfléchir. Bon week-end à tous ! |
|
|
by Olivier Guillion | | |
| |
|
Nous avons déterminé les paramètres qui pourront être ajustés par l'utilisateur en mode simplifié d'édition du gratté. Les notes de la partition peuvent être jouées à 128 puissances différentes, appelées vélocités, et numérotées de 0 (silence) à 127 (très fort). Le son de la guitare doit varier harmonieusement entre ces valeurs. L'utilisateur doit définir les paramètres du gratté pour la vélocité 0 (généralement, il n'y a pas de contact avec la corde), pour la vélocité 127 (les paramètres pour un son le plus puissant possible), et s'il le désire, à différentes autres valeurs de son choix. Les paramètres sur lesquels il pourra agir seront : - un paramètre général, définissant la dureté du matériau grattant la corde (pulpe du doigt, ongle ou plectre) Puis, pour chacun des niveaux de vélocité définis : - la force de maintien du plectre, de 0% pour un plectre tenu mollement à 100% pour un plectre serré très fort entre les doigts - la vitesse de mouvement du plectre - la taille de la partie du plectre qui frotte la corde, de 0% (effleure à peine la corde) à 100% (tape sur la corde "plein fer") - l'angle d'attaque du plectre (parallèle à la corde ou de biais) Avec ces 5 paramètres, ils devrait déjà être possible d'obtenir une bonne palette de sonorités variant selon la force à donner à la note. Reste maintenant à trouver une manière de présenter graphiquement ces paramètres à l'utilisateur... |
|
|
by Olivier Guillion | | | |
|
Plusieurs problèmes signalés ont été corrigés: - Le calcul automatique des tablatures pour accordéon d'Harmony Assistant n'était pas identique à celui du player ou du plug-in. Ceci pouvait conduire à une visualisation de la partition complètement différente, aussi bien en ce qui concerne les accords que les notes de la mélodie. - Dans le player et le plug-in, le chargement de fichiers MusicXML compressés générés par une application tierce et contenant des fichiers graphiques (JPG ou PNG) pouvait générer un crash. Ce type d'inclusion de fichiers graphiques n'est pour l'instant pas géré, mais ils apparaissent maintenant comme une image non disponible. - Un crash pouvait survenir à la fermeture de la boîte de configuration de l'aspect de la partition dans Harmony Assistant. - Les problèmes de démarrage d'Harmony Asssistant sur Linux Mint 13 étaient bien dûs à la non-création du raccourci sur l'application lors de l'installation. Créer un raccourci à la main sur "/usr/bin/Harmony Assistant" règle le problème. Sauf demande expresse, nous ne pousserons pas nos investigations pour déterminer la cause de ce problème d'installation. |
|
|
by Olivier Guillion | | | |
|
|