Maison > Article > développement back-end > Application de XML à la synthèse vocale
Internet et tout ce qui s'y rapporte semble être partout ces jours-ci. Vous avez peut-être reçu un appel vocal d'un télévendeur de nuit ou reçu une notification d'ordonnance de votre pharmacie locale. Il existe désormais une nouvelle technologie qui peut utiliser la synthèse vocale combinée à la technologie XML pour transmettre des informations vocales.
La méthode de transmission d'informations par la voix n'est pas une nouveauté. C'est une méthode de communication que nous utilisons depuis des milliers d'années. Et recevoir des appels téléphoniques depuis un ordinateur n’a rien de nouveau. De nombreuses technologies vocales sont désormais populaires, depuis les télécopieurs et les numéroteurs automatiques jusqu'aux systèmes de réponse vocale intégrés (IVR). Le téléphone est bien entendu son application la plus courante.
Les systèmes vocaux traditionnels utilisent des échantillons, des dictionnaires et des phonèmes préenregistrés pour créer les sons que nous entendons. Cependant, l’utilisation de cette approche préenregistrée pose de nombreux problèmes. L’un des problèmes les plus courants est le manque de cohérence et de variété. S’il n’existe qu’une seule version enregistrée du discours, avec un seul échantillon de chaque mot ou son, il est difficile de faire en sorte qu’un ordinateur produise des questions avec une intonation différente de celle des phrases déclaratives ordinaires. Il est tout aussi difficile de faire savoir à un ordinateur quand utiliser une certaine intonation ou quelle intonation prononcer.
Pour aider à résoudre les problèmes de synthèse vocale, le W3C a créé une nouvelle version de travail pour le langage de balisage de synthèse vocale. Ce nouveau vocabulaire XML permet aux développeurs de navigateurs vocaux de contrôler la manière dont un synthétiseur vocal est créé. Par exemple, les développeurs peuvent inclure des commandes dans le volume et les utiliser lors de la synthèse de modèles vocaux.
La spécification SSML est basée sur un premier travail de recherche de Sun appelé jspeeck Markup Language (JSML). JSML est basé sur le langage de balisage Java Speech API. SSML est désormais un document de travail du groupe de travail sur la recherche vocale du W3C.
L'objectif fondamental du langage SSML est un processeur de synthèse vocale (Text-To-Speech pour faire court TTS). Un moteur TTS prend une collection de texte et la convertit en parole. Il existe déjà plusieurs applications TTS, telles que les systèmes de réponse téléphonique par synthèse vocale, ainsi que des systèmes plus avancés destinés aux personnes aveugles, etc. L'incertitude inhérente à la prononciation d'une collection de textes spécifique est l'une des principales difficultés rencontrées par les systèmes TTS existants. D'autres problèmes courants se concentrent sur la prononciation de parties du discours telles que les abréviations de mots (comme HTML) et les mots avec des orthographes et des prononciations différentes (comme une assignation à comparaître).
Les éléments de base du langage SSML précisent le format du texte. Par exemple, par rapport au HTML, le langage SSML fournit un élément paragraphe et va plus loin. Parce qu'il fournit également des éléments de phrase. En spécifiant l'adresse d'une phrase comme un paragraphe, y compris l'adresse de début et l'adresse de fin, le moteur TTS peut générer la parole avec plus de précision.
En plus du format de base, SSML fournit également des fonctions pour spécifier comment envoyer un mot ou un ensemble de mots prédéterminé. Cette fonctionnalité est implémentée par l'élément "say-as". C'est un composant très utile dans SSML. Il vous permet de spécifier un modèle décrivant comment prononcer un mot ou un ensemble de mots. Avec « say-as », nous pouvons spécifier comment prononcer les mots abrégés, ainsi que spécifier la prononciation des mots qui sont orthographiés différemment de leur prononciation. Nous pouvons également lister les différences entre les nombres et les dates. L'élément « say-as » inclut la prise en charge des adresses e-mail, des devises, des numéros de téléphone, etc.
Nous pouvons également fournir une expression phonétique pour le texte. Par exemple, nous pouvons utiliser cette méthode pour souligner la différence de prononciation du mot pomme de terre entre l’anglais américain et l’anglais britannique.
Plusieurs attributs avancés du langage SSML peuvent nous aider à faire en sorte que le système TTS génère des sons plus humains. Nous pouvons utiliser l'élément « voix » pour spécifier une voix masculine, féminine ou neutre, et nous pouvons également préciser l'âge auquel appartient la voix. Nous pouvons utiliser cet élément pour spécifier n'importe quel son, depuis un garçon de 4 ans jusqu'à une femme de 75 ans.
Nous pouvons également utiliser l'élément "emphase" pour entourer le texte qui doit être souligné ou qui est moins important. Nous pouvons également utiliser l'élément "break" pour indiquer au système où le discours doit s'arrêter.
L'une des fonctionnalités les plus avancées du langage SSML se reflète dans son élément "PRosody". Grâce à lui, nous pouvons générer le discours d'une certaine collection de textes d'une manière spécifiée. Nous pouvons spécifier l'intonation, la tessiture et la vitesse de parole de la voix (mots par minute). Nous pouvons même spécifier quelque chose de plus détaillé en utilisant l'élément "contour". L'élément « contour » intègre l'intonation et la vitesse de parole. En spécifiant la valeur de l'élément « contour » d'une collection de textes, nous pouvons définir plus précisément comment la parole est générée.
Ce qui précède est le contenu de l'application de XML dans la synthèse vocale. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !