Πώς να κάνει τον υπολογιστή σας να μιλήσει / να μιλήσει τι πληκτρολογείτε
Υπάρχει ένα δροσερό χαρακτηριστικό στα Windows που σας επιτρέπει να κάνετε τον υπολογιστή σας να μιλήσει ή να μιλήσει ό, τι το λέτε! Αυτή η μέθοδος εκμεταλλεύεται ένα ενσωματωμένο API που έχει εγκατασταθεί στα Windows XP, Vista, 7, 8 και 10 που ονομάζεται SAPI (Interface Programming Interface Application).
Το API του Microsoft Speech είναι αυτό που χρησιμοποιείται για τη δυνατότητα προσπέλασης κειμένου σε ομιλία ενσωματωμένη στα Windows. Μπορείτε επίσης να γράψετε προγράμματα που καλούν το API, το οποίο θα σας επιτρέψει να αφήσετε τις εφαρμογές σας να μιλήσουν, αλλά αυτό είναι για τους προγραμματιστές.
Απλά κάνοντας τον υπολογιστή σας να πει τι θέλετε είναι αρκετά εύκολο στην πραγματικότητα! Σε αυτό το άρθρο, θα σας δείξω πώς να δημιουργήσετε μια δέσμη ενεργειών VBS που θα λάβει μια εισαγωγή κειμένου από έναν χρήστη και στη συνέχεια θα την μιλήσει. Θα αναφερθώ επίσης στον τρόπο σκληρού κώδικα του κειμένου που θέλετε να μιλήσει και στη συνέχεια να προγραμματίσετε το συγκεκριμένο σενάριο να εκτελείται σε συγκεκριμένα συμβάντα όπως η εκκίνηση των Windows ή η αποσύνδεση.
Εισαγωγή κειμένου, Μιλήστε Μήνυμα
Ας ξεκινήσουμε με μια απλή δέσμη ενεργειών που θα εμφανίσει ένα παράθυρο διαλόγου όπου μπορείτε να πληκτρολογήσετε τι θέλετε να ομιλούν τα Windows. Πρώτα, προχωρήστε και ανοίξτε το Σημειωματάριο.
Βήμα 1: Επικολλήστε το ακόλουθο κείμενο σε ένα νέο έγγραφο:
Μήνυμα Dim, sapi
message = InputBox ("Εισαγάγετε το κείμενο που θέλετε να μιλήσει", "Μιλήστε αυτό")
Ορισμός sapi = CreateObject ("sapi.spvoice")
sapi.Speak μήνυμα
Σημειώστε ότι όταν αντιγράφετε κείμενο από το πρόγραμμα περιήγησης ιστού και το επικολλάτε στο Σημειωματάριο, τα εισαγωγικά θα προκαλέσουν προβλήματα. Πριν αποθηκεύσετε το αρχείο, πρέπει να περάσετε και να διαγράψετε κάθε απόσπασμα (") και να επαναλάβετε την προσφορά. Στο παρακάτω παράδειγμα, υπάρχουν έξι εισαγωγικά. Θα πρέπει να μοιάζει με την εικόνα που ακολουθεί.
Τώρα όταν πηγαίνετε για να αποθηκεύσετε το αρχείο, δώστε του οποιοδήποτε όνομα, αλλά βεβαιωθείτε ότι πληκτρολογείτε επίσης .VBS μετά το όνομα. Στη συνέχεια, για το Αποθηκεύστε ως τύπο κουτί, επιλέξτε Ολα τα αρχεία αντί για τα προεπιλεγμένα Έγγραφα κειμένου.
Τώρα κάντε διπλό κλικ στο αρχείο VBS και θα πρέπει να δείτε ένα πλαίσιο εισαγωγής όπου μπορείτε να πληκτρολογήσετε το κείμενο που θέλετε να μιλήσετε! Πληκτρολογήστε κάτι και κάντε κλικ στο OK.
Εάν κάνατε τα πάντα σωστά, θα πρέπει να ακούσετε είτε μια αρσενική είτε μια θηλυκή φωνή να μιλήσει για την ποινή σας. Αν λάβετε κάποιο μήνυμα σφάλματος, φροντίστε να αντιγράψετε και να επικολλήσετε ξανά το κείμενο και να αντικαταστήσετε αυτά τα αποσπάσματα.
Ρύθμιση ρυθμίσεων φωνής SAPI
Αυτό είναι διασκεδαστικό, αλλά μπορούμε επίσης να διαμορφώσουμε τον μικρό υπολογιστή μας με διαφορετικές ρυθμίσεις. Μπορούμε να αλλάξουμε την ένταση του ήχου, πόσο γρήγορα ή να επιβραδύνουμε τις φωνητικές συνομιλίες και να αλλάξουμε το φύλο μεταξύ ανδρών και γυναικών. Ακολουθεί κάποιο παράδειγμα κώδικα όπου προσθέσαμε μερικές επιπλέον γραμμές.
Μήνυμα Dim, sapi
message = InputBox ("Εισαγάγετε το κείμενο που θέλετε να μιλήσει", "Μιλήστε αυτό")
Ορισμός sapi = CreateObject ("sapi.spvoice")
Ορίστε sapi.Voice = sapi.GetVoices.Item (1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak μήνυμα
Το προεπιλεγμένο ποσοστό είναι 0 και το εύρος είναι -10 έως 10. -10 θα έχουν τη φωνή να μιλάει σούπερ αργά και 10 θα μιλούν σούπερ γρήγορα. Η ένταση είναι προεπιλεγμένη στα 100 και η περιοχή είναι 0 έως 100. Η γραμμή που αρχίζει με Ορίστε sapi.Voice θα σας επιτρέψει να αλλάξετε σε άλλη φωνή, εάν είναι εγκατεστημένη στο σύστημά σας.
Σημειώστε ότι ο αριθμός των φωνών που μπορείτε να επιλέξετε εξαρτάται από το λειτουργικό σύστημα. Στα Windows 7, υπάρχει μόνο μία φωνή, η Microsoft Άννα.
Στα Windows 10, υπάρχουν δύο φωνές: Microsoft David και Microsoft Zira όπως φαίνεται παρακάτω.
Εάν υπάρχει μόνο μία φωνή εγκατεστημένη στο σύστημά σας, πρέπει να αλλάξετε τη λέξη sapi.GetVoices.Item (1) προς το sapi.GetVoices.Item (0), διαφορετικά θα λάβετε ένα μήνυμα σφάλματος όταν προσπαθείτε να εκτελέσετε το σενάριο. Μπορείτε επίσης να δημιουργήσετε ένα άλλο έγγραφο του Notepad και να επικολλήσετε τον παρακάτω κώδικα, ο οποίος θα σας ενημερώσει για τις φωνές που έχουν εγκατασταθεί. Αποθηκεύστε το ως αρχείο .VBS όπως φαίνεται παραπάνω και εκτελέστε το.
Ορισμός VObj = CreateObject ("SAPI.SpVoice")
Για κάθε φωνή σε VObj.getvoices
Ι = Ι + 1
msgbox "" & (I - 1) & "-" & Voice.GetDescription
Επόμενο
Μέχρι τώρα, χρησιμοποιήσαμε αυτό το παράθυρο διαλόγου για την εισαγωγή κειμένου, αλλά μπορείτε απλά να πληκτρολογήσετε το μήνυμά σας στο αρχείο δέσμης ενεργειών. Αυτό θα ήταν χρήσιμο αν θέλετε να προγραμματίσετε στη συνέχεια το σενάριο να εκτελείται αυτόματα. Προφανώς, αυτό μπορεί να χρησιμοποιηθεί για να γοητεύσει τους φίλους και την οικογένειά σας και λειτουργεί πολύ καλά.
Απλώς φανταστείτε κάποιον που ενεργοποιεί τον υπολογιστή του και ακούει τον υπολογιστή να του πει "Γεια σας John, είμαι πολύ υπνηλία, παρακαλώ μην με ενοχλείτε σήμερα!" Όταν εκκινεί! Μπορώ να σας υποσχεθώ από την εμπειρία, είναι υστερικό και σίγουρα θα το δοκιμάσετε.
Για να μεταδώσετε το μήνυμα στον σκληρό κώδικα, απλά αλλάξτε την τελευταία γραμμή σε κάτι σαν αυτό:
sapi.Speak "Γεια σας John, είμαι πολύ κουρασμένος σήμερα!"
Προγραμματισμός αρχείου δέσμης ενεργειών
Τώρα που έχετε κωδικοποιήσει το μήνυμά σας για τον επιδιωκόμενο στόχο σας, απλά πρέπει να το εκτελέσετε όταν θέλετε. Εάν είστε tech-savvy, θα μπορούσατε να χρησιμοποιήσετε ένα πρόγραμμα όπως το AutoIt, το οποίο θα σας επιτρέψει να κάνετε ακραία πράγματα όπως το τρέξιμο του αρχείου δέσμης ενεργειών όταν ένα συγκεκριμένο πρόγραμμα είναι ανοιχτό ή όταν ένα παράθυρο μεγιστοποιείται ή ελαχιστοποιείται.
Δεν έχω χρόνο να μπει σε όλα αυτά σε αυτό το post, αλλά ευτυχώς η Microsoft έχει ένα ενσωματωμένο χαρακτηριστικό που ονομάζεται Task Scheduler που σας επιτρέπει να κάνετε αρκετά περίπλοκα πράγματα με scripts εύκολα.
Η προηγούμενη θέση μου πηγαίνει σε βάθος σχετικά με τον τρόπο προγραμματισμού ενός αρχείου δέσμης ενεργειών για εκτέλεση όταν εμφανίζονται ορισμένα συμβάντα στα Windows. Αν έχετε κάποιο πρόβλημα στη λειτουργία του σεναρίου σας, μην διστάσετε να δημοσιεύσετε ένα σχόλιο και θα προσπαθήσω να βοηθήσω. Απολαμβάνω!