La synthèse vocale de studyvox

Le répertoire gramdyna contient la commande winmain.exe, qui permet de lire des fichiers textes avec une synthèse vocale.

gramdyna.ini et les paramètres d'environnement

winmain.exe utilise le fichier gramdyna.ini, pour initialiser les paramètres d'environnement.

Ces paramètres permettent de choisir le fichier de lecture, de choisir des séparateurs de mots et d'indications, des modes de lecture... La syntaxe pour définir un paramètre d'environnement est :

mot-clef=valeur Les mot-clefs sont : chembase listesep listeind ficlec isel imode ivoix iparle ilang ipos iligne ipage Les valeurs sont des chaînes de caractères ou des valeurs numériques entières. La signification des mot-clefs est clairement donnée par le mot réservé. Par exemple, ficlec=lisez.txt définit le fichier de lecture, dont le nom est lisez.txt Le mot réservé chembase permet de définir le chemin du répertoire de base, dans lequel seront recherchées les données des langues choisies.

Les séparateurs de listesep servent pour la lecture des formules. On y place en général des ponctuateurs et des symboles pour définir la séparation des mots. Pour les mathématiques, on placera dans cette liste, les symboles ()[] et les symboles grecs Les séparateurs pour les indications que l'on place dans listeind, sont en général £ # ~mais on peut ajouter d'autres symboles, si besoin est

Consultez le répertoire dynakit, pour plus de détails sur l'usage des indications associées aux données mci Les mot-clefs dont le nom commence par la lettre i ont des valeurs entières. isel=0 clavier isel=1 fichier imode=0 texte imode=1 chiffre texte imode=2 dictée imode=4 formule imode=5 caractère imode=6 caractère de la rubrique courante. imode=7 synthèse par mots imode=8 synthèse par mots de la rubrique courante ivoix entre 30 et50 de préférence, hauteur de la voix

le paramètre ilang et les répertoires de langues

ilang=0 français ilang=1 espagnol ilang=2 italien ilang=3 anglais ilang=4 musique ilang=5 allemand ilang=6 mathématiques ilang=7 arabe ilang=8 langue personnelle Les langues sont associées à des sous-répertoire du répertoire de base, qui doivent obligatoirement avoir les noms suivants : studyvox pour le français, espavox pour l'espagnol, italivox pour l'italien musivox pour la musique, germavox pour l'allemand, mathvox pour les mathématiques arabivox pour l'arabe, vox pour la langue personnelle Ces répertoires contiendront les données sonores adaptées à la langue concernée.

Le paramètre iparle et la lecture synchrone ou asynchrone

iparle=0 muet iparle=1 mode synchrone iparle=2 mode asynchrone imode=3 mode concaténé Le mode concaténé est exécuté en mode asynchrone. En mode asynchrone, on peut arrêter le son en exécutant un nouveau son. Ce mode peut être intéressant, pour permettre de parcourir rapidement des documents sonores, en lecture ligne par ligne.

On peut placer facilement des définitions pour les paramètres d'environnement, dans n'importe quel fichier texte, comme cela est fait dans le fichier gramdyna.ini Ceci permet une grande diversité, pour la lecture sonore des données.

Lors de la lecture sonore des lignes d'un fichier, les paramètres sont définis sans que l'on s'en aperçoive, puis la lecture sonore s'effectue avec les valeurs courantes. On peut définir ces valeurs, n'importe où dans le fichier, mais on n'écrira qu'une affectation par ligne

Les fichiers demo.txt et essai.txt donnent des exemples d'utilisation dans les différents modes.

Les fichiers grampho.wav et grampho.ind pour la banque de phonèmes

Pour fonctionner correctement, la commande winmain.exe doit trouver dans le répertoire où elle se trouve, les fichiers grampho.wav et grampho.ind Ces fichiers contiennent la banque des phonèmes, et les indications nécessaires, pour retrouver ces phonèmes.

Le fichier listewav.ind contient le nom des phonèmes de la ba banque grampho.wav, dans l'ordre où ils sont rencontrés.

Vous pouvez créer votre source de phonèmes personelle, mais pour cela vous devez obligatoirement utiliser les noms conventionnels, que vous trouverez dans listewav.ind Le moteur de synthèse utilise en effet ces noms pour la synthèse sonore. Pour construire votre banque personnelle grampho.wav et les indications grampho.ind, consultez le tutoriel sur dynakit, qui vous expliquera comment utiliser des outils comme wavind.exe, qui vous aideront à construire ces fichiers très simplement

Le moteur grammatical et l'assemblage des phonèmes

Un moteur grammatical transforme les phrases, en une suite de phonèmes, qui sont alors traités par la carte sonore.

Ces phonèmes peuvent être prononcés au fur et à mesure, ou être assemblés pour être lus par la carte une fois assemblés. L'assemblage peut faire intervenir d'autres sources .wav, qui peuvent correspondent à des fichiers sonores de plusieurs répertoires.

Le sous-répertoire wav pour la lecture des formules

Le ssous-répertoire wav du répertoire de base, contient les .wav qui sont utilisés dans le mode formule.

On peut y trouver des échos sonores pour les fonctions mathématiques, pour les mot-clefs comme fichier, clavier... On peut ajouter dans ce répertoire, toute source .wav que l'on aimerait utiliser pour des lectures spécifiques, en mode formule.

Les .wav des répertoires de langue

Les .wav placés dans les sous-répertoires de langue, de noms studyvox, musivox, mathvox, vox... sont utilisés en mode caractères ou en mode synthèse par mots.

Le nom des .wav pour les caractères doivent correspondre à leur code ASCII

Enfin, vous pouvez placer des .wav dans le répertoire ou se trouve winmain.exe, pour les utiliser en mode caractère ou synthèse par mots, de la rubrique courante Vous pouvez personnaliser tous ces .wav selon vos besoins, ou utiliser le sous-répertoire de nom vox, pour créer entièrement une langue personnelle.

Codage et décodage des caractères ASCII et ISO

On trouve dans gramdyna, les fichier listechar.prv et listecode.prv

Ces fichiers sont indispensables pour la lecture correcte des caractères accentués pour DOS et pour windows. Ils permettent le décodage entre les caractères ASCII et la norme iso

Vous pouvez créer par vous-même un codage quelconque, en plaçant dans ces fichiers, un jeu de caractère et le jeu des caractères codés. Pour cela, écrivez simplement les uns à la suite des autres, les caractères originaux dans listechar.prv, et la liste des caractères qui les remplaceront, dans listecode.prv

La programmation d'un synthétiseur vocal pour le français

retour au sommaire de gramdyna