- Création de la langue Basque (euskara batua) dans Virtual Singer. Les règles de prononciation et les phonèmes ont été mis en place grossièrement. Nous recherchons des morceaux d'exemple, et attendons la réponse de chorales basques contactées par l'intermédiaire d'un utilisateur d'Harmony Assistant. - La prononciation du Grec a été améliorée, et les règles de prononciation du gamma nasal et du double gamma/ gamma-kappa ont été reprises sur les conseils avisés de notre référent Vassili. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons pu trouver des référents en Grec et en Roumain, qui ont vite (et bien) compris ce dont nous avions besoin. Ils nous ont fait parvenir des musiques d'exemple, qui complètent celles que Sylvain nous avait déjà transmises. Normalement, ces deux langues devraient donc être mises au point rapidement. Suite à un contact indirect, nous avons jeté un oeil sur la langue basque (euskara) et, si la langue elle-même semble complexe, sa prononciation est assez simple, et pourrait être mise en place sans trop d'effort. Le seul problème semble être les variations régionales (navarrais, souletin, biscayien...). A ce sujet, une comparaison amusante peut être faite ici. Si nous parvenons à trouver un référent motivé, mettre en place l'une des formes (peut-être le basque unifié euskara batua?) ne devrait pas poser de gros problèmes. |
|
|
by Olivier Guillion | | |
| |
|
Implémentation des langues encore manquantes (conversion des fichiers de Sylvain): le slavon , le serbe/croate/bosnien (si quelqu'un a une idée pour un drapeau qui représente les trois, on est preneurs) et le Romani (tsigane) Reste à compléter ce qui nous manque, c'est-à-dire pour chaque langue le triptyque locuteur natif / morceaux d'exemple / longs textes dans cette langue. Bon week-end ! |
|
|
by Olivier Guillion | | | |
|
Nous avons pu trouver un premier référent motivé pour le Catalan , donc nous avons mis les bouchées doubles sur cette langue. Une de ses particularités est d'avoir un accent tonique fort sur l'une de ses syllabes, les autres étant atones, et leurs voyelles altérées. Ceci se rencontre dans d'autres langues (par exemple le Russe), mais en Catalan, il y a des règles permettant de déterminer à coup sûr la syllabe accentuées, ce qui nous permet de nous passer de dictionnaire phonétique. Nous avons donc implémenté ces principes d'accentuation dans Virtual Singer, puis avons entré la totalité des règles de prononciation. Nous avons ensuite choisi dans la liste des phonèmes existants ceux qui, à l'oreille, semblaient correspondre le mieux, et avons créé les quatre ou cinq qui manquaient. Le premier essai (sur la chanson pour enfants "Baixant de la font del gat") a ainsi pu être réalisé. Il reste maintenant à corriger les erreurs et à tout ajuster. |
|
|
by Olivier Guillion | | | |
|
Nous continuons à améliorer les langues dans Virtual Singer. Nous avons ajouté le Macédonien (d'après le fichier phonétique original de Sylvain). Il y a relativement peu de locuteurs dans cette langue, ce qui rend difficile de trouver des sources de renseignements fiables. Le SAMPA n'a semble-t-il pas été normalisé pour le Macédonien, et nous n'avons pas pu trouver ni de pages Web expliquant en détail les règles de prononciation, ni de démo de voix synthétique autre que la voix robotique de Google Translate. Nous allons bientôt devoir lancer un appel pour trouver un locuteur natif de chacune des nouvelles langues de VS, qui soit en mesure de nous aider à vérifier/corriger/améliorer les prononciations. En particulier, il nous faudrait un référent natif pour le Catalan, qui pas encore implémenté (tout est à faire). Idéalement, il en faudrait aussi pour le Grec, le Portugais, le Turc, le Serbe, le Croate, le Roumain, le Romani, le Slavon (slave de l'église orthodoxe) et aussi, peut-être, l'Azéri, ou le Kazakh. |
|
|
by Olivier Guillion | | |
| |
|
Retour sur la langue néerlandaise dans Virtual Singer. Cette langue est plutôt complexe en matière de prononciation. Par exemple, il semble qu'il y ait quelques homonymes non homophones (mots qui s'écrivent de façon identique, mais ont une prononciation différente). En Français, on peut penser à "les poules du couvent couvent" ou "le président a les défauts de ceux qui président". En Néerlandais, ce serait plutôt: "Een", qui signifie "un", et "één" (les accents étant facultatifs, peut s'écrire "een") qui ne se prononce pas pareil, et qui signifie... "un". Deux mots qui s'écrivent pareil, se prononcent différemment, et veulent dire la même chose? Nous sommes restés interdits, à nous gratter la tête devant le traducteur automatique, jusqu'à ce que nous comprenons que le premier est l'article indéfini (le "a" anglais) , et le second le nombre ("one" en anglais). Pour que Virtual Singer prononce ces mots correctement, il faudra donc que l'utilisateur emploie la forme accentuée, afin de la différencier de l'autre. |
|
|
by Olivier Guillion | | | |
|
La gestion des jeux de caractères a été entièrement implémentée en import et en export MIDI. Nous nous sommes ensuite servis du module de détermination de langue de Virtual Singer pour permettre au programme de trouver automatiquement le jeu de caractère utilisé. Pour cela, il prend tous les textes du fichier MIDI importé, et les convertit en utilisant tour à tour chaque jeu. Il cherche alors la langue la plus probable et mémorise la probabilité maximale atteinte. Cela résulte en un couple langue/jeu de caractère le plus probable. En cadeau bonus, donc, nous connaissons la langue dans laquelle sont écrits les textes dans le fichier. Nous avons passé cet algorithme sur divers fichiers MIDI et Karaoké, en différentes langues et jeux de caractères, et la détermination a fonctionné à 100%. Nous avons ensuite retiré les jeux de caractères qui alourdissait inutilement la liste. Par exemple, les jeux EBCDIC, spécifiques aux calculateurs IBM depuis les années 50, avaient peu de chance d'être utilisés dans un fichier MIDI Nous avons donc conservé: - Les jeux Macintosh - Les jeux Windows - Les jeux MS/DOS - Les jeux ISO 8859 - Et quelques autres : UTF-8 bien sûr, Shift-Jis (Japonais), koi8-r (russe) et Atari ST, car il y avait des programmes de musique assez sympas sur cette machine, et une interface MIDI intégrée. Nous avons enlevé les jeux de la norme ISO 646, mais nous ne sommes pas certains que ce soit une bonne idée, ne sachant pas exactement quels systèmes s'en serv(ai)ent, et s'il y a(vait) des éditeurs MIDI sur ceux-ci. |
|
|
by Olivier Guillion | | | |
|
Un petit rappel de l'histoire de l'informatique Avant l'invention de l'Unicode, qui a normalisé un jeu de caractères étendu couvrant la quasi-totalité des langages contemporains, plus tout un tas d'autres choses (symboles, dessins, points et barres, etc), on était limité à 222 caractères. Cela peut paraître suffisant, mais on s'aperçoit vite que c'est trop peu pour coder l'ensemble des caractères qu'on peut trouver dans tous les alphabets différents autour du monde. Alors, à cette époque, les informaticiens se sont dit : une partie des caractères (les lettres latines, les chiffres et la ponctuation) seront communes à tous, mais en fonction de la langue de l'utilisateur, une partie du jeu de caractères (126 caractères) sera adaptée. Ainsi, le caractère n° 200 pourra correspondre à un i tréma pour les français, mais à un o barré pour les norvégiens. C'était une solution comme une autre, mais qui n'était pas sans problème. Impossible de mixer plusieurs langues, nécessité de connaître la langue (le jeu de caractères) pour afficher un texte, et limité à 126 caractères spécifiques, ce qui ne satisfaisait ni les Chinois, ni les Japonais. Si on ajoute à cela que chaque fabricant d'OS a conçu ses propres jeux, différents de celui du voisin, on comprend la galère pour le programmeur (et pourquoi les textes accentués Macintosh ne s'affichaient pas bien sur Windows). La norme MIDI n'a jamais supporté l'Unicode, et il semble que les concepteurs de la norme aient oublié qu'il y avait dans le monde utilisateurs non anglophones et des langues avec des accentués ou des caractères non latins. Les textes (noms de la partition, paroles...) sont stockées dans le fichier MIDI avec le jeu de caractères que vous voulez, mais le jeu choisi n'est pas indiqué dans le fichier ! Cela signifie que si vous chargez un fichier MIDI, vous devez savoir à l'avance quel jeu de caractère le concepteur a décidé d'utiliser. Jusqu'ici, Harmony Assistant supportait les jeux de caractère d'Europe de l'Ouest: Roman sur Macintosh, Codepage 1252 sur Windows, ou CodePage 437 sur MS/DOS. Tant pis pour les autres. Notre ami Tchèque Vaclav avait créé un programme pour changer le jeu de caractères des paroles après import MIDI, ce qui lui permettait d'importer des fichiers Karaoké en Tchèque, mais ce n'était pas pratique. Nous avons donc décidé d'étendre une bonne fois pour toute la gamme des jeux de caractères que nous reconnaissons. La prochaine version permettra donc d'importer des fichiers MIDI contenant des textes encodés selon les normes suivantes: Adobe ISOLatin1 Encoding Vector Adobe Standard Encoding Vector Adobe Symbol Encoding Vector Apple Macintosh Roman-Croatian Apple Macintosh Cyrillic Apple Greek extended for Macintosh Apple Macintosh Greek Apple Macintosh Roman-Icelandic and Faroese Apple Macintosh Roman Apple Macintosh Roman-Romanian Apple Macintosh Roman-Turkish Atari ST/TT Character Encoding Microsoft Windows Codepage 1250 (EE) Microsoft Windows Codepage 1251 (Cyrl) Microsoft Windows Codepage 1252 (ANSI) Microsoft Windows Codepage 1253 (Greek) Microsoft Windows Codepage 1254 (Turk) Microsoft Windows Codepage 1255 (Hebr) Microsoft Windows Codepage 1256 (Arab) Microsoft Windows Codepage 1257 (BaltRim) Microsoft Windows Codepage 1258 (Viet) MS-DOS Codepage 437 (US) MS-DOS Codepage 737 (Greek IBM PC) MS-DOS Codepage 775 (BaltRim) MS-DOS Codepage 850 (Multilingual Latin 1) MS-DOS Codepage 851 (Greece) - obsolete MS-DOS Codepage 852 (Multilingual Latin 2) MS-DOS Codepage 853 (Multilingual Latin 3) MS-DOS Codepage 855 (Russia) MS-DOS Codepage 857 (Multilingual Latin 5) MS-DOS Codepage 860 (Portugal) MS-DOS Codepage 861 (Iceland) MS-DOS Codepage 862 (Israel) MS-DOS Codepage 863 (French Canadian) MS-DOS Codepage 864 (Arabic) MS-DOS Codepage 865 (Norway) MS-DOS Codepage 866 (Russia) MS-DOS Codepage 869 (Greece) MS-DOS Codepage 874 (Thai) MS-DOS Codepage 895 (Kamenicky CS) DEC Multinational Character Set (DEC MCS) EBCDIC Codepage 037 EBCDIC Codepage 1026 (Turkish) EBCDIC Codepage 1047 EBCDIC Codepage 500 EBCDIC Codepage 875 (Greek) HP48 Character Encoding HP Roman-8 ISO/IEC 646:1991 French Canadian ISO/IEC 646:1991 Swiss ISO/IEC 646:1991 German ISO/IEC 646:1991 ISO/IEC 646:1991 Finnish ISO/IEC 646:1991 French ISO/IEC 646:1991 United Kingdom ISO/IEC 646:1991 (common for all ISO/IEC 646) ISO/IEC 646:1991 US ASCII ISO/IEC 646:1991 Italian ISO/IEC 646:1991 Dutch ISO/IEC 646:1991 Norwegian/Danish ISO/IEC 646:1991 Portuguese ISO/IEC 646:1991 Swedish ISO/IEC 8859-1:1998 Latin Alphabet No. 1 ISO/IEC 8859-10:1998 Latin Alphabet No. 6 ISO/IEC 8859-13:1998 Latin Alphabet No. 7 (Baltic Rim) ISO/IEC 8859-14:1998 Latin Alphabet No. 8 (Celtic) ISO/IEC 8859-15:1999 Latin Alphabet No. 9 ISO/IEC 8859-2:1999 Latin Alphabet No. 2 ISO/IEC 8859-3:1999 Latin Alphabet No. 3 ISO/IEC 8859-4:1998 Latin Alphabet No. 4 ISO/IEC 8859-5:1999 Latin/Cyrillic Alphabet ISO/IEC 8859-6:1999 Latin/Arabic Alphabet ISO 8859-7:1987 Latin/Greek Alphabet ISO/IEC 8859-8:1999 Latin/Hebrew Alphabet ISO/IEC 8859-9:1999 Latin Alphabet No. 5 koi8-r (Russian U*IX encoding) Microsoft Windows MS LineDraw NEXTSTEP Encoding Vector Microsoft Windows Symbol Encoding Vector TeX dcr input TeX dcr output Nous espérons que ce sera suffisant pour satisfaire tout le monde |
|
|
by Olivier Guillion | | | |
|
Une beta-version privée de PDFtoMusic Pro et Harmony Assistant est en train d'être mise à disposition, à l'attention des personnes qui nous aident à mettre au point les nouvelles langues de Virtual Singer. Jusqu'ici, nous leur faisions parvenir des fichiers MP3 de leurs morceaux, et par retour d'e-mail, ils nous expliquaient ce qui devait être corrigé. Grâce à cette version beta, ils pourront maintenant tester eux-mêmes le résultat. Et la nouvelle organisation des langues nous permettra assez facilement de leur faire parvenir la nouvelle version de la phonétisation, une fois que de nouveaux changements auront été effectués. A l'issue du week-end, si tout fonctionne convenablement, nous diffuserons une beta publique, afin que tout le monde puisse essayer ces nouvelles langues. |
|
|
by Olivier Guillion | | |
| |
|
Ca y est, nous avons pu collecter un nombre suffisant de textes pour obtenir une précision suffisante dans la détermination automatique de la langue. Cela peut encore être amélioré en ajoutant de nouveaux textes, mais les premiers essais nous donnent déjà satisfaction. Nous avons encore amélioré l'Hébreu, le Bulgare et le Vietnamien (la langue la plus problématique en matière de prononciation). Nous arrivons, sur ces langues, aux limites de ce que nous pouvons réaliser par nous-même avec simplement des contacts par e-mail avec les natifs. Nous nous activons donc pour proposer rapidement une version beta d'Harmony Assistant et de PDFtoMusic contenant les nouvelles langues. Les natifs pourront alors les essayer avec les chansons ou les mots qu'ils désirent, et écouter par eux-mêmes le résultat. |
|
|
by Olivier Guillion | | | |
|
|