Hoe u uw computer kunt laten praten/spreken wat u typt

Er is een coole functie in Windows waarmee je je computer kunt laten praten of spreken wat je maar wilt! Deze methode maakt gebruik van een ingebouwde API die is geïnstalleerd op Windows XP , Vista , 7, 8 en 10 genaamd SAPI ( Speech Application Programming Interface ).

De Microsoft Speech API wordt gebruikt voor de toegankelijkheidsfunctie voor tekst naar spraak die in Windows is ingebouwd . Je kunt ook programma's schrijven die de API aanroepen , waarmee je je applicaties kunt laten spreken, maar dat is voor ontwikkelaars.

Gewoon je computer laten zeggen wat je wilt, is eigenlijk vrij eenvoudig! In dit artikel laat ik je zien hoe je een VBS -script maakt dat tekstinvoer van een gebruiker nodig heeft en het vervolgens uitspreekt. Ik zal ook vermelden hoe je de tekst die je wilt laten uitspreken hard codeert en vervolgens dat script plant om te draaien op specifieke gebeurtenissen, zoals het starten van Windows of uitloggen.

Tekst invoeren, bericht spreken

Laten we beginnen met een eenvoudig script dat een dialoogvenster zal openen waarin u kunt typen wat u wilt dat Windows uitspreekt. Ga eerst(First) door en open Kladblok(Notepad) .

Stap 1:(Step 1:)  Plak de volgende tekst in een nieuw document:

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

Merk op dat wanneer u tekst uit uw webbrowser kopieert en in Kladblok(Notepad) plakt , de aanhalingstekens problemen zullen veroorzaken. Voordat u het bestand opslaat, moet u elke offerte doorlopen en verwijderen (“) en de offerte opnieuw typen. In het onderstaande voorbeeld zijn er zes aanhalingstekens. Het zou er ongeveer zo uit moeten zien als de afbeelding hieronder.

computer laten spreken

Wanneer u het bestand nu gaat opslaan, geef het dan een naam, maar zorg ervoor dat u ook .VBS achter de naam typt. Kies vervolgens voor het vak Opslaan als type ( Save as type)Alle bestanden( All files) in plaats van de standaard Tekstdocumenten(Text Documents) .

computer laten praten

Dubbelklik nu op het VBS - bestand en u zou een invoervak ​​moeten zien waarin u de tekst kunt typen die u wilt laten uitspreken! Typ iets en klik op OK.

spreek dialoogvenster

Als je alles goed hebt gedaan, zou je een mannen- of vrouwenstem moeten horen die je zin uitspreekt. Als u een foutmelding krijgt, kopieer en plak de tekst dan opnieuw en vervang die aanhalingstekens.

SAPI-spraakinstellingen configureren

Dit is leuk, maar we kunnen onze kleine pratende computer ook configureren met verschillende instellingen. We kunnen het volume wijzigen, hoe snel of langzaam de stem spreekt en het geslacht tussen man en vrouw veranderen. Hier is een voorbeeldcode waarin ik een paar extra regels heb toegevoegd.

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

De standaardsnelheid is 0 en het bereik is -10 tot 10. Bij -10 zal de stem super langzaam spreken en 10 zal supersnel spreken. Het volume is standaard ingesteld op 100 en het bereik is 0 tot 100. De regel die begint met Set sapi.Voice stelt u in staat over te schakelen naar een andere stem, indien geïnstalleerd op uw systeem.

Merk op dat het aantal stemmen waaruit u kunt kiezen afhankelijk is van het besturingssysteem. In Windows 7 is er maar één stem, Microsoft Anna .

geïnstalleerde stemmen

In Windows 10 zijn er twee stemmen: Microsoft David en Microsoft Zira zoals hieronder weergegeven.

Microsoft Davis-stem

microsoft zira-stem

Als er slechts één stem op uw systeem is geïnstalleerd, moet u die zegt sapi.GetVoices.Item(1) wijzigen in sapi.GetVoices.Item(0) , anders krijgt u een foutmelding wanneer u het script probeert uit te voeren. U kunt ook een ander Kladblok(Notepad) -document maken en de onderstaande code erin plakken, die u vertelt welke stemmen zijn geïnstalleerd. Sla het op als een .VBS-bestand zoals hierboven weergegeven en voer het uit.

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

Tot nu toe gebruikten we dit pop-upvenster om tekst in te voeren, maar u kunt ook gewoon uw bericht in het scriptbestand typen. Dit zou handig zijn als u het script vervolgens automatisch wilt laten uitvoeren. Het is duidelijk dat dit kan worden gebruikt om je vrienden en familie in de maling te nemen en het werkt echt goed.

Stel je voor dat iemand zijn computer aanzet en de computer hoort zeggen: " Hallo John(Hello John) , ik ben erg slaperig, val me alsjeblieft vandaag niet lastig!" wanneer het opstart! Ik kan je uit ervaring beloven, het is hysterisch en je moet het zeker eens proberen.

Om het bericht hard te coderen, verandert u eenvoudig de laatste regel in iets als dit:

sapi.Speak “Hello John, I am very tired today!”

Scriptbestand plannen

Nu u uw bericht hard hebt gecodeerd voor uw beoogde doel, hoeft u het alleen maar uit te voeren wanneer u maar wilt. Als je technisch onderlegd bent, zou je een programma als AutoIt kunnen gebruiken , waarmee je extreme dingen kunt doen, zoals het uitvoeren van je scriptbestand wanneer een bepaald programma wordt geopend of wanneer een venster wordt gemaximaliseerd of geminimaliseerd.

Ik heb geen tijd om daar in dit bericht op in te gaan, maar gelukkig heeft Microsoft een ingebouwde functie genaamd de Taakplanner(Task Scheduler) waarmee je eenvoudig behoorlijk gecompliceerde dingen met scripts kunt doen.

Mijn vorige post gaat uitgebreid in op het plannen van een scriptbestand dat moet worden uitgevoerd(how to schedule a script file to run) wanneer bepaalde gebeurtenissen plaatsvinden in Windows . Als je problemen hebt om je script werkend te krijgen, plaats dan gerust een opmerking en ik zal proberen te helpen. Genieten van!



About the author

Ik ben een computerprogrammeur en ben dat al meer dan 15 jaar. Mijn vaardigheden liggen in het ontwikkelen en onderhouden van softwareapplicaties en het bieden van technische ondersteuning voor die applicaties. Ik heb ook computerprogrammering gegeven aan middelbare scholieren en ben momenteel een professionele instructeur.



Related posts