Я начал Twitch Stream, где я изучаю Python Каждую среду в 12 вечера в Великобритании времени. Один из способов сделать мой поток более доступным, чтобы иметь живые подписи, пока я говорю.
Что мне нужен, так это инструмент, который будет передавать подписи к тому, что я могу добавить в свои сцены OBS, но также быть настраиваемым. Многие из полки речи к тексту моделям великолепны, но мне нужно что-то, что я могу настроить на мой голос и акцент, а также любые особые слова, которые я использую, таких как технические инструменты и термины.
Azure Cognitive Services Есть такой инструмент – а также использование стандартной речи к текстовой модели, вы можете настроить модель для вашего голоса, акцента, фонового шума и специальных слов.
В этой части я покажу, как начать создание живого наглавщика в Python. В следующей части я покажу, как настроить вывод.
Создать речевой ресурс
Чтобы начать, вам сначала нужно создать речевой ресурс в Azure. Вы можете сделать это с портала Azure, следуя эта ссылка Отказ Есть свободный уровень, который я использую – ведь мы все любим свободные вещи!
Если у вас нет учетной записи Azure, вы можете создать бесплатную учетную запись в azure.microsoft.com/free И получить 200 долларов бесплатного кредита в течение первых 30 дней и множество услуг бесплатно в течение года. Студенты и академические преподаватели могут зарегистрироваться в azure.microsoft.com/free/students И получите 100 долларов, которые длится год, а также 12 месяцев бесплатных услуг, и это может быть возобновлено каждый год, что вы студент.
Когда ресурс создан, запишите первую часть конечной точки из Обзор вкладка. Конечная точка будет чем -то вроде https://uksouth.api.cognitive.microsoft.com/sts/v1.0/issuetoken
и бит, который вы хотите, – это часть до api.microsoft.com, так что в моем случае Uksouth
. Это будет название региона, в котором вы создали свой ресурс. Вам также нужно взять ключ из Ключи вкладка.
После того, как у вас есть речевой речевой ресурс, следующим шагом является использование его для создания подписи.
Создайте подпись
Увидев, как мой поток – это все о том, чтобы учиться Python, я думал, что было бы удовольствием построить подписителя в Python. Все когнитивные сервисы Microsoft имеют Python APIS что делает их простыми в использовании.
Я запустил VS -код (который имеет отличную поддержку Python благодаря увеличению Python ) и создал новый проект Python. Речь SDK доступен через пипс , поэтому я установил через терминал, используя:
pip install azure-cognitiveservices-speech
Чтобы распознать речь, вам нужно создать речеевать
Рассказывая это детали вашего ресурса через repoConfig
Отказ
import azure.cognitiveservices.speech as speechsdk speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)
В коде выше, заменить deew_key
с ключом из речевого ресурса и заменить Service_region
с названием региона.
Это создаст распознавание речи с помощью микрофона по умолчанию. Если вы хотите изменить микрофон, вам нужно будет знать идентификатор устройства и использовать его для создания объекта Audioconfig, который используется для создания распознавания. Вы можете прочитать больше об этом в Документы Отказ
Распознавание речи можно запускать как один выключенный и прослушать один блок речи, пока не будет найден перерыв, или он может работать непрерывно, обеспечивая постоянный поток текста по событиям. Чтобы непрерывно обнаружить, необходимо провести событие, чтобы собрать текст.
def recognizing(args): # Do something speech_recognizer.recognizing.connect(recognizing) speech_recognizer.start_continuous_recognition()
В приведенном выше коде распознавание
Событие уволено каждый раз, когда некоторые текст признан. Это событие запускается несколько раз для одного и того же набора слов, создавая текст с течением времени, когда модель уточняет вывод. После перерыва он сбросится и отправит новый текст.
args
Параметр – это ComputrecognitionionEventargs
экземпляр со свойством под названием результат
это содержит результат признания. Этот результат имеет свойство под названием текст с распознанным текст
Отказ
Например, если вы запускаете это и скажите «Привет и добро пожаловать в речь начало», это событие будет называться, вероятно, 7 раз:
hello hello and hello and welcome hello and welcome to hello and welcome to the hello and welcome to the speech hello and welcome to the speech captioner
Если вы затем сделаете паузу и скажете «это работает», это будет называться еще 2 раза, только с новыми словами.
this this works
Текст уточняется, поскольку слова анализируются, поэтому текст может измениться со временем. Например, если вы говорите: «Это живой тест на подпись», вы можете вернуться:
this this is this is alive this is a live caption this is a live caption text
Обратите внимание на третьем результате, есть слово «живое», которое разделяется на «живой», поскольку модель понимается больше контекста.
Модель не понимает предложений, а на самом деле люди редко говорят в согласованных предложениях со структурой, которая легко расстаться, поэтому вы не увидите полные остановки или заглавные буквы.
start_continoury_recognition
Call будет запускать распознавание в фоновом режиме, поэтому приложению понадобится способ продолжать работать, например, петлевой сон или цикл приложения, используя структуру GUI, такую как Tkinter.
Я создал приложение GUI, используя Tkinter, используя этот код. Мое приложение поместит полуопаковое окно в нижней части экрана, в котором есть прямой поток подписей на этикетке. Метка обновляется с текстом из распознавание
Событие, так что будет обновлено по мере того, как я говорю, затем очищено после каждого блока текста, и начинается новый.
Вы можете найти его на GitHub , использовать его добавить ключ и регион для config.py Файл, установите Пип
Пакеты из Требования.txt Файл и запустить captioner.py через Python.
В следующей части я покажу, как настроить модель на мой голос и термины, которые я использую.
Оригинал: “https://dev.to/azure/building-a-live-caption-tool-part-1-482e”