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.