Logo

Ursa Robotics

Η σελίδα για το Project 'Έξυπνο Σπίτι' του 1ου ΕΠΑ.Λ. Πρέβεζας

Δείτε το έργο στο GitΗub https://github.com/stav98/UrsaRobotics_SmartHome

Κείμενο σε ομιλία και αναπαραγωγή μουσικής

Θεωρήσαμε απαραίτητο όταν δίνουμε μια διαταγή ή όταν αυτόματα ενεργοποιείται ή απενεργοποιείται μια συσκευή, να ακούμε στα ελληνικά ένα φωνητικό μήνυμα. Μέσα στο σπίτι υπάρχουν ηχεία ώστε να ακούμε τα μηνύματα επιβεβαίωσης ή την μουσική.

Το πρόγραμμα για την ομιλία Text To Speech (T.T.S.) είναι το tts.py και είναι γραμμένο σε Python 3.x. Απαιτείται η εγκατάσταση του mplayer, του espeak και της βιβλιοθήκης Paho mqtt. Στην πραγματικότητα έχουμε φτιάξει ένα mqtt client το οποίο κάνει συνδρομή σε όποια topics θέλουμε να παίρνουμε ηχητική επιβεβαίωση. Τα topics, το απαιτούμενο payload καθώς και η πρόταση που θα πει υπάρχουν στο αρχείο κειμένου tts_topics.txt.

Στην αρχή διαβάζει το αρχείο και κάνει συνδρομή στα topics. Αν θέλουμε να απενεργοποιήσουμε κάποιο αρκεί να βάλουμε μια # στην πρώτη στήλη. Στη συνέχεια ακούει για πάντα τι μεταδίδει ο broker. Αν γίνει publish σε κάποιο topic που έχει κάνει εγγραφή, τότε εξετάζει το payload και αν υπάρχει λέει το φωνητικό μήνυμα.

Υπάρχουν δύο υλοποιήσεις του T.T.S. Η offline που έχει συνθετική φωνή robot voice αλλά δεν απαιτεί σύνδεση internet και έχει γρήγορη απόκριση και η online που στέλνει το κείμενο στη google και μετά αναπαράγει το αρχείο ήχου που επιστρέφει η μηχανή της google. Η δεύτερη έχει φυσική φωνή. Η επιλογή γίνεται στις γραμμές 13 και 14 αλλάζοντας την τιμή του string voice.

Επειδή θέλουμε να τρέχει συνέχεια από το ξεκίνημα του Raspberry, το κάνουμε εκτελέσιμο chmod 755 tts.py και προσθέτουμε στο τέλος του /etc/rc.local την παρακάτω γραμμή πριν το exit 0:

  ..........
  ..........
  /home/pi/smarthome/tts.py &
  /home/pi/smarthome/radio.py &

  exit 0
 

Επίσης δώσαμε την δυνατότητα αναπαραγωγής ραδιοφώνου με το πρόγραμμα radio.py. Εδώ όταν πατάμε παρατεταμένα το button (είχαμε προσθέσει και ένα εφεδρικό κουμπί στο J2 ακροδέκτες 7 και 8) αρχίζει η αναπαραγωγή μιας ραδιοφωνικής ροής (streaming). Η μουσική ακούγεται σε χαμηλότερη ένταση από την ομιλία. Αν πατήσουμε ξανά παρατεταμένα το κουμπί τότε η μουσική σταματάει. Επίσης και αυτό το πρόγραμμα ξεκινάει αυτόματα στο /etc/rc.local όπως φαίνεται παραπάνω.

Αν θέλουμε να ακούσουμε άλλη ροή αρκεί να τη δηλώσουμε στο string station γραμμή 15.

Επίδειξη ομιλίας TTS και αναπαραγωγής μουσικής.

Αρχική