Sur Windows, nous nous sommes rendus compte que nous n'utilisions que les modules VSTi 2.4, alors que notre programme devait être capable d'utiliser des versions antérieures.
Modifications faites, de nombreux modules que nous avions déjà installés mais qui n'étaient pas pris en compte jusqu'ici apparaissent maintenant dans la liste, même si la stabilité de ceux-ci n'est pas toujours au top.
Cela nous a permis de compléter la liste des modules VSTi testés. Avec l'ajout des modules essayés sur MacOS, cette liste a pris de l'ampleur, et va encore continuer à grandir dans les jours qui viennent
Les VSTi sont maintenant suffisamment fonctionnels pour passer à autre chose. Le problème de décalage d'octave a été localisé. Il s'agit apparemment d'une mauvaise gestion par un VSTi de la sortie à 96 KHz. Les essais ont montré que pas mal de modules VSTi ne prennent pas bien en compte des fréquences d'échantillonnage autres que 44kHz. Il n'y a rien que nous puissions faire sur ce point.
Nous avons commencé à maintenir une liste des VSTi testés, avec les remarques associées:
Cliquez sur l'image pour visualiser la liste, mise à jour en temps réel au fur et à mesure de nos essais
Nous peaufinons l'intégration des VSTi. Sur Windows, le système marche plutôt bien, mais avec, comme on pouvait le redouter, des réactions bizarres sur certains plugins et pas d'autres, ce qui promet un support technique sportif.
Par exemple, un module qui joue les notes correctes lorsque la partition défile, et monte tout d'une octave dès qu'on ouvre la boîte de choix d'instrument.
Il va nous falloir résoudre un maximum de mystères de ce type avant de proposer une version au public, parce que lorsque ces bizarreries se produiront à l'autre bout du monde, sur un module pro (donc payant - et cher) dont nous ne disposons pas, nous nous attendons à ce que quelques dents grincent...
Les fréquences d'échantillonnage élevées (48 ou 96kHz) du mode HQ, dans les pistes numériques et les instruments utilisateurs perturbaient les scripts travaillant sur les sons numériques (Scripts > Sons numériques). Ils ont pratiquement tous été repris pour tenir compte de ces nouveaux paramètres.
La constitution de la liste des instruments VSTi disponibles prenait pas mal de temps, une fois par session. En effet, le programme doit balayer une liste de répertoires dans lequel les VSTi sont susceptibles d'être rangés, et pour chaque librairie trouvée, la charger, l'initialiser, et vérifier ses paramètres.
Or certains instruments VSTi peuvent prendre plus de 5 secondes d'initialisation. Une dizaine de modules de ce type, et ça risque de devenir agaçant. Nous avons donc mis en place un fichier "cache", qui permet de ne vérifier que les librairies qui ont été ajoutées ou modifiées depuis la dernière fois. L'attente a donc lieu uniquement au premier lancement de l'application, la constitution de la liste étant quasi instantanée aux lancements suivants.
La saisie des pistes numériques en 48 et 96 kHz, et/ou à 24 ou 32 bits a été mise au point et vérifiée. De même, dans la création d'instruments numériques utilisateurs, la saisie d'échantillon numérique à 48 ou 96 kHz a été implémentée et testée. Chaque échantillon, même au sein d'un même instrument, peut avoir une fréquence & profondeur d'échantillonnage différente des autres.
Nos conditions d'enregistrement ne nous ont pas permis d'entendre vraiment la différence avec le classique 44kHz, mais nous avons vérifié les données numériquement pour nous assurer que c'était bien pris en compte.
L'intégration des modules externes (pour l'instant, VSTi) dans Harmony a été améliorée. Maintenant, le sélecteur d'instrument est passé en double liste, comme on a l'habitude de voir pour les instruments numériques ou MIDI
A gauche, la liste des modules VST détectés sur le système, à droite, les sons disponibles dans le module sélectionné.
Les plug-ins VSTi sont maintenant plutôt bien implémentés dans le programme. Tout ne fonctionne pas encore, mais les problèmes deviennent de plus en plus mineurs, et il est parfaitement possible de travailler avec.
On fait donc des essais, on change les sons, donc voila une "démo" qui n'était pas destiné, normalement, à être diffusée, mais qui vous permet d'entendre que ça fonctionne (utilise deux plugins VSTi "Zebra": Zebra2 & Zebralette)
Les deux instruments sont donc des VSTi, et le volume, mixage, position stéréo et réverbération du thème principal sont gérés par Harmony.
Toujours sur l'implémentation des VSTi, pour l'instant en version Windows. Le traitement des sons de ces modules externes commence maintenant à bien être intégré à Harmony.
Le champ éditable du canal MIDI a été remis dans l'édition de l'instrument VSTi, car le module peut être programmé différemment pour chaque canal Sur certains VSTi, la 1e note est ignorée, ce qui empêche d'entendre le son de l'écho lors de la pose de notes. Nous cherchons à comprendre pourquoi.
Reprise de l'API (l'ensemble des fonctions) qui permet à Harmony d'utiliser les plug-ins VSTi. Pour les technophiles: des choix techniques ont dû être faits : les instruments VSTi se comportent comme des synthés MIDI (16 canaux, donc un maximum de 16 instruments simultanés seulement). Harmony n'étant pas limité à ce niveau-là, nous préférons considérer que chaque instrument de la partition qui utilise un instrument VSTi utilise en fait une copie différente du module (et donc n'exploite à chaque fois qu'un seul canal sur les 16 possibles)
Nous sommes donc en train de reprendre l'interface de programmation pour la rendre plus logique et plus propre. Celle-ci permet d'ajouter un nouveau type d'instrument virtuel assez facilement, ce qui permettra d'envisager d'autres types de plug-ins ou d'autres versions de VSTi.
Sur Harmony Assistant lui-même, des erreurs ont été corrigées dans le masquage des lignes de paroles (édition & sauvegarde)
Au commencement... les lignes de paroles correspondaient exactement aux passages chantés. La première ligne était chantée au premier passage, la 2e ligne au 2e, etc
Puis nous avons introduit la possibilité de masquer certaines lignes, ou d'insérer des lignes vides, transformant ainsi un concept unique (ligne-passage) en deux concepts séparés
Dans le processus, il semble qu'à quelques endroits de notre code, nous n'ayons pas bien négocié ce changement, et que l'édition et la sauvegarde des paroles ne fonctionne pas bien lorsque des ligne sont masquées.
Nous sommes en train de reprendre notre code afin de le clarifier, et débusquer ces erreurs.
Gros progrès dans la gestion des plug-ins VSTi sur Windows. Ou plutôt, quand on a galéré longtemps, on se réjouit de la moindre avancée. Nous avons enfin pu faire fonctionner l'édition des paramètres, après plusieurs jours passés sur le problème.
Une solution a également été trouvée aux plantages fréquents lors de la simple interrogation du plug-in pour lui demander des informations. L'implémentation des VST, si elle n'est pas en elle-même vraiment problématique, bénéficie de la plus mauvaise documentation qu'il nous ait été donné de rencontrer, surtout en ce qui concerne la partie hôte (le programme qui accueille des plug-ins)
Les versions de VST, plus ou moins incompatibles entre elles, se sont enchaînées, avec peu d'explication sur leur fonctionnement, et les tentatives de faire "ce qui semble logique" sont immanquablement vouées à l'échec. De manière inexpliquée, certains objets doivent absolument être fermés alors qu'ils n'ont jamais été ouverts, l'interface doit être affichée avant de connaître la taille nécessaire à son affichage, et bien d'autres subtilités que nous ne maîtrisons pas encore, faute d'être simplement conscient de leur existence.
Ce manque de logique et d'explication claire nous contraint, comme certainement beaucoup d'autres avant nous, à ne pas nous fier à la documentation parcellaire, mais errer sans fin sur le net à la recherche du Saint Grââl, un extrait de code source qui fonctionnerait, afin de voler le travail d'un pauvre bougre qui a eu le malheur d'être le premier à s'arracher les cheveux sur le même problème.