Instale e execute os recipientes Docker para as APIs do serviço de falaInstall and run Docker containers for the Speech service APIs

Os contentores permitem-lhe executar algumas das APIs do Serviço de voz no seu próprio ambiente.Containers enable you to run some of the Speech service APIs in your own environment. Os contentores são ótimos para requisitos específicos de governação de dados e segurança.Containers are great for specific security and data governance requirements. Neste artigo, ficará a saber como transferir, instalar e executar um contentor de Voz.In this article you'll learn how to download, install, and run a Speech container.

Os contentores de Voz permitem que os clientes criem uma arquitetura de aplicação de voz, otimizada para capacidades de cloud robustas e localidades no Edge.Speech containers enable customers to build a speech application architecture that is optimized for both robust cloud capabilities and edge locality. Existem vários contentores disponíveis, que usam os mesmos preços que os Serviços de Fala Azure baseados na nuvem.There are several containers available, which use the same pricing as the cloud-based Azure Speech Services.

Importante

Os seguintes recipientes de discurso estão agora geralmente disponíveis:The following Speech containers are now Generally available:

  • Padrão Discurso-a-TextoStandard Speech-to-text
  • Discurso-a-texto personalizadoCustom Speech-to-text
  • Texto-a-discurso padrãoStandard Text-to-speech

Os seguintes recipientes de fala estão em pré-visualização fechada.The following speech containers are in gated preview.

  • Texto-a-discurso personalizadoCustom Text-to-speech
  • Deteção de linguagem da falaSpeech Language Detection
  • Texto-a-discurso neuralNeural Text-to-speech

Para utilizar os recipientes de fala deve submeter um pedido on-line e aprová-lo.To use the speech containers you must submit an online request, and have it approved. Consulte a aprovação do Pedido para executar a secção do recipiente abaixo para obter mais informações.See the Request approval to the run the container section below for more information.

ContentorContainer FuncionalidadesFeatures Mais RecenteLatest
Conversão de voz em textoSpeech-to-text Analisa o sentimento e transcreve gravações contínuas de voz em tempo real ou de lotes com resultados intermédios.Analyzes sentiment and transcribes continuous real-time speech or batch audio recordings with intermediate results. 2.5.02.5.0
Discurso-a-texto personalizadoCustom Speech-to-text Utilizando um modelo personalizado do portal Discurso Personalizado,transcreve gravações contínuas de discursos em tempo real ou de lotes em texto com resultados intermédios.Using a custom model from the Custom Speech portal, transcribes continuous real-time speech or batch audio recordings into text with intermediate results. 2.5.02.5.0
Conversão de texto em vozText-to-speech Converte o texto para discurso sonoro natural com entrada de texto simples ou linguagem de marcação de síntese de fala (SSML).Converts text to natural-sounding speech with plain text input or Speech Synthesis Markup Language (SSML). 1.7.01.7.0
Texto-a-discurso personalizadoCustom Text-to-speech Utilizando um modelo personalizado do portal Voz Personalizada,converte o texto em discurso sonoro natural com entrada de texto simples ou linguagem de marcação de síntese de fala (SSML).Using a custom model from the Custom Voice portal, converts text to natural-sounding speech with plain text input or Speech Synthesis Markup Language (SSML). 1.7.01.7.0
Deteção de linguagem da falaSpeech Language Detection Detetar a linguagem falada em ficheiros áudio.Detect the language spoken in audio files. 1,01.0
Texto-a-discurso neuralNeural Text-to-speech Converte o texto em discurso sonoro natural usando a tecnologia de rede neural profunda, permitindo um discurso mais natural sintetizado.Converts text to natural-sounding speech using deep neural network technology, allowing for more natural synthesized speech. 1.2.01.2.0

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin.

Pré-requisitosPrerequisites

Os seguintes pré-requisitos antes da utilização dos recipientes de fala:The following prerequisites before using Speech containers:

NecessárioRequired ObjetivoPurpose
Motor do DockerDocker Engine Precisa do Motor Docker instalado num computador anfitrião.You need the Docker Engine installed on a host computer. O Docker oferece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Para um manual de noções básicas do Docker e do contentor, veja a descrição geral do Docker.For a primer on Docker and container basics, see the Docker overview.

O Docker deve ser configurado para permitir que os contentores se conectem e enviem dados de faturação para a Azure.Docker must be configured to allow the containers to connect with and send billing data to Azure.

No Windows, o Docker também deve ser configurado para suportar recipientes Linux.On Windows, Docker must also be configured to support Linux containers.

Familiaridade com DockerFamiliarity with Docker Você deve ter uma compreensão básica de conceitos docker, como registos, repositórios, contentores e imagens de contentores, bem como conhecimento de docker comandos básicos.You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
Recurso de falaSpeech resource Para utilizar estes recipientes, deve ter:In order to use these containers, you must have:

Um recurso de Discurso Azure para obter a chave API associada e ponto final URI.An Azure Speech resource to get the associated API key and endpoint URI. Ambos os valores estão disponíveis nas páginas Do Discurso e Chaves do portal Azure.Both values are available on the Azure portal's Speech Overview and Keys pages. Ambos são obrigados a iniciar o contentor.They are both required to start the container.

{API_KEY}: Uma das duas teclas de recursos disponíveis na página Keys{API_KEY}: One of the two available resource keys on the Keys page

{ENDPOINT_URI}: O ponto final, conforme fornecido na página 'Vista Geral',{ENDPOINT_URI}: The endpoint as provided on the Overview page

Recolha de parâmetros necessáriosGathering required parameters

Existem três parâmetros primários para todos os contentores dos Serviços Cognitivos que são necessários.There are three primary parameters for all Cognitive Services' containers that are required. O contrato de licença de utilizador final (EULA) deve estar presente com um valor de accept .The end-user license agreement (EULA) must be present with a value of accept. Além disso, tanto um URL endpoint como uma chave API são necessários.Additionally, both an Endpoint URL and API Key are needed.

Endpoint URI {ENDPOINT_URI}Endpoint URI {ENDPOINT_URI}

O valor Endpoint URI está disponível na página geral do portal Azure do recurso correspondente do Serviço Cognitivo.The Endpoint URI value is available on the Azure portal Overview page of the corresponding Cognitive Service resource. Navegue para a página overview, paire sobre o Ponto final e aparecerá um Copy to clipboard ícone.Navigate to the Overview page, hover over the Endpoint, and a Copy to clipboard icon will appear. Copiar e usar sempre que necessário.Copy and use where needed.

Reúna o ponto final uri para utilização posterior

Chaves {API_KEY}Keys {API_KEY}

Esta chave é utilizada para iniciar o contentor e está disponível na página Chaves do portal Azure do recurso serviço cognitivo correspondente.This key is used to start the container, and is available on the Azure portal's Keys page of the corresponding Cognitive Service resource. Navegue na página Chaves e clique no Copy to clipboard ícone.Navigate to the Keys page, and click on the Copy to clipboard icon.

Pegue uma das duas chaves para uso posterior

Importante

Estas chaves de subscrição são usadas para aceder à sua API de Serviço Cognitivo.These subscription keys are used to access your Cognitive Service API. Não partilhem as chaves.Do not share your keys. Guarde-os de forma segura, por exemplo, utilizando o Cofre da Chave Azure.Store them securely, for example, using Azure Key Vault. Recomendamos também a regeneração regular destas teclas.We also recommend regenerating these keys regularly. Apenas uma chave é necessária para fazer uma chamada da API.Only one key is necessary to make an API call. Ao regenerar a primeira chave, pode utilizar a segunda chave para o acesso continuado ao serviço.When regenerating the first key, you can use the second key for continued access to the service.

O computador anfitriãoThe host computer

O hospedeiro é um computador baseado em X64 que gere o contentor Docker.The host is a x64-based computer that runs the Docker container. Pode ser um computador nas suas instalações ou um serviço de hospedagem Docker em Azure, tais como:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Suporte avançado de extensão do vetorAdvanced Vector Extension support

O hospedeiro é o computador que gere o contentor do estivador.The host is the computer that runs the docker container. O anfitrião deve suportar extensões de vetores avançados (AVX2).The host must support Advanced Vector Extensions (AVX2). Pode verificar se há suporte AVX2 em anfitriões Linux com o seguinte comando:You can check for AVX2 support on Linux hosts with the following command:

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

Aviso

O computador anfitrião é necessário para suportar o AVX2.The host computer is required to support AVX2. O recipiente não funcionará corretamente sem suporte AVX2.The container will not function correctly without AVX2 support.

Requisitos e recomendações do contentorContainer requirements and recommendations

O quadro seguinte descreve a alocação mínima e recomendada de recursos para cada recipiente de discurso.The following table describes the minimum and recommended allocation of resources for each Speech container.

ContentorContainer MínimoMinimum RecomendadoRecommended
Conversão de voz em textoSpeech-to-text 2 núcleo, memória de 2 GB2 core, 2-GB memory 4 núcleo, memória de 4-GB4 core, 4-GB memory
Discurso-a-texto personalizadoCustom Speech-to-text 2 núcleo, memória de 2 GB2 core, 2-GB memory 4 núcleo, memória de 4-GB4 core, 4-GB memory
Conversão de texto em vozText-to-speech 1 núcleo, memória de 2 GB1 core, 2-GB memory 2 núcleo, memória de 3-GB2 core, 3-GB memory
Texto-a-discurso personalizadoCustom Text-to-speech 1 núcleo, memória de 2 GB1 core, 2-GB memory 2 núcleo, memória de 3-GB2 core, 3-GB memory
Deteção de linguagem da falaSpeech Language Detection 1 núcleo, 1-GB de memória1 core, 1-GB memory 1 núcleo, 1-GB de memória1 core, 1-GB memory
Texto-a-discurso neuralNeural Text-to-speech 6 núcleo, memória de 12 GB6 core, 12-GB memory 8 núcleo, memória de 16-GB8 core, 16-GB memory
  • Cada núcleo deve ser pelo menos 2,6 gigahertz (GHz) ou mais rápido.Each core must be at least 2.6 gigahertz (GHz) or faster.

O núcleo e a memória correspondem às --cpus --memory definições e configurações, que são utilizadas como parte do docker run comando.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Nota

Os mínimos e recomendados baseiam-se fora dos limites do Docker, não dos recursos da máquina hospedeira.The minimum and recommended are based off of Docker limits, not the host machine resources. Por exemplo, os contentores de memória de um grande modelo de linguagem, por exemplo, são recomendados que todo o ficheiro se encaixe na memória, que é um adicional de 4-6 GB.For example, speech-to-text containers memory map portions of a large language model, and it is recommended that the entire file fits in memory, which is an additional 4-6 GB. Além disso, a primeira execução de qualquer um dos recipientes pode demorar mais tempo, uma vez que os modelos estão a ser colocados na memória.Also, the first run of either container may take longer, since models are being paged into memory.

Solicitar aprovação para a execução do contentorRequest approval to the run the container

Preencha e envie o formulário de pedido para solicitar o acesso ao contentor.Fill out and submit the request form to request access to the container.

O formulário solicita informações sobre si, sobre a sua empresa e sobre o cenário de utilizador para o qual utilizará o recipiente.The form requests information about you, your company, and the user scenario for which you'll use the container. Depois de submeter o formulário, a equipa dos Serviços Cognitivos da Azure irá analisá-lo e enviar-lhe um e-mail com uma decisão.After you submit the form, the Azure Cognitive Services team will review it and email you with a decision.

Importante

  • No formulário, deve utilizar um endereço de e-mail associado a um ID de assinatura Azure.On the form, you must use an email address associated with an Azure subscription ID.
  • O recurso Azure que utiliza para executar o contentor deve ter sido criado com o ID de assinatura Azure aprovado.The Azure resource you use to run the container must have been created with the approved Azure subscription ID.
  • Consulte o seu e-mail (pastas de caixa de entrada e lixo) para obter atualizações sobre o estado da sua aplicação da Microsoft.Check your email (both inbox and junk folders) for updates on the status of your application from Microsoft.

Depois de aprovado, poderá executar o contentor depois de o descarregar do Registo de Contentores da Microsoft (MCR), descrito mais tarde no artigo.After you're approved, you will be able to run the container after downloading it from the Microsoft Container Registry (MCR), described later in the article.

Não poderá executar o contentor se a sua assinatura Azure não tiver sido aprovada.You won't be able to run the container if your Azure subscription has not been approved.

Obtenha a imagem do recipiente com docker pullGet the container image with docker pull

As imagens do contentor para a fala estão disponíveis no seguinte registo de contentores.Container images for Speech are available in the following Container Registry.

ContentorContainer RepositórioRepository
Conversão de voz em textoSpeech-to-text mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

Dica

Pode utilizar o comando de imagens estivadores para listar as imagens do seu contentor descarregado.You can use the docker images command to list your downloaded container images. Por exemplo, o seguinte comando lista o ID, repositório e etiqueta de cada imagem de recipiente descarregado, formatado como tabela:For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Docker puxa para os recipientes da falaDocker pull for the Speech containers

Docker puxa para o recipiente discurso-a-textoDocker pull for the Speech-to-text container

Utilize o comando de puxar o estivador para descarregar uma imagem do contentor do registo de pré-visualização do contentor.Use the docker pull command to download a container image from Container Preview registry.

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

Importante

A latest etiqueta puxa o en-US local.The latest tag pulls the en-US locale. Para locais adicionais consulte locais de voz a texto.For additional locales see Speech-to-text locales.

Locais de fala para textoSpeech-to-text locales

Todas as tags, com exceção latest das marcas, são no seguinte formato e são sensíveis a casos:All tags, except for latest are in the following format and are case-sensitive:

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

A seguinte etiqueta é um exemplo do formato:The following tag is an example of the format:

2.5.0-amd64-en-us-preview

Para todos os locais suportados do recipiente discurso-a-texto, consulte as etiquetas de imagem discurso-a-texto.For all of the supported locales of the speech-to-text container, please see Speech-to-text image tags.

Como usar o recipienteHow to use the container

Uma vez que o recipiente esteja no computador anfitrião,utilize o seguinte processo para trabalhar com o recipiente.Once the container is on the host computer, use the following process to work with the container.

  1. Executar o recipiente,com as definições de faturação necessárias.Run the container, with the required billing settings. Mais exemplos do docker run comando estão disponíveis.More examples of the docker run command are available.
  2. Consultar o ponto final de previsão do recipiente.Query the container's prediction endpoint.

Executar o recipiente com docker runRun the container with docker run

Use o comando de execução do estivador para executar o contentor.Use the docker run command to run the container. Consulte a recolha dos parâmetros necessários para obter detalhes sobre como obter os {Endpoint_URI} valores e {API_Key} valores.Refer to gathering required parameters for details on how to get the {Endpoint_URI} and {API_Key} values. Estão também disponíveis exemplos adicionais do docker run comando.Additional examples of the docker run command are also available.

Para executar o recipiente padrão discurso-texto, execute o seguinte docker run comando.To run the Standard Speech-to-text container, execute the following docker run command.

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

Este comando:This command:

  • Executa um recipiente discurso-texto a partir da imagem do recipiente.Runs a Speech-to-text container from the container image.
  • Atribui 4 núcleos de CPU e 4 gigabytes (GB) de memória.Allocates 4 CPU cores and 4 gigabytes (GB) of memory.
  • Expõe a porta TCP 5000 e atribui um pseudo-TTY para o recipiente.Exposes TCP port 5000 and allocates a pseudo-TTY for the container.
  • Remove automaticamente o recipiente depois de sair.Automatically removes the container after it exits. A imagem do recipiente ainda está disponível no computador anfitrião.The container image is still available on the host computer.

Analisar o sentimento sobre a saída fala-a-textoAnalyze sentiment on the speech-to-text output

A partir de v2.2.0 do recipiente de fala-a-texto, pode chamar a análise de sentimento v3 API na saída.Starting in v2.2.0 of the speech-to-text container, you can call the sentiment analysis v3 API on the output. Para chamar a análise de sentimento, você precisará de um ponto final de recursos API API de texto.To call sentiment analysis, you will need a Text Analytics API resource endpoint. Por exemplo:For example:

  • https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0-preview.1/sentiment
  • https://localhost:5000/text/analytics/v3.0-preview.1/sentiment

Se estiver a aceder a um ponto final de análise de texto na nuvem, precisará de uma chave.If you're accessing a Text analytics endpoint in the cloud, you will need a key. Se estiver a executar Text Analytics localmente, poderá não precisar de o fornecer.If you're running Text Analytics locally, you may not need to provide this.

A chave e o ponto final são passados para o recipiente da Fala como argumentos, como no exemplo seguinte.The key and endpoint are passed to the Speech container as arguments, as in the following example.

docker run -it --rm -p 5000:5000 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
CloudAI:SentimentAnalysisSettings:TextAnalyticsHost={TEXT_ANALYTICS_HOST} \
CloudAI:SentimentAnalysisSettings:SentimentAnalysisApiKey={SENTIMENT_APIKEY}

Este comando:This command:

  • Executa os mesmos passos que o comando acima.Performs the same steps as the command above.
  • Armazena um ponto final e chave da API de Análise de Texto, para o envio de pedidos de análise de sentimento.Stores a Text Analytics API endpoint and key, for sending sentiment analysis requests.

Importante

As Eula Billing opções , e ApiKey opções devem ser especificadas para executar o recipiente; caso contrário, o recipiente não arranca.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Para mais informações, consulte Billing.For more information, see Billing.

Consultar o ponto final de predição do contentorQuery the container's prediction endpoint

Nota

Utilize um número de porta único se estiver a executar vários contentores.Use a unique port number if you're running multiple containers.

ContentoresContainers URL anfitrião SDKSDK Host URL ProtocoloProtocol
Discurso-a-texto padrão e discurso-a-texto personalizadoStandard Speech-to-text and Custom Speech-to-text ws://localhost:5000 WSWS
Texto-a-discurso (incluindo Standard, Custom e Neural), deteção de linguagem da falaText-to-speech (including Standard, Custom and Neural), Speech Language detection http://localhost:5000 HTTPHTTP

Para obter mais informações sobre a utilização dos protocolos WSS e HTTPS, consulte a segurança do contentor.For more information on using WSS and HTTPS protocols, see container security.

Discurso-a-texto (Padrão e Personalizado)Speech-to-text (Standard and Custom)

O recipiente fornece APIs de consulta baseada em websocket, que são acedidos através do SDKde fala .The container provides websocket-based query endpoint APIs, that are accessed through the Speech SDK. Por padrão, o Speech SDK utiliza serviços de fala online.By default, the Speech SDK uses online speech services. Para utilizar o recipiente, é necessário alterar o método de inicialização.To use the container, you need to change the initialization method.

Dica

Ao utilizar o SDK de discurso com recipientes, não precisa de fornecer a chave de subscrição de recursos Azure Speech ou um símbolo do portador da autenticação.When using the Speech SDK with containers, you do not need to provide the Azure Speech resource subscription key or an authentication bearer token.

Veja os exemplos abaixo.See the examples below.

Alterar a utilização desta chamada de inicialização em nuvem Azure:Change from using this Azure-cloud initialization call:

var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");

Para utilizar esta chamada com o anfitriãodo recipiente:To using this call with the container host:

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

Analisar sentimentoAnalyze sentiment

Se forneceu as suas credenciais de API de Análise de Texto ao recipiente,pode utilizar o Speech SDK para enviar pedidos de reconhecimento de voz com análise de sentimento.If you provided your Text Analytics API credentials to the container, you can use the Speech SDK to send speech recognition requests with sentiment analysis. Pode configurar as respostas da API para utilizar um formato simples ou detalhado.You can configure the API responses to use either a simple or detailed format.

Nota

v1.13 do Serviço de Fala Python SDK tem um problema identificado com a análise do sentimento.v1.13 of the Speech Service Python SDK has an identified issue with sentiment analysis. Por favor, use v1.12.x ou mais cedo se estiver a usar a análise de sentimento no Serviço de Fala Python SDK.Please use v1.12.x or earlier if you're using sentiment analysis in the Speech Service Python SDK.

Para configurar o cliente Discurso para utilizar um formato simples, adicione "Sentiment" como um valor para Simple.Extensions .To configure the Speech client to use a simple format, add "Sentiment" as a value for Simple.Extensions. Se quiser escolher uma versão específica do modelo Text Analytics, 'latest' substitua-a na configuração da speechcontext-phraseDetection.sentimentAnalysis.modelversion propriedade.If you want to choose a specific Text Analytics model version, replace 'latest' in the speechcontext-phraseDetection.sentimentAnalysis.modelversion property configuration.

speech_config.set_service_property(
    name='speechcontext-PhraseOutput.Simple.Extensions',
    value='["Sentiment"]',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)
speech_config.set_service_property(
    name='speechcontext-phraseDetection.sentimentAnalysis.modelversion',
    value='latest',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)

Simple.Extensions irá devolver o resultado do sentimento na camada raiz da resposta.Simple.Extensions will return the sentiment result in root layer of the response.

{
   "DisplayText":"What's the weather like?",
   "Duration":13000000,
   "Id":"6098574b79434bd4849fee7e0a50f22e",
   "Offset":4700000,
   "RecognitionStatus":"Success",
   "Sentiment":{
      "Negative":0.03,
      "Neutral":0.79,
      "Positive":0.18
   }
}

Se quiser desativar completamente a análise de sentimentos, adicione um false valor a sentimentanalysis.enabled .If you want to completely disable sentiment analysis, add a false value to sentimentanalysis.enabled.

speech_config.set_service_property(
    name='speechcontext-phraseDetection.sentimentanalysis.enabled',
    value='false',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)

Texto-a-discurso (Padrão, Neural e Personalizado)Text-to-speech (Standard, Neural and Custom)

O recipiente fornece APIs de ponta com base em REST.The container provides REST-based endpoint APIs. Existem muitos projetos de código fonte de amostra para plataforma, enquadramento e variações linguísticas disponíveis.There are many sample source code projects for platform, framework, and language variations available.

Com os recipientes Standard ou Neural Text-to-speech, deve contar com o local e a voz da etiqueta de imagem que descarregou.With the Standard or Neural Text-to-speech containers, you should rely on the locale and voice of the image tag you downloaded. Por exemplo, se descarregou a latest etiqueta, o local padrão é en-US e a AriaRUS voz.For example, if you downloaded the latest tag the default locale is en-US and the AriaRUS voice. O {VOICE_NAME} argumento seria en-US-AriaRUS então.The {VOICE_NAME} argument would then be en-US-AriaRUS. Veja o exemplo SSML abaixo:See the example SSML below:

<speak version="1.0" xml:lang="en-US">
    <voice name="en-US-AriaRUS">
        This text will get converted into synthesized speech.
    </voice>
</speak>

No entanto, para o texto-a-voz personalizado, terá de obter o Voice/model a partir do portal de voz personalizado.However, for Custom Text-to-speech you'll need to obtain the Voice / model from the custom voice portal. O nome do modelo personalizado é sinónimo do nome de voz.The custom model name is synonymous with the voice name. Navegue para a página Treino e copie a Voz/modelo para usar como {VOICE_NAME} argumento.Navigate to the Training page, and copy the Voice / model to use as the {VOICE_NAME} argument.

Modelo de voz personalizado - nome de voz

Veja o exemplo SSML abaixo:See the example SSML below:

<speak version="1.0" xml:lang="en-US">
    <voice name="custom-voice-model">
        This text will get converted into synthesized speech.
    </voice>
</speak>

Vamos construir um pedido HTTP POST, fornecendo alguns cabeçalhos e uma carga de dados.Let's construct an HTTP POST request, providing a few headers and a data payload. Substitua o {VOICE_NAME} espaço reservado pelo seu próprio valor.Replace the {VOICE_NAME} placeholder with your own value.

curl -s -v -X POST http://localhost:5000/speech/synthesize/cognitiveservices/v1 \
 -H 'Accept: audio/*' \
 -H 'Content-Type: application/ssml+xml' \
 -H 'X-Microsoft-OutputFormat: riff-24khz-16bit-mono-pcm' \
 -d '<speak version="1.0" xml:lang="en-US"><voice name="{VOICE_NAME}">This is a test, only a test.</voice></speak>' > output.wav

Este comando:This command:

  • Constrói um pedido HTTP POST para o speech/synthesize/cognitiveservices/v1 ponto final.Constructs an HTTP POST request for the speech/synthesize/cognitiveservices/v1 endpoint.
  • Especifica um Accept cabeçalho de audio/*Specifies an Accept header of audio/*
  • Especifica um Content-Type cabeçalho de application/ssml+xml , para mais informações, ver corpo de pedido.Specifies a Content-Type header of application/ssml+xml, for more information, see request body.
  • Especifica um X-Microsoft-OutputFormat cabeçalho de riff-16khz-16bit-mono-pcm , para mais opções ver saída de áudio.Specifies a X-Microsoft-OutputFormat header of riff-16khz-16bit-mono-pcm, for more options see audio output.
  • Envia o pedido de síntese de síntese de discurso (SSML) dado o {VOICE_NAME} ponto final.Sends the Speech Synthesis Markup Language (SSML) request given the {VOICE_NAME} to the endpoint.

Executar vários recipientes no mesmo hospedeiroRun multiple containers on the same host

Se pretender executar vários recipientes com portas expostas, certifique-se de que funciona cada recipiente com uma porta exposta diferente.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Por exemplo, executar o primeiro contentor no porto 5000 e o segundo contentor no porto 5001.For example, run the first container on port 5000 and the second container on port 5001.

Você pode ter este recipiente e um recipiente diferente Azure Cognitive Services funcionando no HOST juntos.You can have this container and a different Azure Cognitive Services container running on the HOST together. Também pode ter vários contentores do mesmo recipiente dos Serviços Cognitivos em funcionamento.You also can have multiple containers of the same Cognitive Services container running.

Validar que um contentor está a funcionarValidate that a container is running

Há várias formas de validar que o contentor está a funcionar.There are several ways to validate that the container is running. Localize o endereço IP externo e a porta exposta do recipiente em questão e abra o seu navegador web favorito.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. Utilize os urls de vários pedidos abaixo para validar o recipiente em funcionamento.Use the various request URLs below to validate the container is running. O exemplo de pedido URLs listados abaixo são http://localhost:5000 , mas o seu recipiente específico pode variar.The example request URLs listed below are http://localhost:5000, but your specific container may vary. Tenha em mente que deve confiar no endereço IP externo do seu contentor e na porta exposta.Keep in mind that you're to rely on your container's External IP address and exposed port.

URL do PedidoRequest URL ObjetivoPurpose
http://localhost:5000/ O contentor fornece uma home page.The container provides a home page.
http://localhost:5000/ready Solicitado com GET, isto fornece uma verificação de que o recipiente está pronto para aceitar uma consulta contra o modelo.Requested with GET, this provides a verification that the container is ready to accept a query against the model. Este pedido pode ser utilizado para sondas kubernetes de prontidão e prontidão.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/status Também solicitado com GET, isto verifica se a chave api utilizada para iniciar o contentor é válida sem causar uma consulta de ponto final.Also requested with GET, this verifies if the api-key used to start the container is valid without causing an endpoint query. Este pedido pode ser utilizado para sondas kubernetes de prontidão e prontidão.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger O contentor fornece um conjunto completo de documentação para os pontos finais e uma funcionalidade Experimentar.The container provides a full set of documentation for the endpoints and a Try it out feature. Com esta funcionalidade, pode introduzir as suas definições num formulário HTML baseado na Web e fazer a consulta sem ter de escrever qualquer código.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Após o retorno da consulta, é fornecido um comando CURL de exemplo para demonstrar os cabeçalhos HTTP e o formato corporal que é necessário.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Página inicial do contentor

Parar o contentorStop the container

Para desligar o recipiente, no ambiente da linha de comando onde o recipiente está em funcionamento, selecione Ctrl+C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

Resolução de problemasTroubleshooting

Ao iniciar ou executar o recipiente, poderá sentir problemas.When starting or running the container, you may experience issues. Utilize um suporte de saída e ative o registo.Use an output mount and enable logging. Ao fazê-lo, permitirá que o recipiente gere ficheiros de registo que sejam úteis quando se trata de problemas de resolução de problemas.Doing so will allow the container to generate log files that are helpful when troubleshooting issues.

Dica

Para obter mais informações e orientações sobre resolução de problemas, consulte os recipientes dos Serviços Cognitivos frequentemente questionados (FAQ).For more troubleshooting information and guidance, see Cognitive Services containers frequently asked questions (FAQ).

FaturaçãoBilling

Os recipientes de Discurso enviam informações de faturação para a Azure, utilizando um recurso de Discurso na sua conta Azure.The Speech containers send billing information to Azure, using a Speech resource on your Azure account.

As consultas ao contentor são cobradas no nível de preços do recurso Azure que é usado para ApiKey .Queries to the container are billed at the pricing tier of the Azure resource that's used for the ApiKey.

Os recipientes Azure Cognitive Services não estão licenciados para funcionar sem estarem ligados ao ponto final de medição/faturação.Azure Cognitive Services containers aren't licensed to run without being connected to the metering / billing endpoint. Deve permitir que os recipientes comuniquem sempre informações de faturação com o ponto final de faturação.You must enable the containers to communicate billing information with the billing endpoint at all times. Os contentores dos Serviços Cognitivos não enviam dados dos clientes, como a imagem ou texto que está a ser analisado, para a Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Ligar ao AzureConnect to Azure

O contentor precisa que os valores do argumento da faturação corram.The container needs the billing argument values to run. Estes valores permitem que o recipiente se conecte ao ponto final de faturação.These values allow the container to connect to the billing endpoint. O recipiente relata o uso a cada 10 a 15 minutos.The container reports usage about every 10 to 15 minutes. Se o recipiente não ligar ao Azure dentro da janela de tempo permitida, o recipiente continua a funcionar, mas não serve consultas até que o ponto final de faturação seja restaurado.If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. A ligação é tentada 10 vezes ao mesmo tempo de 10 a 15 minutos.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Se não conseguir ligar-se ao ponto final de faturação dentro dos 10 tentativas, o recipiente deixa de servir os pedidos.If it can't connect to the billing endpoint within the 10 tries, the container stops serving requests.

Argumentos de faturaçãoBilling arguments

docker run O comando iniciará o contentor quando as três opções seguintes forem fornecidas com valores válidos:The docker run command will start the container when all three of the following options are provided with valid values:

OpçãoOption DescriçãoDescription
ApiKey A chave API do recurso Serviços Cognitivos que é usado para rastrear informações de faturação.The API key of the Cognitive Services resource that's used to track billing information.
O valor desta opção deve ser definido como uma chave API para o recurso provisionado especificado em Billing .The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing O ponto final do recurso dos Serviços Cognitivos que é usado para rastrear a informação de faturação.The endpoint of the Cognitive Services resource that's used to track billing information.
O valor desta opção deve ser definido como uri ponto final de um recurso Azure provisionado.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Indica que aceitou a licença para o contentor.Indicates that you accepted the license for the container.
O valor desta opção deve ser definido para ser aceite.The value of this option must be set to accept.

Para obter mais informações sobre estas opções, consulte os recipientes Configure.For more information about these options, see Configure containers.

Publicações no blogueBlog posts

Exemplos de programadorDeveloper samples

As amostras de desenvolvedores estão disponíveis no nosso repositório GitHub.Developer samples are available at our GitHub repository.

Ver webinarView webinar

Junte-se ao webinar para saber:Join the webinar to learn about:

  • Como implantar serviços cognitivos em qualquer máquina que use DockerHow to deploy Cognitive Services to any machine using Docker
  • Como implantar serviços cognitivos na AKSHow to deploy Cognitive Services to AKS

ResumoSummary

Neste artigo, aprendeu conceitos e fluxo de trabalho para descarregar, instalar e executar recipientes de discurso.In this article, you learned concepts and workflow for downloading, installing, and running Speech containers. Em resumo:In summary:

  • A fala fornece quatro recipientes Linux para Docker, encapsulando várias capacidades:Speech provides four Linux containers for Docker, encapsulating various capabilities:
    • Conversão de voz em textoSpeech-to-text
    • Discurso-a-texto personalizadoCustom Speech-to-text
    • Conversão de texto em vozText-to-speech
    • Texto-a-discurso personalizadoCustom Text-to-speech
    • Texto-a-discurso neuralNeural Text-to-speech
    • Deteção de linguagem da falaSpeech Language Detection
  • As imagens do contentor são descarregadas do registo do contentor em Azure.Container images are downloaded from the container registry in Azure.
  • Imagens de contentores correm em Docker.Container images run in Docker.
  • Quer utilize a API REST (texto-a-discurso apenas) ou o SDK (Discurso-a-texto ou Texto-a-fala) especifica o URI do anfitrião do recipiente.Whether using the REST API (Text-to-speech only) or the SDK (Speech-to-text or Text-to-speech) you specify the host URI of the container.
  • É-lhe exigido que forneça informações de faturação ao instantaneamente um contentor.You're required to provide billing information when instantiating a container.

Importante

Os recipientes dos Serviços Cognitivos não estão licenciados para funcionar sem estarem ligados ao Azure para a medição.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Os clientes precisam de permitir que os contentores comuniquem informações de faturação com o serviço de medição em todos os momentos.Customers need to enable the containers to communicate billing information with the metering service at all times. Os recipientes de Serviços Cognitivos não enviam dados do cliente (por exemplo, a imagem ou texto que está a ser analisado) para a Microsoft.Cognitive Services containers do not send customer data (e.g., the image or text that is being analyzed) to Microsoft.

Passos seguintesNext steps