Όταν το PWA σας αρχίζει να μιλά

Χρησιμοποιώντας το WaveNet για να προσθέσετε σύνθεση ομιλίας για άρθρα

Τι μιλάμε όταν μιλάμε για ομιλία

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

Πώς να: σύνθεση ομιλίας

Αφού ρίξω μια ματιά στην αρχιτεκτονική της τρέχουσας εφαρμογής, εφαρμόστηκε η ακόλουθη ροή εργασίας για τη βελτίωση του PWA με αυτόματη σύνθεση ομιλίας και πρόγραμμα αναπαραγωγής ήχου:

  1. εφαρμογή της σύνθεσης μέσω της υπηρεσίας κειμένου σε ομιλία του GCP χρησιμοποιώντας την (πολύ) πιο ακριβή επιλογή WaveNet αντί για την τυπική
  2. αποθήκευση του δημιουργημένου αρχείου mp3 στο Firebase Storage, ένα απλό σύστημα αρχείων που φιλοξενείται επίσης στο GCP. το όνομα του αρχείου αποτελείται από το slug του άρθρου και τις χρησιμοποιημένες τοπικές ρυθμίσεις, το οποίο μου δίνει μια σιωπηρή ταυτότητα και αποφεύγει την προσθήκη ενός ξεχωριστού εγγράφου που διατηρεί αναφορά σε όλες τις διευθύνσεις URL για μια δεδομένη ομιλία
  3. τότε καλώ τα δύο παραπάνω βήματα στον διακομιστή Vercel κατά τη δημιουργία ή την ενημέρωση μιας σελίδας άρθρου, η οποία συμβαίνει αυτήν τη στιγμή κάθε 24 ώρες το πολύ
  4. χρησιμοποιώντας τεμπέλης φόρτωση για το πρόγραμμα αναπαραγωγής ιστού σε περίπτωση που είναι διαθέσιμη μια διεύθυνση URL ήχου

Το να είσαι τεμπέλης είναι σημαντικό

Δεν θέλω να βλάψω την απόδοση φόρτωσης των εφαρμογών ιστού μου (και κατά συνέπεια την κατάταξη της μηχανής αναζήτησης), επομένως το πρόγραμμα αναπαραγωγής ιστού φορτώνεται κατ 'απαίτηση μόνο αφού πληρούνται δύο προϋποθέσεις:

  • Μια ηχητική διεύθυνση URL για το άρθρο είναι στην πραγματικότητα διαθέσιμη, η οποία προς το παρόν ισχύει μόνο για αγγλικά κείμενα για να διατηρεί κυρίως το κόστος χαμηλό
  • Ένας χρήστης κάνει κλικ στο κουμπί αναπαραγωγής, υποδεικνύοντας την επιθυμία να ακούσει πραγματικά το άρθρο που διαβάζεται δυνατά

Γιατί όχι όλες οι γλώσσες (προς το παρόν);

Λόγω της χρήσης του WaveNet της Google ως πραγματικού μοντέλου σύνθεσης ομιλίας, πρέπει να θεωρήσω το κόστος αυτής της λειτουργίας ως κύριο σημείο ανησυχίας. Η χρήση του WaveNet κοστίζει τέσσερις φορές το τυπικό μοντέλο σύνθεσης. Ωστόσο, το έχω επιλέξει, καθώς το WaveNet ξεπερνά κατά πολύ τα περισσότερα άλλα μοντέλα, όχι μόνο από την ίδια την Google αλλά και από την IBM, για παράδειγμα.

Μόνο η αρχή

Αυτή ήταν μια γρήγορη επισκόπηση του τρόπου εφαρμογής της σύνθεσης ομιλίας σε μια πρώτη έκδοση για αυτό το PWA. Ο χρόνος για τον κώδικα χρειάστηκε λίγες μόνο ώρες, καθώς είχα ήδη κάνει το μεγαλύτερο μέρος της ρύθμισης ως πελάτης GCP. Η παραγόμενη έξοδος ακούγεται απίστευτα καλή, η οποία δείχνει τα πλεονεκτήματα των WaveNet και ML προσεγγίσεων για ομιλία καθώς και χειρισμό κειμένου. Μια μελλοντική εφαρμογή μπορεί να προσθέσει δυνατά την ανάγνωση για όλες τις υποστηριζόμενες γλώσσες. Με βάση τη χρήση και το κόστος τους προσεχείς μήνες, θα καθορίσω πώς θα προχωρήσω σε αυτήν την περίπτωση.

Κάποιος

Προτάσεις

Σχετικά

Προσάρτημα

Γλώσσες