Myriad Blog 1.3.0 Monday, May 25th, 2015 at 07:37am 

Dev News Friday, May 22nd, 2015 at 04:56pm
Harmony 9.6 et autre étape 765

 
Pour finir la semaine :
Correction de problèmes de rafraîchissement sur le Melody Player.
Correction de problèmes d'affichage sur les tablatures pour Harmonica.
 
Nous avons continué nos recherches sur la possibilité de faire tourner des applications C dans des navigateurs web.
Il y a quelques semaines nous avions présenté ici Emscripten qui permet de compiler du C et d'obtenir un résultat en Javascript et qui peut donc tourner sur tous les navigateurs, y compris sur les appareils mobiles.
 
Parallèlement à ce projet, Google travaille à une solution quasiment identique : le Native Client (NaCl) mais qui est spécifique à Google Chrome. Le code obtenu n'est plus du Javascript mais un bitcode universel directement interprété par le navigateur, ce qui laisse supposer des performances supérieures à Emscripten. De plus NaCL est fourni avec des librairies graphiques et audio. Dans un soucis de performance, ce bitcode universel peut également être précalculé pour définir dépendant de la machine (on fournit alors un fichier avec les différentes versions). Ce système s'appelle Pepper.
 
Le grand point positif de tout ceci, c'est que nous ne sommes pas les seuls a nous retrouver confrontés à des problèmes de portage et que la réponse "Il suffit de réécrire en HTML5" n'a pas de sens quand on parle d'un projet de plusieurs centaines de milliers de lignes de code.
 
Bon week-end !
by Didier Guillion
 1 comment.

Dev News Thursday, May 21st, 2015 at 04:57pm
Harmony 9.6 étape 764

 
Des erreurs de calcul dans certains effets numériques généraux (notamment le "Bass Boost") provoquaient des saturations du son. Ces problèmes ont été introduits avec la gestion des échantillons 32 bits.  
Cette fonctionnalité n'étant pas incluse dans la prochaine beta, nous sommes revenus momentanément à l'ancien calcul, limité à 16 bits mais gérant correctement la saturation.
 
De toute façons, personnellement, même avec mon casque audio de très (très!) bonne qualité, je suis totalement incapable de différencier une sortie sonore 16 ou 32 bits, ou une fréquence d'échantillonnage de 96 kHz au lieu de 44.
 
by Olivier Guillion
 Leave a comment.

Dev News Wednesday, May 20th, 2015 at 04:57pm
Harmony 9.6 étape 763

 
Aujourd'hui nous avons repris toutes les modifications apportées depuis la dernière version publique pour constituer le chapitre "Quoi de neuf ?". La dernière version publique datant de novembre 2013 cela nous a pris la journée...
A priori nous sommes partis pour sortir une version publique qui intègrera toutes les modifications/corrections depuis la v 9.6.3i mais qui ne proposera pas les sons hautes qualités, MyrSynth ou la gestion des plug-ins VST. Nous avons de notre coté bien trop de chose à valider encore. Cette version HQ viendra donc après.
 
La version 9.6.4 verra tout de même apparaître quelque chose de fondamentalement nouveau.  
Les bêta testeurs en aurons la surprise et l'exclusivité !
by Didier Guillion
 5 comments.

Dev News Tuesday, May 19th, 2015 at 05:02pm
Harmony 9.6 étape 762

 
Dans les tablatures prioritaires, si l'affichage des silences était demandé et qu'un silence était ligaturé à la note qui le suit, une tige et des ligatures apparaissaient inopinément :
 

 
Ceci a été corrigé.
 
Dans le module de traitement d'image, accessible en MyrScript par l'objet "Surface", ont été corrigés :  
 
- Un débordement dans les calculs de l'opération de rotation, qui faisait "pétiller" les zones claires
 
- Une erreur de calcul de mixage d'opacité dans l'opération de superposition de deux surfaces semi-transparentes
 
Ces deux opérations ont également été accélérées.  
 
L'opération de changement de dimensions a, quant a elle, été complètement réécrite, et accélérée d'un facteur compris entre 5 et 10.
by Olivier Guillion
 Leave a comment.

Dev News Monday, May 18th, 2015 at 04:58pm
Harmony 9.6 étape 761

 
Les palettes à l'ancien format ont été connectés au dock, ainsi la logique de la gestion des outils est respectée.
Des anomalies d'affichage de la liste du Jukebox ont été corrigées.
Correction d'un problème d'image lors de la génération du manuel MyrScript.
by Didier Guillion
 Leave a comment.

Dev News Wednesday, May 13th, 2015 at 05:03pm
Harmony 9.6 étape 760

 
Pour les nouveaux outils, nous avions besoin d'une fonction qui, à partir d'une image en noir et blanc, crée une version en gras, en arrondissant les angles afin d'obtenir un meilleur aspect en grand format, et une meilleure lisibilité en petit.
 
Pour cela, nous avons appliqué deux opérations.
A partir de l'image originale :  
 

 
on applique un flou gaussien :
 

 
Puis on effectue un seuillage doux, en appliquant une courbe de contraste très resserrée :
 

 
 
et on obtient alors l'image demandée, plus épaisse et aux arêtes arrondies.
 
Du coup, la fonction de modification d'intensité lumineuse selon une courbe étant écrite, nous l'avons rendue accessible en MyrScript. À partir de cette image :
 

 
Une seule opération MyrScript suffit à modifier la courbe de rendu de la luminosité, par exemple pour obtenir un effet de type "solarisation":
 

 
Et, tant que nous y étions, nous avons également prévu de pouvoir appliquer une courbe séparée sur chacune des composantes de couleurs de l'image (Rouge, Vert et Bleu). Cela permet de ne modifier la colorimétrie de l'image que sur certaines plages d'intensité:
 

 
Ici, les couleurs dans le sombre et le clair sont conservées, et les couleurs d'intensité médiane virent vers le violet.
 
Sur ce, bon week-end aux heureux pontifacteurs !
by Olivier Guillion
 Leave a comment.

Dev News Tuesday, May 12th, 2015 at 04:56pm
Harmony 9.6 étape 759

 
Le nouveau "dock" a été intégré dans l'interface comme une nouvelle palette.
Le format mya a été enrichit avec toutes les informations extraites du fichier et affichées dans le JukeBox. Ceci permettra un affichage correct quand on importe un .mya dans le JukeBox.
by Didier Guillion
 Leave a comment.

Dev News Monday, May 11th, 2015 at 04:57pm
Harmony 9.6 et autre étape 758

 
Nous avons continué le travail d'intégration de la nouvelle présentation des outils. Nous avons converti quelques outils supplémentaires, et la nouvelle interface est maintenant cliquable, le lien étant fait avec les "anciennes" palettes.
 
Nous essayons de trouver un moyen de convertir automatiquement certaines palettes restantes, notamment les palettes d'ornements pour nous éviter d'avoir à redessiner une à une les dizaines d'icônes qui les composent.
by Olivier Guillion
 Leave a comment.

Dev News Thursday, May 7th, 2015 at 04:50pm
Harmony 9.6 et autre étape 757

 
Dans Melody Player :
Correction d'un problème de positionnement du curseur quand on jouait la sélection sur une partition avec ruptures.
Nouvelle option pour jouer la liste automatiquement dès son chargement.
 
Dans Harmony :
Suite a une demande, les dates présentes dans les textes pourront être d'un format choisit par l'utilisateur. Il suffira de faire suivre la séquence de la date ($D,$A,$U) par la séquence [xxx].
 
où xxx peut contenir
$A Nom de jour complet
$a Nom du jour abrégé
$e Index du jour dans le mois (01-31)
$B Nom du mois complet
$b Nom du mois abrégé
$m Index du mois (01-12)
$H Heure (00-23)
$M Minute (00-59)
$S Seconde (00-59)
$Y Année sur 4 chiffres
$y Année sur 2 chiffres
 Toutes les autres séquences sont affichées en l'état.
by Didier Guillion
 1 comment.

Dev News Wednesday, May 6th, 2015 at 05:06pm
Harmony 9.6 et autre étape 756

 
Aujourd'hui, nous avons travaillé sur le tracé graphique des boutons rotatifs (boutons de la table de mixage ou de l'édition d'instrument) afin d'utiliser les fonctions de travail sur les images que nous avons mises au point.
 
Une erreur dans le tracé des appoggiatures pouvait les faire apparaître à tort entre parenthèses. Ceci n'a pu être mis en évidence que dans Melody Player mais impactait potentiellement tous les programmes qui montrent une partition.
 
 
by Olivier Guillion

Dev News Tuesday, May 5th, 2015 at 04:56pm
Melody Player 6.4.0b2

 
Dans Melody Player ont peut maintenant demander à ce que la position dans la musique soit précise. Par défaut toute l'aire de la mesure est balayé par la barre montrant la position, c'est légèrement inexact mais plus agréable pour l'oeil.
L'apparition du volet avec la partition a été repensé.
L'icone de redimensionnement est plus visible.
Dans la liste des musiques, les champs éditables sont mis en évidence.
 
by Didier Guillion
 1 comment.

Dev News Monday, May 4th, 2015 at 05:01pm
Harmony 9.6 et autre étape 755

 
Nous avons corrigé un problème d'export MP3 tronqué lorsque la sortie numérique était réglée sur 8 bits.
 
Ceci nous amène à nous interroger sur l'opportunité de conserver les sorties numériques de basse qualité dans le programme. Mis à part pour l'export, ou un format particulier peut être nécessaire, quel est aujourd'hui l'intérêt d'écouter son morceau en 8 bits, 11 kHz ?
 
D'autant plus que ce n'est pas plus rapide, puisque tous les calculs se font de toute manière en 16 bits et le résultat est ensuite dégradé en 8 bits...
by Olivier Guillion

Dev News Thursday, Apr 30th, 2015 at 05:02pm
Harmony 9.6 et autre étape 754

 
Correction d'un problème de sélection du nombre de bits par sample dans les pistes numérique.  
Un nouveau script transforme toutes les portées chantées en piste numérique sans altérer la mise en page. Ce genre de fichier démarre sans délai de calcul.
 
Correction d'un problème de classement dans la liste du JukeBox.
 
Dans PDFtoMusic le calcul du Concert Key pouvait entrainer un décalage juste mais à une octave près. Un nouvel algorithme améliore ceci.
by Didier Guillion

Dev News Wednesday, Apr 29th, 2015 at 04:58pm
Melody Player 6.4.0b1, version 2.0

 
 
Ce coup-ci, c'est la bonne ! Depuis hier, nous préparons des archives de la version beta de Melody Player. Et au moment de la diffuser, nous trouvons un petit plantage, une irrégularité ou une erreur qui nous font dire "Non, il vaut mieux corriger ça d'abord".  
 
Mais là, après avoir corrigé les redimensionnements de la liste des fichiers, le chargement des fichiers audio monophoniques, le chargement des pistes audio compactées en MP3, le jeu des pistes numériques en flux mémoire, le déplacement du point de départ du jeu de la musique et le glisser-déposer de fichiers sur la liste, aucun problème ne nous saute plus aux yeux.
 
Donc la version beta devrait être disponible dès ce soir, à moins d'un énième imprévu. Elle sera alors annoncée sur le forum.
by Olivier Guillion

Dev News Tuesday, Apr 28th, 2015 at 04:57pm
Melody Player 6.4.0b1

 
Aujourd'hui nous nous sommes attelés à générer une première version bêta du Melody Player sur Mac OS et Windows, intégrant les nouveautés de ces dernières semaines. Elle sera disponible très bientôt.
by Didier Guillion

Technical Monday, Apr 27th, 2015 at 05:10pm
Maths appliquées : sigmoïdes

 
Un peu de maths pour bien commencer la semaine
Étant donné que nous ne sommes pas mathématiciens, il n'y aura pas ici de définition rigoureuse ou de vocabulaire spécialisé. Il s'agira plutôt de logique et de compréhension d'un concept.  Mais si vous êtes allergiques aux maths, ça ne va quand même pas vous plaire...
 
Lorsqu'il est question de réaliser une animation réaliste ou de simuler un mouvement biologique, un simple déplacement à vitesse constante n'est pas suffisant. Par exemple, lorsqu'un guitariste change de case sur le manche, le mouvement de son doigt ne va pas passer instantanément de l'arrêt complet à un déplacement linéaire, pour s'arrêter instantanément lorsque la position visée est atteinte.
 
Intuitivement, si on décompose le mouvement, on comprend bien qu'il y a une phase d'accélération, puis de mouvement quasi-linéaire, et enfin une décéleration progressive qui compense l'inertie du bras, et permet d'ajuster finement la position atteinte.
 
Si on considère que le début du mouvement a lieu au temps 0, et s'arrête au temps 1, la distance parcourue allant de 0 (position de départ) à 1 (position d'arrivée).
Un mouvement linéaire constituerait alors une ligne droite y=x.
 

 
Une courbe avec accélération / décélération devrait ressembler à la courbe en rouge :
 

 
Cette forme en S a donné son nom à la famille de courbes : les sigmoïdes.
 
Les "véritables" sigmoïdes sont de formule y=1/(1+e^-px)  ( ^ représente la mise en exposant) avec p, le paramètre de courbure permettant d'obtenir un "S" plus ou moins prononcé :
 

 
Les courbes ont normalement une asymptote vers l'axe y=0 et y=1 et passent par (0,0). Elles ont ici été décalées pour être centrées sur le point (0.5 , 0.5)  
On voit cependant que ces courbes ne passent pas par le point (0,0) et (1,1). Il faudrait y appliquer un coefficient rectificatif afin de correspondre aux valeurs dont nous avons besoin.
 
Nous avons ensuite cherché d'autres familles de courbes, plus simples, qui pourraient également convenir.
Nous avons essayé du coté des courbes trigonométriques, et notamment 1-cos(x*PI)/2
 

 
La formule est simple, mais peu réglable. Pour obtenir une famille de courbes plus ou moins prononcées, il faut faire passer plusieurs fois la formule sur elle-même, ce qui donne, mathématiquement, pour un paramètre de courbure à 2 :  
1-cos((1-cos(x*PI)/2)*PI)/2
ce qui a l'inconvénient de prendre deux fois plus de temps de calcul pour un paramètre à 2 plutôt qu'à 1, et de ne pas pouvoir calculer facilement la courbe pour un paramètre de courbure non entier.
 
Alors nous sommes allés voir du coté des paraboles.  
En calculant séparément les deux demi-courbes:
- pour x <= 0.5 : y=x^p/(2*0.5^p)
- pour x > 0.5  : y=1-(1-x)^p/(2*0.5^p)
 
On obtient cette famille :  
 

 
Intuitivement, il semble s'agir des courbes sigmoides standards, réalignées sur les bornes attendues.
À l'essai, cela semble convenir pour pas mal d'applications, est relativement rapide (la valeur constante 2*0.5^p peut être précalculée) et réglable finement.
 
Alors, la prochaine fois que vous voyez un guitariste faire glisser son doigt sur le manche, n'hésitez pas à lui demander quel coefficient de courbure il utilise dans sa formule
by Olivier Guillion
 2 comments.


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
Sep 2014
Oct 2014
Nov 2014
Dec 2014
Jan 2015
Feb 2015
Mar 2015
Apr 2015
May 2015
May 22nd, 2015 at 06:12pm 
Comment from JP
HTML5
May 22nd, 2015 at 04:56pm 
Article from Didier Guillion
Harmony 9.6 et autre étape 765
May 22nd, 2015 at 04:56pm 
Article from Didier Guillion
Harmony 9.6 et autre étape 765
May 22nd, 2015 at 11:49am 
Comment from Samuel Austin
Définition main gauche ...
May 21st, 2015 at 09:05pm 
Comment from benoit simonet
définition Main Gauche d'un accordéon
May 21st, 2015 at 04:57pm 
Article from Olivier Guillion
Harmony 9.6 étape 764
May 21st, 2015 at 09:02am 
Comment from Antoine Bautista
@Bubu42  Suspense ou Suspens ?
May 20th, 2015 at 05:42pm 
Comment from musikus
May 20th, 2015 at 05:16pm 
Comment from bubu42
Suspense hitchockien...
May 20th, 2015 at 04:57pm 
Article from Didier Guillion
Harmony 9.6 étape 763

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