Det finns en cool funktion i Windows som låter dig få din dator att prata eller tala vad du än säger till den! Denna metod drar fördel av ett inbyggt API installerat på Windows XP, Vista, 7, 8 och 10 som kallas SAPI (Speech Application Programming Interface).
Microsoft Speech API är det som används för text-till-tal-tillgänglighetsfunktionen inbyggd i Windows. Du kan också skriva program som anropar API, vilket skulle tillåta dig att låta dina applikationer tala, men det är för utvecklare.
Innehållsförteckning
- Mata in text, tala meddelande
- Konfigurera SAPI Voice-inställningar
- Schemalägg skriptfil
Att bara få din dator att säga vad du vill är faktiskt ganska enkelt! I den här artikeln kommer jag att visa dig hur du skapar ett VBS-skript som tar en textinmatning från en användare och sedan talar det. Jag kommer också att nämna hur man hårdkodar texten du vill ha uppläst och sedan schemalägger det skriptet att köras på specifika händelser som att starta Windows eller logga ut.
Mata in text, tala meddelande
Låt oss börja med ett enkelt skript som kommer att dyka upp en dialogruta där du kan skriva in vad du vill att Windows ska tala. Gå först vidare och öppna Anteckningar.
Steg 1: Klistra in följande text i ett nytt dokument:
Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message
Observera att när du kopierar text från din webbläsare och klistrar in den i Notepad kommer citaten att orsaka problem. Innan du sparar filen måste du gå igenom och ta bort varje citat (“) och skriva in citatet igen. I exemplet nedan finns sex citat. Det ska se ut ungefär som bilden nedan.
Nu när du går för att spara filen, ge den valfritt namn, men se till att du också skriver .VBS efter namnet. Välj sedan Alla filer i rutan Spara som typ istället för standardtextdokument.
Dubbelklicka nu på VBS-filen och du bör se en inmatningsruta där du kan skriva in den text du vill ha uppläst! Skriv något och klicka på OK.
Om du gjorde allt rätt bör du höra antingen en manlig eller kvinnlig röst säga din mening. Om du får någon form av felmeddelande, se till att kopiera och klistra in texten igen och ersätta dessa citattecken.
Konfigurera SAPI Voice-inställningar
Det här är kul, men vi kan också konfigurera vår lilla talande dator med olika inställningar. Vi kan ändra volymen, hur snabbt eller långsamt rösten pratar och ändra kön mellan man och kvinna. Här är en exempelkod där jag lagt till ett par extra rader.
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
Standardhastigheten är 0 och intervallet är -10 till 10. -10 kommer att få rösten att tala superlångsamt och 10 kommer att tala supersnabbt. Volymen är standardinställd på 100 och intervallet är 0 till 100. Raden som börjar med Set sapi.Voice låter dig byta till en annan röst, om den är installerad på ditt system.
Observera att antalet röster du kan välja mellan beror på operativsystemet. I Windows 7 finns det bara en röst, Microsoft Anna.
I Windows 10 finns det två röster: Microsoft David och Microsoft Zira som visas nedan.
Om det bara finns en röst installerad på ditt system måste du ändra som säger sapi.GetVoices.Item(1) till sapi.GetVoices.Item(0) , annars får du ett felmeddelande när du försöker köra skriptet. Du kan också skapa ett annat Notepad-dokument och klistra in koden nedan i, som kommer att berätta vilka röster som är installerade. Spara den som en .VBS-fil som visas ovan och kör den.
Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next
Hittills har vi använt den här popup-dialogrutan för att skriva in text, men du kan också helt enkelt skriva in ditt meddelande i skriptfilen. Detta skulle vara användbart om du sedan vill schemalägga skriptet så att det körs automatiskt. Uppenbarligen kan detta användas för att busa dina vänner och familj och det fungerar riktigt bra.
Föreställ dig bara att någon slår på sin dator och hör datorn säga till dem "Hej John, jag är väldigt sömnig, snälla stör mig inte idag!" när den startar upp! Jag kan lova dig av erfarenhet, det är hysteriskt och du borde definitivt prova det.
För att hårdkoda meddelandet, ändra helt enkelt den sista raden till något så här:
sapi.Speak “Hello John, I am very tired today!”
Schemalägg skriptfil
Nu när du har hårdkodat ditt meddelande för ditt avsedda mål måste du helt enkelt köra det när du vill. Om du är tekniskt kunnig kan du använda ett program som AutoIt , som låter dig göra extrema saker som att köra din skriptfil när ett visst program öppnas eller när ett fönster är maximerat eller minimerat.
Jag har inte tid att gå in på allt det här i det här inlägget, men som tur är har Microsoft en inbyggd funktion som heter Task Scheduler som låter dig göra några ganska komplicerade saker med skript enkelt.
Mitt tidigare inlägg går på djupet om hur man schemalägger en skriptfil att köras när vissa händelser inträffar i Windows. Om du har några problem med att få ditt manus att fungera, skriv gärna en kommentar så ska jag försöka hjälpa till. Njut av!