- Απαιτούμενα συστατικά
- Διάγραμμα κυκλώματος
- Σύνδεση ηχείου με το Arduino
- Προγραμματισμός Arduino για TTS (Κείμενο σε ομιλία)
Το σύστημα κειμένου σε ομιλία ή TTS μετατρέπει το κανονικό κείμενο σε ομιλία. Αυτή η τεχνολογία επιτρέπει στο σύστημα να εκφωνεί το κείμενο με ανθρώπινη φωνή. Υπάρχουν πολλά παραδείγματα μετατροπών κειμένου σε ομιλία, όπως ανακοινώσεις στις δημόσιες συγκοινωνίες, κλήσεις εξυπηρέτησης πελατών, βοηθοί φωνής στα smartphone σας ή το μενού πλοήγησης οποιουδήποτε μηχανήματος. Μπορείτε ακόμη να βρείτε το TTS στο Microsoft Word όπου το ρυθμίζετε για να εκφωνεί το κείμενο που είναι γραμμένο στο έγγραφο.
Σήμερα σε αυτό το σεμινάριο, θα μάθουμε πώς να κάνουμε μετατροπέα Text To Speech χρησιμοποιώντας το Arduino. Στο παρελθόν χρησιμοποιήσαμε το TTS με Raspberry pi στο ξυπνητήρι και επίσης μετατρέψαμε την ομιλία σε κείμενο στο raspberry pi χρησιμοποιώντας το φωνητικό πληκτρολόγιο Google.
Το πρώτο βήμα στο TTS είναι η προεπεξεργασία ή η ομαλοποίηση. Αυτό το βήμα περιλαμβάνει τη μετατροπή των συμβόλων, των αριθμών και των συντομογραφιών σε λέξεις που μπορούν να διαβαστούν από τις μηχανές όπως «?» θα μετατραπεί σε «ερωτηματικό».
Το δεύτερο βήμα περιλαμβάνει τη μετατροπή του κανονικοποιημένου κειμένου σε φωνήματα ή φωνητικά αντίγραφα. Τα φωνήματα είναι τα μικρά μέρη των προφορικών λέξεων, δηλαδή αυτοί είναι οι ήχοι που δημιουργούν προτάσεις. Αυτό το βήμα είναι πραγματικά απαραίτητο ώστε η μηχανή να μπορεί να μιλά τις λέξεις όπως κάνουν οι άνθρωποι.
Το τελευταίο βήμα είναι η σύνθεση φωνητικών σε προφορική φωνή. Αυτό το βήμα μπορεί να επιτευχθεί με διαφορετικές μεθόδους, όπως η καταγραφή της ανθρώπινης φωνής για διαφορετικές λέξεις / φράσεις ή με τη δημιουργία βασικών ηχητικών συχνοτήτων και τη συσσώρευσή τους ως φωνήματα ή με αντιγραφή ανθρώπινου μηχανισμού ομιλίας.
Απαιτούμενα συστατικά
- Πίνακας Arduino
- Ένας ομιλητής
- Ένα κύκλωμα ενισχυτή
- Ρυθμιζόμενη παροχή ηλεκτρικού ρεύματος
- Σύνδεση καλωδίων
Διάγραμμα κυκλώματος
Εδώ σε αυτόν τον μετατροπέα κειμένου σε ομιλία, χρησιμοποιήσαμε ένα κύκλωμα ενισχυτή για να μειώσουμε τον θόρυβο και να έχουμε καθαρό ήχο. Το κύκλωμα ενισχυτή κατασκευάζεται χρησιμοποιώντας το IC LM386. Το διάγραμμα κυκλώματος φαίνεται παρακάτω:
Χρησιμοποιείται ένα δοχείο 100K για τη ρύθμιση του ήχου. Ρυθμίστε το για να έχετε καθαρό ήχο. Εάν έχετε κάποια σύγχυση σχετικά με αυτό το κύκλωμα, ελέγξτε το κύκλωμα ενισχυτή ήχου βάσει LM386. Εάν δεν έχετε την ακριβή τιμή των αντιστάσεων και των πυκνωτών, χρησιμοποιήστε τους κλειστούς.
Σύνδεση ηχείου με το Arduino
Οι συνδέσεις είναι εξαιρετικά εύκολες μόλις κάνετε το κύκλωμα ενισχυτή.
Συνδέστε το τροφοδοτικό στο κύκλωμα του ενισχυτή και συνδέστε τον ψηφιακό πείρο 3 της αντίστασης Arduino με 10K και συνδέστε τη γείωση του Arduino με τη γείωση του κυκλώματος. Τώρα συνδέστε το ηχείο συνδέοντας τον αρνητικό του ακροδέκτη στη γείωση και τον θετικό ακροδέκτη στον πυκνωτή 220μF και συνδέστε το τροφοδοτικό.
Προγραμματισμός Arduino για TTS (Κείμενο σε ομιλία)
Το πρόγραμμα για αυτό το TTS που βασίζεται στο Arduino είναι επίσης πολύ εύκολο καθώς η βιβλιοθήκη είναι διαθέσιμη για αυτό. Αυτή η βιβλιοθήκη ονομάζεται Talkie και μπορεί να προστεθεί από τον διαχειριστή της βιβλιοθήκης. Για να προσθέσετε τη βιβλιοθήκη, μεταβείτε στο Σκίτσο-> Συμπερίληψη βιβλιοθήκης-> Mange Βιβλιοθήκες .
Τώρα η Διαχείριση βιβλιοθήκης θα είναι στην οθόνη σας. Στη γραμμή αναζήτησης πληκτρολογήστε Talkie και κάντε κλικ στο κουμπί εγκατάστασης. Η βιβλιοθήκη θα εγκατασταθεί.
Αυτή η βιβλιοθήκη είναι πολύ βολική και έχει πάνω από 1000 λέξεις και εντολές. Έχει πολλά παραδείγματα, μπορείτε να τα δοκιμάσετε όλα, αλλά εδώ χρησιμοποιούμε έναν απλό κώδικα για να εξηγήσουμε τη λειτουργία.
Μπορείτε επίσης να δοκιμάσετε άλλες εντολές που δίνονται στη βιβλιοθήκη. Για να λάβετε αυτές τις εντολές, μεταβείτε στο Documents \ Arduino \ libraries \ Talkie \ src και, στη συνέχεια, ανοίξτε τα αρχεία κεφαλίδας και λάβετε πολλές εντολές που μπορούν να χρησιμοποιηθούν για διαφορετικές ειδοποιήσεις. Υπάρχουν πολλές άλλες βιβλιοθήκες TTS όπως η βιβλιοθήκη jscrane TTS, η βιβλιοθήκη google TTS κ.λπ. Μπορείτε επίσης να τις δοκιμάσετε.
Ας ξεκινήσουμε λοιπόν την κωδικοποίηση. Αρχικά συμπεριλάβετε ορισμένα αρχεία κεφαλίδας. Το Talkie.h χρησιμοποιείται για να προετοιμάσει αυτήν τη βιβλιοθήκη και να ορίσει τον ψηφιακό πείρο 3 του Arduino ως πινέλο εξόδου. Το Vocab_US_Large.h χρησιμοποιείται για τη χρήση των ειδοποιήσεων που χρησιμοποιούμε και το Vocab_Special.h χρησιμοποιείται για τη χρήση της παύσης που χρησιμοποιούμε.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Τώρα ορίστε ένα αντικείμενο "τιμή" για να χρησιμοποιήσετε τις εντολές:
Φωνή Talkie;
Εδώ το ίδιο μήνυμα θα επαναληφθεί στο ηχείο, οπότε διατηρήστε τη λειτουργία ρύθμισης κενή και θέστε τις εντολές σε λειτουργία βρόχου. Η πρώτη εντολή voice.say (spPAUSE2) είναι να κάνετε μια σύντομη παύση επαναλαμβάνοντας το μήνυμα ειδοποίησης. Και οι επόμενες εντολές είναι απλές λέξεις που υπονοούν: ΚΙΝΔΥΝΟΣ ΚΙΝΔΥΝΟΣ ΣΤΡΩΜΑ ΣΤΗ ΒΟΡΕΙΑ.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
Τέλος, ανεβάστε τον κωδικό στο Arduino και συνδέστε το τροφοδοτικό σε αυτό. Μόλις ενεργοποιήσετε το κύκλωμα θα αρχίσετε να ακούτε τις ειδοποιήσεις! Εάν δεν έχετε καθαρό ήχο, δοκιμάστε να ρυθμίσετε το κουμπί του ποτ ή ελέγξτε αν το Arduino λαμβάνει σωστή τροφοδοσία και βεβαιωθείτε ότι το GND του Arduino είναι συνδεδεμένο στο έδαφος του κυκλώματος.
Ελέγξτε τον πλήρη κωδικό με μια επίδειξη Βίντεο που δίνεται παρακάτω