Oui, vous avez bien lu, vous ne rêvez pas. Après plusieurs années d'hésitation à user nos semelles à force de trainer des pieds, nous nous sommes décidés à étudier la possibilité de gérer les plug-ins VST dans Harmony Assistant. Pour rappel, ces plug-ins permettent d'ajouter des sons ou des effets sonores à des applications d'audionumérique. Réfrénez cependant vos ardeurs. Avant de sauter de joie, sachez qu'il faudra encore plusieurs semaines (mois?) avant que vous ne puissiez à nouveau toucher terre. Nous en sommes au tout, tout premier stade, celui de l'évaluation technique. Avant une éventuelle intégration dans le programme, il y aura de nombreuses autres évaluations, des tests, des bilans et des discussions. En gros, attendez-vous à une saga auprès de laquelle Game of Thrones fait figure de simple tweet. Nous commencerons donc par la question d'origine : "qu'est-ce qui nous a retenu aussi longtemps ?" C'est une excellente question et nous nous remercions de nous l'avoir posée. Appelez ça de l'expérience, du pessimisme ou même de la paranoïa, mais nous hésitons toujours à utiliser du code que nous n'avons pas écrit nous-même, car cela complique énormément la maintenance, qui est une partie majeure de notre travail. Trois exemples de code externe que nous utilisons : 1- Les fonctions du système d'exploitation : nous les utilisons aussi peu que possible (d'où ACAM), mais nous en avons besoin, au moins pour les fonctions de base. Nous devons prendre en compte que nos utilisateurs ont parfois de vieilles versions du système. Nous sommes donc toujours 3 ou 4 versions majeures en retard par rapport à l'actualité. Un système, ce sont des centaines de millions d'utilisateurs, des millions d'applications qui tournent tous les jours. Il y a donc de bonnes chance pour que ça fonctionne bien, et nous possédons nous-même le système, que nous pouvons donc tester. Malgré cela, le rétropédalage que nous a imposé Linux, et dans une moindre mesure les ennuis causés par le développement sous MacOS nous prouvent qu'être prisonnier des accès au système constitue toujours un risque. 2- Les pilotes d'impression : Nos applications doivent pouvoir imprimer. Ces impressions passent par des pilotes souvent écrits par le fabricant de matériel, en suivant les préconisations du système d'exploitation. Ces pilotes sont testés par des milliers d'utilisateurs, sur des milliers de programmes différents. On commence à voir apparaître des problèmes dans les pilotes, qui ne sont révélés que dans certains cas rares. Si votre application a le malheur de ne pas utiliser le pilote exactement de la même façon que Word ou OpenOffice, vous prenez le risque que ce cas n'ait jamais été testé par le fabricant du pilote, et que ça plante. Et là, il est très difficile de corriger le problème sans acheter un exemplaire de l'imprimante 3- Les VST (on y arrive) : Chaque VST (il y en a plusieurs milliers de différents) a été testé par des centaines, au mieux des milliers d'utilisateur, sur tout au plus quelques dizaines d'applications hôtes. Il y a donc de très grandes chances que tous les cas de figure n'aient pas été testés, et que les particularités de votre application engendrent des crashs ou des dysfonctionnements dans certains plugins. Résoudre ces problèmes s'avèrera alors mission impossible, sauf posséder un exemplaire de chaque plugin sur chacun des systèmes. Ensuite, les VST sont une technologie propriétaire appartenant à Steinberg, concepteur de logiciels de musique. Cette technologie ne nécessite pas de payer des droits d'auteur à Steinberg, mais n'est pas Open Source, et n'est pas libre d'utilisation (d'ailleurs a-t-on seulement le droit d'en utiliser le logo dans ce blog ?). L'emploi du kit de développement demande de se déclarer auprès du propriétaire de la technologie. Ensuite, pour toute application hôte VST (qui permet d'utiliser n'importe quel plug-in VST), on doit demander une autorisation à Steinberg, qui a priori la délivre. "Et s'ils ne la délivrent pas ?", demande le pessimiste. "Bah, il ne faut pas s'inquiéter, pourquoi diable ne voudrait-ils pas que leur technologie soit utilisée par un éditeur de programmes concurrents des leurs ?" lui répond l'optimiste béat. Un risque non négligeable est de sous-estimer le travail à fournir, par une analyse erronnée ou incomplète. Nous envisageons les VSTi comme des alternatives aux sons numériques standard, et les effets VST comme des compléments aux processeurs d'effets numériques. Dans notre esprit, on imagine donc comment cela pourrait d'intégrer au programme. Mais en sommes-nous certains? Qui nous dit qu'une fois que ce sera en place, nous n'aurons pas droit par exemple à "Et comment fait-on pour ouvrir l'interface du VST pendant que la musique se joue ? Il est *évident* qu'il faut pouvoir modifier tous les paramètres en temps réel, et que *bien entendu* ces modifications en temps réel soient sauvegardées avec la partition". Ce n'est un exemple, bien sûr (si on savait ce qu'attendent exactement tous les utilisateurs, on le mettrait en place - ou pas - dès le départ) Enfin, l'évolution. À partir du moment où on intègre la prise en compte des plugins VST dans Harmony Assistant (soit dans sa version standard, soit dans une version spéciale, à déterminer), nous nous engageons à assurer la pérennité de cette fonctionnalité dans les versions futures de notre programme. Nous voila donc liés aux évolutions décidées unilatéralement par le propriétaire de la technologie. S'ils décident de tout modifier, nous devrons tout modifier en conséquence. S'ils décident que, pour des raisons de sécurité, on doit utiliser une signature électronique, nous achèterons une signature électronique. S'ils décident que la version 4 sera réservée à leurs propres applications et à celles qui leur paient une grosse redevance, eh bien... on se sera fait avoir. Tout cela, c'est ce qui nous a retenu jusqu'ici. Mais devant l'insistance et la persévérance de certains utilisateurs motivés, nous avons tout de même décidé de sauter le pas et d'essayer, ce qui ne veut pas dire que le projet aboutira nécessairement. Les résultats détaillés de nos essais seront décrits ici au fur et à mesure. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons mis en place les taux d'échantillonnage élevés (48 et 96 kHz) dans les pistes numériques. Etant donné que ce taux est indépendant de celui choisi pour la restitution sonore, il va probablement falloir soit une indication chiffrée, soit une couleur différente de représentation des données pour que l'utilisateur sache en quelle qualité est chaque piste. Ce travail a également mis en lumière une divergence dans le rendu de certains processeurs d'effets à tous les taux d'échantillonnage différents de 44kHz (y compris 11 et 22 kHz). Ils ont été rendus conforme. Outre cela, nous avons corrigé : - un changement de sens de tige intempestif de la dernière note d'un groupe en accroche spéciale, lorsqu'on pose une note juste après - Sur le clavier virtuel, lorsque la musique se jouait, les appoggiatures étaient représentées sur la mauvaise touche. |
|
|
by Olivier Guillion | | | |
|
Nous savons que certains utilisateurs désireraient que nous nous attachions exclusivement au rendu graphique des partitions, et délaissions le rendu sonore, mais il faut bien comprendre que le logiciel est un tout, et que chacun doit pouvoir y trouver son compte. Ainsi, la prochaine version sera plus particulièrement tournée vers l'amélioration de la qualité audio. Outre les instruments à cordes virtuels, nous venons d'implémenter les fréquences d'échantillonnage (qualité de restitution) au-delà de 44 kHz, à respectivement 48 et 96 kHz. Les exports numériques (fichiers WAV) prennent également en compte ces nouvelles f'réquences. Seules manquent encore les pistes numériques, qui devraient pouvoir être enregistrées, stockées et restituées en utilisant ces nouveaux paramètres. Deux autres projets d'amélioration sont également en cours, nous aurons l'occasion d'en parler ici dès que nous aurons avancé dans notre pré-analyse. |
|
|
by Olivier Guillion | | |
| |
|
À la demande générale de Cri-Cri dans les commentaires de ce blog, nous avons amélioré le réglage de l'affichage du tuplet pour permettre à l'utilisateur de choisir la tension de la courbe. Voila ce que ça donne : Tension 0 Tension 50 Tension 100 Tension 50 et décalage du chiffre de -7 Ce paramètre a également été géré dans la boîte d'aspect général de la sélection, la sauvegarde et le chargement de fichier (pour les prochaines versions du programme) et dans MyrScript. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons terminé de vérifier, corriger et traiter la version Néerlandaise de la documentation d'Harmony Assistant. Elle devrait être mise en ligne dans quelques minutes. Afin de nous éviter un travail de copier/coller sur les 150 pages de la documentation, nous avons préféré écrire un programme "jetable" pour que le titre de chaque page Web soit identique au titre écrit dans le corps de la page. |
|
|
by Olivier Guillion | | | |
|
Dans le désordre : - Le sélecteur de fichier d'ACAM-Winter est presque terminé et est d'ores et déjà fonctionnel. Seul problème, sur Linux, pour afficher les icônes et également permettre aux applications d'utiliser des fichiers graphiques, il faut trouver et utiliser des librairies statiques qui permettent de charger des fichiers au format PNG, JPG, TIFF et GIF. Je sens qu'on n'a pas fini de rigoler. - Les tracés de coulés spéciaux (tirets, points, ondulation) ont été améliorés afin que la courbe soit couverte de bout en bout (par exemple, le premier point tombe au début de la courbe, et le dernier exactement à la fin) - Un vieux, vieux défaut d'affichage des parties conditionnelles, lorsque la fin de partie était très loin du début et reliée à ce dernier par une ligne, a été corrigé. - À la demande d'un utilisateur, le script "Appliquer une pause" a été repris pour modifier automatiquement la durée d'appui de la note, et a été traduit en espagnol (si vous vous demandiez qui est cet utilisateur, ça réduit pas mal le champ des recherches) - Roeland, notre vaillant et courageux traducteur en Néerlandais, a livré l'intégralité des pages de la documentation d'Harmony Assistant. Dès que nous avons terminé les ajustements et réglages, nous la mettrons en ligne, pour que nos amis Hollandais, Belges et Surinamiens puissent en profiter sans attendre. Bon week-end à tous ! |
|
|
by Olivier Guillion | | |
| |
|
Comme annoncé précédemment, les tracés de coulés en pointillés ont été repris afin d'être plus régulier et de prendre en compte le paramètre de tension. Nous en avons profité pour ajouter deux types de tracés : le coulé en tirets et le coulé ondulé. Voici donc l'ensemble des possibilités de tracés qui seront offertes à l'utilisateur : |
|
|
by Olivier Guillion | | |
| |
|
Un utilisateur nous a demandé d'améliorer l'aspect des coulés lorsqu'ils sont affichés en pointillés, ainsi que l'ajout d'un nouvel aspect, le pointillé par petits traits (au lieu d'une série de points). Jusqu'ici, le tracé de ces coulés un peu particuliers avait dû rester très simple. L'écartement des pointillés n'était pas très régulier, et des réglages fins comme la tension n'étaient pas pris en compte. Ceci était dû au fait que, contrairement aux coulés normaux (pleins), qui sont tracés par des courbes de Bezier, nous ne pouvions pas utiliser ces courbes pour des tracés discontinus car les systèmes ne le proposaient pas. Or, pour Acam Winter, nous avons dû développer nos propres fonctions de tracés de Bezier. Il devrait donc maintenant être possible de tracer à peu près n'importe quel motif, car nous contrôlons le tracé de A à Z. Nous sommes donc en train d'effectuer quelques tests de faisabilité. |
|
|
by Olivier Guillion | | |
| |
|
|