Myriad Blog 1.3.0 Monday, Jan 26th, 2015 at 09:25am 

Dev News Tuesday, Aug 31st, 2010 at 05:02pm
Harmony, Melody et autres tape 99

 
Quelques correction sur les scripts, ce jour. Script Finale, NoteWorthy, GuitarPro. Rien de trpidant, on reprends doucement le rythme.
Nous commenons rflchir comment intgrer le nouveau systme de synthse sonore nos produits. Il va y avoir deux parties :
- D'abord, la configuration de l'instrument, globale la porte qui devra tre la plus simple possible et se rfrer des valeurs "humaines" : longueur et tirant (diamtre) des cordes, rsonance de la caisse, densits des traits, etc.
- Ensuite, tous les paramtres qui peuvent changer lors de l'excution : vitesse et pression sur l'archet par exemple. Ceci pourrait tre gr par de nouvelles courbes de paramtres...
Le but tant de proposer des instruments ralistes facilement utilisables, mais que l'utilisateur plus pointilleux soit capable de configurer finement.
by Didier Guillion

Dev News Monday, Aug 30th, 2010 at 04:52pm
Harmony, Melody et autres tape 98

 
Aujourd'hui, et pour redmarrer en douceur aprs une semaine de vacances, quelques corrections.
 
Correction d'un dbordement au chargement MIDI de certains fichiers trs particuliers.
Correction de l'ouverture des palettes filles depuis la palette matre.
Enfin, correction d'un dcalage de texte dans les ressources Italiennes et Allemandes.
by Didier Guillion

Dev News Friday, Aug 27th, 2010 at 05:10pm
Synthse d'instruments cordes (15)

 
Le module "guitare" en C a t entirement vrifi. Nous avons commenc chercher les dernires amliorations possibles des sonorits, en utilisant les enregistrements de rponse impulsionnelle de la caisse d'une guitare pour filtrer le rsultat.  
Ceci pourrait galement servir d'galiseur numrique multibande, le son de la guitare pouvant tre altr graphiquement par l'utilisateur. Une courbe allant du grave l'aigu, mettant  en avant les bornes de frquence de son choix, pourrait ainsi tre librement modifie par l'utilisateur lors de la dfinition d'un nouveau son de guitare,
 
Beaucoup de rglages extrmements pousss pourraient ainsi tre disponibles. Il nous faut simplement nous assurer qu'ils ont une utilit, et que le concept qu'ils reprsentent soit comprhensible par un utilisateur moyen n'ayant que peu de notions de synthse sonore.  
 
La partie "bote de configuration" risque donc de ne pas tre des plus simples. Autant que possible, nous essaierons de grouper les paramtres internes du modle, d'en calculer automatiquement d'autres, et de formuler tout cela avec soin afin de pouvoir proposer des rglages ayant un rapport avec les attributs physiques de l'instrument.
Il vaut mieux en effet demander la valeur "longueur de la corde en cm" plutt que "taille des buffers de calcul de rsonnance" par exemple
by Olivier Guillion
 1 comment.

Dev News Thursday, Aug 26th, 2010 at 04:59pm
Synthse d'instruments cordes (14)

 
La gnration de sons de guitare est maintenant entirement rcrite en C. Nous obtenons les mmes rsultats que le module MyrScript, mais, comme attendu, beaucoup plus rapidement. Le programme est court (une cinquantaine de kilo-octets) ce qui nous permettra de l'intgrer n'importe quel produit sans augmenter sensiblement la taille du programme hte.
 
Pour l'instant, avant optimisation du code, pour calculer 50 secondes de son, il faut 10 secondes de traitement.
Ceci est cependant trop lent pour envisager un passage en temps rel, car si une partition contient 3 guitares jouant la fois sur un ordinateur moins rapide que le ntre, le processeur est alors monopolis.
 
Donc la phase suivante consistera tenter d'acclrer tout cela.
by Olivier Guillion
 1 comment.

Dev News Wednesday, Aug 25th, 2010 at 05:05pm
Synthse d'instruments cordes (13)

 
Nous avons commenc le travail de rcriture en C, travail qui tient plus de la correction d'preuve que de la vritable programmation.
 
En effet, MyrScript et le C sont trs proches, et la plupart du boulot consiste reformuler chaque ligne et en changer la ponctuation. Cette tche n'est malheureusement pas automatisable, notamment cause des structures dynamiques de MyrScript qui ne sont pas directement transposables en C.
 
Nous avanons donc doucement, en testant ds que possible ce que nous avons crit. La synthse de guitare est constitu de quatre couches successives, de la plus profonde la plus "haut niveau":
 
1- Gestion physique des rsonnances et amortissements dans une corde
 
2- Dfinition de la corde, avec ses paramtres de matriau, et gestion des effets d'un doigt pos sur le manche, du glissement de celui-ci sur le trait, etc.
 
3- Dfinition de l'instrument, qui est un ensemble de cordes, une srie de frettes, un corps rsonnant...
 
4- Interprtation des notes et transformation de celles-ci en mouvements de doigts, grattage de chaque corde, etc
 
Nous avons termin le niveau 1 et sommes en train d'attaquer le niveau 2.
Nous avons choisi de programmer tout cela comme un module indpendant, mais qui pourra cependant tre inclus dans Harmony par la suite si besoin est.
Avantage, la compilation et les tests sont trs rapides, mais inconvnient, le module n'a pas accs facilement une partition ou les notes qui la composent. Donc lorsque nous arriverons au niveau 4, un module MyrScript sera probablement ncessaire au dbut pour extraire d'une partition des informations simples (quelle corde, quelle case, quelle puissance, quel moment) pouvant tre ensuite interprtes par le module.
by Olivier Guillion

Dev News Tuesday, Aug 24th, 2010 at 05:03pm
Synthse d'instruments cordes (12)

 
Nous avions oubli d'implmenter quelques dernier dtails dans le rendu de la guitare : les pincements ou coups de mdiator complexes, dtaills dans ce billet, et surtout les rsonnances par sympathie.
 
Surtout, car la nouvelle structure du programme considrait les cordes comme des entits acoustiquement indpendantes, chacune tant calcule indpendamment des autres, puis mixe au rsultat final.
Si on veut prendre en compte les rsonnances par sympathie, ceci n'est plus possible, car chaque instant, chaque corde reoit un peu d'nergie provenant de la vibration des autres cordes. Les calculs doivent donc s'effectuer en parallle. La structure du module a donc t repense pour prendre cela en compte.
 
Algorithmiquement, tout est donc maintenant au point. Acoustiquement, par contre, les rsonnances par sympathie, comme nous avions pu nous en apercevoir lors de nos premiers tests, ne nous semblent pas amliorer tant que cela le rsultat. De manire gnrale, cela allonge les dlais d'amortissement des cordes, mais a tendance faire perdre de la nettet au morceau. Il faut galement rgler les coefficients avec minutie, sous peine de produire un semblant de larsen.  
Le gain en "coffre", en profondeur du son, s'il est indniable, peut tre aisment remplac par d'autres rglages dj disponibles, et beaucoup plus faciles manipuler et rgler.
 
Donc, en conclusion, beaucoup de travail pour un bnfice faible voire nul. Nous nous interrogeons encore sur la ncessit de conserver ce paramtre...
by Olivier Guillion
 1 comment.

Dev News Monday, Aug 23rd, 2010 at 05:02pm
Synthse d'instruments cordes (11)

 
La maquette Myrscript de la gnration de sons de guitare est quasiment termine.
Elle intgre de manire propre tous les essais que nous avions effectus sparment : harmoniques, touffement de corde, bruit de trait, passage de case en case lorsque le doigt glisse sur le manche, coup de mdiator paramtrable, etc.  
Nous avons cal tout cela partir de mesures relles. Un passage de la guitare au scanner nous a permis de compter la densit des enroulements de chacune des cordes graves:
 
.  
 
Nous avons galement chronomtr les temps d'amortissement naturel du son pour chaque corde vide.
 
Nour robtenons donc des rsultats sonores comparables nos premiers tests, avec en plus les effets de dplacement des doigts, mme si nous avons pour l'instant moins soign le timbre de l'instrument.
 
Cela demande en effet pas mal d'efforts, et le programme Myrscript est destin tre entirement rcrit en C ds que sa structure est fonctionnelle et vrifie dans les dtails.
 
Notre test le plus rcent (probablement le dernier calcul en MyrScript) donne ceci:
 
Cliquer pour couter

 
En Myrscript, le temps de calcul est le triple du temps rel. Nous esprons que la version C sera, elle, suffisamment rapide pour ne pas ncessiter un calcul l'avance comme pour Virtual Singer. C'est en fonction de cela que nous pourrons ensuite dcider sous quelle forme et pour quels usages distribuer le nouveau module de synthse sonore.
 
by Olivier Guillion
 7 comments.

Dev News Friday, Aug 20th, 2010 at 05:11pm
Synthse d'instruments cordes (10)

 
Nous avons rcrit proprement, toujours en MyrScript, la gnration de sons de cordes, pour l'instant pinces.
C'est ce programme MyrScript, une fois parfaitement au point, qui nous servira de modle pour le passage en C.
 
Nous essayons donc de faire fonctionner la fois tout ce que nous avions pu exprimenter jusqu'ici.
Nous avons galement mis en place les bruits de cordes lors du dplacement des doigts.
Il devrait donc tre possible, lors de la dfinition de l'instrument, d'indiquer la longueur de chaque corde et, pour les cordes gaines, le nombre d'enroulement du fil de gainage (appel "trait") par centimtre, ainsi que sa rugosit. En effet, certains traits sont lims ou constitus de fil plat afin de minimiser les bruits parasites.
 
En l'tat, notre premier test a donn ceci (attention, c'est court):
 
Bruit de trait

 
Reste maintenant grer les dplacements des doigts de manire raliste, afin de connaitre les moments o le doigt glisse sur la corde, et ceux o il ne la touche pas.
 
 
by Olivier Guillion

Dev News Thursday, Aug 19th, 2010 at 04:59pm
Harmony, Melody et autres tape 97

Aujourd'hui quelques corrections sur l'aspect graphique des tablatures.
Nous compulsons normment de documentations sur le violon, le piano, la guitare.  
Nous avons lu que pour calculer une tablature pour violon, il suffisait de choisir la mandoline comme instrument...
Un violoniste peut il confirmer ?
by Didier Guillion
 4 comments.

Dev News Wednesday, Aug 18th, 2010 at 05:10pm
Synthse d'instruments cordes (9)

 
Nous poursuivons notre amlioration des cordes frottes. Les rsultats sont meilleurs, mais avec, parfois, des passages inexplicables l'octave, ou des grattements inopins. Peut-tre est-ce d aux paramtres de frottement de l'archet, car il semble qu'en modifiant lgrement la distance par rapport au chevalet, ces artefacts disparaissent.
 
Afin de connatre un peu mieux les spcificits de cet instrument, et vrifier si ces effets taient galement prsents dans la ralit ou ds des erreurs dans notre modle mathmatique, nous avons dcid de louer un violon. Malheureusement, tous les luthiers et loueurs de la rgion sont en vacances jusqu'au 24 aot. Il nous faudra donc patienter jusque l pour commencer nos exprimentations.
 
Nous prfrons ne pas poster des exemples sonores imparfaits de notre travail, car nous savons que mme si nous dtaillons les imperfections connues, les commentaires ne manqueront pas de s'y attacher. C'est comme si on prsentait un dessin en disant: les personnages sont termins, mais le dcor n'est encore qu'une bauche, et que toute la discussion portait sur le rendu de l'herbe, des feuillages et des nuages.
 
Nous avons entam une dernire mise au propre du script MyrScript qui gre les sons de guitare, avant un passage en C.
by Olivier Guillion
 1 comment.

Dev News Tuesday, Aug 17th, 2010 at 05:01pm
Harmony, Melody et autres tape 96

 
Quelques corrections dans Harmony et Melody aujourd'hui.
Correction du script "Suit les portes joues".
Correction du script "Doigt pour instrument cordes frettes".
Correction du script "Import NoteWorthy".
 
Et puis, un truc qui me mets en rogne, en discutant avec Olivier d'une question reue par email qui m'a pris du temps, c'est d'apprendre que la personne avait envoy le mme mail nous deux et nous a fait travailler tous les deux dessus.
C'est du temps gch et cela me rends furax. Grrrr !
by Didier Guillion

Dev News Monday, Aug 16th, 2010 at 05:29pm
Synthse d'instruments cordes (8)

 
Les essais d'amlioration des cordes frottes ne sont malheureusement gure concluants.
Mathmatiquement, les calculs semblent justes, et le son obtenu est bien celui d'une corde frotte non relie une caisse de rsonnance.  
C'est donc un son trs aigu, dsagrable et sans profondeur.
Ce son, dans la ralit, passe au travers du filtre de la caisse de rsonnance de l'instrument. Nous avons pu simuler ces rsonnances, mais cela reste approximatif.
En rsultat, nous obtenons bien un son d'instrument cordes frottes, mais un son pas beau, celui d'un mauvais violon utilis par un mauvais interprte.
Notre mconnaissance du son naturel d'un violon lors d'un jeu avec un archet frott avec trop - ou trop peu- de force ou de vitesse rend d'autant plus difficile la tche d'ajustement des paramtres du coup d'archet.
 
Rien n'est donc encore dsepr, et ce travail nous a dj permis d'laborer des techniques qui seront probablement rutilisables ensuite, notamment l'tablissement d'un banc de filtres rapides simulant les rsonnance du corps d'un instrument. Simplement, le systme, paramtrage ou astuce qui permettrait une amlioration significative du rsultat sonore tarde se montrer, et cela devient un peu lassant, et trs fatigant pour les oreilles
by Olivier Guillion

Dev News Friday, Aug 13th, 2010 at 04:58pm
Kooplet tape 60

 
Aujourd'hui nous avons repris certains lments du plug-in Flash afin d'optimiser des temps de rponse. Nous ne pensons pas aller beaucoup plus loin dans ce dveloppement. Il nous a permis d'apprhender ActionScript/Flex/Flash et d'ajouter ainsi une comptence notre liste de faisabilit. Sincrement, Flash est un trs bon concept, soutenue par une communaut des plus active, une excellente et amusante exprience.
Maintenant, la prochaine tape (ds que nous aurons du temps) va tre d'toffer et de nettoyer la base de donne.
Bon week end tous !
by Didier Guillion

Dev News Thursday, Aug 12th, 2010 at 05:05pm
Clavier Virtuel et Myriad Music Plug-In

 
Comme pas mal de code est commun entre le Player et le Plug-In, nous avons intgr le Clavier Virtuel au Plug-In.
 

 
Des commandes spcifiques permettrons de l'activer, de l'afficher par dfaut, de choisir l'octave de base et le nombre d'octaves reprsentes.  
La demande initiale vient d'une socit qui commercialise des mthodes d'apprentissage du piano, nous esprons qu'elle saura sduire d'autres utilisateurs...
by Didier Guillion
 1 comment.

Dev News Wednesday, Aug 11th, 2010 at 05:03pm
Clavier Virtuel et Melody Player

On nous a suggr, il y a quelques mois, une amlioration de Melody Player. Le but initial tait d'utiliser ce logiciel pour grer des mthodes d'apprentissage du piano. Aprs quelques temps de rflexion nous avons ressorti le dossier. Voil ce que cela va donner.
 

 
Une nouvelle icne fait son apparition, elle active le clavier virtuel.
L'utilisateur peut choisir quel instrument va tre reprsent sur le clavier, soit tous, soit un seul. Dans le cas du piano, bien sur, il faut que main gauche et main droite sortent sur des instruments spars.
Une demande tait de permette un branchement direct sur une URL pour pouvoir tlcharger des MP3 de la partition ou de lire des explications sur l'interprtation du morceau. L'astuce a t d'utiliser le champ "Site Web" du document, ainsi chaque document de la liste peut avoir son URL ddie.
Une autre demande tait de pouvoir diffrencier la main gauche et la main droite par des couleurs diffrentes. L aussi, astuce : il suffira de donner une indication stro correspondante l'instrument associ la porte. Les instruments de position stro infrieure 64 seront en bleu, les autres en orange.
Enfin, si dans le site Web associ au document, la squence "key=on" est trouve, le piano virtuel est actif par dfaut.
Thoriquement, ceci pourrait tre facilement implment dans le Myriad Music Plug-In.
by Didier Guillion
 2 comments.

Dev News Tuesday, Aug 10th, 2010 at 05:22pm
Synthse d'instruments cordes (7)

 
Bon, le systme de corde est en place, et nous pouvons maintenant calculer des morceaux en traitant chaque corde indpendamment et en suivant les indications de doigt de la tablature.
 
Tant qu'on y tait, nous avons affect chaque corde une position stro lgrement diffrente, et avons gr les rsonnances par sympathie.
 
Ensuite, nous avons configur l'excitation, c'est--dire l'action du doigt, de l'ongle ou du mediator sur la corde.  
Ceci a une importance sensible sur le rsultat final.
 
A titre d'exemple, un morceau avec une excitation simple, ponctuelle:
 
pincement simple

 
et le mme morceau avec une excitation plus labore, faisant entendre le moment o le mdiator touche la corde et le moment o il la relche:
 
pincement complexe

 
La diffrence est assez subtile, il vous faudra tendre l'oreille.
 
On arrive maintenant aux limites des possibilits de traitement par MyrScript. Chacun de nos tests demande un temps de calcul assez long (quelques minutes), nous empchant d'ajuster rapidement les paramtres l'oreille.
 
Nous envisageons donc de rcrire tout ou partie de ce que nous avons fait en C, afin d'acclrer tout cela.
by Olivier Guillion

Dev News Monday, Aug 9th, 2010 at 05:08pm
Kooplet tape 59

 
Aprs le traditionnel traitement des emails du week end, nous avons rflchi au logo de Kooplet, guid par les conseils de Franck.
Pour l'instant, nous en sommes l :
 
by Didier Guillion
 2 comments.

Dev News Friday, Aug 6th, 2010 at 05:01pm
Synthse d'instruments cordes (6) et autre

 
La palette de doigt pour instruments cordes frettes gre maintenant les gauchers.

Elle sera disponible dans la prochaine version d'Harmony.
Paralllement ceci, le moteur de gnration d'onde a t cal finement. Il servira pour tous les instruments corde, il devait donc tre parfait et rapide. Nous avons fait quelques essais sur une synthse de guitare et il apparat que l'excitation de lancement du son est des plus importante. On obtient, si on utilise des mdiators plus ou moins souples des rsultats trs diffrents, ce qui est encourageant.
Allez, bon week tous et peut tre un chantillon sonore Lundi...
by Didier Guillion

Dev News Thursday, Aug 5th, 2010 at 04:54pm
Harmony, Melody et autres tape 95

L'dition d'un symbole pouvait "casser" la mise en page, c'est corrig.
Correction d'un problme de dplacement de coul.
En MyrScript, nouvelle valeur Application.IsLeftHandedNotation
On nous a demand si la palette de doigt pour instruments cordes frettes pouvait tenir compte de la notation pour les gauchers.
Nous avons commenc l'analyse de ceci.
by Didier Guillion
 1 comment.

Dev News Wednesday, Aug 4th, 2010 at 05:20pm
Synthse d'instruments cordes (5)

 
Paradoxalement, l'augmentation du ralisme des modles physiques nous empchent de truquer facilement le systme pour lui faire produire des sons paraissant plus ralistes l'oreille.
Ainsi, dans les premiers essais de guitare, nous nous tions affranchis des calculs de rsonnance de la caisse. En jouant artificiellement sur les courbes d'amortissement de chaque corde, on pouvait obtenir un son "rond".
 
Avec un vrai modle vibratoire de la corde, il est plus difficile d'obtenir ce genre de rsultat. C'est pourquoi nous avons continu travailler sur les modifications du son lies aux rsonnances de la caisse de l'instrument.
 
Voici la piste que nous explorons :
A partir de l'enregistrement de l'impusion de l'instrument (coup donn sur le chevalet), par convolution avec un bruit blanc, nous extrayons une courbe de rponse en frquence du filtre audio que forme la caisse de l'instrument. Cette courbe est alors approxime par une srie de filtres passe-bande simples, qui devraient tre plus faciles mettre en place qu'un filtrage par transforme de Fourier et inverse.
 
Il n'est pas certain que nous arrivions quelque chose avec cette mthode, mais avant de bricoler quelque chose de faux ayant l'apparence du vrai, autant commencer par essayer le vrai...
by Olivier Guillion

Dev News Tuesday, Aug 3rd, 2010 at 05:08pm
Harmony, Melody et autres tape 94

 
Correction de la taille des fentre utilisateur zoomes au chargement.
Nouvelle gestion des accroches sur tuplet en import music XML.
Correction de l'affichage de l'accroche en tablature guitare quand un cart tait demand entre la tige et la note.
by Didier Guillion

Dev News Monday, Aug 2nd, 2010 at 05:16pm
Synthse d'instruments cordes (4)

 
Afin de simuler correctement les glissades, les "bend", le vibrato et toutes ces modifications de frquences, nous avions besoin d'une grande prcision dans la restitution.
Or, avec nos modles de vibration actuels, une telle prcision n'tait pas possible. Nous avions donc implment un oversampling, c'est--dire un calcul de 4 donnes numriques pour chaque donne effectivement restitue, mais cela ne donnait toujours pas une prcision suffisante, et le temps de calcul tait multipli par 4.
 
Nous avons donc travaill sur une gnralisation de l'algorithme, en permettant une prcision suprieure au 1000e d'Hz.
 
Nous en avons profit pour mettre au propre notre programme MyrScript, en grant vraiment plusieurs cordes diffrentes par instrument. Ceci nous a permis de mettre en place les rsonnances des cordes par sympathie. Reste savoir si cet effet sera audible lors du jeu.  
 
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
Sep 2014
Oct 2014
Nov 2014
Dec 2014
Jan 2015
Jan 23rd, 2015 at 04:53pm 
Article from Didier Guillion
ACAM sur Mac tape 18
Jan 22nd, 2015 at 04:53pm 
Article from Olivier Guillion
Acam Winter tape 32
Jan 21st, 2015 at 04:54pm 
Article from Didier Guillion
ACAM sur Mac tape 17
Jan 20th, 2015 at 04:58pm 
Article from Olivier Guillion
Acam Winter tape 31
Jan 19th, 2015 at 04:55pm 
Article from Didier Guillion
ACAM sur Mac tape 16
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input

Top of page
Last update:  (c) Myriad