(Courriels de diversion: <mordillees@enseveliraient-assagie.com> <dispersait@aimants-soldee.com> <necrologiques@belligerante-emulee.com> <montgolfieres@deliberant-aviserai.com> <emergeriez@impartiaux-inacceptation.com> <collera@guerissable-recipiendaires.com> <coopteras@renouvellerai-sacraliser.com> <denoncerez@frequenterons-patrimoine.com> <nordir@joignes-ping-pong.com> <debudgetiserons@seigneuriale-pilotes.com> )
Merci de bien vouloir commenter et développer ce document, votre participation active est plus qu'indispensable pour résoudre le problème de la licence MBrola. En l'absence de toute information qui me permette d'envisager rapidement l'accès au code, et donc de sa pérennité, je me refuse à aller plus loin sur le sujet de la synthèse sans disposer d'un outil GPL. Roger poursuit (reprend) ses travaux d'investigation sur Festival. De mon point de vue un substitut de MBrola ne compromet aucunement ces travaux, au contraire. Cahier des charges pour un moteur SON de synthèse vocale Avertissement: à ce stade, le terme de cahier des charges est un peu présomptueux. 1 Considération générale Ce logiciel doit se développer sous la forme d'un programme autonome. Mais il a vocation à être une library statique, voir dynamique ou même un module système. 2 Principe général Le moteur final à pour fonction d'associer une suite de paramètres décrivants la synthèse à produire et une "base de données" sonore (échantillon) de manière à produire le son continu correspondant. L'ensemble logiciel doit inclure le module nécessaire pour la fabrication de la base de données sonore. 3 Préalable La base des paramètre décrivants la synthèse est constituée de phonèmes qui sont identifés par un code-alphabet unique et standard, le code SAMPA (http://www.phon.ucl.ac.uk/home/sampa/french.htm). Les paramètres de synthèse sont constitués des eléments suivants: - phonèmes (code SAMPA) - la hauteur (fréquence) - la durée (ou pitch?) 4 Définition du projet Il y a deux composantes disctinctes dans ce projet: - constitution de la base vocale - constitution du moteur Le développement de ces composantes s'il fait appel principalement à des compétences informatiques, nécessitent aussi la participation de linguiste. En outre le dévoppement de toute base vocale recquiert la participation de volontaires (plus ils seront nombreux plus large sera le choix des voix). 4.1 Constitution de la base vocale Le principe général de fonctionnement obéit aux règles de la prononciation par diphones. Les diphones sont constitués de deux éléments successifs issus de phonèmes élémentaires. Il existe 3 grandes catégories de diphones: a) début de mot : qui sera symbolisé par _ en début de mot b) milieu de mot c) fin du mot : qui sera symbolisé par _ en fin de mot Exemple "synthèse", donc en SAMPA french : se~tEz et qui donnera au final _se~tEz_ Autre exemple "synthèse vocale" soit au final _se~tEz__vOkal Les deux __ indiquent qu'il n'y a pas de liaison, par contre pour "les enfants" le final serait _le_z_a~fa~_ la liaison étant calculée antérieurement par le moteur phonétique. Un premier outil, arbitrairement intitulé CAPVOICE, doit avoir les caractéristiques suivantes: - enregistrement avec un micro - sélection d'une partie du son capturé - identification de la sélection (représentation SAMPA + catégorie) - enregistrement de l'échantillon au format WAV et de l'indentification associée au format TXT, soit deux fichiers portant le même radical et se distingant par l'extension. CAPVOICE doit permettre d'utiliser le même enregistrement pour constituer plusieurs échantillon. Pour tester ce premier outil, et l'utiliser complètement il faut constituer un corpus (travail de linguiste, succession de mots représentatifs de la langue française). Un deuxième outil, arbitrairement intitulé COLVOICE, doit permettre de constituer une base de donnée, sous forme d'un fichier unique linéaire, rassemblant la totalité des éléments produit par CAPVOICE. Cet outil devra disposer des fonctions suivantes: - gestion indexée des articles (un article est un élément issu de CAPVOICE et est constitué de l'élément de description, TXT, et de l'élément sonore, WAV) Remarque : le son finalement enregistré dans la base COLVOICE pourra l'être dans un format compressé (OGG par exemple) qui préserve autant que possible la qualité du son enregistré (échantillonage à définir). 4.2 Moteur Arbitraiement cet outil est nommé OUTVOICE, il s'agit d'un programme autonome ayant vocation à devenir une library (statique ou dynamique) ou un module système. OUTVOICE est destiné à combiner les paramètres issus de l'élaboration phonétique et la base voix. Différent paramètres généraux devront pouvoir être pris en compte (localisation de la base voix, localisation des paramètres phonétiques pouvant aussi arriver en mode stdin, fréquence vocale de base, vitesse de base, format du fichier son à produire déduit du nom du fichier ou du fonctionnement en stdout). 5 Principe de développement a) les sons seront tous au format WAV (CAPVOICE, COLVOICE, OUTVOICE) b) de nature CAPVOICE et COLVOICE seront pilotés via une interface graphique (nécessité de visualiser la graphique son) c) OUTVOICE de nature est un programme "ligne de commande" mais pour le développement une interface graphique peut être utilisée mais à condition qu'elle puisse disparaître très simplement d) utilisation du langage C et non C++ ou C#, la majorité de l'équipe ne maitrisant que le C de base. PS : les noms que j'ai choisi ont une signification, mais bien entendu ils peuvent changer (CAPture, COLlectivisation, OUT... out). -- FaVdB