Microsoft Speech API en Delphi12/09/2003
Par
Yoann Cet article a pour but de montrer l'utilisation de Microsoft Speech API en Delphi 1. Présentation 2. Installation 3. Obtenir de l'aide sur Microsoft Speech API 4. La méthode Speak 5. Faire lire un texte par un ordinateur 6. Faire lire un texte par un ordinateur avec des balises XML
Microsoft Speech API (également appelé SAPI) est basée sur l'Alphabet Phonetique International (API, en anglais IPA, International Phonetic Alphabet). Microsoft a développé cette technologie pour la reconnaissance vocale et la synthèse de la parole. L'avantage de SAPI est sa compatibilité avec toutes les cartes son fonctionnant sous Windows. SAPI permet à partir de Delphi, de créer un programme utilisant la parole. Vous pourrez par exemple faire parler l'ordinateur ou lancer une application lorsque vous dites un certain mot grâce à un microphone.
Pour installer Microsoft Speech API version 5.0 (il existe une version 5.1), voici la marche à suivre. Selon, les systèmes d'exploitation Windows, vous devez télécharger Microsoft Speech API (version 5.1, 68 Mo). Pour Windows XP, Microsoft Speech API version 5.0 est déja installé (vous pouvez mettre à jour en installant la version 5.1). Allez dans le menu "Projet" de Delphi puis sur "Importer une bibliothèque de types...".
Choisissez dans la liste "Microsoft Speech Object Library (Version 5.0)". Puis, vérifier que la case "Générer le Wrapper de composant" est coché pour que. Ensuite, cliquez sur le bouton "Installer...". Par défaut, les composants seront dans l'onglet "ActiveX" de la palette de composants de Delphi. L'unité qui sera crée s'appellera "SpeechLib_TLB.pas". La fenêtre "Installation" apparait alors. Cliquez sur le bouton "OK" pour installer Microsoft Speech API dans le paquet. Ensuite, une fenêtre vous informe que le paquet va être construit puis compilé. Cliquez sur "Oui". Une fenêtre apparait vous indiquant les composants qui ont été installé. Pour terminer, enregistrez les modifications du paquet (lorsque vous cliquez sur petite la croix de la fenêtre "Paquet", on vous demande si vous voulez enregistrer les modifications, cliquez sur "Oui"). Microsoft Speech API est maintenant installé. Pour le vérifier, allez dans la palette de composants de Delphi sur l'onglet "ActiveX". Vous pouvez remarquer qu'il y a 19 composants en plus dont le composant "TSpVoice". A noté également, qu'il est possible d'utiliser Microsoft Speech API sans l'installer dans Delphi grâce à l'OLE (Object Linking & Embedding).
Pour obtenir de l'aide sur Microsoft Speech API, vous pouvez vous rendre sur le site de Microsoft pour télécharger le fichier d'aide au format CHM.
Pour faire parler l'ordinateur, on utilise la méthode "Speak" du composant "TSpVoice" que vous trouverez dans l'onglet "ActiveX" de la palette de composants de Delphi.
Cette méthode contient deux paramètres : - Le premier paramètre permet de faire lire le texte "Bonjour" par l'ordinateur. - Le deuxième paramètre "SVSFDefault" permet de lire le texte de manière synchrone. Pour le deuxième paramètre, vous pouvez mettre la lecture de façon asynchrone avec "SVSFlagAsync". Par la suite, vous verrez les différence entres ces deux modes (il existe aussi d'autres modes).
L'exemple d'utilisation est un programme qui permet la lecture d'un texte par l'ordinateur. Il permet également d'obtenir la phonétique de ce texte.
Ajouter trois composants TGroupBox, deux TMemo, deux TTrackBar, quatre TLabel, un TButton et un TSpVoice. Disposez ses composants comme l'image ci-dessus. Pour commencer, on peut par exemple régler le volume sonore (par défaut à 100) ansi que la vitesse de lecture (par défaut à 0). Ensuite, on utilise la méthode "Speak" du composant "TSpVoice" que l'on a évoqué précédemment.
Lorsque l'ordinateur va lire un mot du texte contenu dans "Memo1", on sélectionne alors ce mot.
Ensuite, on doit ajouter l'unité "ActiveX" au programme car l'événement "OnPhoneme" utilise "TOleEnum". On récupère grâce au fichier d'aide CHM la phonétique de la langue anglaise. Puis, il suffit d'ajouter dans le "Memo2" la phonétique qui est en tain d'être lu par l'ordinateur.
Comme vous pouvez le remarquer, la voix de l'ordinateur a une voix avec un certain accent anglais. Télécharger le programme [8 Ko]
En réalité, les balises XML permettront pendant la lecture d'effectuer quelques opérations sur la tonalité de la voix comme par exemple le volume ou la vitesse de lecture.
Ajoutez un composant TGroupBox, TMemo, TButton et TSpVoice. Disposez ses composants comme l'image ci-dessus. Pour réaliser cela, il suffit juste de connaitre quelque balise comme par exemple "<VOLUME>" ou "<RATE>" et de les insérer dans le texte que l'on veut faire lire par l'ordinateur.
On peut remarquer que le second paramètre de la méthode "Speak" est cette fois-ci "SVSFIsXML". Cela signifie que le texte contient des balises qu'il faut prendre en compte. Télécharger le programme [5 Ko]
Ce document est issu de http://www.developpez.com
et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. |
Copyright © 2000-2012 - www.developpez.com