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 tekst-naar-spraak-toegankelijkheidsfunctie die in Windows is ingebouwd. Je kunt ook programma's schrijven die de API aanroepen, waardoor je je applicaties kunt laten spreken, maar dat is voor ontwikkelaars.
Inhoudsopgave
- Voer tekst in, spreek bericht uit
- SAPI-spraakinstellingen configureren
- Scriptbestand plannen
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 een tekstinvoer van een gebruiker neemt en vervolgens uitspreekt. Ik zal ook vermelden hoe u de tekst die u wilt laten uitspreken hardcodeert en vervolgens dat script plant om te worden uitgevoerd bij specifieke gebeurtenissen, zoals het starten van Windows of uitloggen.
Voer tekst in, spreek bericht uit
Laten we beginnen met een eenvoudig script dat een dialoogvenster opent waarin u kunt typen wat u wilt dat Windows uitspreekt. Ga eerst door en open Kladblok.
Stap 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 plakt, de aanhalingstekens problemen zullen veroorzaken. Voordat u het bestand opslaat, moet u alle aanhalingstekens (") doorlopen en verwijderen en de aanhaling opnieuw typen. In het onderstaande voorbeeld zijn er zes aanhalingstekens. Het zou er ongeveer zo uit moeten zien als de afbeelding hieronder.
Als je het bestand gaat opslaan, geef het dan een willekeurige naam, maar zorg ervoor dat je ook .VBS achter de naam typt. Kies vervolgens voor het vak Opslaan als type Alle bestanden in plaats van de standaardtekstdocumenten.
Dubbelklik nu op het VBS-bestand en u zou een invoervak moeten zien waarin u de tekst kunt typen die u wilt laten inspreken! Typ iets en klik op OK.
Als je alles goed hebt gedaan, hoor je een mannelijke of vrouwelijke stem je zin uitspreken. Als je een foutmelding krijgt, zorg er dan voor dat je de tekst opnieuw kopieert en plakt en die aanhalingstekens vervangt.
SAPI-spraakinstellingen configureren
Dit is leuk, maar we kunnen onze kleine pratende computer ook configureren met verschillende instellingen. We kunnen het volume veranderen, hoe snel of langzaam de stem praat 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 spreekt de stem superlangzaam en bij 10 spreekt hij supersnel. 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 om naar een andere stem over te schakelen, 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.
In Windows 10 zijn er twee stemmen: Microsoft David en Microsoft Zira, zoals hieronder weergegeven.
Als er slechts één stem op uw systeem is geïnstalleerd, moet u dat zeggen 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-document maken en de onderstaande code erin plakken, die u zal vertellen 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 vervolgens wilt plannen dat het script automatisch wordt uitgevoerd. Het is duidelijk dat dit kan worden gebruikt om je vrienden en familie voor de gek te houden en het werkt echt goed.
Stel je voor dat iemand zijn computer aanzet en de computer hoort zeggen: "Hallo John, ik ben erg slaperig, val me alsjeblieft niet lastig vandaag!" als het opstart! Ik kan je uit ervaring beloven, het is hysterisch en je moet het zeker proberen.
Om het bericht hard te coderen, wijzigt u eenvoudig de laatste regel in iets als dit:
sapi.Speak “Hello John, I am very tired today!”
Scriptbestand plannen
Nu je je bericht hard hebt gecodeerd voor het beoogde doel, hoef je het alleen maar uit te voeren wanneer je wilt. Als je technisch onderlegd bent, zou je een programma als AutoIt kunnen gebruiken , waarmee je extreme dingen kunt doen, zoals je scriptbestand uitvoeren 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, de Taakplanner genaamd, waarmee je gemakkelijk behoorlijk gecompliceerde dingen met scripts kunt doen.
Mijn vorige bericht gaat dieper in op het plannen van een scriptbestand dat moet worden uitgevoerd wanneer bepaalde gebeurtenissen in Windows plaatsvinden. Als je problemen hebt om je script aan het werk te krijgen, kun je een opmerking plaatsen en ik zal proberen te helpen. Genieten van!