Conversão de voz em contêineres de texto com o Docker

O contêiner Fala para texto transcreve gravações de fala ou áudio em lote em tempo real com resultados intermediários. Neste artigo, você aprenderá a baixar, instalar e executar um contêiner de fala para texto.

Para obter mais informações sobre pré-requisitos, validação de que um contêiner está em execução, execução de vários contêineres no mesmo host e execução de contêineres desconectados, consulte Instalar e executar contêineres de fala com o Docker.

Imagens de contentor

A imagem do contêiner de fala para texto para todas as versões e localidades suportadas pode ser encontrada no sindicato Microsoft Container Registry (MCR). Ele reside dentro do azure-cognitive-services/speechservices/ repositório e é chamado speech-to-textde .

A screenshot of the search connectors and triggers dialog.

O nome da imagem de contêiner totalmente qualificada é, mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text. Anexe uma versão específica ou anexe :latest para obter a versão mais recente.

Versão Caminho
Mais Recente mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

A latest tag extrai a imagem mais recente para a en-US localidade.
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.6.0-amd64-mr-in

Todas as tags, exceto latest, estão no seguinte formato e diferenciam maiúsculas de minúsculas:

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

As tags também estão disponíveis no formato JSON para sua conveniência. O corpo inclui o caminho do contêiner e a lista de tags. As tags não são classificadas por versão, mas "latest" são sempre incluídas no final da lista, conforme mostrado neste trecho:

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

Obter a imagem do contêiner com o docker pull

Você precisa dos pré-requisitos, incluindo o hardware necessário. Consulte também a alocação recomendada de recursos para cada contêiner de fala.

Use o comando docker pull para baixar uma imagem de contêiner do Microsoft Container Registry:

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

Importante

A latest tag extrai a imagem mais recente para a en-US localidade. Para versões e localidades adicionais, consulte Imagens de contêiner de fala em texto.

Executar o contêiner com docker run

Use o comando docker run para executar o contêiner.

A tabela a seguir representa os vários docker run parâmetros e suas descrições correspondentes:

Parâmetro Description
{ENDPOINT_URI} O ponto de extremidade é necessário para medição e faturamento. Para obter mais informações, consulte argumentos de cobrança.
{API_KEY} A chave API é necessária. Para obter mais informações, consulte argumentos de cobrança.

Ao executar o contêiner de fala para texto, configure a porta, a memória e a CPU de acordo com os requisitos e recomendações do contêiner de fala para texto.

Aqui está um comando de exemplo docker run com valores de espaço reservado. Você deve especificar os ENDPOINT_URI valores e 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:

  • Executa um speech-to-text contêiner a partir da imagem do contêiner.
  • Aloca 4 núcleos de CPU e 8 GB de memória.
  • Expõe a porta TCP 5000 e aloca um pseudo-TTY para o contêiner.
  • Remove automaticamente o recipiente depois que ele sai. A imagem do contêiner ainda está disponível no computador host.

Para obter mais informações sobre docker run como contêineres de fala, consulte Instalar e executar contêineres de fala com o Docker.

Utilize o recipiente

Os contêineres de fala fornecem APIs de ponto de extremidade de consulta baseadas em websocket que são acessadas por meio do SDK de Fala e da CLI de Fala. Por padrão, o SDK de Fala e a CLI de Fala usam o serviço de Fala público. Para usar o contêiner, você precisa alterar o método de inicialização.

Importante

Ao usar o serviço de Fala com contêineres, certifique-se de usar a autenticação de host. Se você configurar a chave e a região, as solicitações irão para o serviço de Fala pública. Os resultados do serviço de Fala podem não ser os esperados. As solicitações de contêineres desconectados falharão.

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o ponto de extremidade do contêiner:

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

Ao usar a CLI de fala em um contêiner, inclua a --host ws://localhost:5000/ opção. Você também deve especificar --key none para garantir que a CLI não tente usar uma chave de fala para autenticação. Para obter informações sobre como configurar a CLI de Fala, consulte Introdução à CLI de Fala do Azure AI.

Experimente o início rápido de fala para texto usando a autenticação de host em vez de chave e região.

Próximos passos