Entendendo o Ajuste por meio de exemplo
O recurso Ajustar por meio de exemplo é uma funcionalidade beta que é suportada apenas para modelos e vozes customizadas em inglês dos EUA.
O recurso Ajuste por meio de exemplo permite que você controle exatamente como o texto especificado é falado pelo serviço. O recurso permite ditar a entonação, a ênfase, o andamento, a cadência, o ritmo e as pausas do texto sintetizado. Esses aspectos do discurso são coletivamente referidos como prosódia.
Você cria um prompt customizado fornecendo uma gravação de amostra que fala o texto como você quer ouvir, e o serviço duplica as qualidades do discurso gravado com suas vozes. O prompt falado pode enfatizar diferentes sílabas ou palavras, introduzir pausas e, geralmente, tornar o som de áudio sintetizado mais natural e apropriado para o contexto no qual o prompt é utilizado.
O recurso fornece um mecanismo mais simples que o SSML padrão para modificar como o discurso é sintetizado. Por exemplo, usar atributos do elemento SSML <prosody>
pode ser difícil. Ajustar por meio de exemplo elimina a necessidade
de tal SSML deixando-o gravar texto como deseja que ele seja falado pelo serviço em vez de exigir que você emule a prosódia pretendida com elementos e atributos SSML.
É possível aprimorar ainda mais a qualidade de um prompt criando um modelo de falante opcional que contém informações sobre a voz de um falante. Você cria um modelo de falante, fornecendo uma amostra de áudio da voz de um usuário. O serviço extrai informações do áudio da amostra para treinar sobre a voz, o que pode ajudá-lo a produzir prompts de qualidade superior para esse falante.
Para obter uma visão geral do recurso Tune by Example, incluindo uma demonstração com scripts de exemplo, consulte o blog Tune by Example: Como ajustar Watson Text to Speech para obter melhores entonações.
Status e suporte
As informações de status e suporte a seguir se aplicam ao Ajustar por meio de exemplo:
- Ajuste por meio de exemplo é uma funcionalidade beta que está disponível apenas para o inglês dos EUA. É possível incluir prompts apenas em modelos customizados cujo idioma é
en-US
. É possível usar um prompt customizado apenas com vozes em inglês dos EUA. - Modelos customizados, prompts customizados e modelos de falante são de propriedade da instância do serviço cujas credenciais são usadas para criá-las. Solicitação de registro de log e privacidade de dados são suportados para todos os componentes de customização. Para obter mais informações sobre esses tópicos, consulte Notas de uso para customização.
- IBM Cloud Você deve ter o plano de preços Standard ou Premium para usar o Tune by Example. O recurso faz parte da customização, que se restringe a esses planos. Para obter mais informações, consulte o serviço Text to Speech no IBM Cloud® Catálogo.
Como Ajustar por meio de exemplo funciona
Durante o teste de um aplicativo, talvez você considere que o serviço não sintetiza adequadamente alguns aspectos do seu texto. Em alguns casos, por exemplo, você pode querer mudar aspectos específicos do áudio, como quais palavras são enfatizadas e a localização ou duração de pausas. Em outros casos, você pode querer mudar aspectos mais sutis da síntese. Por exemplo, você pode sentir que o áudio sintetizado soa robótico, não natural, ou que o tom é insatisfatório. Estes são os tipos de problemas que Ajustar por meio de exemplo pode abordar.
Para utilizar o recurso Ajustar por meio de exemplo, você registra um usuário que lê o seu texto como gostaria de ouvi-lo falado por uma das vozes do serviço. Em seguida, inclua seu texto e áudio em um modelo customizado na forma de um prompt
customizado. O serviço aprende a prosódia preferida do texto por meio da amostra de áudio. Quando você inclui o prompt em uma solicitação de síntese de discurso usando a extensão SSML <ibm:prompt id="{prompt_id}"/>
,
a voz que fala o texto do prompt emula a prosódia do prompt.
É possível criar um modelo de falante opcional mas recomendado para um usuário que registra prompts falados. Você então associa o modelo de falante a prompts que são falados por esse usuário. A adição de um modelo de falante pode fazer uma diferença apreciável na qualidade de um prompt sintetizado. Por exemplo, o serviço pode produzir prompts curtos com mais confiança se souber a entonação regular do falante. Como a falta de um falante definido pode potencialmente comprometer a qualidade de um prompt, você é fortemente encorajado a associar um modelo de falante a cada prompt customizado.
Como os prompts customizados são incluídos em modelos customizados, deve-se especificar um modelo customizado do prompt com uma solicitação de síntese de discurso para usar esse prompt. Os modelos de falante, no entanto, são independentes de modelos customizados. A relação de modelos de falantes para ambos os modelos customizados e prompts customizados é de um para muitos. O mesmo modelo de falante pode ser associado a vários prompts definidos em diferentes modelos customizados. Além disso, você não especifica um modelo de falante com um solicitação de síntese.
Ajustar por meio de exemplo e pronúncia de palavras
As regras de pronúncia e tokenização padrão do serviço podem fazer com que uma palavra incomum que ocorre em um prompt seja pronunciada de forma insatisfatória. No entanto, Ajustar por meio de exemplo não é destinado a mudar a pronúncia de uma palavra. Por exemplo, o serviço pronuncia a palavra "catastrófico" como se espera ouvi-la. É possível usar Ajustar por meio de exemplo para mudar quais sílabas da palavra são enfatizadas (por exemplo, "cataSTROPHic") ou o andamento da palavra (por exemplo "cat-a-strophic"). Mas não é possível usar Ajustar por meio de exemplo para mudar a pronúncia padrão da palavra.
Para mudar como uma palavra é pronunciada, usa-se a interface de customização do serviço para definir uma pronúncia alternativa para a palavra. Você inclui uma palavra customizada com a pronúncia alterada no mesmo modelo customizado do prompt. O serviço então aplica a pronúncia da palavra customizada quando ela ocorre em um prompt. Para obter mais informações, consulte Entendendo a customização.
Se você incluir ou modificar uma palavra personalizada que faz parte de um prompt existente, o serviço continuará a honrar a pronúncia da palavra que foi estabelecida quando o prompt foi criado. Isso ocorre porque o serviço cria um prompt em um ponto no tempo, e ele emprega as regras de pronúncia que estão em vigor naquele momento. Você precisa recriar um prompt para tirar proveito de uma palavra customizada nova ou atualizada.
Quando você recriar um prompt, o serviço substitui o prompt existente. O novo prompt reflete quaisquer alterações no texto ou no áudio do prompt juntamente com quaisquer pronúncias de palavras customizadas definidas desde que o prompt foi criado pela primeira vez. Você sempre poderá passar o mesmo texto e áudio que usou para criar o prompt original se você estiver gravando novamente o prompt após incluir uma palavra customizada.
Prompts customizados
Um prompt customizado é definido por texto e áudio que fala o texto com a prosódia que você quer que as vozes do serviço dupliquem. O serviço extrai e analisa a prosódia por meio do áudio do prompt. Em seguida, ele aplica essas informações prosódicas quando fala o texto do prompt com uma de suas próprias vozes.
É importante entender que quando se usa um prompt durante a síntese de discurso, o serviço não utiliza o áudio do próprio prompt. Em vez disso, usa a voz que você especifica com o solicitação de síntese. Essa voz adota a prosódia do áudio falado por meio do prompt.
Ao incluir um prompt em um modelo customizado, você define o prompt fornecendo o texto que deve ser falado, o áudio gravado para esse texto, um identificador exclusivo especificado pelo usuário para o prompt, e um modelo de falante opcional. O serviço gera e armazena dados prosódicos para o prompt e usa os dados para produzir áudio sintetizado mediante solicitação. Deve-se usar credenciais para a instância do serviço que possui um modelo customizado para incluir um prompt nele.
Sempre atribua um nome significativo como o valor de um ID de prompt. Por exemplo, use um nome como goodbye
para indicar um prompt que fale uma mensagem padrão de despedida. Os IDs de prompt devem ser exclusivos dentro de um determinado
modelo customizado, portanto, não é possível definir dois prompts com o mesmo ID para o mesmo modelo. Se você fornecer o ID de um prompt existente, o prompt transferido por upload anteriormente será substituído pelas novas informações. O serviço
reprocessa o prompt existente usando o novo texto e o áudio e atualiza os dados prosódicos que estão associados ao prompt.
Quando processa uma solicitação para incluir um prompt, o serviço tenta alinhar o texto e o áudio que são fornecidos para o prompt. O texto que é passado com um prompt deve corresponder ao áudio falado o mais próximo possível. Idealmente, texto e áudio correspondem exatamente. O serviço faz o seu melhor para alinhar o texto especificado com o áudio, e muitas vezes pode compensar inconsistências entre os dois. Mas se o serviço não conseguir alinhar efetivamente o texto e o áudio porque a magnitude das diferenças entre os dois é muito grande, o processamento do prompt falhará.
Os prompts são suportados para uso apenas com modelos e vozes customizados em inglês dos EUA. A qualidade de um prompt será indefinida se o idioma de um prompt não corresponder ao idioma de seu modelo customizado. Isso é consistente com qualquer texto que seja especificado para um solicitação de síntese de discurso. O serviço faz uma tentativa de melhor esforço para renderizar o texto especificado para o prompt. Ele não valida que o idioma do texto corresponde ao idioma do modelo.
Modelos de falante
Um modelo de falante é definido por uma amostra de áudio da voz de um usuário da qual o serviço extrai informações para treinar sobre essas características da voz. Quando o modelo de falante é associado a um prompt customizado que é falado pelo mesmo usuário, o serviço aproveita sua compreensão da voz do falante para identificar como a prosódia do prompt se compara aos padrões de fala normais do falante. O modelo de falante serve como uma referência para distinguir os recursos prosódicos no áudio do prompt.
Ao criar um modelo de falante, você fornece áudio de registro e um nome para o modelo que é exclusivo dentro do contexto da instância de serviço proprietária:
- O áudio cadastrado deve incluir discurso que é falado pelo usuário que está associado ao modelo. O serviço extrai informações sobre a voz do falante por meio da amostra de áudio que você fornece.
- O nome fornece um identificador legível para o modelo. O serviço retorna um ID do falante, que é um Identificador Exclusivo Global (GUID) (por exemplo,
823068b2-ed4e-11ea-b6e0-7b6456aa95cc
) que você usa para identificar o falante em solicitações subsequentes ao serviço.
O serviço usa as informações que ele extrai do áudio para treinar o tom, a cadência e a entonação do falante. Essas informações podem fazer uma diferença significativa na qualidade de prompts que estão associados ao modelo, especialmente os prompts curtos com relativamente pouco áudio.
Você cria um modelo de falante para uma determinada instância do serviço. Um modelo de falante único pode ser associado a vários prompts definidos para diversos modelos customizados dentro dessa instância de serviço. O gênero do falante que cria um modelo de falante não precisa corresponder ao gênero de uma voz que é usada com prompts que estão associados a esse modelo de falante. Por exemplo, um modelo de falante que é criado por um falante masculino pode ser associado a prompts que são falados por vozes femininas.