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

5.3 KiB

Tale til tekst - Virtuell IoT-enhet

I denne delen av leksjonen skal du skrive kode for å konvertere tale fra mikrofonen din til tekst ved hjelp av taleservicen.

Konverter tale til tekst

På Windows, Linux og macOS kan Python SDK for taleservicen brukes til å lytte til mikrofonen din og konvertere oppdaget tale til tekst. Den lytter kontinuerlig, registrerer lydnivåene og sender talen for konvertering til tekst når lydnivået faller, for eksempel ved slutten av en taleperiode.

Oppgave - konverter tale til tekst

  1. Opprett en ny Python-app på datamaskinen din i en mappe kalt smart-timer med en enkelt fil kalt app.py og et Python-virtuelt miljø.

  2. Installer Pip-pakken for taleservicen. Sørg for at du installerer dette fra en terminal med det virtuelle miljøet aktivert.

    pip install azure-cognitiveservices-speech
    

    ⚠️ Hvis du får følgende feil:

    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
    

    Du må oppdatere Pip. Gjør dette med følgende kommando, og prøv deretter å installere pakken på nytt:

    pip install --upgrade pip
    
  3. Legg til følgende imports i app.py-filen:

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

    Dette importerer noen klasser som brukes til å gjenkjenne tale.

  4. Legg til følgende kode for å deklarere noe konfigurasjon:

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

    Erstatt <key> med API-nøkkelen for taleservicen din. Erstatt <location> med plasseringen du brukte da du opprettet taleserviceressursen.

    Erstatt <language> med lokalitetsnavnet for språket du skal snakke, for eksempel en-GB for engelsk eller zn-HK for kantonesisk. Du finner en liste over støttede språk og deres lokalitetsnavn i dokumentasjonen for språk- og stemmestøtte på Microsoft Docs.

    Denne konfigurasjonen brukes deretter til å opprette et SpeechConfig-objekt som vil bli brukt til å konfigurere taleservicen.

  5. Legg til følgende kode for å opprette en talegjenkjenner:

    recognizer = SpeechRecognizer(speech_config=recognizer_config)
    
  6. Talegjenkjenneren kjører på en bakgrunnstråd, lytter etter lyd og konverterer eventuell tale til tekst. Du kan hente teksten ved hjelp av en callback-funksjon - en funksjon du definerer og sender til gjenkjenneren. Hver gang tale oppdages, kalles callback-funksjonen. Legg til følgende kode for å definere en callback og sende denne til gjenkjenneren, samt definere en funksjon for å behandle teksten og skrive den til konsollen:

    def process_text(text):
        print(text)
    
    def recognized(args):
        process_text(args.result.text)
    
    recognizer.recognized.connect(recognized)
    
  7. Gjenkjenneren begynner bare å lytte når du eksplisitt starter den. Legg til følgende kode for å starte gjenkjenningen. Dette kjører i bakgrunnen, så applikasjonen din trenger også en uendelig løkke som sover for å holde applikasjonen i gang.

    recognizer.start_continuous_recognition()
    
    while True:
        time.sleep(1)
    
  8. Kjør denne appen. Snakk inn i mikrofonen din, og lyden som konverteres til tekst vil bli skrevet ut i konsollen.

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

    Prøv forskjellige typer setninger, sammen med setninger der ord høres like ut, men har forskjellige betydninger. For eksempel, hvis du snakker engelsk, si "I want to buy two bananas and an apple too", og legg merke til hvordan den bruker riktig "to", "two" og "too" basert på konteksten til ordet, ikke bare lyden.

💁 Du finner denne koden i code-speech-to-text/virtual-iot-device-mappen.

😀 Programmet ditt for tale til tekst var en suksess!


Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.