Il existe une fonctionnalité intéressante dans Windows qui vous permet de faire parler votre ordinateur ou de dire tout ce que vous lui dites ! Cette méthode tire parti d'une API intégrée installée sur Windows XP, Vista, 7, 8 et 10 appelée SAPI (Speech Application Programming Interface).
L'API Microsoft Speech est utilisée pour la fonctionnalité d'accessibilité de synthèse vocale intégrée à Windows. Vous pouvez également écrire des programmes qui appellent l'API, ce qui vous permettrait de laisser parler vos applications, mais c'est pour les développeurs.
Table des matières
- Saisir du texte, prononcer un message
- Configurer les paramètres de voix SAPI
- Planifier le fichier de script
Faire dire à votre ordinateur ce que vous voulez est assez facile en fait ! Dans cet article, je vais vous montrer comment créer un script VBS qui prendra une entrée de texte d'un utilisateur, puis l'énoncera. Je mentionnerai également comment coder en dur le texte que vous voulez prononcer, puis programmer ce script pour qu'il s'exécute sur des événements spécifiques tels que le démarrage de Windows ou la déconnexion.
Saisir du texte, prononcer un message
Commençons par un script simple qui fera apparaître une boîte de dialogue dans laquelle vous pourrez taper ce que vous voulez que Windows dise. Tout d'abord, allez-y et ouvrez le Bloc-notes.
Étape 1 : Collez le texte suivant dans un nouveau document :
Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message
Notez que lorsque vous copiez du texte à partir de votre navigateur Web et que vous le collez dans le Bloc-notes, les guillemets causeront des problèmes. Avant d'enregistrer le fichier, vous devez parcourir et supprimer chaque citation (") et retaper la citation. Dans l'exemple ci-dessous, il y a six guillemets. Cela devrait ressembler à l'image ci-dessous.
Maintenant, lorsque vous allez enregistrer le fichier, donnez-lui un nom, mais assurez-vous de taper également .VBS après le nom. Ensuite, pour la zone Type de fichier , choisissez Tous les fichiers au lieu des Documents texte par défaut.
Maintenant, double-cliquez sur le fichier VBS et vous devriez voir une zone de saisie dans laquelle vous pouvez saisir le texte que vous souhaitez prononcer ! Tapez quelque chose et cliquez sur OK.
Si vous avez tout fait correctement, vous devriez entendre une voix masculine ou féminine prononcer votre phrase. Si vous obtenez un message d'erreur quelconque, assurez-vous de copier et coller à nouveau le texte et de remplacer ces guillemets.
Configurer les paramètres de voix SAPI
C'est amusant, mais nous pouvons également configurer notre petit ordinateur parlant avec différents paramètres. Nous pouvons changer le volume, la vitesse ou la lenteur de la voix et changer le sexe entre homme et femme. Voici un exemple de code où j'ai ajouté quelques lignes supplémentaires.
Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message
Le taux par défaut est 0 et la plage est de -10 à 10. -10 fera parler la voix très lentement et 10 parlera très rapidement. Le volume est par défaut à 100 et la plage est de 0 à 100. La ligne qui commence par Set sapi.Voice vous permettra de passer à une autre voix, si elle est installée sur votre système.
Notez que le nombre de voix que vous pouvez choisir dépend du système d'exploitation. Dans Windows 7, il n'y a qu'une seule voix, Microsoft Anna.
Dans Windows 10, il y a deux voix : Microsoft David et Microsoft Zira comme indiqué ci-dessous.
S'il n'y a qu'une seule voix installée sur votre système, vous devez changer sapi.GetVoices.Item(1) en sapi.GetVoices.Item(0) , sinon vous obtiendrez un message d'erreur lorsque vous essaierez d'exécuter le script. Vous pouvez également créer un autre document Bloc-notes et coller le code ci-dessous, qui vous indiquera quelles voix sont installées. Enregistrez-le en tant que fichier .VBS comme indiqué ci-dessus et exécutez-le.
Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next
Jusqu'à présent, nous utilisions cette boîte de dialogue contextuelle pour saisir du texte, mais vous pouvez également saisir simplement votre message dans le fichier de script. Cela serait utile si vous vouliez ensuite programmer le script pour qu'il s'exécute automatiquement. Évidemment, cela peut être utilisé pour blaguer vos amis et votre famille et cela fonctionne très bien.
Imaginez simplement que quelqu'un allume son ordinateur et entende l'ordinateur lui dire "Bonjour John, j'ai très sommeil, s'il vous plaît ne me dérangez pas aujourd'hui!" quand il démarre ! Je peux vous promettre par expérience, c'est hystérique et vous devriez certainement l'essayer.
Pour coder en dur le message, changez simplement la dernière ligne en quelque chose comme ceci :
sapi.Speak “Hello John, I am very tired today!”
Planifier le fichier de script
Maintenant que vous avez codé en dur votre message pour votre cible, il vous suffit de l'exécuter quand vous le souhaitez. Si vous êtes féru de technologie, vous pouvez utiliser un programme comme AutoIt , qui vous permettra de faire des choses extrêmes comme exécuter votre fichier de script lorsqu'un certain programme est ouvert ou lorsqu'une fenêtre est maximisée ou minimisée.
Je n'ai pas le temps d'entrer dans tout cela dans ce post, mais heureusement, Microsoft a une fonctionnalité intégrée appelée Planificateur de tâches qui vous permet de faire facilement des choses assez compliquées avec des scripts.
Mon article précédent explique en détail comment planifier l'exécution d'un fichier de script lorsque certains événements se produisent dans Windows. Si vous rencontrez des difficultés pour faire fonctionner votre script, n'hésitez pas à poster un commentaire et j'essaierai de vous aider. Prendre plaisir!