Sådan får du din computer til at tale / taler hvad du skriver
Der er en cool funktion i Windows, der giver dig mulighed for at få din computer til at tale eller tale, uanset hvad du fortæller det! Denne metode udnytter en indbygget API installeret på Windows XP, Vista, 7, 8 og 10, der hedder SAPI (Speech Application Programming Interface).
Microsoft Speech API er det, der bruges til funktionen til tekst-til-tale tilgængelighed indbygget i Windows. Du kan også skrive programmer, der kalder API'en, hvilket giver dig mulighed for at lade dine applikationer tale, men det er for udviklere.
Bare at gøre din computer sige, hvad du vil, er ganske let faktisk! I denne artikel vil jeg vise dig, hvordan du opretter et VBS-script, der vil tage en tekstindtastning fra en bruger og derefter tale det. Jeg vil også nævne, hvordan man hardt kode den tekst, du vil have talt og planlægge det script for at køre på bestemte begivenheder som at starte Windows eller logge af.
Indtastningstekst, Tal Besked
Lad os starte med et simpelt script, der vil popup en dialogboks hvor du kan skrive i, hvad du vil have Windows til at tale. Først skal du gå og åbne Notesblok.
Trin 1: Indsæt følgende tekst i et nyt dokument:
Dim besked, sapi
message = InputBox ("Indtast teksten du vil have talt", "Tal dette")
Indstil sapi = CreateObject ("sapi.spvoice")
sapi.Speak besked
Bemærk, at når du kopierer tekst fra din webbrowser og indsætter det i Notesblok, vil citaterne forårsage problemer. Inden du gemmer filen, skal du gå igennem og slette hvert citat (") og genindtaste citatet. I eksemplet nedenfor er der seks citater. Det skal se noget som billedet nedenfor.
Nu, når du går for at gemme filen, skal du give det noget navn, men sørg for at du også skriver .VBS efter navnet. Dernæst for Gem som type boks, vælg Alle filer i stedet for standard tekstdokumenter.
Dobbeltklik nu på VBS-filen, og du skal se en indtastningsboks hvor du kan indtaste den tekst, du vil have talt! Indtast noget, og klik på OK.
Hvis du gjorde alt rigtigt, skal du høre enten en mandlig eller kvindelig stemme tale din sætning. Hvis du får nogen form for fejlmeddelelse, skal du sørge for at kopiere og indsætte teksten igen og erstatte disse citater.
Konfigurer SAPI Voice Settings
Det er sjovt, men vi kan også konfigurere vores lille talende computer med forskellige indstillinger. Vi kan ændre lydstyrken, hvor hurtigt eller langsomt talesamtalen og ændrer kønsforholdet mellem mand og kvinde. Her er nogle eksempler kode hvor jeg tilføjede et par ekstra linjer.
Dim besked, sapi
message = InputBox ("Indtast teksten du vil have talt", "Tal dette")
Indstil sapi = CreateObject ("sapi.spvoice")
Indstil sapi.Voice = sapi.GetVoices.Item (1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak besked
Standardraten er 0, og intervallet er -10 til 10. -10 vil få stemmen til at tale supert langsomt og 10 vil tale super hurtigt. Volumenet er standard ved 100, og intervallet er 0 til 100. Linjen der starter med Indstil sapi.Voice vil tillade dig at skifte til en anden stemme, hvis den er installeret på dit system.
Bemærk, at antallet af stemmer, du kan vælge imellem afhænger af operativsystemet. I Windows 7 er der kun én stemme, Microsoft Anna.
I Windows 10 er der to stemmer: Microsoft David og Microsoft Zira som vist nedenfor.
Hvis der kun er en stemme installeret på dit system, skal du ændre det der siger sapi.GetVoices.Item (1) til sapi.GetVoices.Item (0), ellers får du en fejlmeddelelse, når du forsøger at køre scriptet. Du kan også oprette et andet Notesblok-dokument og indsætte koden nedenfor, som vil fortælle dig, hvilke stemmer der er installeret. Gem det som en .VBS-fil som vist ovenfor og kør den.
Indstil VObj = CreateObject ("SAPI.SpVoice")
For hver stemme i VObj.getvoices
I = I + 1
msgbox "" & (I - 1) & "-" & Voice.GetDescription
Næste
Indtil nu har vi brugt denne popup-dialog til at indtaste tekst, men du kan også blot skrive din besked i scriptfilen. Dette ville være nyttigt, hvis du så ville planlægge scriptet til at køre automatisk. Det kan naturligvis bruges til at prankere dine venner og familie, og det virker rigtig godt.
Forestil dig at nogen tænder deres computer og høre computeren fortælle dem "Hej John, jeg er meget søvnig, lad mig ikke genere mig i dag!" Når det starter op! Jeg kan love dig fra erfaring, det er hysterisk, og du bør helt sikkert prøve det.
For at hardkode meddelelsen skal du blot ændre den sidste linje til noget som dette:
sapi.Speak "Hej John, jeg er meget træt i dag!"
Schedule Script File
Nu hvor du har hardcoded din besked til dit ønskede mål, skal du bare køre det, når du vil. Hvis du er tech-savvy, kan du bruge et program som AutoIt, som giver dig mulighed for at lave ekstreme ting som at køre din script-fil, når et bestemt program åbnes eller når en windows maksimeres eller minimeres.
Jeg har ikke tid til at komme ind i alt det i dette indlæg, men heldigvis har Microsoft en indbygget funktion kaldet Task Scheduler, som lader dig gøre nogle ret komplicerede ting med scripts nemt.
Mit tidligere indlæg går i dybde om, hvordan man planlægger en scriptfil, der skal køres, når visse hændelser opstår i Windows. Hvis du har problemer med at få dit script til at fungere, er du velkommen til at skrive en kommentar, og jeg vil forsøge at hjælpe. god fornøjelse!