mercredi 1 octobre 2003

La synthèse par sélection d’unités dans une grande bases de données

On assiste depuis quelques années à un important bouleversement, avec l’arrivée de techniques de sélection d’unités dans une grande base de données.
Plutôt que de garder qu’un exemplaire de chaque diphone de la langue, on puise ici dans plusieurs heures de parole, préalablement segmentée phonétiquement.
Au moment de choisir les segments à mettre en oeuvre (souvent des diphones), plusieurs instances d'une même unité phonétique sont alors disponibles, avec des prosodies différentes et positionnées (dans le corpus) dans des contextes phonétiques différents.
Il faut donc, pour réaliser au mieux la synthèse, choisir les segments dont le contexte est le plus proche de la chaîne phonétique à synthétiser, dont la prosodie se rapproche également le plus de la prosodie à produire, et dont les extrémités ne présentent pas trop de discontinuité spectrale l'une par rapport à l'autre.
On procède donc en général par programmation dynamique (algorithme de Viterbi) dans le treillis des segments utilisables, de façon à minimiser un coût de synthèse global, qui tient
compte : du coût de représentation (dans quelle mesure les segments choisi correspondent-ils au contexte phonétique et prosodique dans lequel on les insère?) et d'un coût de concaténation (dans quelle mesure la juxtaposition des segments choisis amène-telle des discontinuités ?).


Sélection d’un exemplaire de diphone (unité i) pour représenter le diphone cible (j) et coûts afférents

Ces techniques ont permis récemment de produire de la parole dont l’intelligibilité et le naturel rendent possible la confusion avec une prononciation humaine.
Elle impliquent cependant un accès très rapide à plusieurs Goctets de données.
On constate donc qu’en synthèse de parole, la technologie a évolué d’une approche basée sur des
modèles (règles) vers une approche basée sur des exemples (diphones). Le paradigme gagnant semble être celui qui laisse le dernier mot aux données.