La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

111/18/2010 F. Gaillard François Gaillard francois point gaillard à gmail point com Synthèse et reconnaisance de la parole avec Delphi.

Présentations similaires


Présentation au sujet: "111/18/2010 F. Gaillard François Gaillard francois point gaillard à gmail point com Synthèse et reconnaisance de la parole avec Delphi."— Transcription de la présentation:

1 111/18/2010 F. Gaillard François Gaillard francois point gaillard à gmail point com Synthèse et reconnaisance de la parole avec Delphi Delphi Speech

2 211/18/2010 F. Gaillard Agenda Vue densemble Synthese Dictee Contrôle RichEdit 4.1 Delphi Prism Delphi Speech

3 311/18/2010 F. Gaillard Architecture Delphi Speech Recognition Engines TTS Engines SAPI runtime Speech API Application

4 411/18/2010 F. Gaillard Un peu dhistoire (récente) Delphi Speech SAPI 5.1 Fin Inclus dans le Speech SDK v5.1. API + Moteurs de synthèse vocale (Mike and Mary) pour Windows XP. API + Moteur de reconnaissance v6 TRES amélioré pour Office 2003 (+ L&H Michael & Michelle) et Windows XP Tablet PC. SAPI Version spéciale de l'API spécialement pour Microsoft Speech Server. Support pour Speech Recognition Grammar Specification (SRGS) and SSML mark-up languages, fonctionnalités serveurs and performance. Speech Server inclus la v6 du moteur de reconnaissance desktop and la v7 du moteur serveur. SAPI 5.3 = Refonte majeure API incluse dans Windows Vista avec de nouveaux moteurs pour la reconnaissance (Version 8) and la synthèse (Anna). Reconnaissance vocale complètement intégrée dans l'OS => Speech SDK et APIs inclus dans le Windows SDK général. SAPI 5.4 Mise a jour pour Windows 7.

5 511/18/2010 F. Gaillard Synthèse Facile, résultat rapide –Bien pour «late binding» (pas besoin de Type Library) –Seulement besoin de quelques méthodes ou propriétés –Très amélioré dans Vista (SAPI 5.3), et Win7 (SAPI 5.4) Exemple dapplication avec très peu de code Attention au piège Vista (& Win7) Lecture en français avec Speech Server Application de lecture ReadAloud –Message derreur sonore –Lecteur –Jouer avec les paramètres et XML(SSML) Delphi Speech

6 611/18/2010 F. Gaillard Flags TTS SVSFDefault: pour utiliser les valeurs par defaut. – synthèse synchrone (outrepasser avec SVSFlagsAsync), – Sans purge des lectures en attente (outrepasser avec SVSFPurgeBeforeSpeak), – Interpréter le texte comme XML seulement si le 1er caractère est "<" (outrepasser avecSVSFIsXML ou SVSFIsNotXML), – Changements globaux XML volatiles entre les appels (outrepasser avec SVSFPersistXML) – Caractères de ponctuation silencieux (outrepasser avec SVSFNLPSpeakPunc). SVSFlagsAsync: Appels asynchrones. Rend la main immédiatement après la mise en file de la requête. SVSFPurgeBeforeSpeak: Purge toutes les requêtes en attente avant cet appel. SVSFIsFilename: Le texte passe en paramètre est un nom de fichier et non un texte à lire. Cest le fichier désigné dont le contenu est lu, pas la chaine elle-même. SVSFIsXML: Le texte entré est interprété comme XML. SVSFIsNotXML: Le texte entré nest pas interprété comme XML. SVSFPersistXML: Les changements globaux passés par XML persistent entre les appels. SVSFNLPSpeakPunc: Les caractères de ponctuation sont prononcés ("Voilà." devient " Voilà point"). SVSFParseSapi: Force interprétation XML comme MS SAPI. SVSFParseSsml: Force interprétation XML comme W3C SSML. SVSFParseAutoDetect: Auto-détection XML. Par défaut, si aucun de ces flags nest inclus. SVSFNLPMask: Flags utilisés par SAPI (et non pas le moteur de synthèse). SVSFParseMask: SVSFParseSapi|SVSFParseSsml SVSFVoiceMask: Masque SAPI 5.1 incluant tous les bits. Pour 5.3, il inclut aussi SVSFParseMask. SVSFUnusedFlags: Masque avec tous les bits non définis mis à 1. Delphi Speech

7 711/18/2010 F. Gaillard SAPI XML TTS Balises de contrôle détat de la Voix –Volume: (%) Spoken at volume level fifty. Spoken at volume level eighty from here. –Rate: (0: débit normal, >0 plus rapide, <0 plus lent) absspeed: fixe une valeur absolue speed: augmente ou diminue la vitesse –Pitch: (0: hauteur normale, >0 plus aigue, <0 plus grave) absmiddle: middle: –Emph: emphase pour une portion de texte boo ! –Spell: force la voix a épeler les texte These words should be spelled out. Note: emph and spell ne peuvent pas etre vides (pour la suite du texte) Pour Speech Server compatibilité, voir: Delphi Speech

8 811/18/2010 F. Gaillard SAPI XML TTS Balise dinsertion directe – Silence: insert un silence en ms – Bookmark: insert un marqueur dans le flux de sortie audio. Déclenche un événement dans lapplication lorsque le flux latteint. – Pron: insert une prononciation explicitée par des phonèmes hello world SYMExamplePhoneID -syllable boundary (hyphen)1 !Sentence terminator (exclamation mark)2 &word boundary3,Sentence terminator (comma)4.Sentence terminator (period)5 ?Sentence terminator (question mark)6 _Silence (underscore)7 1Primary stress8 Delphi Speech

9 911/18/2010 F. Gaillard SAPI XML TTS Delphi Speech American English Phoneme Table SYMExamplePhoneID 2Secondary stress9 aafather10 aecat11 ahcut12 aodog13 awfoul14 axago15 aybite16 bbig17 chchin18 ddig19 dhthen20 ehpet21 erfur22 eyate23 ffork24 ggut25 hhelp26

10 1011/18/2010 F. Gaillard Dictée Importer la Speech Type Library (plus pratique) Activer la reconnaissance vocale sur votre ordinateur Et lentrainer: Faites le tutorial! – Rapide – Amusant – Vraiment efficace Application Dictée: Comment remplir un Memo sans clavier en 10 lignes de code Delphi Speech

11 1111/18/2010 F. Gaillard Contrôle Définir une Grammaire Application Dictée (le retour) Comment contrôler votre Memo en moins de 10 lignes de code Delphi Speech

12 1211/18/2010 F. Gaillard RichEdit Meilleure compatibilité graphique Capacités vocales améliorées (go to start of sentence) unit ComCtrls; {$define richedit41} // FG. try to load enhanced RichEdit {$ifdef richedit41} RichEditModuleName = 'MSFTEDIT.DLL'; OldRichEditModuleName = 'RICHED20.DLL'; {$else} RichEditModuleName = 'RICHED20.DLL'; {$endif} {$ifdef richedit41} IsRichEdit41: Boolean; {$endif} NewRichEditClassName = 'RICHEDIT50W'; RichEditClassName = 'RICHEDIT20W'; {$ifdef richedit41} if IsRichEdit41 then CreateSubClass(Params, NewRichEditClassName) else {$endif} Delphi Speech

13 1311/18/2010 F. Gaillard Delphi Prism Project | add reference: System.Speech / Microsoft.Speech Uses: System.Speech.Synthesis / Microsoft.Speech.Synthesis Create a new SpeechSynthesizer – FVoice := new SpeechSynthesizer(); Set properties Rate and Volume – FVoice.Volume := Integer(edtVolume.Value); – FVoice.Rate := Integer(edtRate.Value); Speak – FVoice.SpeakAsync(richTextBox1.Text); Delphi Speech

14 1411/18/2010 F. Gaillard Autres infos Microsoft Speech Microsoft Speech API (SAPI) Mon blog Difference System.Speech.Recognition / Microsoft.Speech.Recognition e4d3f9b e4d3f9b8516 Delphi Speech François Gaillard Francois point gaillard à gmail point com


Télécharger ppt "111/18/2010 F. Gaillard François Gaillard francois point gaillard à gmail point com Synthèse et reconnaisance de la parole avec Delphi."

Présentations similaires


Annonces Google