Hjemmeside » Morsomme ting » Hvordan få datamaskinen til å snakke / snakk hva du skriver

    Hvordan få datamaskinen til å snakke / snakk hva du skriver

    Det er kult funksjon i Windows som lar deg få datamaskinen til å snakke eller snakke uansett hva du forteller det! Denne metoden utnytter en innebygd API installert på Windows XP, Vista, 7, 8 og 10, som heter SAPI (Speech Application Programming Interface).

    Microsoft Speech API er det som brukes til tekst-til-tale tilgjengelighet funksjonen innebygd i Windows. Du kan også skrive programmer som kaller API, som vil tillate deg å la applikasjonene snakke, men det er for utviklere.

    Bare å la datamaskinen si hva du vil, er ganske enkelt faktisk! I denne artikkelen vil jeg vise deg hvordan du lager et VBS-skript som vil ta tekstinngang fra en bruker og deretter snakke det. Jeg vil også nevne hvordan du hardt kodes teksten du vil snakke og deretter planlegge det skriptet for å kjøre på bestemte hendelser som å starte Windows eller logge av.

    Inndatatekst, Snakk beskjed

    La oss starte med et enkelt skript som vil popup en dialogboks hvor du kan skrive inn hva du vil at Windows skal snakke. Først, gå videre og åpne Notisblokk.

    Trinn 1: Lim inn følgende tekst i et nytt dokument:

    Dim melding, sapi
    message = InputBox ("Skriv inn teksten du vil snakke", "Snakk dette")
    Angi sapi = CreateObject ("sapi.spvoice")
    sapi.Speak melding

    Merk at når du kopierer tekst fra nettleseren din og limer den inn i Notisblokk, vil anførselstegnene føre til problemer. Før du lagrer filen, må du gå gjennom og slette hvert sitat (") og skriv inn sitatet på nytt. I eksemplet nedenfor er det seks anførselstegn. Det burde se noe som bildet nedenfor.

    Nå når du går for å lagre filen, gi den noe navn, men sørg for at du også skriver .VBS etter navnet. Neste, for Lagre som type boks, velg Alle filer i stedet for standard tekstdokumenter.

    Dobbeltklikk nå på VBS-filen, og du bør se en innboks boks der du kan skrive inn teksten du vil ha snakket! Skriv noe og klikk OK.

    Hvis du gjorde alt riktig, bør du høre at en mannlig eller kvinnelig stemme snakker ut setningen din. Hvis du får noen form for feilmelding, må du sørge for å kopiere og lime inn teksten igjen og erstatte disse sitatene.

    Konfigurer SAPI Voice Settings

    Dette er gøy, men vi kan også konfigurere vår lille snakkcomputer med forskjellige innstillinger. Vi kan endre volumet, hvor raskt eller sakte talesamtaler og bytt kjønn mellom mann og kvinne. Her er noen eksempler koden der jeg la til et par ekstra linjer.

    Dim melding, sapi
    message = InputBox ("Skriv inn teksten du vil snakke", "Snakk dette")
    Angi sapi = CreateObject ("sapi.spvoice")
    Sett sapi.Voice = sapi.GetVoices.Item (1)
    sapi.Rate = 0
    sapi.volume = 100
    sapi.Speak melding

    Standardverdien er 0 og rekkevidde er -10 til 10. -10 vil få stemmen til å snakke super sakte og 10 vil snakke super fort. Volumet er standard ved 100 og området er 0 til 100. Linjen som starter med Sett sapi.Voice vil tillate deg å bytte til en annen stemme, hvis den er installert på systemet ditt.

    Merk at antall stemmer du kan velge mellom, avhenger av operativsystemet. I Windows 7 er det bare én stemme, Microsoft Anna.

    I Windows 10 er det to stemmer: Microsoft David og Microsoft Zira som vist nedenfor.

    Hvis det bare er en stemme installert på systemet ditt, må du endre det som står sapi.GetVoices.Item (1) til sapi.GetVoices.Item (0), ellers får du en feilmelding når du prøver å kjøre skriptet. Du kan også opprette et annet Notisblokkdokument og lime inn koden under, som vil fortelle deg hvilke stemmer som er installert. Lagre det som en .VBS-fil som vist ovenfor og kjøre den.

    Sett VObj = CreateObject ("SAPI.SpVoice")
    For hver stemme i VObj.getvoices
    I = I + 1
    msgbox "" & (I - 1) & "-" & Voice.GetDescription
    neste

    Frem til nå har vi brukt denne popup-dialogboksen for å skrive inn tekst, men du kan også bare skrive inn meldingen i skriptfilen. Dette ville være nyttig hvis du ønsket å planlegge skriptet for å kjøre automatisk. Selvfølgelig kan dette brukes til å prankere venner og familie, og det fungerer veldig bra.

    Tenk deg at noen setter på datamaskinen og hører på datamaskinen, fortell dem "Hei John, jeg er veldig søvnig, vær så snill å ikke bry meg i dag!" Når den støtter opp! Jeg kan love deg fra erfaring, det er hysterisk, og du bør definitivt prøve det.

    For å hardkode meldingen, bare endre den siste linjen til noe slikt:

    sapi.Speak "Hei John, jeg er veldig sliten i dag!"

    Planlegg skriptfilen

    Nå som du har hardkodet meldingen din til ditt mål, må du bare kjøre det når du vil. Hvis du er teknisk kunnskapsrik, kan du bruke et program som AutoIt, som lar deg gjøre ekstreme ting som å kjøre skriptfilen når et bestemt program er åpnet eller når et vindu er maksimert eller minimert.

    Jeg har ikke tid til å komme inn i alt som er i dette innlegget, men heldigvis har Microsoft en innebygd funksjon kalt oppgaveplanleggeren som lar deg gjøre noen ganske kompliserte ting med skript lett.

    Mitt forrige innlegg går i dybden om hvordan du planlegger en skriptfil for å kjøre når visse hendelser oppstår i Windows. Hvis du har problemer med å få skriptet ditt til å fungere, kan du gjerne legge inn en kommentar, og jeg vil prøve å hjelpe. Nyt!