API REST de conversão de texto em vozText-to-speech REST API

O serviço de fala permite que você converta o texto em fala sintetizada e obtenha uma lista de vozes com suporte para uma região usando um conjunto de APIs REST.The Speech service allows you to convert text into synthesized speech and get a list of supported voices for a region using a set of REST APIs. Cada ponto de extremidade disponível é associado a uma região.Each available endpoint is associated with a region. É necessária uma chave de assinatura para o ponto de extremidade/região que você planeja usar.A subscription key for the endpoint/region you plan to use is required.

A API REST de conversão de texto em fala dá suporte à neural e a vozes de conversão de texto em fala padrão, cada uma delas com suporte para um idioma e dialeto específicos, identificados por localidade.The text-to-speech REST API supports neural and standard text-to-speech voices, each of which supports a specific language and dialect, identified by locale.

  • Para obter uma lista completa de vozes, consulte suporte a idiomas.For a complete list of voices, see language support.
  • Para obter informações sobre a disponibilidade regional, consulte regiões.For information about regional availability, see regions.

Importante

Os custos variam para as vozes padrão, personalizada e neural.Costs vary for standard, custom, and neural voices. Para obter mais informações, consulte preços.For more information, see Pricing.

Antes de usar essa API, entenda:Before using this API, understand:

  • A API REST do texto para discurso requer um cabeçalho de autorização.The text-to-speech REST API requires an Authorization header. Isso significa que precisa para concluir uma troca de token para aceder ao serviço.This means that you need to complete a token exchange to access the service. Para obter mais informações, veja Autenticação.For more information, see Authentication.

AuthenticationAuthentication

Cada solicitação requer um cabeçalho de autorização.Each request requires an authorization header. Esta tabela mostra quais cabeçalhos são suportados para cada serviço:This table illustrates which headers are supported for each service:

Cabeçalhos de autorização suportadosSupported authorization headers Conversão de voz em textoSpeech-to-text Conversão de texto em vozText-to-speech
OCP-Apim-Subscription-KeyOcp-Apim-Subscription-Key SimYes NãoNo
Nesse PortadorAuthorization: Bearer SimYes SimYes

Ao utilizar o Ocp-Apim-Subscription-Key cabeçalho, só é necessário para fornecer a chave de subscrição.When using the Ocp-Apim-Subscription-Key header, you're only required to provide your subscription key. Por exemplo:For example:

'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'

Ao utilizar o Authorization: Bearer cabeçalho, for necessário para fazer um pedido para o issueToken ponto final.When using the Authorization: Bearer header, you're required to make a request to the issueToken endpoint. Neste pedido, trocar a chave de subscrição para um token de acesso que é válido durante 10 minutos.In this request, you exchange your subscription key for an access token that's valid for 10 minutes. Nas próximas seções, você aprenderá a obter um token e usará um token.In the next few sections you'll learn how to get a token, and use a token.

Como obter um token de acessoHow to get an access token

Para obter um token de acesso, terá de fazer um pedido para o issueToken ponto final a utilizar o Ocp-Apim-Subscription-Key e a chave de subscrição.To get an access token, you'll need to make a request to the issueToken endpoint using the Ocp-Apim-Subscription-Key and your subscription key.

Essas regiões e pontos de extremidade são suportados:These regions and endpoints are supported:

RegiãoRegion Ponto final de serviço de tokenToken service endpoint
Leste da AustráliaAustralia East https://australiaeast.api.cognitive.microsoft.com/sts/v1.0/issueToken
Canadá CentralCanada Central https://canadacentral.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA CentralCentral US https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Ásia OrientalEast Asia https://eastasia.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA LesteEast US https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA Leste 2East US 2 https://eastus2.api.cognitive.microsoft.com/sts/v1.0/issueToken
França CentralFrance Central https://francecentral.api.cognitive.microsoft.com/sts/v1.0/issueToken
Índia CentralIndia Central https://centralindia.api.cognitive.microsoft.com/sts/v1.0/issueToken
Leste do JapãoJapan East https://japaneast.api.cognitive.microsoft.com/sts/v1.0/issueToken
Coreia do Sul CentralKorea Central https://koreacentral.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA Centro-NorteNorth Central US https://northcentralus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Europa do NorteNorth Europe https://northeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA Centro-SulSouth Central US https://southcentralus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Sudeste AsiáticoSoutheast Asia https://southeastasia.api.cognitive.microsoft.com/sts/v1.0/issueToken
Reino Unido SulUK South https://uksouth.api.cognitive.microsoft.com/sts/v1.0/issueToken
Europa OcidentalWest Europe https://westeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA OesteWest US https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken
EUA Oeste 2West US 2 https://westus2.api.cognitive.microsoft.com/sts/v1.0/issueToken

Utilize estes exemplos para criar o seu pedido de token de acesso.Use these samples to create your access token request.

Exemplo HTTPHTTP sample

Neste exemplo é uma solicitação HTTP simples para obter um token.This example is a simple HTTP request to get a token. Substitua YOUR_SUBSCRIPTION_KEY com a sua chave de subscrição do serviço de voz.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Se a sua subscrição não está na região E.U.A. oeste, substitua o Host cabeçalho com o nome de anfitrião de sua região.If your subscription isn't in the West US region, replace the Host header with your region's host name.

POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: westus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0

O corpo da resposta contém o token de acesso no formato JSON Web token (JWT).The body of the response contains the access token in JSON Web Token (JWT) format.

Exemplo do PowerShellPowerShell sample

Neste exemplo é um script do PowerShell simple para obter um token de acesso.This example is a simple PowerShell script to get an access token. Substitua YOUR_SUBSCRIPTION_KEY com a sua chave de subscrição do serviço de voz.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Certifique-se utilizar o ponto final correto para a região que corresponde à sua subscrição.Make sure to use the correct endpoint for the region that matches your subscription. Neste exemplo está definido para E.U.A. oeste.This example is currently set to West US.

$FetchTokenHeader = @{
  'Content-type'='application/x-www-form-urlencoded';
  'Content-Length'= '0';
  'Ocp-Apim-Subscription-Key' = 'YOUR_SUBSCRIPTION_KEY'
}

$OAuthToken = Invoke-RestMethod -Method POST -Uri https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken
 -Headers $FetchTokenHeader

# show the token received
$OAuthToken

exemplo de cURLcURL sample

cURL é uma ferramenta da linha de comandos disponível no Linux (e no subsistema Windows para Linux).cURL is a command-line tool available in Linux (and in the Windows Subsystem for Linux). Este comando cURL ilustra como obter um token de acesso.This cURL command illustrates how to get an access token. Substitua YOUR_SUBSCRIPTION_KEY com a sua chave de subscrição do serviço de voz.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Certifique-se utilizar o ponto final correto para a região que corresponde à sua subscrição.Make sure to use the correct endpoint for the region that matches your subscription. Neste exemplo está definido para E.U.A. oeste.This example is currently set to West US.

curl -v -X POST
 "https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken" \
 -H "Content-type: application/x-www-form-urlencoded" \
 -H "Content-Length: 0" \
 -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"

Exemplo C#C# sample

Isso C# classe ilustra como obter um token de acesso.This C# class illustrates how to get an access token. Passe a chave de subscrição do serviço de voz ao instanciar a classe.Pass your Speech Service subscription key when you instantiate the class. Se a sua subscrição não está na região E.U.A. oeste, altere o valor de FetchTokenUri de acordo com a região para a sua subscrição.If your subscription isn't in the West US region, change the value of FetchTokenUri to match the region for your subscription.

public class Authentication
{
    public static readonly string FetchTokenUri =
        "https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken";
    private string subscriptionKey;
    private string token;

    public Authentication(string subscriptionKey)
    {
        this.subscriptionKey = subscriptionKey;
        this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
    }

    public string GetAccessToken()
    {
        return this.token;
    }

    private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            UriBuilder uriBuilder = new UriBuilder(fetchUri);

            var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
            Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
            return await result.Content.ReadAsStringAsync();
        }
    }
}

Exemplo de PythonPython sample

# Request module must be installed.
# Run pip install requests if necessary.
import requests

subscription_key = 'REPLACE_WITH_YOUR_KEY'


def get_token(subscription_key):
    fetch_token_url = 'https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken'
    headers = {
        'Ocp-Apim-Subscription-Key': subscription_key
    }
    response = requests.post(fetch_token_url, headers=headers)
    access_token = str(response.text)
    print(access_token)

Como utilizar um token de acessoHow to use an access token

O token de acesso deve ser enviado para o serviço como o Authorization: Bearer <TOKEN> cabeçalho.The access token should be sent to the service as the Authorization: Bearer <TOKEN> header. Cada token de acesso é válido durante 10 minutos.Each access token is valid for 10 minutes. Pode obter um novo token em qualquer altura, no entanto, para minimizar o tráfego de rede e a latência, recomendamos que utilize o mesmo token para nove minutos.You can get a new token at any time, however, to minimize network traffic and latency, we recommend using the same token for nine minutes.

Este é um pedido HTTP de exemplo para a API REST do texto para voz:Here's a sample HTTP request to the text-to-speech REST API:

POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive

// Message body here...

Obter uma lista de vozesGet a list of voices

O ponto de extremidade voices/list permite obter uma lista completa de vozes para uma região/um ponto de extremidade específico.The voices/list endpoint allows you to get a full list of voices for a specific region/endpoint.

Regiões e pontos de extremidadeRegions and endpoints

RegiãoRegion Ponto FinalEndpoint
Leste da AustráliaAustralia East https://australiaeast.tts.speech.microsoft.com/cognitiveservices/voices/list
Sul do BrasilBrazil South https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/voices/list
Canadá CentralCanada Central https://canadacentral.tts.speech.microsoft.com/cognitiveservices/voices/list
Centro dos E.U.A.Central US https://centralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Este AsiáticoEast Asia https://eastasia.tts.speech.microsoft.com/cognitiveservices/voices/list
Este dos E.U.A.East US https://eastus.tts.speech.microsoft.com/cognitiveservices/voices/list
Este dos E.U.A. 2East US 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/voices/list
França CentralFrance Central https://francecentral.tts.speech.microsoft.com/cognitiveservices/voices/list
Índia CentralIndia Central https://centralindia.tts.speech.microsoft.com/cognitiveservices/voices/list
Este do JapãoJapan East https://japaneast.tts.speech.microsoft.com/cognitiveservices/voices/list
Coreia do Sul CentralKorea Central https://koreacentral.tts.speech.microsoft.com/cognitiveservices/voices/list
E.U.A. Centro-NorteNorth Central US https://northcentralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Europa do NorteNorth Europe https://northeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
E.U.A. Centro-SulSouth Central US https://southcentralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Sudeste AsiáticoSoutheast Asia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/voices/list
Sul do Reino UnidoUK South https://uksouth.tts.speech.microsoft.com/cognitiveservices/voices/list
Europa OcidentalWest Europe https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Oeste dos E.U.A.West US https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list
E.U.A. Oeste 2West US 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/voices/list

Cabeçalhos do pedidoRequest headers

Esta tabela lista os cabeçalhos obrigatórios e opcionais para solicitações de conversão de texto em fala.This table lists required and optional headers for text-to-speech requests.

CabeçalhoHeader DescriçãoDescription Obrigatório / opcionalRequired / Optional
Authorization Um token de autorização precedidas pela palavra Bearer.An authorization token preceded by the word Bearer. Para obter mais informações, veja Autenticação.For more information, see Authentication. ObrigatórioRequired

Corpo do pedidoRequest body

Um corpo não é necessário para solicitações de GET para esse ponto de extremidade.A body isn't required for GET requests to this endpoint.

Pedido de exemploSample request

Essa solicitação requer apenas um cabeçalho de autorização.This request only requires an authorization header.

GET /cognitiveservices/voices/list HTTP/1.1

Host: westus.tts.speech.microsoft.com
Authorization: Bearer [Base64 access_token]

Resposta de amostraSample response

Essa resposta foi truncada para ilustrar a estrutura de uma resposta.This response has been truncated to illustrate the structure of a response.

Nota

A disponibilidade de voz varia por região/ponto de extremidade.Voice availability varies by region/endpoint.

[
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ar-EG, Hoda)",
        "ShortName": "ar-EG-Hoda",
        "Gender": "Female",
        "Locale": "ar-EG"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ar-SA, Naayf)",
        "ShortName": "ar-SA-Naayf",
        "Gender": "Male",
        "Locale": "ar-SA"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (bg-BG, Ivan)",
        "ShortName": "bg-BG-Ivan",
        "Gender": "Male",
        "Locale": "bg-BG"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ca-ES, HerenaRUS)",
        "ShortName": "ca-ES-HerenaRUS",
        "Gender": "Female",
        "Locale": "ca-ES"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (cs-CZ, Jakub)",
        "ShortName": "cs-CZ-Jakub",
        "Gender": "Male",
        "Locale": "cs-CZ"
    },

    ...

]

Códigos de estado HTTPHTTP status codes

O código de estado HTTP para cada resposta indica o êxito ou erros comuns.The HTTP status code for each response indicates success or common errors.

Código de estado de HTTPHTTP status code DescriçãoDescription Razão possívelPossible reason
200200 OKOK A solicitação foi bem-sucedida.The request was successful.
400400 Pedido IncorretoBad Request Um parâmetro necessário está em falta, vazios ou nulos.A required parameter is missing, empty, or null. Em alternativa, o valor transmitido como um parâmetro obrigatório ou opcional é inválido.Or, the value passed to either a required or optional parameter is invalid. Um problema comum é um cabeçalho que é demasiado longo.A common issue is a header that is too long.
401401 Não autorizadoUnauthorized O pedido não está autorizado.The request is not authorized. Certifique-se a chave de subscrição ou o token é válido e na região correto.Check to make sure your subscription key or token is valid and in the correct region.
429429 Demasiados PedidosToo Many Requests Excedeu a quota ou a taxa de pedidos permitidos na sua subscrição.You have exceeded the quota or rate of requests allowed for your subscription.
502502 Gateway incorrectoBad Gateway Problema de rede ou do lado do servidor.Network or server-side issue. Também pode indicar a cabeçalhos inválidos.May also indicate invalid headers.

Converter texto em vozConvert text-to-speech

O ponto de extremidade v1 permite que você converta conversão de texto em fala usando a linguagem de marcação de síntese de fala (SSML).The v1 endpoint allows you to convert text-to-speech using Speech Synthesis Markup Language (SSML).

Regiões e pontos de extremidadeRegions and endpoints

Estas regiões são suportadas para voz com a API REST.These regions are supported for text-to-speech using the REST API. Certifique-se de que seleciona o ponto final que corresponde à sua região de subscrição.Make sure that you select the endpoint that matches your subscription region.

Vozes padrão e neuraisStandard and neural voices

Utilize esta tabela para determinar a disponibilidade de vozes padrão e neurais por região/ponto de extremidade:Use this table to determine availability of standard and neural voices by region/endpoint:

RegiãoRegion Ponto FinalEndpoint Vozes padrãoStandard Voices Vozes neuraisNeural Voices
Leste da AustráliaAustralia East https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
Canadá CentralCanada Central https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
EUA CentralCentral US https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
Ásia OrientalEast Asia https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
EUA LesteEast US https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
EUA Leste 2East US 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
França CentralFrance Central https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
Índia CentralIndia Central https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
Leste do JapãoJapan East https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
Coreia do Sul CentralKorea Central https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
EUA Centro-NorteNorth Central US https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
Europa do NorteNorth Europe https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
EUA Centro-SulSouth Central US https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
Sudeste AsiáticoSoutheast Asia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
Reino Unido SulUK South https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
Europa OcidentalWest Europe https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes
EUA OesteWest US https://westus.tts.speech.microsoft.com/cognitiveservices/v1 SimYes NãoNo
EUA Oeste 2West US 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 SimYes SimYes

Vozes personalizadasCustom voices

Se criou um tipo de voz personalizada, utilize o ponto final que criou.If you've created a custom voice font, use the endpoint that you've created. Também pode utilizar os pontos finais listados abaixo, substituindo o {deploymentId} com o ID de implementação para o modelo de voz.You can also use the endpoints listed below, replacing the {deploymentId} with the deployment ID for your voice model.

RegiãoRegion Ponto FinalEndpoint
Leste da AustráliaAustralia East https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Canadá CentralCanada Central https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA CentralCentral US https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Ásia OrientalEast Asia https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA LesteEast US https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA Leste 2East US 2 https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
França CentralFrance Central https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Índia CentralIndia Central https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Leste do JapãoJapan East https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Coreia do Sul CentralKorea Central https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA Centro-NorteNorth Central US https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Europa do NorteNorth Europe https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA Centro-SulSouth Central US https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Sudeste AsiáticoSoutheast Asia https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Reino Unido SulUK South https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Europa OcidentalWest Europe https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA OesteWest US https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
EUA Oeste 2West US 2 https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}

Cabeçalhos do pedidoRequest headers

Esta tabela lista os cabeçalhos obrigatórios e opcionais para solicitações de conversão de texto em fala.This table lists required and optional headers for text-to-speech requests.

CabeçalhoHeader DescriçãoDescription Obrigatório / opcionalRequired / Optional
Authorization Um token de autorização precedidas pela palavra Bearer.An authorization token preceded by the word Bearer. Para obter mais informações, veja Autenticação.For more information, see Authentication. ObrigatórioRequired
Content-Type Especifica o tipo de conteúdo para o texto fornecido.Specifies the content type for the provided text. Aceite o valor: application/ssml+xml.Accepted value: application/ssml+xml. ObrigatórioRequired
X-Microsoft-OutputFormat Especifica o formato de saída de áudio.Specifies the audio output format. Para obter uma lista completa dos valores aceites, consulte saídas áudio.For a complete list of accepted values, see audio outputs. ObrigatórioRequired
User-Agent O nome da aplicação.The application name. O valor fornecido deve ter menos de 255 caracteres.The value provided must be less than 255 characters. ObrigatórioRequired

Saídas de áudioAudio outputs

Esta é uma lista dos formatos de áudio suportados que são enviados em cada pedido como o X-Microsoft-OutputFormat cabeçalho.This is a list of supported audio formats that are sent in each request as the X-Microsoft-OutputFormat header. Cada incorpora uma velocidade de transmissão e o tipo de codificação.Each incorporates a bitrate and encoding type. O serviço de fala dá suporte a saídas de áudio de 24 kHz, 16 kHz e 8 kHz.The Speech service supports 24 kHz, 16 kHz, and 8 kHz audio outputs.

raw-16khz-16bit-mono-pcm raw-8khz-8bit-mono-mulaw
riff-8khz-8bit-mono-alaw riff-8khz-8bit-mono-mulaw
riff-16khz-16bit-mono-pcm audio-16khz-128kbitrate-mono-mp3
audio-16khz-64kbitrate-mono-mp3 audio-16khz-32kbitrate-mono-mp3
raw-24khz-16bit-mono-pcm riff-24khz-16bit-mono-pcm
audio-24khz-160kbitrate-mono-mp3 audio-24khz-96kbitrate-mono-mp3
audio-24khz-48kbitrate-mono-mp3

Nota

Se sua voz selecionado e o formato de saída tiverem taxas de bits diferentes, o áudio é resampled conforme necessário.If your selected voice and output format have different bit rates, the audio is resampled as necessary. No entanto, as vozes de 24 kHz não dão suporte a audio-16khz-16kbps-mono-siren e riff-16khz-16kbps-mono-siren formatos de saída.However, 24 kHz voices do not support audio-16khz-16kbps-mono-siren and riff-16khz-16kbps-mono-siren output formats.

Corpo do pedidoRequest body

O corpo de cada solicitação de POST é enviado como linguagem de marcação de síntese de fala (SSML).The body of each POST request is sent as Speech Synthesis Markup Language (SSML). O SSML permite que você escolha a voz e o idioma da fala sintetizada retornada pelo serviço de conversão de texto em fala.SSML allows you to choose the voice and language of the synthesized speech returned by the text-to-speech service. Para obter uma lista completa de vozes com suporte, consulte suporte a idiomas.For a complete list of supported voices, see language support.

Nota

Se estiver usando uma voz personalizada, o corpo de uma solicitação poderá ser enviado como texto sem formatação (ASCII ou UTF-8).If using a custom voice, the body of a request can be sent as plain text (ASCII or UTF-8).

Pedido de exemploSample request

Este pedido HTTP utiliza SSML para especificar a voz e linguagem.This HTTP request uses SSML to specify the voice and language. O corpo não pode ter mais de 1000 carateres.The body cannot exceed 1,000 characters.

POST /cognitiveservices/v1 HTTP/1.1

X-Microsoft-OutputFormat: raw-16khz-16bit-mono-pcm
Content-Type: application/ssml+xml
Host: westus.tts.speech.microsoft.com
Content-Length: 225
Authorization: Bearer [Base64 access_token]

<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female'
    name='en-US-JessaRUS'>
        Microsoft Speech Service Text-to-Speech API
</voice></speak>

Consulte nossos guias de início rápido para obter exemplos específicos de idioma:See our quickstarts for language-specific examples:

Códigos de estado HTTPHTTP status codes

O código de estado HTTP para cada resposta indica o êxito ou erros comuns.The HTTP status code for each response indicates success or common errors.

Código de estado de HTTPHTTP status code DescriçãoDescription Razão possívelPossible reason
200200 OKOK O pedido foi concluída com êxito; o corpo da resposta é um arquivo de áudio.The request was successful; the response body is an audio file.
400400 Pedido IncorretoBad Request Um parâmetro necessário está em falta, vazios ou nulos.A required parameter is missing, empty, or null. Em alternativa, o valor transmitido como um parâmetro obrigatório ou opcional é inválido.Or, the value passed to either a required or optional parameter is invalid. Um problema comum é um cabeçalho que é demasiado longo.A common issue is a header that is too long.
401401 Não autorizadoUnauthorized O pedido não está autorizado.The request is not authorized. Certifique-se a chave de subscrição ou o token é válido e na região correto.Check to make sure your subscription key or token is valid and in the correct region.
413413 Entidade do pedido demasiado grandeRequest Entity Too Large A entrada SSML é superior a 1024 carateres.The SSML input is longer than 1024 characters.
415415 Tipo de mídia sem suporteUnsupported Media Type É possível que o Content-Type errado seja fornecido.It's possible that the wrong Content-Type was provided. Content-Type deve ser definido como application/ssml+xml.Content-Type should be set to application/ssml+xml.
429429 Demasiados PedidosToo Many Requests Excedeu a quota ou a taxa de pedidos permitidos na sua subscrição.You have exceeded the quota or rate of requests allowed for your subscription.
502502 Gateway incorrectoBad Gateway Problema de rede ou do lado do servidor.Network or server-side issue. Também pode indicar a cabeçalhos inválidos.May also indicate invalid headers.

Se o estado HTTP é 200 OK, o corpo da resposta contém um arquivo de áudio no formato solicitado.If the HTTP status is 200 OK, the body of the response contains an audio file in the requested format. Este ficheiro pode ser reproduzido como tem transferidos, salva num buffer ou guardado num ficheiro.This file can be played as it's transferred, saved to a buffer, or saved to a file.

Passos seguintesNext steps