As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
<prosody amazon:max-duration>
No momento, essa tag é compatível somente com o formato TTS padrão.
Para controlar quanto tempo você deseja que dure uma fala quando ela for sintetizada, use a tag <prosody>
com o atributo amazon:max-duration
.
A duração da fala sintetizada varia levemente, dependendo da voz selecionada. Isso pode dificultar a correspondência da fala sintetizada com recursos visuais ou outras atividades que exigem uma sincronização precisa. Esse problema é ampliado em aplicativos de tradução, pois o tempo usado para dizer certas frases pode variar amplamente entre diferentes idiomas.
A tag <prosody amazon:max-duration>
corresponde a fala sintetizada à quantidade de tempo que você deseja que ela leve (a duração).
Essa tag usa a seguinte sintaxe:
<prosody amazon:max-duration="time duration
">
Com a tag <prosody amazon:max-duration>
, é possível especificar a duração em segundos ou milissegundos:
-
: a duração máxima em segundosn
s -
: a duração máxima em milissegundosn
ms
Por exemplo, o seguinte texto falado tem uma duração máxima de 2 segundos:
<speak>
<prosody amazon:max-duration="2s">
Human speech is a powerful way to communicate.
</prosody>
</speak>
Texto colocado dentro da tag não excede a duração especificada. Se a voz ou o idioma escolhido normalmente levam mais tempo do que aquela duração, o Amazon Polly acelera a fala para que ela se encaixe na duração especificada.
Se a duração especificada leva mais tempo do que o necessário para ler o texto em uma velocidade normal, o Amazon Polly lê a fala normalmente. Ele não diminui a velocidade da fala ou adiciona silêncio, portanto o áudio resultante fica mais curto do que o solicitado.
nota
O Amazon Polly aumenta a velocidade não mais do que cinco vezes a velocidade normal. Se o texto for falado mais rápido do que isso, normalmente não fará sentido. Se uma fala não couber na duração especificada, mesmo quando acelerada ao máximo, o áudio será acelerado mas durará mais do que a duração especificada.
É possível incluir uma única frase ou várias frases em uma tag <prosody amazon:max-duration>
, e também é possível usar várias tags <prosody amazon:max-duration>
em seu texto.
Por exemplo:
<speak>
<prosody amazon:max-duration="2400ms">
Human speech is a powerful way to communicate.
</prosody>
<break strength="strong"/>
<prosody amazon:max-duration="5100ms">
Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo.
</prosody>
<break strength="strong"/>
<prosody amazon:max-duration="8900ms">
We naturally understand this information, which is why speech is ideal for creating applications where
a screen isn’t practical or possible, or simply isn’t convenient.
</prosody>
</speak>
Usar a tag <prosody amazon:max-duration>
pode aumentar a latência quando o Amazon Polly retornar a fala sintetizada. O grau de latência depende da passagem e da duração. Recomendamos usar um texto composto de passagens relativamente curtas.
Limitações
Há limitações em como você usa a tag <prosody
amazon:max-duration>
e em como ela funciona com outras tags SSML:
-
O texto dentro de uma tag
<prosody amazon:max-duration>
não pode ter mais de 1500 caracteres. -
Não é possível aninhar tags
<prosody amazon:max-duration>
. Se você colocar uma tag<prosody amazon:max-duration>
dentro de outra, o Amazon Polly ignorará a tag interna.No seguinte exemplo, a tag
<prosody amazon:max-duration="5s">
é ignorada:<speak> <prosody amazon:max-duration="16s"> Human speech is a powerful way to communicate. <prosody amazon:max-duration="5s"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>
-
Não é possível usar as tags
<prosody>
com o atributorate
dentro de uma tag<prosody amazon:max-duration>
. Isso ocorre porque as duas afetam a velocidade de fala do texto.No seguinte exemplo, o Amazon Polly ignora a tag
<prosody rate="2">
:<speak> <prosody amazon:max-duration="7500ms"> Human speech is a powerful way to communicate. <prosody rate="2"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </prosody> </speak>
Pausas e max-duration
Ao usar a tag max-duration
, você ainda poderá inserir pausas dentro do texto. No entanto, o Amazon Polly inclui a duração da pausa ao calcular a duração máxima da fala. Além disso, o Amazon Polly preserva as pausas breves que ocorrem onde vírgulas e pontos são colocados em uma passagem e inclui na duração máxima.
Por exemplo, no seguinte bloco, a pausa de 600 milissegundos e as pausas causadas pelas vírgulas e pontos ocorrem dentro da fala de 8 segundos:
<speak>
<prosody amazon:max-duration="8s">
Human speech is a powerful way to communicate.
<break time="600ms"/>
Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo.
</prosody>
</speak>