IBM Cloud Docs
Uso de uma voz para síntese de fala

Uso de uma voz para síntese de fala

Ambos os métodos HTTP POST e GET /v1/synthesize, bem como o método WebSocket /v1/synthesize, aceitam um parâmetro de consulta opcional voice. O parâmetro voice é usado para indicar a voz e o idioma a serem usados na síntese de fala. O serviço baseia sua compreensão do idioma do texto de entrada no idioma da voz especificada.

Certifique-se de especificar uma voz que corresponda ao idioma do texto de entrada. Por exemplo, se você especificar a voz em francês fr-FR_ReneeV3Voice, o serviço esperará receber um texto de entrada gravado em francês. Ao transmitir um texto que não está escrito no idioma da voz (por exemplo, texto em inglês para a voz francesa), o serviço poderá não produzir resultados significativos.

Especifique um exemplo de voz

A seguinte solicitação de HTTP POST usa a voz en-US_AllisonV3Voice para a síntese de discurso:

IBM Cloud

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_AllisonV3Voice"

IBM Cloud Pak for Data IBM Software Hub

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"

O exemplo a seguir mostra uma solicitação HTTP GET equivalente para a síntese de discurso:

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
--output hello_world.wav \
"{url}/v1/synthesize?accept=audio%2Fwav&text=hello%20world&voice=en-US_AllisonV3Voice"

IBM Cloud Pak for Data IBM Software Hub

curl -X POST \
--header "Authorization: Bearer {token}" \
--output hello_world.wav \
"{url}/v1/synthesize?accept=audio%2Fwav&text=hello%20world&voice=en-US_AllisonV3Voice"

Usando a voz padrão

Se você omitir o parâmetro voice de uma solicitação, o serviço usará o inglês dos EUA en-US_MichaelV3Voice por padrão. Esse padrão se aplica a todas as solicitações de síntese de discurso e ao método GET /v1/pronunciation.

IBM Cloud Pak for DataIBM Software Hub Se você não instalar o en-US_MichaelV3Voice, ele não poderá ser usado como voz padrão. Neste caso, deve-se

  • Use o parâmetro voice para passar a voz que deve ser usada com cada solicitação.
  • Especificar uma nova voz padrão para a sua instalação do Text to Speech for IBM Cloud Pak for Data usando a propriedade defaultTTSVoice no recurso customizado dos serviços do Speech. Para obter mais informações, consulte Instalando Watson Text to Speech.

Síntese de fala multilíngue

No momento, o serviço não oferece suporte à síntese de fala multilíngue. Toda a síntese é baseada no idioma da voz especificado pelo parâmetro voice. Dependendo do idioma e da palavra em questão, talvez seja possível usar a personalização para aproximar a pronúncia de uma palavra em um idioma diferente da voz da solicitação. Para obter mais informações, consulte Criando um modelo customizado.

Se você decidir usar a personalização para emular a pronúncia em um idioma diferente, use o método HTTP GET /v1/pronunciation para ver a pronúncia da palavra no outro idioma. O método retorna os fonemas que o serviço usa para pronunciar a palavra nesse idioma. Para obter mais informações, consulte Tradução fonética.

Você pode ajustar os fonemas que o método retorna para que correspondam o mais próximo possível dos fonemas disponíveis em seu idioma. Em seguida, você pode criar um modelo personalizado que inclua uma palavra personalizada com essa tradução e usar esse modelo com sua solicitação de síntese. Como dois idiomas diferentes podem não suportar os mesmos fonemas, talvez não seja possível combinar exatamente os sons e a pronúncia de um idioma com os símbolos fonéticos de outro idioma.

O elemento Speech Synthesis Markup Language (SSML) <speak> inclui um elemento xml:lang, mas esse elemento se aplica a toda a solicitação, e o serviço não suporta seu uso como forma de especificar um idioma diferente para a síntese de fala.