Hur man gör din dator prata / prata vad du skriver
Det finns en sval funktion i Windows som gör det möjligt för din dator att prata eller prata vad du än säger! Denna metod utnyttjar ett inbyggt API installerat på Windows XP, Vista, 7, 8 och 10 som heter 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 kallar API, vilket låter dig låta dina applikationer tala, men det är för utvecklare.
Att bara göra datorn säger vad du vill är ganska enkelt faktiskt! I den här artikeln visar jag hur du skapar ett VBS-skript som tar en textinmatning från en användare och talar sedan. Jag kommer också att nämna hur man hård kodar texten du vill tala och planerar sedan det här skriptet för att köras på specifika händelser som att starta Windows eller logga av.
Inmatningstext, Tal 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 prata. Först, fortsätt och öppna Anteckningsblock.
Steg 1: Klistra in följande text i ett nytt dokument:
Mått meddelande, sapi
message = InputBox ("Ange texten du vill tala", "Tal detta")
Ange sapi = CreateObject ("sapi.spvoice")
sapi.Speak meddelande
Observera att när du kopierar text från din webbläsare och klistrar in den i anteckningsblocket, kommer citat att orsaka problem. Innan du sparar filen måste du gå igenom och radera varje citat (") och skriva in citatet igen. I exemplet nedan finns sex citat. Det ska se ut som bilden nedan.
Nu när du går för att spara filen, ge den något namn, men se till att du också skriver .VBS efter namnet. Därefter för Spara som typ rutan, välj Alla filer istället för standardtextdokumenten.
Dubbelklicka nu på VBS-filen och du bör se en inmatningslåda där du kan skriva in texten du vill ha talat! Skriv något och klicka på OK.
Om du gjorde allt rätt borde du antingen höra en manlig eller kvinnlig röst tala ut din mening. Om du får något slags felmeddelande, se till att kopiera och klistra in texten igen och ersätt citat.
Konfigurera SAPI Voice Settings
Det här är roligt, men vi kan också konfigurera vår lilla talande dator med olika inställningar. Vi kan ändra volymen, hur snabbt eller långsamt röstsamtalen och ändra könet mellan man och kvinna. Här är några exempelkodar där jag lagt till ett par extra linjer.
Mått meddelande, sapi
message = InputBox ("Ange texten du vill tala", "Tal detta")
Ange sapi = CreateObject ("sapi.spvoice")
Ange sapi.Voice = sapi.GetVoices.Item (1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak meddelande
Standardvärdet är 0 och intervallet är -10 till 10. -10 kommer att få rösten att tala super långsamt och 10 kommer att prata super snabbt. Volymen är standard vid 100 och intervallet är 0 till 100. Linjen som börjar med Ange sapi.Voice tillåter dig att byta till en annan röst, om den är installerad på ditt system.
Observera att antalet röster du kan välja 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 det 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 Anteckningar dokument och klistra in koden nedan, som kommer att berätta vilka röster som installeras. Spara det som en .VBS-fil som visas ovan och kör den.
Ange VObj = CreateObject ("SAPI.SpVoice")
För varje röst i VObj.getvoices
I = I + 1
msgbox "" & (I - 1) & "-" & Voice.GetDescription
Nästa
Hittills har vi använt denna popupdialog för att skriva in text, men du kan också helt enkelt skriva ditt meddelande i skriptfilen. Det här skulle vara användbart om du då vill schemalägga skriptet för att köra automatiskt. Självklart kan detta användas för att pranka dina vänner och familj och det fungerar riktigt bra.
Tänk bara att någon slår på datorn och hör datorn, berätta för dem "Hej John, jag är väldigt sömnig, snälla stör mig inte idag!" När det stöter upp! Jag kan lova dig från erfarenhet, det är hysterisk och du borde definitivt prova det.
För att hardkoda meddelandet, ändrar du bara den sista raden till något så här:
sapi.Speak "Hej John, jag är väldigt trött idag!"
Schemalägga skriptfilen
Nu när du har kodat ditt meddelande för ditt avsedda mål måste du helt enkelt springa det när du vill. Om du är tekniskt kunnig kan du använda ett program som AutoIt, vilket gör att du kan göra extrema saker som att köra skriptfilen när ett visst program öppnas eller när ett fönster maximeras eller minimeras.
Jag har inte tid att komma in i allt det här i det här inlägget, men lyckligtvis har Microsoft en inbyggd funktion som heter Task Scheduler som gör att du kan göra några ganska komplicerade saker med skript lätt.
Mitt tidigare inlägg går djupt på hur man schemalägger en skriptfil som ska köras när vissa händelser inträffar i Windows. Om du har problem med att få ditt skript att fungera, skriv gärna en kommentar och jag försöker hjälpa. Njut av!