1. VOXYGEN
EXPRESSIVE SPEECH SERVER
Mars 2013 (1.2)
1
2. SOMMAIRE
Présentation de l’EXPRESSIVE SPEECH SERVER
Architecture et intégration
Fiche technique
Pics de trafic et tolérance aux pannes
Politique tarifaire
Questions fréquentes
Contacts
2
4. Présentation de l’EXPRESSIVE SPEECH SERVER
Avec l’EXPRESSIVE SPEECH SERVER Vous disposez d’une solution
de VOXYGEN, vous maîtrisez totalement performante, fiable et évolutive. Votre
votre serveur de synthèse vocale, pour serveur s’adapte à l’augmentation de votre
répondre à l’ensemble de vos besoins les trafic, absorbe les pics de charges
plus spécifiques. ponctuels et résiste aux pannes
SVIs, vocalisation sur les Disponible 24h/24 - 7j/7, votre
terminaux serveur utilise des voix
mobiles, accessibilité des expressives et délivre des
sites web, sonorisation… les messages vocaux de haute
voix optimisées pour votre qualité pour améliorer
métier sont le complément l’expérience des utilisateurs.
idéal de votre serveur
Vous bénéficiez des dernières Notre équipe support est à votre
améliorations du serveur et des voix entière disposition pour
pour rester à la pointe de l’innovation. Au installer, configurer et démarrer votre
besoin, nos experts techniques serveur. Nous accompagnons le suivi de
collaborent avec vos équipes pour son exploitation pour adapter votre
personnaliser votre serveur. configuration à vos nouveaux besoins
4
8. Fiche technique (1)
Préconisations matérielles et logicielles
Compatible avec le jeu d’instructions de l’Intel 8086 (x86).
Processeur 32 bits.
64 bits.
35 Mo sur le disque dur pour les fichiers exécutables.
800 Mo sur le disque dur pour chaque voix.
Mémoire 1 à 10 Go sur le disque dur pour les logs (selon les usages).
Idéalement un volume de mémoire vive suffisant pour contenir les
exécutables et les données de l’ensemble des voix.
La virtualisation de l’environnement d’exploitation est supporté.
Virtualisation
Testé avec VMWare et VirtualBox.
Avec un processeur mono-coeur cadencé à 3 GHz le serveur est en
mesure de traiter de manière simultanée 18 flux de synthèse vocale.
Performances
Les performances augmentent de manière linéaire avec la puissance
de calcul du processeur.
Linux RHEL 5 (ou CentOS équivalent), Linux DEBIAN 6 (ou Ubuntu
équivalent).
Systèmes L’utilisation d’un système d’exploitation 64 bits nécessite d’installer des
d’exploitation librairies de compatibilité 32 bits.
Windows Server 2003, Windows Server 2008.
8
9. Fiche technique (2)
Formats d’entrée et de sortie
Protocole normalisé MRCP v. 1 et 2.
Protocoles
Protocole propriétaire TCP (SYNTSERVER) documenté.
Clients SYNTSERVER en C, Java et Python inclus.
Programmation Conformité SSML v. 1.0 et 1.1.
Métadonnées de synchronisation avec la lecture.
Ressources Lexique de prononciation au format PLS.
Fréquence d’échantillonnage de 6 à 48 KHz.
Numérisation sur 16 bits.
Compression possible en G.711 (8 bits / loi A / loi mu).
Audio Production de fichiers au format WAV.
Compression MP3 ou Ogg/Vorbis possible sous réserve d’installer les
progiciels tiers correspondants (LAME ou Xiph).
Diffusion en flux (sauf pour le format WAV).
9
11. Pics de trafic et tolérance aux pannes
Capacité de production + Absorbtion des pics + Tolérance aux
nominale… de charge (x1,5)… pannes (100%)
Machine A Machine B Machine A Machine B Machine A Machine B
Port TTS standard
= Burst garanti
Port TTS burst
+ over burst : x3
(hors panne)
Port TTS backup
11
13. Politique tarifaire
L’unité tarifaire est le port TTS.
Unité Un port TTS est occupé de la réception de la requête à la fin de la
durée du contenu audio généré.
Configuration Nombre minimum de ports TTS : 4 ports TTS standard.
minimale Nombre minimum de voix : 1 (au choix).
L’ensemble des ports TTS standard acquis assurent la capacité de
Port TTS standard production nominale de l’EXPRESSIVE SPEECH SERVER.
Le prix d’un port TTS standard supplémentaire est fixe.
Tout dépassement de la capacité de production nominale déclenche
l’utilisation des ports TTS burst.
Le prix d’un port TTS burst est une fraction du prix d’un port TTS
Port TTS burst
standard.
Toute utilisation d’un port TTS burst dans le courant d’une journée est
facturé 1/365 eme du prix d’un port TTS standard.
Le prix d’un port TTS backup est une fraction du prix d’un port TTS
standard.
Port TTS backup
La somme des ports TTS standard et backup utilisés doit rester
inférieur ou égale au nombre total de ports TTS standard acquis.
La maintenance annuelle comporte la correction d’éventuelles
anomalies ainsi que l’accès aux nouvelle versions.
Maintenance
Le prix de la maintenance est une fraction du prix total d’acquisition de
l’EXPRESSIVE SPEECH SERVER.
13
15. Questions fréquentes (1)
Question : quelles sont les dépendances avec le système d’exploitation ?
Les seuls dépendances liées au système d’exploitation sont les fonctions
Réponse : d’accès aux fichiers, la gestion des threads et l’accès aux sockets TCP.
L’EXPRESSIVE SPEECH SERVER est indépendant de tout autre progiciel.
Question : que se passe-t-il en cas d’arrêt imprévu du serveur TTS ?
Un programme connexe se charge de surveiller le bon fonctionnement du
Réponse :
serveur et le relance en cas d’arrêt accidentel.
Question : comment gérer la repartition de charge ?
Un répartiteur de charge tel que HAProxy peut être intégré entre le serveur
MRCP et les instances de TTS Core.
Réponse :
Le répartiteur de charge permet de solliciter l’ensemble des TTS Core
disponibles, qui peuvent être sur différentes machines.
Question : est-il possible d’ajouter une voix « à chaud » ?
Cette procédure est techniquement possible, mais nous recommandons de ne
Réponse : pas l’utiliser car cet ajout peut aboutir à une modification du numéro d’ordre des
voix, modifiant ainsi la voix par défaut.
15
16. Questions fréquentes (2)
Question : quelle est la durée de traitement pour générer un flux TTS ?
Réponse : Le ratio durée de traitement / durée de lecture est de l’ordre de 1/20.
Question : le protocole MRCP v. 1 utilise-t-il RTCP ?
Réponse : Non.
Question : le protocole MRCP v. 2 utilise-t-il RTCP ?
Notre implémentation du protocole MRCP v. 2 repose sur UniMRCP, qui est en
mesure d’envoyer du RTCP.
Réponse :
A ce jour nous n’avons pas utilisé cette possibilité.
Pour une exploitation industrielle nous recommandons l’utilisation de MRCP v. 1.
Question : l’ajout de paramètres vendor-specific est-il possible dans MRCP ?
Les paramètres vendor-specific dans les entêtes MRCP sont ignorés.
Pour associer une information à un texte à synthétiser, le client MRCP peut
Réponse : insérer des balises de type marker (SSML) dans le texte.
Quand une balise de ce type est traitée par le serveur, le client MRCP reçoit un
événement SPEECH-MARKER avec la valeur du marqueur.
16
17. Questions fréquentes (3)
Question : quid de la compatibilité avec le gestionnaire de ressource GVP 8 ?
GVP 8 gère les ressources TTS par l'intermédiaire du composant Media Control
Platform (MCP).
MCP utilise un client MRCP pour dialoguer avec les ressources TTS.
Le client MRCP est disponible en v1 (sur RTSP) et en v2 (sur SIP/SIPS).
Le serveur MRCP de l’EXPRESSIVE SPEECH SERVER est compatible avec les
MRCP v1 et v2 (avec une préférence pour v1 dans un contexte industriel).
GVP 8 dispose également d'un MRCP Proxy.
Réponse : Le MRCP Proxy se place entre le MCP et les serveurs MRCP (mais uniquement
v1).
Ce dispositif permet de disposer au sein de GVP 8 du rapport d'activité des
ressources TTS et ASR, dont le suivi des pics de charge.
Le MRCP Proxy réalise un load balancing entre les ressources (round-robin) et
suit leur état.
Le MRCP Proxy est également en mesure de gérer des configurations
active/standby.
Par défaut, nous recommandons l'usage du MRCP Proxy de GVP 8.
17
18. Questions fréquentes (4)
Question : comment sont gérées les pauses de ponctuation ?
Pour la gestion des pauses lors de la vocalisation, deux options sont possibles…
Avec l'option "punctuation only" activée, notre synthèse vocale respecte
scrupuleusement la ponctuation du texte. C'est le meilleur moyen d'obtenir une
synthèse de qualité, sous réserve de disposer d'un texte bien rédigé.
Bien souvent le système de synthèse vocal est confronté à du texte libre dont la
qualité de ponctuation est variable. Le moteur est alors capable d'inclure des
Réponse : pauses au regard de son analyse syntaxique de chaque phrase pour améliorer la
qualité du rendu. C'est le fonctionnement par défaut de l'EXPRESSIVE SPEECH
SERVER.
Le fichier de configuration du serveur permet d'activer ou non cette option selon
les voix. On peut ainsi disposer dans la même configuration de deux versions
d'une même voix, avec et sans l'option "punctuation only", que l'on choisira selon
la nature du texte fourni en entré et le résultat souhaité.
18
19. Questions fréquentes (5)
Question : est-il possible de spécifier des exceptions de prononciation ?
L’ensemble des exceptions de prononciation d’un mot ou d’un groupe de mots
sont décrites au sein d’un lexique (fichier texte éditable dont le contenu est au
format XML).
La gestion de la casse et des accents est prise en compte, les liaisons sont
paramétrables, le type de mot est précisé (verbe, nom commun…).
L’EXPRESSIVE SPEECH SERVER comporte un lexique interne traitant, par
exemple, un grand nombre de noms propres et de sigles, en faisant la différence
entre ceux qui doivent êtres épelés (ANPE) et ceux qui doivent être prononcés
(MACIF).
Ci-desssous un exemple d’une entrée du lexique :
Réponse :
<lexeme role="vox:NP...." vox:opt="id”>
<grapheme>Épinoy</grapheme>
<phoneme>EI"PINWA</phoneme>
</lexeme>
Légende : Catégorie syntaxique (ici un Nom Propre),
Tolérance à la casse (ici activé par "i"),
Tolérance aux accents (ici activé par "d”),
Le mot traité se trouve dans la balise grapheme,
La prononciation souhaitée se trouve dans la balise phoneme.
19
20. Contacts…
Ludovic CAZOR
ludovic.cazor@voxygen.fr
mobile : +33 638 979 480
Sébastien MURY
sebastien.mury@voxygen.fr
mobile : +33 647 821 950
Lene KRUSE
lene.kruse@voxygen.fr
mobile : +33 684 972 085
20