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

5.4 KiB

Tal till text - Virtuell IoT-enhet

I den här delen av lektionen kommer du att skriva kod för att omvandla tal som fångas från din mikrofon till text med hjälp av tal-tjänsten.

Omvandla tal till text

På Windows, Linux och macOS kan Python SDK för tal-tjänster användas för att lyssna på din mikrofon och omvandla detekterat tal till text. Den lyssnar kontinuerligt, detekterar ljudnivåer och skickar talet för omvandling till text när ljudnivån sjunker, till exempel i slutet av ett talblock.

Uppgift - omvandla tal till text

  1. Skapa en ny Python-app på din dator i en mapp som heter smart-timer med en enda fil som heter app.py och en virtuell Python-miljö.

  2. Installera Pip-paketet för tal-tjänster. Se till att du installerar detta från en terminal där den virtuella miljön är aktiverad.

    pip install azure-cognitiveservices-speech
    

    ⚠️ Om du får följande fel:

    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
    

    Behöver du uppdatera Pip. Gör detta med följande kommando och försök sedan installera paketet igen:

    pip install --upgrade pip
    
  3. Lägg till följande imports i filen app.py:

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

    Detta importerar några klasser som används för att känna igen tal.

  4. Lägg till följande kod för att deklarera viss konfiguration:

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

    Ersätt <key> med API-nyckeln för din tal-tjänst. Ersätt <location> med platsen du använde när du skapade resursen för tal-tjänsten.

    Ersätt <language> med lokalnamnet för det språk du kommer att tala, till exempel en-GB för engelska eller zn-HK för kantonesiska. Du kan hitta en lista över de språk som stöds och deras lokalnamn i dokumentationen om språk- och röststöd på Microsoft Docs.

    Denna konfiguration används sedan för att skapa ett SpeechConfig-objekt som kommer att användas för att konfigurera tal-tjänsterna.

  5. Lägg till följande kod för att skapa en taligenkännare:

    recognizer = SpeechRecognizer(speech_config=recognizer_config)
    
  6. Taligenkännaren körs på en bakgrundstråd, lyssnar efter ljud och omvandlar allt tal i det till text. Du kan få texten med hjälp av en callback-funktion - en funktion som du definierar och skickar till igenkännaren. Varje gång tal detekteras anropas callback-funktionen. Lägg till följande kod för att definiera en callback och skicka denna callback till igenkännaren, samt definiera en funktion för att bearbeta texten och skriva ut den i konsolen:

    def process_text(text):
        print(text)
    
    def recognized(args):
        process_text(args.result.text)
    
    recognizer.recognized.connect(recognized)
    
  7. Igenkännaren börjar bara lyssna när du uttryckligen startar den. Lägg till följande kod för att starta igenkänningen. Detta körs i bakgrunden, så din applikation behöver också en oändlig loop som sover för att hålla applikationen igång.

    recognizer.start_continuous_recognition()
    
    while True:
        time.sleep(1)
    
  8. Kör denna app. Tala in i din mikrofon och det ljud som omvandlas till text kommer att skrivas ut i konsolen.

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

    Testa olika typer av meningar, tillsammans med meningar där ord låter lika men har olika betydelser. Till exempel, om du talar engelska, säg "I want to buy two bananas and an apple too", och notera hur den använder rätt "to", "two" och "too" baserat på ordets kontext, inte bara dess ljud.

💁 Du kan hitta denna kod i mappen code-speech-to-text/virtual-iot-device.

😀 Ditt tal-till-text-program blev en framgång!


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör det noteras att automatiserade översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som kan uppstå vid användning av denna översättning.