Homepage » Cose divertenti » Come far parlare il tuo computer / Parla quello che scrivi

    Come far parlare il tuo computer / Parla quello che scrivi

    C'è una bella funzionalità in Windows che ti permette di far parlare o parlare il tuo computer qualunque cosa tu dica! Questo metodo sfrutta l'API integrata installata su Windows XP, Vista, 7, 8 e 10 denominata SAPI (Speech Application Programming Interface).

    L'API vocale Microsoft è ciò che viene utilizzato per la funzionalità di accessibilità da testo a voce incorporata in Windows. Puoi anche scrivere programmi che chiamano l'API, che ti consentirebbe di far parlare le tue applicazioni, ma questo è per gli sviluppatori.

    Il solo fatto che il tuo computer dica quello che vuoi è davvero facile! In questo articolo, ti mostrerò come creare uno script VBS che prenderà un input di testo da un utente e poi parlerà. Accennerò anche a come codificare il testo che si desidera pronunciare e quindi programmarlo per l'esecuzione su eventi specifici come l'avvio di Windows o la disconnessione.

    Inserisci testo, parla messaggio

    Iniziamo con un semplice script che farà apparire una finestra di dialogo in cui puoi digitare ciò che vuoi che Windows parli. Innanzitutto, vai avanti e apri il Blocco note.

    Passo 1: Incolla il seguente testo in un nuovo documento:

    Dim messaggio, sapi
    messaggio = InputBox ("Inserisci il testo che vuoi pronunciare", "Pronuncia questo")
    Imposta sapi = CreateObject ("sapi.spvoice")
    sapi.Speak messaggio

    Si noti che quando si copia il testo dal browser Web e lo si incolla nel blocco note, le virgolette causeranno problemi. Prima di salvare il file, devi passare e cancellare ogni preventivo (") e ridigitare il preventivo. Nell'esempio seguente, ci sono sei citazioni. Dovrebbe assomigliare all'immagine qui sotto.

    Ora quando vai a salvare il file, dagli un nome, ma assicurati di digitare anche .VBS dopo il nome. Successivamente, per il Salva come tipo scatola, scegliere Tutti i files invece dei documenti di testo predefiniti.

    Ora fai doppio clic sul file VBS e dovresti vedere una casella di input dove puoi digitare il testo che vuoi pronunciare! Digitare qualcosa e fare clic su OK.

    Se hai fatto tutto bene, dovresti sentire una voce maschile o femminile pronunciare la tua frase. Se ricevi qualsiasi tipo di messaggio di errore, assicurati di copiare e incollare di nuovo il testo e sostituire quelle citazioni.

    Configurare le impostazioni vocali SAPI

    Questo è divertente, ma possiamo anche configurare il nostro piccolo computer parlante con impostazioni diverse. Possiamo cambiare il volume, quanto velocemente o lentamente la voce parla e cambiare il genere tra maschio e femmina. Ecco alcuni esempi di codice in cui ho aggiunto un paio di linee extra.

    Dim messaggio, sapi
    messaggio = InputBox ("Inserisci il testo che vuoi pronunciare", "Pronuncia questo")
    Imposta sapi = CreateObject ("sapi.spvoice")
    Imposta sapi.Voice = sapi.GetVoices.Item (1)
    sapi.Rate = 0
    sapi.volume = 100
    sapi.Speak messaggio

    La frequenza predefinita è 0 e l'intervallo è compreso tra -10 e 10. -10 La voce parlerà molto lentamente e 10 parlerà velocemente. Il volume è predefinito a 100 e l'intervallo è compreso tra 0 e 100. La riga che inizia con Imposta sapi.Voice ti consentirà di passare a un'altra voce, se installata sul tuo sistema.

    Si noti che il numero di voci tra cui è possibile scegliere dipende dal sistema operativo. In Windows 7, c'è solo una voce, Microsoft Anna.

    In Windows 10 ci sono due voci: Microsoft David e Microsoft Zira come mostrato di seguito.

    Se nel sistema è installata una sola voce, è necessario modificare ciò che dice sapi.GetVoices.Item (1) a sapi.GetVoices.Item (0), in caso contrario verrà visualizzato un messaggio di errore quando si tenta di eseguire lo script. Puoi anche creare un altro documento Blocco note e incollare il codice sottostante, che ti dirà quali voci sono installate. Salvalo come un file .VBS come mostrato sopra ed eseguilo.

    Imposta VObj = CreateObject ("SAPI.SpVoice")
    Per ogni voce in VObj.getvoices
    I = I + 1
    msgbox "" & (I - 1) & "-" & Voice.GetDescription
    Il prossimo

    Fino ad ora, abbiamo utilizzato questa finestra di dialogo popup per inserire il testo, ma potresti anche semplicemente digitare il tuo messaggio nel file di script. Ciò sarebbe utile se si volesse quindi pianificare l'esecuzione automatica dello script. Ovviamente, questo può essere usato per fare scherzi ai tuoi amici e familiari e funziona davvero bene.

    Immagina semplicemente che qualcuno accenda il loro computer e senta il computer dire "Ciao John, sono molto addormentato, per favore non disturbarmi oggi!" Quando si avvia! Posso prometterti per esperienza, è isterico e dovresti assolutamente provarlo.

    Per codificare il messaggio, è sufficiente modificare l'ultima riga in qualcosa del genere:

    sapi.Speak "Ciao Giovanni, sono molto stanco oggi!"

    Pianifica file di script

    Ora che hai hardcoded il tuo messaggio per il tuo target, devi semplicemente eseguirlo quando vuoi. Se sei esperto di tecnologia, potresti usare un programma come AutoIt, che ti permetterà di fare cose estreme come eseguire il tuo file di script quando viene aperto un determinato programma o quando una finestra viene ingrandita o ridotta a icona.

    Non ho il tempo di approfondire tutto questo in questo post, ma fortunatamente Microsoft ha una funzionalità integrata chiamata Task Scheduler che ti permette di fare cose abbastanza complicate con script facilmente.

    Il mio post precedente approfondisce la modalità di programmazione di un file di script da eseguire quando si verificano determinati eventi in Windows. Se hai problemi a far funzionare il tuo script, sentiti libero di postare un commento e cercherò di aiutarti. Godere!