Преобразование речи в текстовые контейнеры с помощью Docker

Преобразование речи в текстовый контейнер транскрибирует речь в режиме реального времени или пакетную запись звука с промежуточными результатами. Из этой статьи вы узнаете, как скачать, установить и запустить речь в текстовом контейнере.

Дополнительные сведения о предварительных требованиях, проверке запуска контейнера, выполнении нескольких контейнеров на одном узле и выполнении отключенных контейнеров см. в разделе "Установка и запуск контейнеров службы "Речь" с помощью Docker.

Образы контейнеров

Изображение контейнера "Речь в текст" для всех поддерживаемых версий и языковых стандартов можно найти в синдикате Реестра контейнеров Майкрософт (MCR). Он находится в репозитории azure-cognitive-services/speechservices/ и называется speech-to-text.

A screenshot of the search connectors and triggers dialog.

Полное имя образа контейнера — mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text. Добавьте определенную версию или добавьте :latest ее, чтобы получить последнюю версию.

Версия Путь
Latest mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

Тег latest извлекает последнее изображение для языкового en-US стандарта.
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.6.0-amd64-mr-in

Все теги, кроме latest, имеют следующий формат и учитывают регистр:

<major>.<minor>.<patch>-<platform>-<locale>-<prerelease>

Теги также доступны в формате JSON для удобства. Текст содержит путь к контейнеру и список тегов. Теги не отсортированы по версии, но "latest" всегда включаются в конец списка, как показано в этом фрагменте кода:

{
  "name": "azure-cognitive-services/speechservices/speech-to-text",
  "tags": [
    "2.10.0-amd64-ar-ae",
    "2.10.0-amd64-ar-bh",
    "2.10.0-amd64-ar-eg",
    "2.10.0-amd64-ar-iq",
    "2.10.0-amd64-ar-jo",
    <--redacted for brevity-->
    "latest"
  ]
}

Получение образа контейнера с помощью команды docker pull

Необходимые компоненты , включая необходимое оборудование. Также см. рекомендуемое выделение ресурсов для каждого контейнера службы "Речь".

Воспользуйтесь командой docker pull, чтобы скачать образ контейнера из реестра контейнеров Microsoft:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

Внимание

Тег latest извлекает последнее изображение для языкового en-US стандарта. Дополнительные версии и языковые стандарта см . в разделе "Речь" для текстовых образов контейнеров.

Запуск контейнера с помощью запуска Docker

Воспользуйтесь командой docker run для запуска контейнера.

В следующей таблице представлены различные параметры docker run и соответствующие им описания.

Параметр Описание
{ENDPOINT_URI} Для оценки и выставления счетов требуется конечная точка. Дополнительные сведения см . в разделе аргументов выставления счетов.
{API_KEY} Ключ API не требуется. Дополнительные сведения см . в разделе аргументов выставления счетов.

При запуске речи в текстовый контейнер настройте порт, память и ЦП в соответствии с требованиями и рекомендациями к текстовому контейнеру.

Ниже приведен пример docker run команды со значениями заполнителей. Необходимо указать ENDPOINT_URI значения и API_KEY значения:

docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Команда:

  • speech-to-text Запускает контейнер из образа контейнера.
  • Выделяет 4 ядра ЦП и 8 ГБ памяти.
  • предоставляет TCP-порт 5000 и выделяет псевдотелетайп для контейнера;
  • автоматически удаляет контейнер после завершения его работы. Образ контейнера остается доступным на главном компьютере.

Дополнительные сведения о контейнерах службы "Речь" см. в docker run разделе "Установка и запуск контейнеров службы "Речь" с помощью Docker.

Использование контейнера

Контейнеры службы "Речь" предоставляют API конечных точек запросов на основе websocket, к которым обращается пакет SDK службы "Речь" и CLI службы "Речь". По умолчанию пакет SDK службы "Речь" и cli службы "Речь" используют общедоступную службу "Речь". Чтобы использовать контейнер, вам необходимо изменить метод инициализации.

Внимание

При использовании службы "Речь" с контейнерами обязательно используйте проверку подлинности узла. Если вы настроите ключ и регион, запросы будут отправляться в общедоступную службу "Речь". Результаты службы "Речь" могут не быть ожидаемыми. Запросы от отключенных контейнеров завершаются ошибкой.

Вместо использования этой конфигурации инициализации в облаке Azure:

var config = SpeechConfig.FromSubscription(...);

Используйте эту конфигурацию с узлом контейнера:

var config = SpeechConfig.FromHost(
    new Uri("ws://localhost:5000"));

Вместо использования этой конфигурации инициализации в облаке Azure:

auto speechConfig = SpeechConfig::FromSubscription(...);

Используйте эту конфигурацию с узлом контейнера:

auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");

Вместо использования этой конфигурации инициализации в облаке Azure:

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

Используйте эту конфигурацию с узлом контейнера:

speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")

Вместо использования этой конфигурации инициализации в облаке Azure:

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

Используйте эту конфигурацию с узлом контейнера:

SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");

Вместо использования этой конфигурации инициализации в облаке Azure:

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

Используйте эту конфигурацию с узлом контейнера:

const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");

Вместо использования этой конфигурации инициализации в облаке Azure:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

Используйте эту конфигурацию с узлом контейнера:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];

Вместо использования этой конфигурации инициализации в облаке Azure:

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

Используйте эту конфигурацию с узлом контейнера:

let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");

Вместо использования этой конфигурации инициализации в облаке Azure:

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

Используйте эту конфигурацию с конечной точкой контейнера:

speech_config = speechsdk.SpeechConfig(
    host="ws://localhost:5000")

При использовании интерфейса командной строки службы "Речь" в контейнере включите --host ws://localhost:5000/ этот параметр. Необходимо также указать --key none , чтобы интерфейс командной строки не использовал ключ службы "Речь" для проверки подлинности. Сведения о настройке интерфейса командной строки службы "Речь" см. в статье "Начало работы с azure AI Speech CLI".

Попробуйте выполнить речь в текстовом кратком руководстве , используя проверку подлинности узла вместо ключа и региона.

Следующие шаги