Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El contenedor personalizado de transcripción de voz a texto convierte en texto las grabaciones de voz en tiempo real o las grabaciones de audio por lotes, ofreciendo resultados intermedios. Puede usar un modelo personalizado que haya creado en el Portal de voz personalizada. En este artículo, aprenderá a descargar, instalar y ejecutar un contenedor personalizado de conversión de voz a texto.
Para obtener más información sobre los requisitos previos, validando que un contenedor se está ejecutando, ejecutando varios contenedores en el mismo host y ejecutando contenedores desconectados, consulte Instalación y ejecución de contenedores de Voz con Docker.
Imágenes de contenedor
La imagen de contenedor personalizado 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 azure-cognitive-services/speechservices/ repositorio y se denomina custom-speech-to-text.
El nombre completo de la imagen del contenedor es mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text. Anexe una versión específica o anexe :latest para obtener la versión más reciente.
| Versión | Ruta |
|---|---|
| Más reciente | mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest |
| 4.12.0 | mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:4.12.0-amd64 |
Todas las etiquetas, salvo latest, tienen el formato siguiente y distinguen mayúsculas de minúsculas:
<major>.<minor>.<patch>-<platform>-<prerelease>
Nota
El locale y voice para los contenedores de voz a texto personalizados se determinan por el modelo personalizado ingerido por el contenedor.
Las etiquetas también están disponibles en formato JSON para su 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 incluyen al final de la lista, como se muestra en este fragmento de código:
{
"name": "azure-cognitive-services/speechservices/custom-speech-to-text",
"tags": [
<--redacted for brevity-->
"4.0.0-amd64",
"4.1.0-amd64",
"4.10.0-amd64",
"4.11.0-amd64",
"4.12.0-amd64",
"4.2.0-amd64",
"4.3.0-amd64",
"4.4.0-amd64",
"4.5.0-amd64",
"4.6.0-amd64",
"4.7.0-amd64",
"4.8.0-amd64",
"4.9.0-amd64",
"5.0.0-preview-amd64",
"5.0.1-preview-amd64",
"latest"
]
}
Obtención de la imagen de contenedor con el comando docker pull
Necesita 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/custom-speech-to-text:latest
Nota
El locale y el voice para los contenedores de voz personalizados son determinados por el modelo personalizado ingerido por el contenedor.
Obtención del identificador del modelo
Para poder ejecutar el contenedor, debe conocer el identificador de modelo del modelo personalizado o un identificador de modelo base. Al ejecutar el contenedor, especifique uno de los identificadores de modelo que se van a descargar y usar.
El modelo personalizado debe entrenarse mediante Speech Studio. Para obtener información sobre cómo obtener el identificador del modelo, consulte ciclo de vida del modelo de voz personalizado.
Obtenga el ID de modelo que se va a usar como argumento para el parámetro ModelId de la orden docker run.
Visualización de la descarga del modelo
Antes de ejecutar el contenedor, puede obtener opcionalmente la información de los modelos de visualización disponibles y elegir descargar esos modelos en el contenedor de voz en texto para obtener una salida de pantalla final muy mejorada. La descarga del modelo de visualización está disponible con la versión 3.1.0 y posterior del contenedor personalizado de conversión de voz en texto.
Nota
Aunque usa el comando docker run, el contenedor no se inicia para el servicio.
Puede consultar o descargar cualquiera de estos tipos de modelo de presentación, o todos ellos: Rescoring (Rescore), Punctuation (Punct), resegmentation (Resegment) y wfstitn (Wfstitn). De lo contrario, puede usar la FullDisplay opción (con o sin otros tipos) para consultar o descargar todos los tipos de modelos de visualización.
Establezca el BaseModelLocale para consultar el modelo de pantalla más reciente disponible en el destino local. Si incluye varios tipos de modelo para mostrar, el comando devuelve los modelos de visualización disponibles más recientes para cada tipo. Por ejemplo:
docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \ # Specify `FullDisplay` or a space-separated subset of display models
BaseModelLocale={LOCALE} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Configure el DisplayLocale para descargar el modelo de pantalla más reciente disponible en el destino local seleccionado. Al establecer DisplayLocale, también debe especificar FullDisplay o un subconjunto separado por espacios de modelos de visualización. El comando descarga el modelo de visualización más reciente disponible para cada tipo especificado. Por ejemplo:
docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \ # Specify `FullDisplay` or a space-separated subset of display models
DisplayLocale={LOCALE} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Establezca un parámetro de Id. de modelo para descargar un modelo de presentación específico: Rescoring (RescoreId), Punctuation (PunctId), resegmentation (ResegmentId) o wfstitn (WfstitnId). Esto es similar a cómo descargaría un modelo base a través del ModelId parámetro . Por ejemplo, para descargar un modelo de presentación rescoring, puede usar el comando siguiente con el parámetro RescoreId:
docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
RescoreId={RESCORE_MODEL_ID} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Nota
Si establece más de una consulta o parámetro de descarga, el comando dará prioridad en este orden: BaseModelLocale, identificador de modelo y, a continuación DisplayLocale , (solo se aplica a los modelos de visualización).
Ejecute el contenedor con docker run
Use el comando docker run para ejecutar el contenedor para el servicio.
En la tabla siguiente se representan los distintos docker run parámetros y sus descripciones correspondientes:
| Parámetro | Descripción |
|---|---|
{VOLUME_MOUNT} |
El montaje del volumen del equipo host, que Docker usa para conservar el modelo personalizado. Un ejemplo es, c:\CustomSpeechdonde la unidadc:\ se encuentra en la máquina host. |
{MODEL_ID} |
Id. del modelo base o de voz personalizado. Para obtener más información, consulte Obtención del identificador del modelo. |
{ENDPOINT_URI} |
El punto de conexión es necesario para la medición y la facturación. Para obtener más información, consulte argumentos de facturación. |
{API_KEY} |
Se requiere la clave de API. Para obtener más información, consulte argumentos de facturación. |
Al ejecutar el contenedor de voz en texto personalizado, configure el puerto, la memoria y la CPU según los requisitos y recomendaciones del contenedor de texto personalizados de voz a texto.
Este es un comando de ejemplo docker run con valores de marcador de posición. Debe especificar los valores VOLUME_MOUNT, MODEL_ID, ENDPOINT_URI y API_KEY:
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
-v {VOLUME_MOUNT}:/usr/local/models \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
ModelId={MODEL_ID} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Este comando:
- Ejecuta un contenedor Conversión de voz a texto personalizada desde la imagen de contenedor.
- Asigna 4 núcleos de CPU y 8 GB de memoria.
- Carga el modelo de Conversión de voz a texto personalizada desde el montaje de entrada de volumen, por ejemplo, C:\CustomSpeech.
- Expone el puerto TCP 5000 y asigna un pseudo-TTY para el contenedor.
- Descarga el modelo dado el
ModelId(si no se encuentra en el montaje de volumen). - Si el modelo personalizado se descargó anteriormente,
ModelIdse omite . - Quita automáticamente el contenedor después de que este salga. La imagen de contenedor sigue estando disponible en el equipo host.
Para obtener más información sobre docker run con contenedores de voz, consulte Instalación y ejecución de contenedores de voz con Docker.
Uso del contenedor
Los contenedores de voz proporcionan 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, debe cambiar el método de inicialización.
Importante
Cuando use el servicio voz con contenedores, asegúrese de usar la autenticación de host. Si configura la clave y la región, las solicitudes irán al servicio público de reconocimiento del habla. 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 de Azure nube:
var config = SpeechConfig.FromSubscription(...);
Utiliza 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 de Azure nube:
auto speechConfig = SpeechConfig::FromSubscription(...);
Utiliza esta configuración con el contenedor host:
auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");
En lugar de usar esta configuración de inicialización de Azure nube:
speechConfig, err := speech.NewSpeechConfigFromSubscription(...)
Use esta configuración con el host de contenedor:
speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")
En lugar de usar esta configuración de inicialización de Azure nube:
SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);
Utilice 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 de Azure nube:
const speechConfig = sdk.SpeechConfig.fromSubscription(...);
Use esta configuración con el contenedor host:
const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");
En lugar de usar esta configuración de inicialización de Azure nube:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];
Utilice esta config con el host del contenedor:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];
En lugar de usar esta configuración de inicialización de Azure nube:
let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");
Use 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 de Azure nube:
speech_config = speechsdk.SpeechConfig(
subscription=speech_key, region=service_region)
Use 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 debe especificar --key none para asegurarse de que la CLI no intenta usar una clave de voz para la autenticación. Para obtener información sobre cómo configurar la CLI de Voz, consulte Get started with the Azure Speech in Foundry Tools CLI.
Pruebe el tutorial rápido sobre la conversión de voz a texto mediante la autenticación del host en lugar de la clave y la región.
Pasos siguientes
- Consulte la visión general de los contenedores de voz.
- Revise Configuración de contenedores para ver las opciones de configuración.
- Use más contenedores de inteligencia artificial Azure