You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/el/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-te...

8.9 KiB

Μετατροπή ομιλίας σε κείμενο - Εικονική συσκευή IoT

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

Μετατροπή ομιλίας σε κείμενο

Σε Windows, Linux και macOS, το Python SDK των υπηρεσιών ομιλίας μπορεί να χρησιμοποιηθεί για να ακούσει το μικρόφωνό σας και να μετατρέψει οποιαδήποτε ανιχνευόμενη ομιλία σε κείμενο. Θα ακούει συνεχώς, ανιχνεύοντας τα επίπεδα ήχου και στέλνοντας την ομιλία για μετατροπή σε κείμενο όταν τα επίπεδα ήχου πέφτουν, όπως στο τέλος ενός μπλοκ ομιλίας.

Εργασία - μετατροπή ομιλίας σε κείμενο

  1. Δημιουργήστε μια νέα εφαρμογή Python στον υπολογιστή σας σε έναν φάκελο που ονομάζεται smart-timer με ένα μόνο αρχείο που ονομάζεται app.py και ένα εικονικό περιβάλλον Python.

  2. Εγκαταστήστε το πακέτο Pip για τις υπηρεσίες ομιλίας. Βεβαιωθείτε ότι το εγκαθιστάτε από ένα τερματικό με ενεργοποιημένο το εικονικό περιβάλλον.

    pip install azure-cognitiveservices-speech
    

    ⚠️ Εάν λάβετε το ακόλουθο σφάλμα:

    ERROR: Could not find a version that satisfies the requirement azure-cognitiveservices-speech (from versions: none)
    ERROR: No matching distribution found for azure-cognitiveservices-speech
    

    Θα χρειαστεί να ενημερώσετε το Pip. Κάντε το με την ακόλουθη εντολή και στη συνέχεια δοκιμάστε να εγκαταστήσετε ξανά το πακέτο.

    pip install --upgrade pip
    
  3. Προσθέστε τις ακόλουθες εισαγωγές στο αρχείο app.py:

    import requests
    import time
    from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer
    

    Αυτές οι εισαγωγές περιλαμβάνουν κάποιες κλάσεις που χρησιμοποιούνται για την αναγνώριση ομιλίας.

  4. Προσθέστε τον ακόλουθο κώδικα για να δηλώσετε κάποιες ρυθμίσεις:

    speech_api_key = '<key>'
    location = '<location>'
    language = '<language>'
    
    recognizer_config = SpeechConfig(subscription=speech_api_key,
                                     region=location,
                                     speech_recognition_language=language)
    

    Αντικαταστήστε το <key> με το API key για την υπηρεσία ομιλίας σας. Αντικαταστήστε το <location> με την τοποθεσία που χρησιμοποιήσατε όταν δημιουργήσατε τον πόρο της υπηρεσίας ομιλίας.

    Αντικαταστήστε το <language> με το όνομα τοπικής ρύθμισης για τη γλώσσα στην οποία θα μιλάτε, για παράδειγμα en-GB για Αγγλικά ή zn-HK για Καντονέζικα. Μπορείτε να βρείτε μια λίστα με τις υποστηριζόμενες γλώσσες και τα ονόματα τοπικών ρυθμίσεων στην τεκμηρίωση υποστήριξης γλωσσών και φωνών στο Microsoft docs.

    Αυτές οι ρυθμίσεις χρησιμοποιούνται στη συνέχεια για τη δημιουργία ενός αντικειμένου SpeechConfig που θα χρησιμοποιηθεί για τη διαμόρφωση των υπηρεσιών ομιλίας.

  5. Προσθέστε τον ακόλουθο κώδικα για να δημιουργήσετε έναν αναγνωριστή ομιλίας:

    recognizer = SpeechRecognizer(speech_config=recognizer_config)
    
  6. Ο αναγνωριστής ομιλίας λειτουργεί σε ένα νήμα παρασκηνίου, ακούγοντας τον ήχο και μετατρέποντας οποιαδήποτε ομιλία σε κείμενο. Μπορείτε να λάβετε το κείμενο χρησιμοποιώντας μια συνάρτηση επιστροφής - μια συνάρτηση που ορίζετε και περνάτε στον αναγνωριστή. Κάθε φορά που ανιχνεύεται ομιλία, καλείται η συνάρτηση επιστροφής. Προσθέστε τον ακόλουθο κώδικα για να ορίσετε μια συνάρτηση επιστροφής και να την περάσετε στον αναγνωριστή, καθώς και να ορίσετε μια συνάρτηση για την επεξεργασία του κειμένου, γράφοντάς το στην κονσόλα:

    def process_text(text):
        print(text)
    
    def recognized(args):
        process_text(args.result.text)
    
    recognizer.recognized.connect(recognized)
    
  7. Ο αναγνωριστής ξεκινά να ακούει μόνο όταν τον ξεκινήσετε ρητά. Προσθέστε τον ακόλουθο κώδικα για να ξεκινήσετε την αναγνώριση. Αυτό λειτουργεί στο παρασκήνιο, οπότε η εφαρμογή σας θα χρειαστεί επίσης έναν άπειρο βρόχο που κοιμάται για να διατηρήσει την εφαρμογή ενεργή.

    recognizer.start_continuous_recognition()
    
    while True:
        time.sleep(1)
    
  8. Εκτελέστε αυτήν την εφαρμογή. Μιλήστε στο μικρόφωνό σας και ο ήχος που μετατρέπεται σε κείμενο θα εμφανιστεί στην κονσόλα.

    (.venv) ➜  smart-timer python3 app.py
    Hello world.
    Welcome to IoT for beginners.
    

    Δοκιμάστε διαφορετικούς τύπους προτάσεων, καθώς και προτάσεις όπου οι λέξεις ακούγονται το ίδιο αλλά έχουν διαφορετικές σημασίες. Για παράδειγμα, εάν μιλάτε Αγγλικά, πείτε "I want to buy two bananas and an apple too" και παρατηρήστε πώς χρησιμοποιεί το σωστό "to", "two" και "too" με βάση το πλαίσιο της λέξης, όχι μόνο τον ήχο της.

💁 Μπορείτε να βρείτε αυτόν τον κώδικα στον φάκελο code-speech-to-text/virtual-iot-device.

😀 Το πρόγραμμα μετατροπής ομιλίας σε κείμενο ήταν επιτυχές!


Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.