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

8.2 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 ключа за вашата услуга за разпознаване на реч. Заменете <location> с местоположението, което сте използвали при създаването на ресурса за услугата за разпознаване на реч.

    Заменете <language> с името на локала за езика, на който ще говорите, например en-GB за английски или zn-HK за кантонски. Можете да намерите списък с поддържаните езици и техните локали в документацията за поддръжка на езици и гласове на Microsoft.

    Тази конфигурация след това се използва за създаване на обект SpeechConfig, който ще се използва за конфигуриране на услугите за разпознаване на реч.

  5. Добавете следния код, за да създадете разпознавател на реч:

    recognizer = SpeechRecognizer(speech_config=recognizer_config)
    
  6. Разпознавателят на реч работи на заден фон, слушайки за аудио и преобразувайки всяка засечена реч в текст. Можете да получите текста, използвайки callback функция - функция, която дефинирате и предавате на разпознавателя. Всеки път, когато се засече реч, се извиква callback функцията. Добавете следния код, за да дефинирате callback функция и да я предадете на разпознавателя, както и да дефинирате функция за обработка на текста, която го записва в конзолата:

    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.

😀 Вашата програма за преобразуване на реч в текст беше успешна!


Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за каквито и да е недоразумения или погрешни интерпретации, произтичащи от използването на този превод.