IBM Cloud Docs
Introdução ao Text to Speech

Introdução ao Text to Speech

O serviço IBM Watson® Text to Speech converte o texto escrito em discurso semelhante ao natural para fornecer recursos de síntese de discurso para aplicativos. Este tutorial baseado em curl pode ajudá-lo a iniciar rapidamente com o serviço. Os exemplos mostram como chamar os métodos POST e GET /v1/synthesize do serviço para solicitar um fluxo de áudio.

O tutorial usa o utilitário de linha de comandos curl para demonstrar chamadas de API REST. Para obter mais informações sobre curl, consulte Usando curl com exemplos Watson.

IBM Cloud Assista ao vídeo a seguir para obter um resumo visual de como começar a usar o serviço Text to Speech.

Antes de Iniciar

IBM Cloud

IBM Cloud

  • Crie uma instância do serviço:

    1. Vá até a página Text to Speech no catálogo IBM Cloud.
    2. Inscreva-se para obter uma conta gratuita do IBM Cloud ou efetue login.
    3. Leia e concorde com os termos do contrato de licença.
    4. Clique em Criar.
  • Copie as credenciais para autenticar sua instância de serviço:

    1. Visualize a página Gerenciar da instância de serviço:

      • Se você estiver na página Introdução para sua instância de serviço, clique na entrada Gerenciar na lista de tópicos.
      • Se você estiver na página Lista de Recursos, expanda o agrupamento AI / Machine Learning na coluna Nome, e clique no nome de sua instância de serviço.
    2. Na página Gerenciar, clique em Mostrar Credenciais na caixa Credenciais.

    3. Copie os valores API Key e URL para a instância de serviço.

Este tutorial usa uma chave API para autenticação. Na produção, use um token IAM. Para obter mais informações veja Autenticando em IBM Cloud.

IBM Cloud Pak for Data

IBM Cloud Pak for Data

O serviço Text to Speech deve ser instalado e configurado antes de iniciar este tutorial. Para obter mais informações, consulte Watson Serviços de fala em Cloud Pak for Data.

  1. Crie uma instância do serviço usando o Web client, a API ou a interface de comandos. Para obter mais informações sobre a criação de uma instância de serviço em IBM Cloud Pak for Data, consulte Criação de uma instância de serviço para os serviços de fala de Watson.
  2. Siga as instruções em Criando uma instância do Watson Speech Services para obter um token de acesso para a instância. Este tutorial usa um token de acesso para autenticar para o serviço.

Sintetizar texto em inglês dos EUA

O comando a seguir usa o método POST /v1/synthesize para sintetizar entrada em inglês dos EUA em áudio. A solicitação usa a voz en-US_MichaelV3Voice. Ele produz áudio no formato WAV.

É possível usar um navegador ou outras ferramentas para reproduzir os arquivos de áudio produzidos pelos exemplos nesse tutorial. Para obter mais informações, consulte Playing um arquivo de áudio.

  1. Emita o comando a seguir para sintetizar a sequência "hello world". A solicitação produz um arquivo WAV que é denominado hello_world.wav.

    IBM Cloud

    • Substitua {apikey} e {url} por sua chave de API e URL.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --header "Accept: audio/wav" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.wav \
    "{url}/v1/synthesize?voice=en-US_MichaelV3Voice"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Substitua {token} e {url} pelo token de acesso e URL de sua instância de serviço.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --header "Accept: audio/wav" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.wav \
    "{url}/v1/synthesize?voice=en-US_MichaelV3Voice"
    

Use um formato de voz e áudio diferente

O comando a seguir usa novamente o método POST /v1/synthesize para sintetizar a mesma entrada em inglês dos EUA para áudio. Mas essa solicitação usa a voz en-US_AllisonV3Voice e solicita explicitamente áudio no formato padrão Ogg.

  1. Emita o comando a seguir para sintetizar a sequência "hello world", mas com uma voz diferente. A solicitação produz um arquivo Ogg que é denominado hello_world.ogg.

    IBM Cloud

    • Substitua {apikey} e {url} por sua chave de API e URL.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.ogg \
    "{url}/v1/synthesize?voice=en-US_AllisonV3Voice"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Substitua {token} e {url} pelo token de acesso e URL de sua instância de serviço.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --header "Accept: audio/wav" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.wav \
    "{url}/v1/synthesize?voice=en-US_AllisonV3Voice"
    

Sintetizar texto em espanhol

O comando a seguir usa o método GET /v1/synthesize para sintetizar uma entrada em espanhol para um arquivo de áudio. O método GET inclui três parâmetros de consulta: accept para especificar o formato de áudio, text para especificar o texto de entrada para o áudio, e voice para especificar uma voz em espanhol. Como accept e text são transmitidos como parâmetros de consulta, a solicitação codificada por URL.

  1. Emita o comando a seguir para sintetizar a sequência "hola mundo" e produzir um arquivo WAV denominado hola_mundo.wav.

    IBM Cloud

    • Substitua {apikey} e {url} por sua chave de API e URL.
    curl -X GET -u "apikey:{apikey}" \
    --output hola_mundo.wav \
    "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Substitua {token} e {url} pelo token de acesso e URL de sua instância de serviço.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --output hola_mundo.wav \
    "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice"
    

Próximas etapas