onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Faire parler 'The Voice' Mar 23 Aoû 2011 - 20:55 | |
| Bon histoire de dire que la section n'est pas morte, voila un ptit script pour faire parler the VOICE - Code:
-
// speak(words) var file; file = file_text_open_write("say.vbs") file_text_write_string(file,'Set d=CreateObject("SAPI.SpVoice")') file_text_writeln(file) file_text_writeln(file) file_text_write_string(file,'d.Speak "' + string(argument0) + '"') file_text_close(file) execute_shell("say.vbs","") Et voici une version avec plus de paramètres : - Code:
-
// speak_ext(message, volume, speed, voice id)
if(argument1 > 100) argument1 = 100
var f; f = file_text_open_write("say.vbs") file_text_write_string(f, 'Set v=CreateObject("SAPI.SpVoice")' ) file_text_writeln(f) file_text_write_string(f, 'size = 0') file_text_writeln(f) file_text_write_string(f, 'For Each Voice In v.GetVoices') file_text_writeln(f) file_text_write_string(f, 'size = size + 1') file_text_writeln(f) file_text_write_string(f, 'Next') file_text_writeln(f)
file_text_write_string(f, 'If ' + string(argument3) + ' <= size-1 Then') file_text_writeln(f) file_text_write_string(f, 'Set v.Voice = v.GetVoices().Item(' + string(argument3) + ')') file_text_writeln(f) file_text_write_string(f, 'End If') file_text_writeln(f)
file_text_write_string(f, 'v.Volume = ' + string(argument1) ) file_text_writeln(f) file_text_write_string(f, 'v.Rate = ' + string(argument2) ) file_text_writeln(f) file_text_write_string(f, 'v.Speak "' + string(argument0) + '"') file_text_writeln(f)
file_text_close(f) execute_shell("say.vbs","") argument0 : Le message argument1 : Le volume entre 0 et 100 argument2 : La vitesse de la voix, entre 0 et 100 argument3 : l'id de la voix. Par défaut il n'y a qu'une voix, et c'est donc l'id 0. (Je n'ai qu'une voix sur mon pc donc je suis pas sur que ça fonctionne) Si vous voulez connaitre toutes les voix disponible sur un pc : - Code:
-
//show_voices() var f; f = file_text_open_write("get.vbs") file_text_write_string(f, 'Set v=CreateObject("SAPI.SpVoice")' ) file_text_writeln(f) file_text_write_string(f, 'For Each Voice In v.getvoices' ) file_text_writeln(f) file_text_write_string(f, 'n = n + 1' ) file_text_writeln(f) file_text_write_string(f, 'msgbox "" & (n - 1) & " - " & Voice.GetDescription' ) file_text_writeln(f) file_text_write_string(f, 'Next' ) file_text_writeln(f) file_text_close(f) execute_shell("get.vbs", "") Pour plus d'infos allez donc faire un tour ici : http://msdn.microsoft.com/en-us/library/ms723602%28v=VS.85%29.aspx
Dernière édition par onilink_ le Mer 26 Oct 2011 - 14:51, édité 2 fois |
|
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: Faire parler 'The Voice' Mar 23 Aoû 2011 - 23:48 | |
| |
|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Faire parler 'The Voice' Mer 26 Oct 2011 - 14:52 | |
| Plop, j'ai ajouté une version avec de nombreux paramètres pour les intéressés :p |
|
PsycKho Très bonne participation
Messages : 154 Projet Actuel : http://www.sharedojo.netai.net/
| Sujet: Re: Faire parler 'The Voice' Dim 27 Nov 2011 - 1:25 | |
| Ouille sympa o,o ça pourrait être intéressant dans un simulateur spatial pour faire une IA : D |
|
Contenu sponsorisé
| Sujet: Re: Faire parler 'The Voice' | |
| |
|