Краткое руководство: создание субтитров с помощью преобразования речи в текст
Справочные примеры пакета документации | (NuGet) | Дополнительные примеры на GitHub
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для службы "Речь" доступен в виде пакета NuGet и реализует .NET Standard 2.0. Вы устанавливаете пакет SDK службы "Речь" далее в этом руководстве, но сначала проверьте руководство по установке пакета SDK для получения дополнительных требований.
Кроме того, необходимо установить GStreamer для входного аудиопотока в сжатом формате.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание субтитров на основе речевых данных
Выполните следующие действия, чтобы создать и запустить пример кода краткого руководства по заголовкам.
- Скопируйте сценарии/csharp/dotnetcore/captioning/примеры файлов из GitHub. Если вы установили Git, откройте командную строку и выполните
git clone
команду, чтобы скачать репозиторий примеров пакета SDK службы "Речь".git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
- Откройте командную строку и перейдите в каталог проекта.
cd <your-local-path>/scenarios/csharp/dotnetcore/captioning/captioning/
- Создайте проект с помощью интерфейса командной строки .NET.
dotnet build
- Запустите приложение с подходящими аргументами командной строки. Список доступных параметров см. в сведениях об использовании и аргументах. Пример:
dotnet run --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Внимание
Убедитесь, что пути, заданные значениями
--input
и--output
, допустимы. В противном случае путь необходимо изменить.Убедитесь, что вы устанавливаете
SPEECH_KEY
переменные среды иSPEECH_REGION
среды, как описано выше. В противном случае используйте--key
аргументы и--region
аргументы.
Проверка результатов
При использовании realTime
параметра в приведенном выше примере частичные результаты событий Recognizing
включаются в выходные данные. В этом примере только последнее Recognized
событие включает запятые. Запятые не являются единственными различиями между Recognizing
событиями и Recognized
событиями. Дополнительные сведения см. в разделе "Получение частичных результатов".
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
При использовании --offline
параметра результаты стабильны из окончательного Recognized
события. Частичные результаты не включаются в выходные данные:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Выходной формат интервала времени SRT (subRip Text) имеет формат hh:mm:ss,fff
. Дополнительные сведения см. в формате вывода субтитров.
Использование и аргументы
Использование: captioning --input <input file>
Доступны следующие параметры подключения:
--key
: ключ вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_KEY. Необходимо задать переменную среды (рекомендуется) или использовать--key
этот параметр.--region REGION
: регион вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_REGION. Необходимо задать переменную среды (рекомендуется) или использовать--region
этот параметр. Примеры:westus
,northeurope
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Доступны следующие параметры входных данных:
--input FILE
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон.--format FORMAT
: использовать формат сжатого звука. Допустимо только с--file
. Допустимые значения:alaw
,any
,flac
,mp3
,mulaw
иogg_opus
. Значение по умолчанию —any
. Чтобы использовать файлwav
, не указывайте формат. Этот параметр недоступен в примере субтитров JavaScript. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.
Доступны следующие параметры языка:
--language LANG
: укажите язык с помощью одного из соответствующих поддерживаемых языков. Это используется при разрыве подписей в строки. Значение по умолчанию:en-US
.
Доступны следующие параметры распознавания:
--offline
: выходные результаты в автономном режиме. Переопределяет--realTime
. Выходной режим по умолчанию находится в автономном режиме.--realTime
: вывод результатов в режиме реального времени.
Выходные данные в режиме реального времени включают Recognizing
результаты событий. Выходные данные по умолчанию — это Recognized
только результаты событий. Они всегда записываются в консоль, а не в выходной файл. Параметр --quiet
переопределяет этот режим работы. Дополнительные сведения см. в разделе Получение результатов распознавания речи.
Доступны следующие параметры точности:
--phrases PHRASE1;PHRASE2
: можно указать список фраз, которые необходимо распознавать, напримерContoso;Jessie;Rehaan
. Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Доступны следующие параметры выходных данных:
--help
: показать эту справку и остановить выполнение.--output FILE
: выводить субтитры в указанный объектfile
. Этот флаг является обязательным.--srt
: выводить субтитры в формате SRT (текст SubRip). Формат по умолчанию — WebVTT (текстовые дорожки веб-видео). Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров.--maxLineLength LENGTH
: задайте максимальное количество символов в строке для заголовка значение LENGTH. Минимальное значение — 20. Значение по умолчанию — 37 (30 для китайского).--lines LINES
: задайте количество строк для заголовка в LINES. Минимальное значение — 1. По умолчанию используется значение 2.--delay MILLISECONDS
: Сколько миллисекундах задерживают отображение каждой подписи, чтобы имитировать взаимодействие в режиме реального времени. Этот параметр применим только при использовании флагаrealTime
. Минимальное значение — 0,0. Значение по умолчанию — 1000.--remainTime MILLISECONDS
: Сколько миллисекундах должно оставаться на экране, если оно не заменено другим. Минимальное значение — 0,0. Значение по умолчанию — 1000.--quiet
: подавлять вывод в консоль, за исключением ошибок.--profanity OPTION
: допустимые значения: raw, remove, mask. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--threshold NUMBER
: установить стабильное пороговое значение частичных результатов. Значение по умолчанию —3
. Этот параметр применим только при использовании флагаrealTime
. Дополнительные сведения см. в описании основных понятий получения частичных результатов.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (NuGet) | Дополнительные примеры на GitHub
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для службы "Речь" доступен в виде пакета NuGet и реализует .NET Standard 2.0. Вы установите пакет SDK службы "Речь" далее в этом руководстве, но сначала проверьте руководство по установке пакета SDK для любых дополнительных требований.
Кроме того, необходимо установить GStreamer для входного аудиопотока в сжатом формате.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание субтитров на основе речевых данных
Выполните следующие действия, чтобы создать и запустить пример кода быстрого запуска субтитров с помощью Visual Studio Community 2022 в Windows.
Скачайте или скопируйте примеры файлов из каталога scenarios/cpp/windows/captioning/ в GitHub в локальный каталог.
captioning.sln
Откройте файл решения в Visual Studio Community 2022.Установите пакет SDK для службы "Речь" в своем проекте с помощью диспетчера пакетов NuGet.
Install-Package Microsoft.CognitiveServices.Speech
Откройте Проект>Свойства>Общие. Задайте для параметра Конфигурация значение
All configurations
. Задайте для параметра Стандарт языка C++ значениеISO C++17 Standard (/std:c++17)
.Выберите Создать>Диспетчер конфигураций.
- В 64-разрядной версии Windows установите для параметра Активная платформа решения значение
x64
. - В 32-разрядной версии Windows установите для параметра Активная платформа решения значение
x86
.
- В 64-разрядной версии Windows установите для параметра Активная платформа решения значение
Выберите Проект>Свойства>Отладка. Укажите аргументы командной строки в аргументах команды. Список доступных параметров см. в сведениях об использовании и аргументах. Рассмотрим пример:
--input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Внимание
Убедитесь, что пути, заданные значениями
--input
и--output
, допустимы. В противном случае путь необходимо изменить.Убедитесь, что вы устанавливаете
SPEECH_KEY
переменные среды иSPEECH_REGION
среды, как описано выше. В противном случае используйте--key
аргументы и--region
аргументы.Создайте и запустите консольное приложение.
Проверка результатов
При использовании realTime
параметра в приведенном выше примере частичные результаты событий Recognizing
включаются в выходные данные. В этом примере только последнее Recognized
событие включает запятые. Запятые не являются единственными различиями между Recognizing
событиями и Recognized
событиями. Дополнительные сведения см. в разделе "Получение частичных результатов".
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
При использовании --offline
параметра результаты стабильны из окончательного Recognized
события. Частичные результаты не включаются в выходные данные:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Выходной формат интервала времени SRT (subRip Text) имеет формат hh:mm:ss,fff
. Дополнительные сведения см. в формате вывода субтитров.
Использование и аргументы
Использование: captioning --input <input file>
Доступны следующие параметры подключения:
--key
: ключ вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_KEY. Необходимо задать переменную среды (рекомендуется) или использовать--key
этот параметр.--region REGION
: регион вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_REGION. Необходимо задать переменную среды (рекомендуется) или использовать--region
этот параметр. Примеры:westus
,northeurope
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Доступны следующие параметры входных данных:
--input FILE
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон.--format FORMAT
: использовать формат сжатого звука. Допустимо только с--file
. Допустимые значения:alaw
,any
,flac
,mp3
,mulaw
иogg_opus
. Значение по умолчанию —any
. Чтобы использовать файлwav
, не указывайте формат. Этот параметр недоступен в примере субтитров JavaScript. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.
Доступны следующие параметры языка:
--language LANG
: укажите язык с помощью одного из соответствующих поддерживаемых языков. Это используется при разрыве подписей в строки. Значение по умолчанию:en-US
.
Доступны следующие параметры распознавания:
--offline
: выходные результаты в автономном режиме. Переопределяет--realTime
. Выходной режим по умолчанию находится в автономном режиме.--realTime
: вывод результатов в режиме реального времени.
Выходные данные в режиме реального времени включают Recognizing
результаты событий. Выходные данные по умолчанию — это Recognized
только результаты событий. Они всегда записываются в консоль, а не в выходной файл. Параметр --quiet
переопределяет этот режим работы. Дополнительные сведения см. в разделе Получение результатов распознавания речи.
Доступны следующие параметры точности:
--phrases PHRASE1;PHRASE2
: можно указать список фраз, которые необходимо распознавать, напримерContoso;Jessie;Rehaan
. Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Доступны следующие параметры выходных данных:
--help
: показать эту справку и остановить выполнение.--output FILE
: выводить субтитры в указанный объектfile
. Этот флаг является обязательным.--srt
: выводить субтитры в формате SRT (текст SubRip). Формат по умолчанию — WebVTT (текстовые дорожки веб-видео). Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров.--maxLineLength LENGTH
: задайте максимальное количество символов в строке для заголовка значение LENGTH. Минимальное значение — 20. Значение по умолчанию — 37 (30 для китайского).--lines LINES
: задайте количество строк для заголовка в LINES. Минимальное значение — 1. По умолчанию используется значение 2.--delay MILLISECONDS
: Сколько миллисекундах задерживают отображение каждой подписи, чтобы имитировать взаимодействие в режиме реального времени. Этот параметр применим только при использовании флагаrealTime
. Минимальное значение — 0,0. Значение по умолчанию — 1000.--remainTime MILLISECONDS
: Сколько миллисекундах должно оставаться на экране, если оно не заменено другим. Минимальное значение — 0,0. Значение по умолчанию — 1000.--quiet
: подавлять вывод в консоль, за исключением ошибок.--profanity OPTION
: допустимые значения: raw, remove, mask. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--threshold NUMBER
: установить стабильное пороговое значение частичных результатов. Значение по умолчанию —3
. Этот параметр применим только при использовании флагаrealTime
. Дополнительные сведения см. в описании основных понятий получения частичных результатов.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (Go) | Дополнительные примеры на GitHub
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Проверьте, наличие каких-либо действий по установке для конкретной платформы.
Кроме того, необходимо установить GStreamer для входного аудиопотока в сжатом формате.
Создание субтитров на основе речевых данных
Выполните следующие действия, чтобы создать и запустить пример кода краткого руководства по заголовкам.
Скачайте или скопируйте примеры файлов из каталога scenarios/go/captioning/ в GitHub в локальный каталог.
Откройте командную строку в том же каталоге, где находится файл
captioning.go
.Выполните указанные ниже команды, чтобы создать файл
go.mod
со ссылкой на компоненты пакета SDK службы "Речь", размещенные в GitHub.go mod init captioning go get github.com/Microsoft/cognitive-services-speech-sdk-go
Выполните сборку модуля GO.
go build
Запустите приложение с подходящими аргументами командной строки. Список доступных параметров см. в сведениях об использовании и аргументах. Рассмотрим пример:
go run captioning --key YourSubscriptionKey --region YourServiceRegion --input caption.this.mp4 --format any --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Замените
YourSubscriptionKey
на ключ ресурса службы "Речь", аYourServiceRegion
— на регион ресурса службы "Речь", напримерwestus
илиnortheurope
. Убедитесь, что пути, заданные значениями--input
и--output
, допустимы. В противном случае путь необходимо изменить.Внимание
Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье по безопасности служб ИИ Azure.
Проверка результатов
Выходной файл с полными субтитрами записывается в каталог caption.output.txt
. Промежуточные результаты отображаются в консоли:
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
Выходной формат интервала времени SRT (subRip Text) имеет формат hh:mm:ss,fff
. Дополнительные сведения см. в формате вывода субтитров.
Использование и аргументы
Использование: go run captioning.go helper.go --key <key> --region <region> --input <input file>
Доступны следующие параметры подключения:
--key
: ключ вашего ресурса службы "Речь".--region REGION
: регион вашего ресурса службы "Речь". Примеры:westus
,northeurope
Доступны следующие параметры входных данных:
--input FILE
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон.--format FORMAT
: использовать формат сжатого звука. Допустимо только с--file
. Допустимые значения:alaw
,any
,flac
,mp3
,mulaw
иogg_opus
. Значение по умолчанию —any
. Чтобы использовать файлwav
, не указывайте формат. Этот параметр недоступен в примере субтитров JavaScript. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.
Доступны следующие параметры языка:
--languages LANG1,LANG2
: включить идентификацию языка для указанных языков. Например:en-US,ja-JP
. Этот параметр доступен только для примеров субтитров на C++, C# и Python. Дополнительные сведения см. в разделе Идентификация языка.
Доступны следующие параметры распознавания:
--recognizing
: выводить результаты событийRecognizing
. По умолчанию выводятся только результаты событийRecognized
. Они всегда записываются в консоль, а не в выходной файл. Параметр--quiet
переопределяет этот режим работы. Дополнительные сведения см. в разделе Получение результатов распознавания речи.
Доступны следующие параметры точности:
--phrases PHRASE1;PHRASE2
: можно указать список фраз, которые необходимо распознавать, напримерContoso;Jessie;Rehaan
. Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Доступны следующие параметры выходных данных:
--help
: показать эту справку и остановить выполнение.--output FILE
: выводить субтитры в указанный объектfile
. Этот флаг является обязательным.--srt
: выводить субтитры в формате SRT (текст SubRip). Формат по умолчанию — WebVTT (текстовые дорожки веб-видео). Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров.--quiet
: подавлять вывод в консоль, за исключением ошибок.--profanity OPTION
: допустимые значения: raw, remove, mask. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--threshold NUMBER
: установить стабильное пороговое значение частичных результатов. Значение по умолчанию —3
. Дополнительные сведения см. в описании основных понятий получения частичных результатов.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочная документация | по Дополнительным примерам на GitHub
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Прежде чем что-либо сделать, необходимо установить пакет SDK службы "Речь". Пример в этом кратком руководстве работает с Microsoft Build openJDK 17
- Установите Apache Maven. Затем выполните команду
mvn -v
, чтобы подтвердить успешную установку. - Создайте файл
pom.xml
в корне проекта и скопируйте в него следующий файл:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.42.0</version> </dependency> </dependencies> </project>
- Установите пакет SDK службы "Речь" и зависимости.
mvn clean dependency:copy-dependencies
- Кроме того, необходимо установить GStreamer для входного аудиопотока в сжатом формате.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание субтитров на основе речевых данных
Выполните следующие действия, чтобы создать и запустить пример кода краткого руководства по заголовкам.
- Скопируйте сценарии/java/jre/captioning/примеры файлов из GitHub в каталог проекта. Файл
pom.xml
, созданный при настройке среды, также должен находиться в этом каталоге. - Откройте командную строку и выполните указанную ниже команду, чтобы скомпилировать файлы проекта.
javac Captioning.java -cp ".;target\dependency\*" -encoding UTF-8
- Запустите приложение с подходящими аргументами командной строки. Список доступных параметров см. в сведениях об использовании и аргументах. Пример:
java -cp ".;target\dependency\*" Captioning --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Внимание
Убедитесь, что пути, заданные значениями
--input
и--output
, допустимы. В противном случае путь необходимо изменить.Убедитесь, что вы устанавливаете
SPEECH_KEY
переменные среды иSPEECH_REGION
среды, как описано выше. В противном случае используйте--key
аргументы и--region
аргументы.
Проверка результатов
При использовании realTime
параметра в приведенном выше примере частичные результаты событий Recognizing
включаются в выходные данные. В этом примере только последнее Recognized
событие включает запятые. Запятые не являются единственными различиями между Recognizing
событиями и Recognized
событиями. Дополнительные сведения см. в разделе "Получение частичных результатов".
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
При использовании --offline
параметра результаты стабильны из окончательного Recognized
события. Частичные результаты не включаются в выходные данные:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Выходной формат интервала времени SRT (subRip Text) имеет формат hh:mm:ss,fff
. Дополнительные сведения см. в формате вывода субтитров.
Использование и аргументы
Использование: java -cp ".;target\dependency\*" Captioning --input <input file>
Доступны следующие параметры подключения:
--key
: ключ вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_KEY. Необходимо задать переменную среды (рекомендуется) или использовать--key
этот параметр.--region REGION
: регион вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_REGION. Необходимо задать переменную среды (рекомендуется) или использовать--region
этот параметр. Примеры:westus
,northeurope
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Доступны следующие параметры входных данных:
--input FILE
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон.--format FORMAT
: использовать формат сжатого звука. Допустимо только с--file
. Допустимые значения:alaw
,any
,flac
,mp3
,mulaw
иogg_opus
. Значение по умолчанию —any
. Чтобы использовать файлwav
, не указывайте формат. Этот параметр недоступен в примере субтитров JavaScript. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.
Доступны следующие параметры языка:
--language LANG
: укажите язык с помощью одного из соответствующих поддерживаемых языков. Это используется при разрыве подписей в строки. Значение по умолчанию:en-US
.
Доступны следующие параметры распознавания:
--offline
: выходные результаты в автономном режиме. Переопределяет--realTime
. Выходной режим по умолчанию находится в автономном режиме.--realTime
: вывод результатов в режиме реального времени.
Выходные данные в режиме реального времени включают Recognizing
результаты событий. Выходные данные по умолчанию — это Recognized
только результаты событий. Они всегда записываются в консоль, а не в выходной файл. Параметр --quiet
переопределяет этот режим работы. Дополнительные сведения см. в разделе Получение результатов распознавания речи.
Доступны следующие параметры точности:
--phrases PHRASE1;PHRASE2
: можно указать список фраз, которые необходимо распознавать, напримерContoso;Jessie;Rehaan
. Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Доступны следующие параметры выходных данных:
--help
: показать эту справку и остановить выполнение.--output FILE
: выводить субтитры в указанный объектfile
. Этот флаг является обязательным.--srt
: выводить субтитры в формате SRT (текст SubRip). Формат по умолчанию — WebVTT (текстовые дорожки веб-видео). Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров.--maxLineLength LENGTH
: задайте максимальное количество символов в строке для заголовка значение LENGTH. Минимальное значение — 20. Значение по умолчанию — 37 (30 для китайского).--lines LINES
: задайте количество строк для заголовка в LINES. Минимальное значение — 1. По умолчанию используется значение 2.--delay MILLISECONDS
: Сколько миллисекундах задерживают отображение каждой подписи, чтобы имитировать взаимодействие в режиме реального времени. Этот параметр применим только при использовании флагаrealTime
. Минимальное значение — 0,0. Значение по умолчанию — 1000.--remainTime MILLISECONDS
: Сколько миллисекундах должно оставаться на экране, если оно не заменено другим. Минимальное значение — 0,0. Значение по умолчанию — 1000.--quiet
: подавлять вывод в консоль, за исключением ошибок.--profanity OPTION
: допустимые значения: raw, remove, mask. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--threshold NUMBER
: установить стабильное пороговое значение частичных результатов. Значение по умолчанию —3
. Этот параметр применим только при использовании флагаrealTime
. Дополнительные сведения см. в описании основных понятий получения частичных результатов.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (npm) | Дополнительные примеры в исходном коде библиотеки GitHub |
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Сначала необходимо установить пакет SDK службы "Речь" для JavaScript. Если вам только нужно имя пакета для установки, выполните команду npm install microsoft-cognitiveservices-speech-sdk
. Подробные инструкции по установке см. в статье Руководство по установке пакета SDK.
Создание субтитров на основе речевых данных
Выполните следующие действия, чтобы создать и запустить пример кода краткого руководства по заголовкам.
Скопируйте примеры файлов из каталога scenarios/javascript/node/captioning/ в GitHub в каталог проекта.
Откройте командную строку в том же каталоге, где находится файл
Captioning.js
.Установите пакет SDK службы "Речь" для JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Запустите приложение с подходящими аргументами командной строки. Список доступных параметров см. в сведениях об использовании и аргументах. Рассмотрим пример:
node captioning.js --key YourSubscriptionKey --region YourServiceRegion --input caption.this.wav --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Замените
YourSubscriptionKey
на ключ ресурса службы "Речь", аYourServiceRegion
— на регион ресурса службы "Речь", напримерwestus
илиnortheurope
. Убедитесь, что пути, заданные значениями--input
и--output
, допустимы. В противном случае путь необходимо изменить.Примечание.
Пакет SDK службы "Речь" для JavaScript не поддерживает сжатый входной звук. Необходимо использовать WAV-файл, как показано в примере.
Внимание
Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье по безопасности служб ИИ Azure.
Проверка результатов
Выходной файл с полными субтитрами записывается в каталог caption.output.txt
. Промежуточные результаты отображаются в консоли:
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
Выходной формат интервала времени SRT (subRip Text) имеет формат hh:mm:ss,fff
. Дополнительные сведения см. в формате вывода субтитров.
Использование и аргументы
Использование: node captioning.js --key <key> --region <region> --input <input file>
Доступны следующие параметры подключения:
--key
: ключ вашего ресурса службы "Речь".--region REGION
: регион вашего ресурса службы "Речь". Примеры:westus
,northeurope
Доступны следующие параметры входных данных:
--input FILE
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон.--format FORMAT
: использовать формат сжатого звука. Допустимо только с--file
. Допустимые значения:alaw
,any
,flac
,mp3
,mulaw
иogg_opus
. Значение по умолчанию —any
. Чтобы использовать файлwav
, не указывайте формат. Этот параметр недоступен в примере субтитров JavaScript. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.
Доступны следующие параметры языка:
--languages LANG1,LANG2
: включить идентификацию языка для указанных языков. Например:en-US,ja-JP
. Этот параметр доступен только для примеров субтитров на C++, C# и Python. Дополнительные сведения см. в разделе Идентификация языка.
Доступны следующие параметры распознавания:
--recognizing
: выводить результаты событийRecognizing
. По умолчанию выводятся только результаты событийRecognized
. Они всегда записываются в консоль, а не в выходной файл. Параметр--quiet
переопределяет этот режим работы. Дополнительные сведения см. в разделе Получение результатов распознавания речи.
Доступны следующие параметры точности:
--phrases PHRASE1;PHRASE2
: можно указать список фраз, которые необходимо распознавать, напримерContoso;Jessie;Rehaan
. Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Доступны следующие параметры выходных данных:
--help
: показать эту справку и остановить выполнение.--output FILE
: выводить субтитры в указанный объектfile
. Этот флаг является обязательным.--srt
: выводить субтитры в формате SRT (текст SubRip). Формат по умолчанию — WebVTT (текстовые дорожки веб-видео). Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров.--quiet
: подавлять вывод в консоль, за исключением ошибок.--profanity OPTION
: допустимые значения: raw, remove, mask. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--threshold NUMBER
: установить стабильное пороговое значение частичных результатов. Значение по умолчанию —3
. Дополнительные сведения см. в описании основных понятий получения частичных результатов.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub
Пакет SDK службы "Речь" для Objective-C поддерживает результаты распознавания намерений при создании субтитров, но мы еще не включили в эту статью руководство по использованию этого пакета SDK. Выберите другой язык программирования, чтобы приступить к работе и ознакомиться с основными понятиями, или обратитесь к справочнику и примерам для языка Objective-C, ссылки на которые приведены в начале этой статьи.
Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub
Пакет SDK службы "Речь" для Swift поддерживает результаты распознавания намерений при создании субтитров, но мы еще не включили в эту статью руководство по использованию этого пакета SDK. Выберите другой язык программирования, чтобы приступить к работе и ознакомиться с основными понятиями, или обратитесь к справочнику и примерам для языка Swift, ссылки на которые приведены в начале этой статьи.
Справочные примеры пакета документации | (PyPi) | Дополнительные примеры на GitHub
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для Python доступен в виде модуля индекса пакетов Python (PyPI). Пакет SDK для службы "Речь" (Python) совместим с Windows, Linux и macOS.
- Для платформы необходимо установить microsoft Распространяемый компонент Visual C++ для Visual Studio 2015, 2017, 2019 и 2022. При первой установке этого пакета может потребоваться перезагрузка.
- В Linux необходимо использовать целевую архитектуру x64.
- Установите версию Python с версии 3.10 или более поздней версии. Сначала ознакомьтесь со статьей Руководство по установке пакета SDK, чтобы узнать о дополнительных требованиях.
- Кроме того, необходимо установить GStreamer для входного аудиопотока в сжатом формате.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание субтитров на основе речевых данных
Выполните следующие действия, чтобы создать и запустить пример кода краткого руководства по заголовкам.
- Скачайте или скопируйте примеры файлов из каталога scenarios/python/console/captioning/ в GitHub в локальный каталог.
- Откройте командную строку в том же каталоге, где находится файл
captioning.py
. - Выполните следующую команду, чтобы установить пакет SDK службы "Речь":
pip install azure-cognitiveservices-speech
- Запустите приложение с подходящими аргументами командной строки. Список доступных параметров см. в сведениях об использовании и аргументах. Пример:
python captioning.py --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Внимание
Убедитесь, что пути, заданные значениями
--input
и--output
, допустимы. В противном случае путь необходимо изменить.Убедитесь, что вы устанавливаете
SPEECH_KEY
переменные среды иSPEECH_REGION
среды, как описано выше. В противном случае используйте--key
аргументы и--region
аргументы.
Проверка результатов
При использовании realTime
параметра в приведенном выше примере частичные результаты событий Recognizing
включаются в выходные данные. В этом примере только последнее Recognized
событие включает запятые. Запятые не являются единственными различиями между Recognizing
событиями и Recognized
событиями. Дополнительные сведения см. в разделе "Получение частичных результатов".
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
При использовании --offline
параметра результаты стабильны из окончательного Recognized
события. Частичные результаты не включаются в выходные данные:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Выходной формат интервала времени SRT (subRip Text) имеет формат hh:mm:ss,fff
. Дополнительные сведения см. в формате вывода субтитров.
Использование и аргументы
Использование: python captioning.py --input <input file>
Доступны следующие параметры подключения:
--key
: ключ вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_KEY. Необходимо задать переменную среды (рекомендуется) или использовать--key
этот параметр.--region REGION
: регион вашего ресурса службы "Речь". Переопределяет переменную среды SPEECH_REGION. Необходимо задать переменную среды (рекомендуется) или использовать--region
этот параметр. Примеры:westus
,northeurope
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Доступны следующие параметры входных данных:
--input FILE
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон.--format FORMAT
: использовать формат сжатого звука. Допустимо только с--file
. Допустимые значения:alaw
,any
,flac
,mp3
,mulaw
иogg_opus
. Значение по умолчанию —any
. Чтобы использовать файлwav
, не указывайте формат. Этот параметр недоступен в примере субтитров JavaScript. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.
Доступны следующие параметры языка:
--language LANG
: укажите язык с помощью одного из соответствующих поддерживаемых языков. Это используется при разрыве подписей в строки. Значение по умолчанию:en-US
.
Доступны следующие параметры распознавания:
--offline
: выходные результаты в автономном режиме. Переопределяет--realTime
. Выходной режим по умолчанию находится в автономном режиме.--realTime
: вывод результатов в режиме реального времени.
Выходные данные в режиме реального времени включают Recognizing
результаты событий. Выходные данные по умолчанию — это Recognized
только результаты событий. Они всегда записываются в консоль, а не в выходной файл. Параметр --quiet
переопределяет этот режим работы. Дополнительные сведения см. в разделе Получение результатов распознавания речи.
Доступны следующие параметры точности:
--phrases PHRASE1;PHRASE2
: можно указать список фраз, которые необходимо распознавать, напримерContoso;Jessie;Rehaan
. Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Доступны следующие параметры выходных данных:
--help
: показать эту справку и остановить выполнение.--output FILE
: выводить субтитры в указанный объектfile
. Этот флаг является обязательным.--srt
: выводить субтитры в формате SRT (текст SubRip). Формат по умолчанию — WebVTT (текстовые дорожки веб-видео). Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров.--maxLineLength LENGTH
: задайте максимальное количество символов в строке для заголовка значение LENGTH. Минимальное значение — 20. Значение по умолчанию — 37 (30 для китайского).--lines LINES
: задайте количество строк для заголовка в LINES. Минимальное значение — 1. По умолчанию используется значение 2.--delay MILLISECONDS
: Сколько миллисекундах задерживают отображение каждой подписи, чтобы имитировать взаимодействие в режиме реального времени. Этот параметр применим только при использовании флагаrealTime
. Минимальное значение — 0,0. Значение по умолчанию — 1000.--remainTime MILLISECONDS
: Сколько миллисекундах должно оставаться на экране, если оно не заменено другим. Минимальное значение — 0,0. Значение по умолчанию — 1000.--quiet
: подавлять вывод в консоль, за исключением ошибок.--profanity OPTION
: допустимые значения: raw, remove, mask. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--threshold NUMBER
: установить стабильное пороговое значение частичных результатов. Значение по умолчанию —3
. Этот параметр применим только при использовании флагаrealTime
. Дополнительные сведения см. в описании основных понятий получения частичных результатов.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
В этом кратком руководстве вы запустите консольное приложение для создания субтитров путем преобразования речи в текст.
Совет
Попробуйте использовать Speech Studio и выберите пример видеоклипа, чтобы просмотреть результаты субтитров в режиме реального времени или автономном режиме.
Совет
Попробуйте использовать набор средств распознавания речи Azure, чтобы легко создавать и запускать примеры подписей в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Выполните следующие действия и ознакомьтесь с кратким руководством по интерфейсу командной строки службы "Речь" для других требований для платформы.
Выполните следующую команду .NET CLI, чтобы установить интерфейс командной строки службы "Речь".
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Выполните следующие команды, чтобы настроить ключ ресурса службы "Речь" и регион. Замените ключом ресурса "Речь" и замените
SUBSCRIPTION-KEY
REGION
регионом ресурсов службы "Речь".spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Кроме того, необходимо установить GStreamer для входного аудиопотока в сжатом формате.
Создание субтитров на основе речевых данных
С помощью интерфейса командной строки службы "Речь" можно выводить субтитры в формате SRT (текст SubRip) и WebVTT (текстовые дорожки веб-видео) для любого мультимедийных данных, содержащих звук.
Чтобы распознать звук из файла и вывести субтитры в формате WebVtt (vtt
) и SRT (srt
), выполните указанные ниже действия.
Убедитесь, что в указанном каталоге есть входной файл под названием
caption.this.mp4
.Выполните следующую команду, чтобы вывести субтитры из видеофайла:
spx recognize --file caption.this.mp4 --format any --output vtt file - --output srt file - --output each file - @output.each.detailed --property SpeechServiceResponse_StablePartialResultThreshold=5 --profanity masked --phrases "Constoso;Jessie;Rehaan"
Субтитры SRT и WebVTT будут выведены в консоль, как показано ниже:
1 00:00:00,180 --> 00:00:03,230 Welcome to applied Mathematics course 201. WEBVTT 00:00:00.180 --> 00:00:03.230 Welcome to applied Mathematics course 201. { "ResultId": "561a0ea00cc14bb09bd294357df3270f", "Duration": "00:00:03.0500000" }
Использование и аргументы
Ниже приведены сведения о необязательных аргументах для предыдущей команды:
--file caption.this.mp4 --format any
: входной звук из файла. По умолчанию в качестве источника входных данных используется микрофон. Для сжатых звуковых форматов, таких как MP4, установите GStreamer и ознакомьтесь с правилами использования сжатых входных звуковых данных.--output vtt file -
и--output srt file -
: выводит субтитры WebVTT и SRT в стандартный поток вывода. Дополнительные сведения о форматах файлов субтитров SRT и WebVTT см. в разделе Формат выходных данных субтитров. Дополнительные сведения об аргументе--output
см. в разделе Параметры вывода интерфейса командной строки службы "Речь".@output.each.detailed
: выводит результаты событий с текстом, смещением и длительностью. Дополнительные сведения см. в разделе Получение результатов распознавания речи.--property SpeechServiceResponse_StablePartialResultThreshold=5
: вы можете потребовать, чтобы служба "Речь" возвращала меньше событийRecognizing
для повышения точности. В этом примере служба "Речь" должна подтвердить распознавание слова как минимум пять раз, прежде чем возвращать вам частичные результаты. Дополнительные сведения см. в описании основных понятий получения частичных результатов.--profanity masked
: вы можете указать, следует ли маскировать, удалять или показывать ненормативную лексику в результатах распознавания. Дополнительные сведения см. в описании основных понятий фильтра ненормативной лексики.--phrases "Constoso;Jessie;Rehaan"
: можно указать список фраз для распознавания, например слова "Contoso", "Джесси" или "Риэн". Дополнительные сведения см. в разделе Улучшение распознавания с помощью списка фраз.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.