Hur du får din dator att prata/tala vad du skriver

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(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 :t , vilket gör att du kan låta dina applikationer tala, men det är för utvecklare.

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 du 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. Först(First) , gå vidare och öppna Anteckningar(Notepad) .

Steg 1:(Step 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.

få datorn att tala

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( All files) i rutan Spara som typ istället ( Save as type)för(Text Documents) standardtextdokument .

få datorn att prata

Dubbelklicka nu på VBS -filen så ska du se en inmatningsruta där du kan skriva in den text du vill ha uppläst! Skriv något och klicka på OK.

tala dialogrutan

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 lite 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 .

installerade röster

I Windows 10 finns det två röster: Microsoft David och Microsoft Zira som visas nedan.

microsoft davis röst

microsoft zira röst

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 denna popup-dialog 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(Hello 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 en del ganska komplicerade saker med skript enkelt.

Mitt tidigare inlägg går på djupet om hur man schemalägger en skriptfil att köras(how to schedule a script file to run) 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!



About the author

Jag är en webbutvecklare med över 10 års erfarenhet, inklusive 8 år som professionell mjukvaruingenjör. Jag har även erfarenhet av att utveckla mobilappar och spel, både för stationära och mobila enheter. På min fritid gillar jag att spela tv-spel och titta på film, lyssna på musik, läsa böcker och göra lite trädgårdsarbete.



Related posts