Le plus dur est de trouver une voix française SAPI 5.3,si vous n'avez pas windows 8.
c'est içi:
http://www.zebulon.fr/astuces/200-synthese-vocale-windows-en-francais.html
Les fichiers s'appelent :MSReaderSetupFRA.exe et ReaderTTSInstallFRA.exe
aller dans le panneau de configuration,choisir la voix par défaut.
Le code est içi.
les fichiers inclus sont sur mon site.
Source / Exemple :
.NOLIST
include sdk32.inc
include sapi.sdk
InitInstance PROTO :DWORD
.const
.data
CLSID_SpVoice GUID sCLSID_SpVoice
IID_ISpVoice GUID sIID_ISpVoice
ppvISpVoice dd 0
Text_intro db "Bonjour,je suis la",0
Speech_Buffer dw 1024 dup(?)
.code
start:
invoke InitInstance,1
;---- code here --------
invoke CoCreateInstance,addr CLSID_SpVoice,NULL,CLSCTX_ALL,addr IID_ISpVoice,addr ppvISpVoice
invoke MultiByteToWideChar,NULL,NULL,addr Text_intro,-1,addr Speech_Buffer,1024
ISpVoice Speak,addr Speech_Buffer,SPF_DEFAULT,NULL
ISpVoice Release
invoke InitInstance,0
invoke ExitProcess,0
InitInstance PROC init:DWORD
Local retour:DWORD
mov retour,1
.if init == 1
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke CoInitializeEx ,NULL, COINIT_APARTMENTTHREADED ;COINIT_MULTITHREADED ;Thread 3
.else
invoke CoUninitialize
.endif
FindeInitInstance:
mov eax,retour
ret
InitInstance endp
;code_invalid_parameter
;################################################################
end start
;-------------------------------------------------------------
sLIBID_SpeechLib TEXTEQU <{0C866CA3Ah,032F7h,011D2h,{096h,002h,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sIID_ISpeechDataKey TEXTEQU <{0CE17C09Bh,04EFAh,044D5h,{0A4h,0C9h,059h,0D9h,058h,05Ah,0B0h,0CDh}}>
sIID_ISpeechObjectToken TEXTEQU <{0C74A3ADCh,0B727h,04500h,{0A8h,04Ah,0B5h,026h,072h,01Ch,08Bh,08Ch}}>
sIID_ISpeechObjectTokenCategory TEXTEQU <{0CA7EAC50h,02D01h,04145h,{086h,0D4h,05Ah,0E7h,0D7h,00Fh,044h,069h}}>
sIID_ISpeechObjectTokens TEXTEQU <{09285B776h,02E7Bh,04BC0h,{0B5h,03Eh,058h,00Eh,0B6h,0FAh,096h,07Fh}}>
sIID_ISpeechAudioBufferInfo TEXTEQU <{011B103D8h,01142h,04EDFh,{0A0h,093h,082h,0FBh,039h,015h,0F8h,0CCh}}>
sIID_ISpeechAudioStatus TEXTEQU <{0C62D9C91h,07458h,047F6h,{086h,02Dh,01Eh,0F8h,06Fh,0B0h,0B2h,078h}}>
sIID_ISpeechAudioFormat TEXTEQU <{0E6E9C590h,03E18h,040E3h,{082h,099h,006h,01Fh,098h,0BDh,0E7h,0C7h}}>
sIID_ISpeechWaveFormatEx TEXTEQU <{07A1EF0D5h,01581h,04741h,{088h,0E4h,020h,09Ah,049h,0F1h,01Ah,010h}}>
sIID_ISpeechBaseStream TEXTEQU <{06450336Fh,07D49h,04CEDh,{080h,097h,049h,0D6h,0DEh,0E3h,072h,094h}}>
sIID_ISpeechFileStream TEXTEQU <{0AF67F125h,0AB39h,04E93h,{0B4h,0A2h,0CCh,02Eh,066h,0E1h,082h,0A7h}}>
sIID_ISpeechMemoryStream TEXTEQU <{0EEB14B68h,0808Bh,04ABEh,{0A5h,0EAh,0B5h,01Dh,0A7h,058h,080h,008h}}>
sIID_ISpeechCustomStream TEXTEQU <{01A9E9F4Fh,0104Fh,04DB8h,{0A1h,015h,0EFh,0D7h,0FDh,00Ch,097h,0AEh}}>
sIID_ISpeechAudio TEXTEQU <{0CFF8E175h,0019Eh,011D3h,{0A0h,08Eh,000h,0C0h,04Fh,08Eh,0F9h,0B5h}}>
sIID_ISpeechMMSysAudio TEXTEQU <{03C76AF6Dh,01FD7h,04831h,{081h,0D1h,03Bh,071h,0D5h,0A1h,03Ch,044h}}>
sIID_ISpeechVoice TEXTEQU <{0269316D8h,057BDh,011D2h,{09Eh,0EEh,000h,0C0h,04Fh,079h,073h,096h}}>
sIID_ISpeechVoiceStatus TEXTEQU <{08BE47B07h,057F6h,011D2h,{09Eh,0EEh,000h,0C0h,04Fh,079h,073h,096h}}>
sDIID__ISpeechVoiceEvents TEXTEQU <{0A372ACD1h,03BEFh,04BBDh,{08Fh,0FBh,0CBh,03Eh,02Bh,041h,06Ah,0F8h}}>
sIID_ISpeechRecognizer TEXTEQU <{02D5F1C0Ch,0BD75h,04B08h,{094h,078h,03Bh,011h,0FEh,0A2h,058h,06Ch}}>
sIID_ISpeechRecognizerStatus TEXTEQU <{0BFF9E781h,053ECh,0484Eh,{0BBh,08Ah,00Eh,01Bh,055h,051h,0E3h,05Ch}}>
sIID_ISpeechRecoContext TEXTEQU <{0580AA49Dh,07E1Eh,04809h,{0B8h,0E2h,057h,0DAh,080h,061h,004h,0B8h}}>
sIID_ISpeechRecoGrammar TEXTEQU <{0B6D6F79Fh,02158h,04E50h,{0B5h,0BCh,09Ah,09Ch,0CDh,085h,02Ah,009h}}>
sIID_ISpeechGrammarRules TEXTEQU <{06FFA3B44h,0FC2Dh,040D1h,{08Ah,0FCh,032h,091h,01Ch,07Fh,01Ah,0D1h}}>
sIID_ISpeechGrammarRule TEXTEQU <{0AFE719CFh,05DD1h,044F2h,{099h,09Ch,07Ah,039h,09Fh,01Ch,0FCh,0CCh}}>
sIID_ISpeechGrammarRuleState TEXTEQU <{0D4286F2Ch,0EE67h,045AEh,{0B9h,028h,028h,0D6h,095h,036h,02Eh,0DAh}}>
sIID_ISpeechGrammarRuleStateTransitions TEXTEQU <{0EABCE657h,075BCh,044A2h,{0AAh,07Fh,0C5h,064h,076h,074h,029h,063h}}>
sIID_ISpeechGrammarRuleStateTransition TEXTEQU <{0CAFD1DB1h,041D1h,04A06h,{098h,063h,0E2h,0E8h,01Dh,0A1h,07Ah,09Ah}}>
sIID_ISpeechTextSelectionInformation TEXTEQU <{03B9C7E7Ah,06EEEh,04DEDh,{090h,092h,011h,065h,072h,079h,0ADh,0BEh}}>
sIID_ISpeechRecoResult TEXTEQU <{0ED2879CFh,0CED9h,04EE6h,{0A5h,034h,0DEh,001h,091h,0D5h,046h,08Dh}}>
sIID_ISpeechRecoResultTimes TEXTEQU <{062B3B8FBh,0F6E7h,041BEh,{0BDh,0CBh,005h,06Bh,01Ch,029h,0EFh,0C0h}}>
sIID_ISpeechPhraseInfo TEXTEQU <{0961559CFh,04E67h,04662h,{08Bh,0F0h,0D9h,03Fh,01Fh,0CDh,061h,0B3h}}>
sIID_ISpeechPhraseRule TEXTEQU <{0A7BFE112h,0A4A0h,048D9h,{0B6h,002h,0C3h,013h,084h,03Fh,069h,064h}}>
sIID_ISpeechPhraseRules TEXTEQU <{09047D593h,001DDh,04B72h,{081h,0A3h,0E4h,0A0h,0CAh,069h,0F4h,007h}}>
sIID_ISpeechPhraseProperties TEXTEQU <{008166B47h,0102Eh,04B23h,{0A5h,099h,0BDh,0B9h,08Dh,0BFh,0D1h,0F4h}}>
sIID_ISpeechPhraseProperty TEXTEQU <{0CE563D48h,0961Eh,04732h,{0A2h,0E1h,037h,08Ah,042h,0B4h,030h,0BEh}}>
sIID_ISpeechPhraseElements TEXTEQU <{00626B328h,03478h,0467Dh,{0A0h,0B3h,0D0h,085h,03Bh,093h,0DDh,0A3h}}>
sIID_ISpeechPhraseElement TEXTEQU <{0E6176F96h,0E373h,04801h,{0B2h,023h,03Bh,062h,0C0h,068h,0C0h,0B4h}}>
sIID_ISpeechPhraseReplacements TEXTEQU <{038BC662Fh,02257h,04525h,{095h,09Eh,020h,069h,0D2h,059h,06Ch,005h}}>
sIID_ISpeechPhraseReplacement TEXTEQU <{02890A410h,053A7h,04FB5h,{094h,0ECh,006h,0D4h,099h,08Eh,03Dh,002h}}>
sIID_ISpeechPhraseAlternates TEXTEQU <{0B238B6D5h,0F276h,04C3Dh,{0A6h,0C1h,029h,074h,080h,01Ch,03Ch,0C2h}}>
sIID_ISpeechPhraseAlternate TEXTEQU <{027864A2Ah,02B9Fh,04CB8h,{092h,0D3h,00Dh,027h,022h,0FDh,01Eh,073h}}>
sDIID__ISpeechRecoContextEvents TEXTEQU <{07B8FCB42h,00E9Dh,04F00h,{0A0h,048h,07Bh,004h,0D6h,017h,09Dh,03Dh}}>
sIID_ISpeechLexicon TEXTEQU <{03DA7627Ah,0C7AEh,04B23h,{087h,008h,063h,08Ch,050h,036h,02Ch,025h}}>
sIID_ISpeechLexiconWords TEXTEQU <{08D199862h,0415Eh,047D5h,{0ACh,04Fh,0FAh,0A6h,008h,0B4h,024h,0E6h}}>
sIID_ISpeechLexiconWord TEXTEQU <{04E5B933Ch,0C9BEh,048EDh,{088h,042h,01Eh,0E5h,01Bh,0B1h,0D4h,0FFh}}>
sIID_ISpeechLexiconPronunciations TEXTEQU <{072829128h,05682h,04704h,{0A0h,0D4h,03Eh,02Bh,0B6h,0F2h,0EAh,0D3h}}>
sIID_ISpeechLexiconPronunciation TEXTEQU <{095252C5Dh,09E43h,04F4Ah,{098h,099h,048h,0EEh,073h,035h,02Fh,09Fh}}>
sIID_ISpeechPhraseInfoBuilder TEXTEQU <{03B151836h,0DF3Ah,04E0Ah,{084h,06Ch,0D2h,0ADh,0C9h,033h,043h,033h}}>
sIID_ISpeechPhoneConverter TEXTEQU <{0C3E4F353h,0433Fh,043D6h,{089h,0A1h,06Ah,062h,0A7h,005h,04Ch,03Dh}}>
sIID_ISpNotifySink TEXTEQU <{0259684DCh,037C3h,011D2h,{096h,003h,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sIID_ISpNotifyTranslator TEXTEQU <{0ACA16614h,05D3Dh,011D2h,{096h,00Eh,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sIID_ISpDataKey TEXTEQU <{014056581h,0E16Ch,011D2h,{0BBh,090h,000h,0C0h,04Fh,08Eh,0E6h,0C0h}}>
sIID_ISpObjectTokenCategory TEXTEQU <{02D3D3845h,039AFh,04850h,{0BBh,0F9h,040h,0B4h,097h,080h,001h,01Dh}}>
sIID_IEnumSpObjectTokens TEXTEQU <{006B64F9Eh,07FDAh,011D2h,{0B4h,0F2h,000h,0C0h,04Fh,079h,073h,096h}}>
sIID_ISpObjectToken TEXTEQU <{014056589h,0E16Ch,011D2h,{0BBh,090h,000h,0C0h,04Fh,08Eh,0E6h,0C0h}}>
sIID_IServiceProvider TEXTEQU <{06D5140C1h,07436h,011CEh,{080h,034h,000h,0AAh,000h,060h,009h,0FAh}}>
sIID_ISpResourceManager TEXTEQU <{093384E18h,05014h,043D5h,{0ADh,0BBh,0A7h,08Eh,005h,059h,026h,0BDh}}>
sIID_ISpStreamFormat TEXTEQU <{0BED530BEh,02606h,04F4Dh,{0A1h,0C0h,054h,0C5h,0CDh,0A5h,056h,06Fh}}>
sIID_ISpStreamFormatConverter TEXTEQU <{0678A932Ch,0EA71h,04446h,{09Bh,041h,078h,0FDh,0A6h,028h,00Ah,029h}}>
sIID_ISpNotifySource TEXTEQU <{05EFF4AEFh,08487h,011D2h,{096h,01Ch,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sIID_ISpEventSource TEXTEQU <{0BE7A9CCEh,05F9Eh,011D2h,{096h,00Fh,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sIID_ISpEventSink TEXTEQU <{0BE7A9CC9h,05F9Eh,011D2h,{096h,00Fh,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sIID_ISpObjectWithToken TEXTEQU <{05B559F40h,0E952h,011D2h,{0BBh,091h,000h,0C0h,04Fh,08Eh,0E6h,0C0h}}>
sIID_ISpAudio TEXTEQU <{0C05C768Fh,0FAE8h,04EC2h,{08Eh,007h,033h,083h,021h,0C1h,024h,052h}}>
sIID_ISpMMSysAudio TEXTEQU <{015806F6Eh,01D70h,04B48h,{098h,0E6h,03Bh,01Ah,000h,075h,009h,0ABh}}>
sIID_ISpStream TEXTEQU <{012E3CCA9h,07518h,044C5h,{0A5h,0E7h,0BAh,05Ah,079h,0CBh,092h,09Eh}}>
sIID_ISpVoice TEXTEQU <{06C44DF74h,072B9h,04992h,{0A1h,0ECh,0EFh,099h,06Eh,004h,022h,0D4h}}>
sIID_ISpRecoContext TEXTEQU <{0F740A62Fh,07C15h,0489Eh,{082h,034h,094h,00Ah,033h,0D9h,027h,02Dh}}>
sIID_ISpProperties TEXTEQU <{05B4FB971h,0B115h,04DE1h,{0ADh,097h,0E4h,082h,0E3h,0BFh,06Eh,0E4h}}>
sIID_ISpRecognizer TEXTEQU <{0C2B5F241h,0DAA0h,04507h,{09Eh,016h,05Ah,01Eh,0AAh,02Bh,07Ah,05Ch}}>
sIID_ISpPhrase TEXTEQU <{01A5C0354h,0B621h,04B5Ah,{087h,091h,0D3h,006h,0EDh,037h,09Eh,053h}}>
sIID_ISpGrammarBuilder TEXTEQU <{08137828Fh,0591Ah,04A42h,{0BEh,058h,049h,0EAh,07Eh,0BAh,0ACh,068h}}>
sIID_ISpRecoGrammar TEXTEQU <{02177DB29h,07F45h,047D0h,{085h,054h,006h,07Eh,091h,0C8h,005h,002h}}>
sIID_ISpRecoResult TEXTEQU <{020B053BEh,0E235h,043CDh,{09Ah,02Ah,08Dh,017h,0A4h,08Bh,078h,042h}}>
sIID_ISpPhraseAlt TEXTEQU <{08FCEBC98h,04E49h,04067h,{09Ch,06Ch,0D8h,06Ah,00Eh,009h,02Eh,03Dh}}>
sIID_ISpLexicon TEXTEQU <{0DA41A7C2h,05383h,04DB2h,{091h,06Bh,06Ch,017h,019h,0E3h,0DBh,058h}}>
sIID_ISpPhoneConverter TEXTEQU <{08445C581h,00CACh,04A38h,{0ABh,0FEh,09Bh,02Ch,0E2h,082h,064h,055h}}>
sCLSID_SpNotifyTranslator TEXTEQU <{0E2AE5372h,05D40h,011D2h,{096h,00Eh,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sCLSID_SpObjectTokenCategory TEXTEQU <{0A910187Fh,00C7Ah,045ACh,{092h,0CCh,059h,0EDh,0AFh,0B7h,07Bh,053h}}>
sCLSID_SpObjectToken TEXTEQU <{0EF411752h,03736h,04CB4h,{09Ch,08Ch,08Eh,0F4h,0CCh,0B5h,08Eh,0FEh}}>
sCLSID_SpResourceManager TEXTEQU <{096749373h,03391h,011D2h,{09Eh,0E3h,000h,0C0h,04Fh,079h,073h,096h}}>
sCLSID_SpStreamFormatConverter TEXTEQU <{07013943Ah,0E2ECh,011D2h,{0A0h,086h,000h,0C0h,04Fh,08Eh,0F9h,0B5h}}>
sCLSID_SpMMAudioEnum TEXTEQU <{0AB1890A0h,0E91Fh,011D2h,{0BBh,091h,000h,0C0h,04Fh,08Eh,0E6h,0C0h}}>
sCLSID_SpMMAudioIn TEXTEQU <{0CF3D2E50h,053F2h,011D2h,{096h,00Ch,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sCLSID_SpMMAudioOut TEXTEQU <{0A8C680EBh,03D32h,011D2h,{09Eh,0E7h,000h,0C0h,04Fh,079h,073h,096h}}>
sCLSID_SpRecPlayAudio TEXTEQU <{0FEE225FCh,07AFDh,045E9h,{095h,0D0h,05Ah,031h,080h,079h,0D9h,011h}}>
sCLSID_SpStream TEXTEQU <{0715D9C59h,04442h,011D2h,{096h,005h,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sCLSID_SpVoice TEXTEQU <{096749377h,03391h,011D2h,{09Eh,0E3h,000h,0C0h,04Fh,079h,073h,096h}}>
sCLSID_SpSharedRecoContext TEXTEQU <{047206204h,05ECAh,011D2h,{096h,00Fh,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sCLSID_SpInprocRecognizer TEXTEQU <{041B89B6Bh,09399h,011D2h,{096h,023h,000h,0C0h,04Fh,08Eh,0E6h,028h}}>
sCLSID_SpSharedRecognizer TEXTEQU <{03BEE4890h,04FE9h,04A37h,{08Ch,01Eh,05Eh,07Eh,012h,079h,01Ch,01Fh}}>
sCLSID_SpLexicon TEXTEQU <{00655E396h,025D0h,011D3h,{09Ch,026h,000h,0C0h,04Fh,08Eh,0F8h,07Ch}}>
sCLSID_SpUnCompressedLexicon TEXTEQU <{0C9E37C15h,0DF92h,04727h,{085h,0D6h,072h,0E5h,0EEh,0B6h,099h,05Ah}}>
sCLSID_SpCompressedLexicon TEXTEQU <{090903716h,02F42h,011D3h,{09Ch,026h,000h,0C0h,04Fh,08Eh,0F8h,07Ch}}>
sCLSID_SpPhoneConverter TEXTEQU <{09185F743h,01143h,04C28h,{086h,0B5h,0BFh,0F1h,04Fh,020h,0E5h,0C8h}}>
sCLSID_SpNullPhoneConverter TEXTEQU <{0455F24E9h,07396h,04A16h,{097h,015h,07Ch,00Fh,0DBh,0E3h,0EFh,0E3h}}>
sCLSID_SpTextSelectionInformation TEXTEQU <{00F92030Ah,0CBFDh,04AB8h,{0A1h,064h,0FFh,059h,085h,054h,07Fh,0F6h}}>
sCLSID_SpPhraseInfoBuilder TEXTEQU <{0C23FC28Dh,0C55Fh,04720h,{08Bh,032h,091h,0F7h,03Ch,02Bh,0D5h,0D1h}}>
sCLSID_SpAudioFormat TEXTEQU <{09EF96870h,0E160h,04792h,{082h,00Dh,048h,0CFh,006h,049h,0E4h,0ECh}}>
sCLSID_SpWaveFormatEx TEXTEQU <{0C79A574Ch,063BEh,044B9h,{080h,01Fh,028h,03Fh,087h,0F8h,098h,0BEh}}>
sCLSID_SpInProcRecoContext TEXTEQU <{073AD6842h,0ACE0h,045E8h,{0A4h,0DDh,087h,095h,088h,01Ah,02Ch,02Ah}}>
sCLSID_SpCustomStream TEXTEQU <{08DBEF13Fh,01948h,04AA8h,{08Ch,0F0h,004h,08Eh,0EBh,0EDh,095h,0D8h}}>
sCLSID_SpFileStream TEXTEQU <{0947812B3h,02AE1h,04644h,{0BAh,086h,09Eh,090h,0DEh,0D7h,0ECh,091h}}>
sCLSID_SpMemoryStream TEXTEQU <{05FB7EF7Dh,0DFF4h,0468Ah,{0B6h,0B7h,02Fh,0CBh,0D1h,088h,0F9h,094h}}>
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.