Hoe u uw computer laat praten / zeggen wat u typt
Er is een coole functie in Windows waarmee je je computer kunt laten praten of praten, wat je ook zegt! Deze methode maakt gebruik van een ingebouwde API die is geïnstalleerd op Windows XP, Vista, 7, 8 en 10 met de naam SAPI (Speech Application Programming Interface).
De Microsoft Speech API is wat wordt gebruikt voor de toegankelijkheid van tekst-naar-spraak in Windows. 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 best gemakkelijk! In dit artikel laat ik je zien hoe je een VBS-script kunt maken dat een tekstinvoer van een gebruiker in beslag neemt en het vervolgens spreekt. Ik zal ook vermelden hoe je de tekst hard codeert die je wilt laten spreken en plan dat script vervolgens om te draaien op specifieke gebeurtenissen zoals het starten van Windows of het afmelden.
Voer tekst in, spreek een bericht
Laten we beginnen met een eenvoudig script dat een dialoogvenster zal openen waarin u kunt typen wat u Windows wilt laten zeggen. Ga eerst door en open Notepad.
Stap 1: Plak de volgende tekst in een nieuw document:
Dim bericht, sapi
message = InputBox ("Voer de tekst in die u gesproken wilt hebben", "Speak This")
Set sapi = CreateObject ("sapi.spvoice")
sapi.Speak-bericht
Merk op dat wanneer u tekst uit uw webbrowser kopieert en in Kladblok plakt, de aanhalingstekens problemen veroorzaken. Voordat u het bestand opslaat, moet u elke quote doornemen 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.
Als je het bestand gaat opslaan, geef het dan een naam, maar zorg ervoor dat je ook typt .VBS achter de naam. Vervolgens voor de Opslaan als type vak, kies Alle bestanden in plaats van de standaardtekstdocumenten.
Dubbelklik nu op het VBS-bestand en je zou een invoervak moeten zien waarin je de tekst kunt invoeren die je wilt laten horen! Typ iets en klik op OK.
Als je alles goed hebt gedaan, moet je horen of een mannelijke of vrouwelijke stem je zin uitspreekt. Als u een foutmelding krijgt, zorg er dan voor dat u de tekst opnieuw kopieert en plakt en die aanhalingstekens vervangt.
Configureer SAPI Voice-instellingen
Dit is leuk, maar we kunnen ook onze kleine pratende computer met verschillende instellingen configureren. We kunnen het volume veranderen, 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 bericht, sapi
message = InputBox ("Voer de tekst in die u gesproken wilt hebben", "Speak This")
Set sapi = CreateObject ("sapi.spvoice")
Set sapi.Voice = sapi.GetVoices.Item (1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak-bericht
De standaardfrequentie is 0 en het bereik is -10 tot 10. -10 zal de stem super langzaam laten 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 Stel sapi.Voice in zal u toestaan om naar een andere stem te veranderen, 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 getoond.
Als er maar één stem op uw systeem is geïnstalleerd, moet u dat veranderen sapi.GetVoices.Item (1) naar sapi.GetVoices.Item (0), anders krijg je een foutmelding wanneer je het script probeert uit te voeren. U kunt ook een ander Kladblok-document maken en de onderstaande code in plakken, die u zal vertellen welke stemmen zijn geïnstalleerd. Sla het op als een .VBS-bestand zoals hierboven weergegeven en voer het uit.
Stel VObj = CreateObject ("SAPI.SpVoice") in
Voor elke stem in VObj.getvoices
I = I + 1
msgbox "" & (I - 1) & "-" & Voice.GetDescription
volgende
Tot nu toe hebben we dit pop-upvenster gebruikt om tekst in te voeren, maar je kunt ook gewoon je bericht in het scriptbestand typen. Dit zou handig zijn als u het script vervolgens zou willen plannen om het automatisch uit te voeren. Uiteraard kan dit worden gebruikt om je vrienden en familie voor de gek te houden en het werkt heel goed.
Stel je voor dat iemand zijn of haar computer aanzet en de computer hoort zeggen: "Hallo John, ik ben erg slaperig, stel me alsjeblieft niet lastig vandaag!" Als het opstaat! Ik kan je beloven uit ervaring, het is hysterisch en je moet het zeker proberen.
Om het bericht hard te coderen, verander eenvoudig de laatste regel in iets als dit:
sapi.Speak "Hallo John, ik ben erg moe vandaag!"
Plan het scriptbestand
Nu dat je je bericht hard hebt gecodeerd voor je beoogde doel, moet je het gewoon uitvoeren wanneer je wilt. Als je technisch onderlegd bent, zou je een programma zoals 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 hier alles over te weten te komen, maar gelukkig heeft Microsoft een ingebouwde functie genaamd de Taakplanner waarmee je vrij eenvoudig ingewikkelde dingen met scripts kunt doen.
Mijn vorige bericht gaat uitgebreid in op het plannen van een scriptbestand dat moet worden uitgevoerd wanneer bepaalde gebeurtenissen in Windows plaatsvinden. Als je problemen ondervindt bij het werken met je script, kun je een reactie plaatsen en ik zal proberen te helpen. Genieten!