Contenedores de conversión de voz en texto con Docker

El contenedor de conversión de voz en texto transcribe grabaciones de audio por lotes o de voz en tiempo real con resultados intermedios. En este artículo, aprenderá a descargar, instalar y ejecutar un contenedor de conversión de voz en texto.

Para obtener más información sobre los requisitos previos, validar que el contenedor se esté ejecutando, ejecutar varios contenedores en el mismo host y ejecutar contenedores desconectados, consulte Instalación y ejecución de contenedores de Voz con Docker.

Imágenes del contenedor

La imagen de contenedor de conversión de voz en texto para todas las versiones y configuraciones regionales compatibles se puede encontrar en el sindicato de Microsoft Container Registry (MCR). Reside en el repositorio azure-cognitive-services/speechservices/ y se denomina speech-to-text.

A screenshot of the search connectors and triggers dialog.

El nombre completo de la imagen de contenedor es mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text. Anexa una versión específica o :latest para obtener la versión más reciente.

Versión Path
Más reciente mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

La etiqueta latest extrae la imagen más reciente de la configuración regional en-US.
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.6.0-amd64-mr-in

Todas las etiquetas, salvo latest, tienen el formato siguiente y distinguen mayúsculas de minúsculas:

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

Las etiquetas también están disponibles en formato JSON para tu comodidad. El cuerpo incluye la ruta de acceso del contenedor y la lista de etiquetas. Las etiquetas no están ordenadas por versión, pero "latest" siempre se incluye al final de la lista, como se muestra en este fragmento de código:

{
  "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"
  ]
}

Obtención de la imagen de contenedor con el comando docker pull

Son necesarios los requisitos previos, incluido el hardware necesario. Consulte también la asignación recomendada de recursos para cada contenedor de voz.

Use el comando docker pull para descargar una imagen de contenedor de Microsoft Container Registry:

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

Importante

La etiqueta latest extrae la imagen más reciente de la configuración regional en-US. Para más versiones y configuraciones regionales, consulte imágenes de contenedor de conversión de voz en texto.

Ejecute el contenedor con docker run

Utilice el comando docker run para ejecutar el contenedor.

En la tabla siguiente se representan los diversos parámetros de docker run y las descripciones correspondientes:

Parámetro Descripción
{ENDPOINT_URI} El punto de conexión es necesario para la medición y la facturación. Para más información, consulte los argumentos de facturación.
{API_KEY} Se necesita la clave de API. Para más información, consulta los argumentos de facturación.

Al ejecutar el contenedor de conversión de voz en texto, configure el puerto, la memoria y la CPU según los requisitos y recomendaciones del contenedor de conversión de voz en texto.

Este es un ejemplo del comando docker run con valores de marcador de posición. Debes especificar los valores ENDPOINT_URI y 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}

Este comando:

  • Ejecuta un contenedor de speech-to-text desde la imagen de contenedor.
  • Asigna 4 núcleos de CPU y 8 GB de memoria.
  • Expone el puerto TCP 5000 y asigna un seudo-TTY para el contenedor.
  • Una vez que se produce la salida, quita automáticamente el contenedor. La imagen del contenedor sigue estando disponible en el equipo host.

Para obtener más información sobre docker run con los contenedores de Voz, consulte Instalación y ejecución de contenedores de Voz con Docker.

Uso del contenedor

Los contenedores de voz proporcionan las API de punto de conexión de consulta basadas en websocket a las que se accede a través del SDK de voz y la CLI de voz. De forma predeterminada, el SDK de Voz y la CLI de Voz usan el servicio de Voz público. Para usar el contenedor, deberá cambiar el método de inicialización.

Importante

Cuando uses el servicio de voz con contenedores, asegúrate de usar la autenticación de host. Si configuras la clave y la región, las solicitudes irán al servicio de voz público. Es posible que los resultados del servicio de voz no sean los esperados. Se producirá un error en las solicitudes de contenedores desconectados.

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el host del contenedor:

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

En lugar de usar esta configuración de inicialización en la nube de Azure:

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

Usa esta configuración con el punto de conexión del contenedor:

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

Al usar la CLI de Voz en un contenedor, incluya la opción --host ws://localhost:5000/. También debes especificar --key none para garantizar que la CLI no intenta usar una clave de Azure Cognitive Service para voz para la autenticación. Para más información sobre cómo configurar la CLI de voz, consulta Introducción a la CLI de voz de Azure AI.

Pruebe el inicio rápido de conversión de voz en texto mediante la autenticación de host en lugar de la clave y la región.

Pasos siguientes