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/sl/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-te...

5.4 KiB

Pretvorba govora v besedilo - Virtualna IoT naprava

V tem delu lekcije boste napisali kodo za pretvorbo govora, zajetega z vašim mikrofonom, v besedilo z uporabo storitve za prepoznavanje govora.

Pretvorba govora v besedilo

Na Windows, Linux in macOS lahko Python SDK za storitve prepoznavanja govora uporabite za poslušanje vašega mikrofona in pretvorbo zaznanega govora v besedilo. SDK bo neprekinjeno poslušal, zaznaval ravni zvoka in pošiljal govor v pretvorbo v besedilo, ko se raven zvoka zniža, na primer ob koncu bloka govora.

Naloga - pretvorba govora v besedilo

  1. Ustvarite novo Python aplikacijo na vašem računalniku v mapi z imenom smart-timer z eno datoteko, imenovano app.py, in Python virtualnim okoljem.

  2. Namestite Pip paket za storitve prepoznavanja govora. Prepričajte se, da to nameščate iz terminala z aktiviranim virtualnim okoljem.

    pip install azure-cognitiveservices-speech
    

    ⚠️ Če dobite naslednjo napako:

    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
    

    Morate posodobiti Pip. To storite z naslednjim ukazom, nato poskusite znova namestiti paket.

    pip install --upgrade pip
    
  3. Dodajte naslednje uvoze v datoteko app.py:

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

    To uvozi nekaj razredov, ki se uporabljajo za prepoznavanje govora.

  4. Dodajte naslednjo kodo za deklaracijo konfiguracije:

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

    Zamenjajte <key> z API ključem za vašo storitev prepoznavanja govora. Zamenjajte <location> z lokacijo, ki ste jo uporabili ob ustvarjanju vira storitve prepoznavanja govora.

    Zamenjajte <language> z imenom lokalizacije jezika, v katerem boste govorili, na primer en-GB za angleščino ali zn-HK za kantonščino. Seznam podprtih jezikov in njihovih lokalizacijskih imen najdete v dokumentaciji o podpori za jezike in glasove na Microsoft Docs.

    Ta konfiguracija se nato uporabi za ustvarjanje objekta SpeechConfig, ki bo uporabljen za konfiguracijo storitev prepoznavanja govora.

  5. Dodajte naslednjo kodo za ustvarjanje prepoznavalnika govora:

    recognizer = SpeechRecognizer(speech_config=recognizer_config)
    
  6. Prepoznavalnik govora deluje na ozadju, posluša zvok in pretvarja zaznan govor v besedilo. Besedilo lahko pridobite z uporabo funkcije povratnega klica - funkcije, ki jo definirate in posredujete prepoznavalniku. Vsakič, ko je zaznan govor, se funkcija povratnega klica pokliče. Dodajte naslednjo kodo za definiranje funkcije povratnega klica, jo posredujte prepoznavalniku ter definirajte funkcijo za obdelavo besedila, ki ga izpiše v konzolo:

    def process_text(text):
        print(text)
    
    def recognized(args):
        process_text(args.result.text)
    
    recognizer.recognized.connect(recognized)
    
  7. Prepoznavalnik začne poslušati šele, ko ga izrecno zaženete. Dodajte naslednjo kodo za začetek prepoznavanja. To se izvaja v ozadju, zato bo vaša aplikacija potrebovala tudi neskončno zanko, ki spi, da aplikacija ostane aktivna.

    recognizer.start_continuous_recognition()
    
    while True:
        time.sleep(1)
    
  8. Zaženite to aplikacijo. Govorite v mikrofon in avdio, pretvorjen v besedilo, bo izpisan v konzoli.

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

    Poskusite različne vrste stavkov, skupaj s stavki, kjer besede zvenijo enako, vendar imajo različne pomene. Na primer, če govorite v angleščini, recite 'I want to buy two bananas and an apple too' in opazite, kako bo uporabil pravilne to, two in too glede na kontekst besede, ne le njen zvok.

💁 To kodo lahko najdete v mapi code-speech-to-text/virtual-iot-device.

😀 Vaš program za pretvorbo govora v besedilo je bil uspešen!


Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne odgovarjamo za morebitna nesporazumevanja ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda.