Entendendo a customização
Ao sintetizar um texto com o IBM Watson® Text to Speech, o serviço aplica as regras de pronúncia dependentes do idioma. O serviço aplica as regras para converter a ortografia comum (ortográfica) de cada palavra em uma ortografia fonética. A ortografia fonética de uma palavra usa símbolos fonéticos para definir como ela será pronunciada. Esses símbolos são as unidades de som distintas que distinguem as palavras em uma língua, os limites entre sílabas, e as marcas de estresse para as sílabas.
As regras de pronúncia regular do serviço funcionam bem para palavras comuns. No entanto, podem produzir resultados imperfeitos para palavras incomuns. Tais palavras incluem termos específicos de domínio, palavras com origens estrangeiras, nomes pessoais ou geográficos e abreviações ou siglas. Se o léxico do seu aplicativo incluir tais palavras, será possível usar a interface de customização para especificar como o serviço as pronuncia.
Status e suporte
As informações de status e suporte a seguir se aplicam à customização:
- A customização está disponível para todos os idiomas.
- IBM Cloud Você deve ter o plano de preços Standard ou Premium para usar a personalização. Os usuários do plano Lite não podem usar a interface de customização. Para obter mais informações, consulte o serviço Text to Speech no IBM Cloud® Catálogo.
- IBM Cloud Os clientes Premium podem trabalhar com o IBM para treinar uma nova voz personalizada para suas necessidades específicas de aplicativos. Para solicitar uma voz personalizada ou para obter mais informações, preencha e envie este IBM Formulário de solicitação.
Como Funciona a Customização
A interface de customização do serviço Text to Speech cria um dicionário de palavras e suas traduções para um idioma específico. Esse dicionário é chamado de modelo customizado. Cada entrada customizada em um modelo customizado consiste em um par palavra/tradução. A tradução de uma palavra diz ao serviço como pronunciá-la quando ela ocorrer no texto de entrada.
A interface de customização fornece métodos para criar e gerenciar seus modelos customizados, que o serviço armazena permanentemente. Depois de criar um modelo customizado, é possível usá-lo durante a síntese com qualquer versão do método /v1/synthesize.
Quando o serviço sintetiza o texto de entrada, determina a pronúncia de palavras que aparecem no modelo customizado aplicando suas traduções, direta ou indiretamente. Como você cria um modelo customizado para um idioma específico, um modelo
customizado pode ser usado com qualquer voz que esteja disponível nesse idioma.
Você especifica a tradução para uma palavra em um modelo customizado como uma tradução de pronúncia ou uma tradução fonética. É possível usar ambos os métodos para entradas no mesmo modelo customizado e combinar os dois dentro da mesma tradução. Diversas regras e diretrizes se aplicam às entradas customizadas. Para obter mais informações, consulte Regras para criar entradas customizadas.
Tradução semelhante
A tradução semelhante usa as regras de pronúncia regular do serviço para representar a pronúncia de uma palavra de destino indiretamente. Uma tradução de sons semelhantes é formada a partir das pronúncias regulares de uma ou mais outras palavras. Primeiro, o serviço substitui a tradução especificada para qualquer ocorrência da palavra que apareça no texto de entrada. Em seguida, aplica suas regras de pronúncia regular à tradução, convertendo-a para sua representação fonética para obter a pronúncia.
Por exemplo, as regras de pronúncia regular do serviço traduzem corretamente muitas abreviações e acrônimos comuns. O serviço pronuncia a abreviação cm como centímetro. Ele pronuncia abreviações menos comuns letra por letra. Por exemplo, o serviço pronuncia a sequência Str (uma abreviação para street) como S T R, com cada letra pronunciada individualmente. É possível usar o método de semelhança para especificar a tradução street para a sequência Str.
Outro exemplo de acrônimo é a palavra IEEE, que representa o Institute of Electrical and Electronic Engineers. Por padrão, o serviço pronuncia este acrônimo como I E E E. Mas o acrônimo é comumente pronunciado I triple E, o que pode ser facilmente definido usando a tradução simples dos sons I triple E. Se a palavra IEEE aparecer em seu modelo customizado com esta tradução, o serviço substituirá cada ocorrência da palavra pela tradução. Em seguida, ele aplicará suas regras de pronúncia regular para as palavras individuais I, triple e E para produzir a pronúncia comum.
É possível aplicar o método de semelhança a mais do que abreviações e acrônimos. Ele funciona igualmente bem para palavras complexas ou incomuns. Por exemplo, o par de traduções semelhantes a seguir resulta em pronúncias corretas para palavras incomuns manipuladas de forma imperfeita pelas regras de pronúncia regular do serviço. Localizar traduções adequadas para essas palavras pode ser mais desafiador do que para abreviações simples. Os exemplos a seguir utilizam as regras de pronúncia regular para alterar a ortografia das palavras para tradução:
- Palavra:
ayurvedic, Tradução:aayervedic - Palavra:
gastroenteritis, Tradução:gastro enteritis
Como estes exemplos mostram, o desenvolvimento de traduções pode ser mais trial e erro do que formulaic. Você cria uma tradução candidata com base em sua intuição e experiência com o serviço. Em seguida, sintetiza a palavra para a tradução candidata como texto de entrada e escuta o áudio resultante. Se estiver satisfeito com a pronúncia, será possível usar a tradução em seu modelo customizado, caso contrário, modifique a tradução e teste-a novamente.
Tradução fonética
O método de semelhança é uma maneira relativamente simples e útil de obter uma pronúncia. No entanto, nem sempre é possível desenvolver traduções semelhantes. A alternativa direta, o método fonético, pode parecer mais complicada e demorada, mas pode alcançar a pronúncia de qualquer palavra.
A tradução fonética especifica uma pronúncia em termos de símbolos de fonema, marcas de acento silábico e limites silábicos opcionais que substituem as regras de pronúncia regular do serviço. Você especifica uma tradução fonética em um dos formatos a seguir:
- A representação padrão do Alfabeto Fonético Internacional (IPA)
- O IBM Symbolic Phonetic Representation (SPR) proprietário
Em qualquer caso, você especifica uma tradução usando um formato de fonema específico baseado no Speech Synthesis Markup Language (SSML). O SSML é uma linguagem de marcações baseada em XML que fornece anotações de texto para aplicativos de síntese
de discurso. Você especifica a tradução fonética para uma palavra usando o elemento SSML <phoneme> :
<phoneme alphabet="{ipa | ibm}" ph="{translation}"></phoneme>
O atributo alphabetespecifica o tipo de representação phonetic: ipaou ibm. O atributo ph especifica a sequência de tradução fonética.
Por exemplo, considere a palavra trinitroglycerin. As regras de pronúncia regular do serviço produzem uma pronúncia que difere da que é comumente usada por químicos e médicos. A pronúncia correta pode ser alcançada com uma tradução
fonética:
- IPA:
tɹaɪnˈaɪtɹəglɪsəɹɨn - SPR:
trYn1YtrxglIsxrXn
Nesses exemplos, a sequência de tradução fonética é composta de símbolos de fonema e de uma única marca de acento primário. A marca de ênfase primária é representada por ˈ no IPA e por 1 no SPR. Ela é colocada antes
do símbolo para a vogal acentuada em ambos os casos. Embora os exemplos não mostrem isso, também é possível especificar limites silábicos e posições de acento secundário em uma tradução fonética. Esses elementos não são exigidos e normalmente
não são necessários para obter uma pronúncia. Como com traduções semelhantes, é possível compor uma tradução fonética de diversas sequências delimitadas por espaços.
Também é possível especificar traduções do IPA como valores Unicode do IPA. Para obter mais informações, consulte Entendendo os símbolos fonéticos e as tabelas específicas do idioma nas páginas que são referidas a partir de Símbolos fonéticos para idiomas suportados. Para obter uma tradução de exemplo que usa valores Unicode do IPA, consulte O elemento phoneme.
Trabalhando com uma tradução fonética existente
A menos que você seja um especialista em fonologia, compor traduções fonéticas não será uma tarefa fácil. É sempre mais fácil editar uma tradução fonética existente do que compor uma nova. Para ajudá-lo a criar traduções fonéticas, a API do
serviço inclui um método GET /v1/pronunciation. Ele retorna a representação do IPA ou do SPR gerada pelas regras de pronúncia regular do serviço para uma palavra em um idioma especificado. Também é possível solicitar a pronúncia
para uma palavra por meio de um modelo customizado especificado para ver a tradução no idioma desse modelo.
É possível usar o método /GET v/1/pronunciation para obter uma tradução fonética inicial para uma palavra. Em seguida, é possível modificar a tradução para obter a pronúncia desejada. Como com o método de semelhança, você segue
um processo de tentativa e erro. Você envia sua tradução candidata para o serviço, sintetiza a palavra como texto de entrada, escuta o áudio resultante e edita a tradução candidata. É possível repetir o processo até que você esteja satisfeito
com a pronúncia.
Para obter mais informações, consulte Consultando uma palavra de um idioma.
Mais informações sobre a tradução fonética
Os recursos a seguir fornecem informações sobre a tradução fonética:
- Para obter mais informações sobre o uso do SSML e seu elemento
<phoneme>, consulte Entendendo SSML. - Para obter mais informações sobre especificação de símbolos e traduções de SPR e IPA, consulte Entendendo símbolos fonéticos.
Tradução combinada dos métodos de semelhança e fonético
É possível combinar os métodos de semelhança e fonético na mesma tradução. Esse recurso pode reduzir o trabalho envolvido na composição de uma tradução.
Por exemplo, suponha que você usou o método de semelhança para obter parte de uma palavra pronunciada satisfatoriamente. Mas agora, você precisa ajustar os elementos restantes da palavra. É possível usar o método fonético para especificar seus
aspectos difíceis. O exemplo a seguir aplica a tradução combinada para a palavra trinitroglycerin:
try<phoneme alphabet="ipa" ph="nˈaɪtɹəglɪsəɹɨn"></phoneme>