Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

NARRATEUR FRANÇAIS (SYNTHÈSE VOCALE) (API)


Information sur la source

Catégorie :API Classé sous : narrateur, français, synthèse, vocale, api Niveau : Débutant Date de création : 13/10/2005 Vu / téléchargé: 50 782 / 3 954

Note :
9,92 / 10 - par 26 personnes
9,92 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (46)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Voici un code source traitant de la synthèse vocale. C'est un narrateur qui lit des textes en français. Il utilise le composant de synthèse vocale et le synthétiseur français. Tous les deux sont fournis gratuitement par Microsoft. Pour Windows 2000 le composant est inclu au système, il faudra juste télécharger le synthétiseur français. Pour les autres systèmes, il faudra téléchérger les deux fichiers. Voici les liens:
Composant de synthèse vocale (824Ko):
http://activex.microsoft.com/activex/controls/sapi/spchapi.exe
Synthétiseur français (2.24 Mo):
http://activex.microsoft.com/activex/controls/agent2/lhttsfrf.exe
Vous trouverez tous les fichiers relatifs à la synthèse vocale sur la page de Microsoft:
http://www.microsoft.com/MSAGENT/downloads/user.asp
L'installation du composant et du synthétiseur ne prend que quelques secondes. Si ces derniers ne sont pas présents sur l'ordinateur, leurs liens de téléchargement seront affichés au lancement du programme.
La zone d'édition du texte à lire est un RichEdit. Ce dernier est amélioré car il dispose d'un menu contextuel, fonctionnalité qui n'est pas implémentée par défaut. Ce menu contextuel contient toutes les commandes d'édition habituelles. La commande "Coller" permet de coller du texte copié d'un autre document ouvert.
Le projet est réalisé sous Visual C/C++ 6 et testé sous Dev-C++ 4.9.9.2. Le zip contient les deux projets. Pour Dev-C++, il faut ajouter les options -lole32 -luuid.
Le programme est testé sous Windows XP. En cas d'oubli, de bogue, ou d'erreur, n'hésitez pas à me le signaler. Tous les commentaires sont les bienvenus.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de racpp le 13/10/2005 17:18:01 administrateur CS

J'ai oublié de préciser que puisque le site ne permet pas de télécharger les fichier EXE, Narrateur.exx doit être renommé en Narrateur.exe

signaler à un administrateur
Commentaire de sithlords le 13/10/2005 20:34:35

Ca a l'air bien dis moi :D !
En tout cas, 10 pour le travail fourni ;) !
Gabriel.

signaler à un administrateur
Commentaire de saifer le 13/10/2005 23:49:12

Beau boulot, le code est clair et commenté, ce qui n'ai pas toujours le cas ! je vois aussi que tu as pris soin de mettre une sauvegarde pour VC++ et pour Devcpp ;)
Je vais mettre 10, pour le boulot... et l'innovation ! car ce n'est pas encore vu sur le site à ma connaissance, et ca c'est encore mieux !!

Saifer.

signaler à un administrateur
Commentaire de dominion le 14/10/2005 13:42:27

Une petit question : tu crée un synthétiseur vocal ou tu reprends simplement celui de Windows ?

signaler à un administrateur
Commentaire de MasterShadows le 14/10/2005 13:44:58

Excellent boulot, qui va m'être très utile...

Bravo .

signaler à un administrateur
Commentaire de Zazour le 14/10/2005 14:06:33

Excellente source,
pour ceux qui veulent et qui ont connu mettre "ATARI 520 ST" le petit texte qui suis :
"Février 1951,profession : détective privé,Lefois fut je à Paris et mes affaires lorsque.
Une lettre, un appel,des souvenirs d'une enfance encore proche,que de jeux dans les pièces délabrées du manoir de Mortevielle,Julia,une vieille femme à présent ..."



signaler à un administrateur
Commentaire de racpp le 14/10/2005 15:20:16 administrateur CS

Merci beaucoup pour vos commentaires et vos notes, ça fait grand plaisir.
Dominion >> Comme précisé dans la présentation du code, j'ai utilisé le synthétiseur fourni par Microsoft. Pour créer un synthétiseur vocal il faut être un expert en phonétique et en traitement numérique des signaux audio. C'est donc un travail d'équipe qui demande assez de temps.

signaler à un administrateur
Commentaire de gagah1 le 14/10/2005 19:34:13

Excellente source. C'est vrai qu'avec la librairie COM on arrive à créer facilement un beau projet comme çà. Bravo!

signaler à un administrateur
Commentaire de neria le 14/10/2005 21:02:09

Fort sympathique ce petit logiciel (essayez avec différents types de voix et de vitesse :) ). Félicitation !

signaler à un administrateur
Commentaire de BruNews le 14/10/2005 21:49:00 administrateur CS

Tout a été dit, vraiment bien belle démo.

signaler à un administrateur
Commentaire de decize le 14/10/2005 22:58:32

Merci pour cette tres bonne source!! ca fait plaisir de voir des sources original et bien commentee!!

signaler à un administrateur
Commentaire de victorcoasne le 15/10/2005 10:00:34

Bonjour,

Excellente source (comme d'habitude) !
On se demande comment tu fais !
Un petit plus est le projet Dev-C++ Bravo !

Il faut juste lui ajouter dans les options du linker :
-luuid
-lole32

Et sinon compilation et execution sans problème avec Dev-C++ une fois la modif faite !

Continue comme ça !

Bonne prog,
@++

signaler à un administrateur
Commentaire de victorcoasne le 15/10/2005 10:01:13

J'oubliais le plus important : 10/10 !

signaler à un administrateur
Commentaire de Urgo le 15/10/2005 15:20:44

C'est bien d'avoir de belles nouveautés sur cppfrance! Ca nous change.
Bravo, 10/10 mérité.

signaler à un administrateur
Commentaire de racpp le 15/10/2005 15:38:42 administrateur CS

Bonjour,
Merci encore à tous, ça m'encourage à proposer d'autres sources.
Victorcoasne >> Je ne fais qu'exploiter les intefaces COM (OLE/Activex) déjà présentes ou qu'on peut installer facilement sur l'ordinateur. Ca fait juste un peu plus d'un an que j'ai commencé à m'intéresser à la programmation des interfaces COM. Ces dernières regorgent de fonctionnalités extraordinaires. Il faut juste se documenter sur les interfaces qui nous intéressent pour pouvoir les utiliser dans nos programmes. Le plus difficile est donc de trouver une bonne documentation.
A propos des options du linker de Dev-C++, je les ai déjà précisées dans la présentation du code. Je ne sais pas pourquoi Dev-C++ ne les enregistre pas dans le fichier de projet .dev

signaler à un administrateur
Commentaire de victorcoasne le 15/10/2005 20:24:46

Bonjour,

Oui j'avais pas fait attention mais chez moi Dev-C++ les enregistres les options.

Si tu as des liens de docs ça peut m'interreser

Bonne prog,
@++

signaler à un administrateur
Commentaire de racpp le 16/10/2005 16:34:38 administrateur CS

Victorcoasne >> Souvent les documentations font partie des SDK téléchargeables sur le site MSDN. Tu peux utiliser soit son propre moteur de recherche soit google. Parfois les documentations ne sont pas très détaillées car elles contiennent juste l'essentiel. Pour apprendre la programmtion des interfaces COM, voici un lien:
http://sern.ucalgary.ca/Courses/CPSC/547/W2000/webnotes/COM/COM.html
Tous les bonnes documentations sont en anglais.

signaler à un administrateur
Commentaire de olixelle le 27/10/2005 12:31:24

Salut,
ya un truc que je pige pas...
Apparement c'est la Speech API de microsoft que tu utilises... jusque la tout va bien.
Par contre la voix en francais, ca fait 50 ans que je cherche ca....
le lhttsfrf.exe, ca fait koi ? ca installe la voix en fr ??
en tout cas jte met 10 osi, jchangerais ptet qd j'aurais vu ton source :p

signaler à un administrateur
Commentaire de racpp le 27/10/2005 15:18:19 administrateur CS

olixelle >> Effectivement, j'utilise la Speech API. C'est le noyau indispensable pour la synthèse vocale de toutes les langues. Il faut en plus un synthétiseur (engine=robot) pour chaque langue. "lhttsfrf.exe" est celui de la langue française. C'est lui qui se charge de traduire du texte en phonèmes. Ces derniers seront alors prononcés par le composant de base commun à toutes les langues.

signaler à un administrateur
Commentaire de olixelle le 27/10/2005 17:33:09

Merci pour ta réponse RACPP :)
En + c bien codé :)
Jte met 12 ;)

signaler à un administrateur
Commentaire de zelloss le 03/11/2005 17:16:41

excusez moi, mais je m'intéresse aux commandes vocales et je cherche des infos dessus.
A quoi sert ce programme concretement? J'ai téléchargé speech api 5.1 mais déja je ne comprend pas a quoi cela sert. (c'est dire mon niveau ^^')

A quoi sert donc ce code source et comment s'en sert t'on?

signaler à un administrateur
Commentaire de CChargy le 01/01/2006 14:30:09

Microsoft speech sert a faire parler du texte.
Par exemple, dans un jeu comme SimCity, les conseiller pourrait parler avec sa.
L'avantage par apport a des sons pré-enregistrer, c'est qu'il gère toutes les phrases, tous les mots.

Donc simple d'utilisation. par exemple, les aveugles s'en servent bcp avec le ordi car tu ouvre un doc Word(par exemple), tu sélectionne tout et clique sur lire.
Et la ils entendent le contenu du document.

Magnifique n'est-ce pas?

Colin CHARGY

signaler à un administrateur
Commentaire de cabanac le 28/02/2006 11:07:57

Bonjour à tous, je tiens à remercier racpp déjà pour le travail effectué car j'espère que beaucoup de mal voyant pourront utiliser ce narrateur et je tiens à le remercier également pour toute l'aide qu'il m'a fourni laors que je suis nul en ce domaine afin que je puisse en faire bénéficier un ami.
Quand à la note, évidemment 10/10 aussi bien pour son travail mais également pour sa rapidité à répondre aux mails.

cabanac (Alain)

signaler à un administrateur
Commentaire de brenntengel le 03/05/2006 13:55:32

Bonjour ,Excellente source !!!
je voudrais savoir si tu as un tutorial qui t'as aidé a faire ce
programme .

MERCI

signaler à un administrateur
Commentaire de racpp le 03/05/2006 17:47:03 administrateur CS

Salut,
Aucun tutoriel. Je me suis basé sur la documentation contenue dans la Speech API 4.0 SDK téléchargeable ici:
http://download.microsoft.com/download/speechSDK/Install/4.0a/WIN98/EN-US/SAPI4SDK.exe

signaler à un administrateur
Commentaire de brenntengel le 04/05/2006 09:18:55

Merci bq pour ton aide !!!!

signaler à un administrateur
Commentaire de brenntengel le 05/05/2006 09:03:17

Salut,le code est Excellent
mais je voudrais savoir juste savoir si tu n'as pas un exemple
plus simple pour traité juste les fonctionalité de base pour
un speech

MERCI

signaler à un administrateur
Commentaire de CChargy le 05/05/2006 12:04:14

Plus simple que ça cela parrait dur a faire . . . Explique nous ce que tu ne comprend pas. On peut surement t'aider.
Colin CHARGY

signaler à un administrateur
Commentaire de cabanac le 05/05/2006 12:27:04

bonjour, j'en profite pour te dire que le narrateur mis en place chez mon ami marche très bien, qu'il l'utilise au quotidien et de sa part, merci car ça lui soulage la vue.
Peux-tu s'il te plait (ne connaissant toujours rien à ce sujet) me dire qu'elle différence entre celui-ci et l'autre, afin de comprendre si cela peut être utile de lui installer cette nouvelle version.
d'avance merci et bonne journée à vous tous.
Cordialement CABANAC.

signaler à un administrateur
Commentaire de racpp le 06/05/2006 03:37:06 administrateur CS

Salut,
brenntengel >> Je n'ai pas d'exemple simple mais il est possible de simplifier le programme en utilisant les paramètres par défaut du synthétiseur vocal. Il ne sera plus possible de changer la voix,le ton ou la vitesse. On peut aussi ne pas utiliser les événements du synthétiseur. On peut également remplacer le RichEdit par un simple EditBox. On supprimera aussi l'utilisation du Clipboard.
Comme le dit CChargy, tu peux demander des explication sur ce que tu veux comprendre. Une fois que tu as bien compris le fonctonnement du programme, tu pourras l'adapter à tes besoins.

cabanac >> Ca fait vraiment plaisir de savoir que ce petit programme aide des gens dans leur vie quotidienne.
Il n'y a pas de nouvelle version. C'est la même que celle que tu avais téléchargé avant.

signaler à un administrateur
Commentaire de brenntengel le 06/05/2006 11:53:17

Bonjour a tous et merci de votre aide
Ce que je veut c'est juste en exemple simple cad un editbox pour le text et un bouton parlé ....
(juste les connaissance de base !!!)
Merci

signaler à un administrateur
Commentaire de mateo95270 le 09/06/2006 21:30:38

ba moi j'ai un pb je comprend pas ou il faut l'installer et tout car j'y conai rien en api et tout ça svp help me

signaler à un administrateur
Commentaire de racpp le 10/06/2006 14:02:41 administrateur CS

Salut,
Le composant de synthèse vocale et l'engin français seront installés dans le dossier système et d'autres dossiers prédéfinis par Microsoft pendant l'installation. Tu n'as rien à spécifier. Il faut juste exécuter ces deux fichiers en mode administrateur. Mon narrateur peut se lancer de n'importe où. Tout ce qu'il demande c'est que les deux composants cités plus haut soient installés. Il ne faut pas oublier de renommer narrateur.exx en narrateur.exe avant de le lancer.

signaler à un administrateur
Commentaire de zoosil le 13/07/2006 07:38:46

Bravo pour cet excellent Text To Speech en français.

Comment faire pour pouvoir utiliser un autre moteur de synthèse en l'occurrence le moteur digalo et ses voix françaises Robert et Cathy ?

signaler à un administrateur
Commentaire de racpp le 13/07/2006 16:08:53 administrateur CS

Salut,
Désolé, aucune idée. Je connais pas digalo.

signaler à un administrateur
Commentaire de racpp le 21/07/2006 04:49:20 administrateur CS

Salut,
En profitant d'un peu de temps, j'ai installé et regardé s'un peu plus près le moteur Digalo. A ma grande surprise, mon narrateur a fonctionné parfaitement avec ce moteur sans rien changer au code original. En effet, le programme détecte n'importe quel moteur français installé sur le PC. A noter qu'au départ il était le seul installé sur mon PC. J'ai alors installé aussi le moteur L&H fourni par Microsoft. J'ai ensuite cherché un moyen de selectionner  l'un des deux moteurs installés. Là encore j'étais surpris car c'est très facile à faire. Le membre gEngineId de la structure TTSMODEINFO permet justement de choisir le moteur qu'on veut. Il faut donc lui fournir le GUID du moteur. Avec OleView, j'ai récupéré celui de Digalo et celui de L&H. Dans la partie de recherche du synthétiseur français, on ajoute quatre petites lignes de code comme ceci:
// Chercher le synthétiseur vocal français:
ZeroMemory(&TTSInfo,sizeof(TTSInfo));
GUID CLSID_Digalo={0x7EEA4F90,0x7FDB,0x11D3,{0x99,0x8A,0x00,0x10,0x5A,0x40,0xEA,0x60}};
GUID CLSID_LH ={0x5FB67320,0xBF4B,0x11D1,{0xAF,0x19,0x44,0x45,0x53,0x54,0x00,0x00}};
TTSInfo.gEngineID=CLSID_Digalo;// choix Digalo
// TTSInfo.gEngineID=CLSID_LH; // choix L&H
TTSInfo.language.LanguageID=0x40c;
hRes = pIFind->Find(&TTSInfo, 0, &TTSMode);
//......
Ca marche du premier coup. Pour Digalo, la voix féminine est celle de Cathy et la masculine celle de Robert.
Il est vrai que la voix de Digalo est bien meilleure.
Merci pour l'info. On découvre toujours de belles choses grâce à cppfrance.

signaler à un administrateur
Commentaire de anemone851 le 03/11/2006 08:45:47

slt
commen renomer narrateur.exe ,quand et ou pouriez vous me donner un tutorat complé please...dsl jsuis un vrai débutant...merci de votre passience...et qu'est ce qu'il faut pour exécuter les trucs api...bientot+

signaler à un administrateur
Commentaire de racpp le 05/11/2006 12:48:26 administrateur CS

Salut,
Une fois le fichier zip téléchargé, tu le décompresses. Après avoir ouvert le dossier "Release" tu fais un clic droit sur "Narrateur.exx" , tu choisis "Renommer" et tu remplaces le dernier "x" par un "e".
Pour le tutorial, tout dépend du temps.
Pour l'utilisation des API, tu peux consulter ce tutorial:
http://bob.developpez.com/tutapiwin/

signaler à un administrateur
Commentaire de anemone851 le 06/11/2006 11:53:31

Salut, ben merci bien pour vos conseils sa marche lol, chouette a bientot.

signaler à un administrateur
Commentaire de videti le 30/01/2007 16:51:16

Slt,
J'ai regardé le programme sous dev-cpp et je le trouve très interressant (10/10).
J'aimerai également me servir du synthétiseur de windows pour l'intégrer dans un projet de "Générateur de dictée pour enfant". Seulement, j'ai du mal à tout déchiffrer dans le code source, car je ne connais pas la gestion des composants windows en C++.
Si quelqun pouvais m'éclairer un peu sur les manipulations de bases du synthétiseur. Je ne parviens pas, dans ce programme, à trouver quelles méthodes appellent la lecture, et l'arrêt du texte.

signaler à un administrateur
Commentaire de vaniweb le 28/03/2007 09:51:42

Bonjour,

Ce code est excellent. Je m'intéresse à la synthèse vocale. Je cherche à savoir comment adapter ce code pour la langue anglaise : l'identifiant de la langue française est 0x40C mais pour la langue anglaise je ne le trouve pas sur
http://www.microsoft.com/msagent/dev/docs/autodownload.asp

Je voudrais utiliser le TTS engine American English ou TTS3000 British English et rechercher le composant de langue anglaise.
Peut-être n'ai-je pas bien cherché ?
Pouvez-vous m'aider?
Merci

signaler à un administrateur
Commentaire de algrekos le 14/06/2007 12:09:31

Salut,

Excellent code! Cela faisait longtemps que j'essayais de faire fonctionner la synthèse vocale de Vista mais je n'ai jamais réussi. Tu m'as drôlement simplifier la vie!

Merci

signaler à un administrateur
Commentaire de noobiz le 13/01/2008 15:58:53 10/10

Bravo!!

signaler à un administrateur
Commentaire de lassie14 le 02/06/2008 00:07:37

beau boulot encore que sous vista ça ne marche pas tu as une belle exception parceque a la ligne 184 tu fait :
pIAttrib=InitAttributs(pICentral);
alors que tu ne verifie pas si pICentral est bon ou pas au cas ou il ne serait pas bon (ce qui est le cas chez moi) le pointeur n'est pas initialiser correctement est du coup je me retrouve avec une exception de type violation d'adresse
serait tu comment rectifier ce probleme ?

signaler à un administrateur
Commentaire de racpp le 14/06/2008 03:54:27 administrateur CS

Salut,
Désolé pour le retard. Je n'ai plus le temps de venir assez souvent sur cppfrance.
Le nombre de tests des retours de fonctions est limité au strict minimum pour raison de clarté du code.
Je n'ai pas Vista pour tester mais dès que j'aurai le temps et l'occasion de le faire je le ferai.
A bientôt.

signaler à un administrateur
Commentaire de dadmoll le 15/07/2008 17:49:08

bonjour je voudrais savoir si NARRATEUR FRANÇAIS (SYNTHÈSE VOCALE) (API)  peut remplacer celui de xp  pour lire des information sur une carte  gps  car sur mon os je n ais pas cette option  merci  

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

"Synthétiseur" vocale en français ? [ par MasterShadows ] Salut à tous, Voilà, toujours dans le cadre du projet que j'effectue, je me suis aperçu que mettre de la narration parlé, ça SAPI 5.1 speech en français [ par 24Karas ] Bonjour,Je tente d'utiliser les api de tts SAPI 5.1 (avec SDK) mais je ne comprend pas comment faire pour sélectionner la langue à utiliser.J'arrive à Synthèse vocale [ par Rafiki39 ] Bonjour à tous ! Sur le site j'ai trouvé le code deNarrateur qui utilise une synthèse vocale en français. Pour l'une de mes applications Treeview API WINDOWS [ par lektrosonic ] Bonjour,je code en C et en API Windows une applicationJ'ai un treeview et je voudrais mettre a jour le texte de un de ses elements sans le supprimer.J Affichage selection d'un listview quand il n'a pas le focus [ par hwoarang ] Bonjour,J'ai cherché sur internet mais je n'ai pas reussi a trouver comment, avec l'API windows (en C). En C++, j'ai trouvé le membre HideSelection qu treeview API windows [ par lektrosonic ] Bonsoir, en C et avec api windows..je souhaite modifier le texte d un element d un treeview sans le supprimer.j'ai esseye le message TVM_SETITEM mais reconnaissance vocale [ par neolekiller ] bonjour a tousalors voila je vous explique mon probleme : je dois dans le cadre du lycée m'occuper de la commande vocale d'un store venitien sur un ve générer code api win32 [ par zwei ] bonjour à tous,lorsqu'on crée une fenetre avec des boutons avec la MFC sous VC++ par exemple, le code est générer automatiquement.existe t-il la meme API MSN. [ par trashaccount ] Bonjour à tous,Je fait appel à vous, afin d'obtenir plus amples informations sur l'utilisation de l'api msn.J'aimerais bien tenter de developper quelq api nativeWiFi [ par room5 ] salut tt l mondeje veux utiliser les api native wifi de microsoft ,j effectue une include wifiman.h mai g plein d erreur ,j utilise visualc++2008c est


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :