Nous avançons dans la mise en place de nouvelles langues pour Virtual Singer. Avant même de commencer, nous devons préparer le terrain, en créant la nouvelle arborescence interne de répertoires et de fichier, puis les nouveaux fichiers de configuration des 11 langues déjà existantes. Ce n'est que lorsque ces 11 langues fonctionneront à nouveau correctement que nous pourrons alors essayer de récolter toutes les données pour ajouter une douzième, puis une treizième... En parallèle, une option "cachée" de l'édition des fragments phonétiques (clic sur le bouton d'édition avec la touche majuscule appuyée) permettra d'obtenir un bouton supplémentaire qui sauvegarde dans un fichier séparé tous les fragments phonétiques modifiés par l'utilisateur. Ainsi, lorsqu'une nouvelle langue aura besoin d'un fragment n'existant pas dans les langues déjà définies (par exemple, le "i" mouillé russe), il sera possible de modifier un fragment existant puis de le sauvegarder dans un fichier qui se logera dans le répertoire de données de la langue. Ces nouveaux fragments spécifiques aux langues supplémentaires seront ensuite automatiquement ajoutés à la base générale des fragments lors du lancement du logiciel. |
|
|
by Olivier Guillion | | | |
|
Nous réfléchissons actuellement à une amélioration de Virtual Singer. Ce dernier permet déjà de chanter en 11 langues (ou variations de langues) différentes. Ces dernières années, les utilisateurs ont pu étendre ce jeu de langues grâce à un script MyrScript, et en ont défini les règles phonétiques. Cependant, l'utilisation de ces autres langues au travers du script n'est pas aussi simple que pour celles par défaut. Cela modifie les paroles des chansons, même si ces modifications sont invisibles à l'impression, et ne permet pas de créer de nouveaux phonèmes pour faire prononcer des sons spécifiques. Enfin, elles ne sont pas directement sélectionnables dans la palette de Virtual Singer, et ne sont pas disponibles dans Melody Assistant ou PDFtoMusic (qui n'intègrent pas MyrScript) Nous tentons donc d'ajouter ces langues créées par les utilisateur aux 11 langues de base de Virtual Singer. Cela nécessite une refonte assez profonde de la mise en place des langues au coeur du programme. De plus, certaines informations nous manquent dans le fichier MyrScript: 1- Nous allons adopter en interne la nomenclature ISO 639-2 (http://www.loc.gov/standards/iso639-2/php/code_list.php) pour nommer les langues. Au code de 3 lettres sera adjoint un numéro de variation de 0 à 2, permettant par exemple de distinguer Français du nord et Français du sud, ou Portugais du Portugal du Portugais Brésilien. Ainsi, les 11 langues déjà existantes seront nommées, en interne : fra/0 (français du nord) fra/1 (français du sud) eng/0 (anglais britannique) eng/1 (anglais américain) lat/0 (latin) spa/0 (espagnol castillan) ita/0 (italien) fin/0 (finnois) jpn/0 (japonais) ger/0 (allemand) oci/0 (occitan) Ceci permet, lorsqu'une nouvelle langue est définie, d'être certain qu'on peut lui trouver un identificateur unique. 2- Il faut choisir, pour chacune des nouvelles langues, le code qui permet, dans les paroles des chansons, de changer de langue. Par exemple, [!frnord] est le code de changement de langue correspondant à fre/0 3- Il faut donner le nom de la langue (en plusieurs langues) destiné à être listé dans le menu déroulant de choix de la langue dans la palette de Virtual Singer 4- Il faut définir les différents phonèmes à la norme SAMPA, et pour chacun de ces phonèmes, la liste des fragments phonétiques nécessaires à sa prononciation, ainsi qu'un exemple de mot dans la langue en question, utilisant ce phonème Si la nomenclature SAMPA n'a pas été établie pour cette langue, il faudra en choisir une par analogie avec d'autres langues 5- Si des phonèmes (fragments) particuliers n'existent pas encore dans la liste prédéfinie, il faudra les ajuster, et fournir les données correspondantes 6- Il faut, pour chaque langue, connaître la manière dont sont prononcées phonétiquement les lettres isolées (épelées). Par exemple, en français, A, Bé, Sé, Dé, Euh, Effe... 7- L'image du petit drapeau représentant cette langue dans la palette de Virtual Singer 8- Si le programme doit être capable d'identifier la langue en question à partir des paroles des chansons sans intervention de l'utilisateur, il faut une série de textes dans cette langue, destinés à alimenter le module de reconnaissance automatique. Nous allons donc probablement recontacter sous peu toutes les personnes qui ont proposé une nouvelle langue pour le script MyrScript "Autres langues", afin de leur demander de l'aide pour compléter les 8 points ci-dessus. Mais nous ne ferons cela qu'après avoir préparé l'intégration simple de nouvelles langues dans le programme. Cela nous est nécessaire pour être absolument certains des points dont nous avons besoin. |
|
|
by Olivier Guillion | | |
| |
|
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 | | | |
|
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 | | | |
|
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 | | | |
|
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 | | | |
|
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 | | | |
|
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 | | | |
|
|