Utilisation de SpeechAPI [Résolu]

chrishack 12 Messages postés jeudi 19 juillet 2007Date d'inscription 3 avril 2008 Dernière intervention - 14 mars 2008 à 09:23 - Dernière réponse : Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention
- 14 mars 2008 à 14:01
Je voudrais savoir comment utiliser la voix Scansoft Virginie Dri40 dans mon programme vb6 pour le faire parler.
J'ai déjà téléchargé la voix et même testée dans la console voix du panneau de config de xp. Mais je sais pas comment faire pour l'utiliser dans mon programme.

SVP...........
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_loulou69 672 Messages postés mercredi 22 janvier 2003Date d'inscription 2 juin 2016 Dernière intervention - 14 mars 2008 à 11:35
3
Merci
Bonjour

Si VB6 dans le fichier projet ajouter la référence

Reference=*\G{EEE78583-FE22-11D0-8BEF-0060081841DE}#1.0#0#C:\WINDOWS\system32\Xvoice.dll#Microsoft Direct Speech Synthesis

Private Sub
Form_Load()

Const SPF_ASYNC = 1
Const SPF_DEFAULT = 0
Const SPF_IS_FILENAME = 4
Const SPF_IS_NOT_XML = 16
Const SPF_IS_XML = 8
Const SPF_NLP_MASK = 64
Const SPF_NLP_SPEAK_PUNC = 64
Const SPF_PERSIST_XML = 32
Const SPF_PURGEBEFORESPEAK = 2
Const SPF_UNUSED_FLAGS = -128
Const SPF_VOICE_MASK = 127

Dim ISpeechVoice as Object
Set ISpeechVoice = CreateObject("SAPI.SpVoice")
Call ISpeechVoice.Speak(TextString, SPF_DEFAULT)

   ISpeechVoice.Speak("Je vous parle", SPF_DEFAULT) "You've got 20 new messages."
End Sub


 

Merci cs_loulou69 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 124 internautes ce mois-ci

Commenter la réponse de cs_loulou69
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 14 mars 2008 à 09:51
0
Merci
Projet > Reference > Microsoft Speech Object Library > Ok

Private Sub Form_Load()
Dim oSam As New SpeechLib.SpVoice
   oSam.Speak "You've got 20 new messages."
End Sub<hr />, ----
By Renfield

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
chrishack 12 Messages postés jeudi 19 juillet 2007Date d'inscription 3 avril 2008 Dernière intervention - 14 mars 2008 à 11:08
0
Merci
il ya un costaud message d'erreur:
"type défini par l'utilisateur non défini"

je fais comment?
Commenter la réponse de chrishack
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 14 mars 2008 à 11:19
0
Merci
tu as bien ajouté le SAPI dans les references du projet ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 14 mars 2008 à 11:40
0
Merci
un truc pas clair, dans ton code, loulou69, c'est que tu passes par du Late Binding... (CreateObject)
unutile donc de jouer avec les references de ton projet (vu que tu joues avec un as Object et non un SpVoice)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
chrishack 12 Messages postés jeudi 19 juillet 2007Date d'inscription 3 avril 2008 Dernière intervention - 14 mars 2008 à 11:50
0
Merci
au début, j'utilisais SAPI4 avec les voix L&H. j'utilisais l'objet directTexttoSpeech.
l'accent et la prononciation n'était pas bien.
j'ai donc téléchargé la voix de Virginie. Cependant je n'arrive pas à l'utiliser.
j'ai tout désintallé, SAPI4 et les voix L&H.
puis j'ai installé la voix de virginie. J'arrive à la tester dans le panneau de config et à l'utiliser avec le logiciel Dspeech.
mais je sais pas quel librairie il faut utiliser ou quel objet il faut appeler pour utiliser la voix de virginie.
Peut être qu'il faut SAPI5.
Commenter la réponse de chrishack
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 14 mars 2008 à 11:56
0
Merci
As tu essayé les codes que l'on t'a proposé ? fonctionnent tous deux...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
chrishack 12 Messages postés jeudi 19 juillet 2007Date d'inscription 3 avril 2008 Dernière intervention - 14 mars 2008 à 13:10
0
Merci
Je vous remercie tous deux CA FONCTIONNE. ca fait un bon bout que je cherche sans trouver. je vous suis très reconnaissant.
1-pour la référence c'est WINDOWS\speech\Xvoice.dll et non
WINDOWS\system32\Xvoice.dll
cette dll est copiée dans ce répertoire quand on installe les voix L&H: lhttsfrf.exe (auto extracteur)

2- apparement c'est pas nécessaire parce que j'ai désintallé ces deux voix et ca fonctionne toujours. J'ai même enlevé la référence à cette bibliothèque et ca fonctionne toujours. Par contre quand j'ai voulu désintaller Microsoft Speech SDK 5.1  là j'ai eu un message d'erreur. (la méthode a échoué). je voulais savoir exactement quels étaient les fichiers nécessaires au fonctionnement de la voix.

3- donc si je comprend bien, il faut juste, pour faire parler mon appli vb avec virginie, il faut installer la SDK et la voix de virginie. (et peut être la définir comme voix par défaut dans le panneau de config)

4- seulement j'aimerais bien savoir comment utiliser les constantes que loulou69 a déclaré. pour notamment, faire une pause ou stopper la parole ou encore parler en arrière plan ou en avant plan càd en gardant ou en libérant l'exécution du programme.


Mais merci encore...
Commenter la réponse de chrishack
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 14 mars 2008 à 14:01
0
Merci
En passant par le code de loulou69 ton projet n'est pas reelement lié a aucune dll, rien ne sera ajouté lorsque tu feras le Setup de ton application.
De plus, l'utilisation du Late Binding fait que VB ne te propose pas les méthodes et propriétés qu'offrent la librairie Speech...


ajoutes donc bien la dll dans les references de ton projet, et utilise le genre de code que je t'ai filé (Early Binding).


Tu peux parcourir la librairie dans l'explorateur d'objets (F2) pour voir ce que tu peux faire. Tu y verras par exemple:


Sub Pause()
   Membre de SpeechLib.SpVoice
   Pauses the voices rendering.


Produit microsoft induit documentation sur MSDN. Je t'invite a aller consulter cette Doc, concernant les pauses et tout ce que tu souhaites faire.







Renfield





Admin CodeS-SourceS

- MVP Visual Basic
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.