本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
<prosody amazon:max-duration>
目前只有標準 TTS 格式支援此標籤。
若要控制語音合成時的持續時間長度,請使用 <prosody>
標籤搭配 amazon:max-duration
屬性。
取決於您所選擇的語音,合成語音的持續時間長度會稍有不同。因此,如果要將合成的語音,對應到視覺效果或需要精準對時的其他活動,可能會有點困難。對翻譯應用程式而言,這項問題會更嚴重,因為不同語言說出特定詞組所需的時間,可能會有很大的差異。
<prosody amazon:max-duration>
標籤會將合成語音對應到您所要的持續時間長度。
此標籤使用以下語法:
<prosody amazon:max-duration="time duration
">
使用 <prosody amazon:max-duration>
標籤,您可以指定持續時間長度 (秒或毫秒):
-
:持續時間長度上限 (以秒為單位)n
s -
:持續時間長度上限 (以毫秒為單位)n
ms
例如,下列口說文字的時間長度上限為 2 秒:
<speak>
<prosody amazon:max-duration="2s">
Human speech is a powerful way to communicate.
</prosody>
</speak>
放置在標籤內的文字,不會超過指定的持續時間長度。如果選擇的語音或語言通常需要超過該持續時間,Amazon Polly 會加快語音速度,使其符合指定的持續時間。
如果指定的持續時間比以正常速率讀取文字更長,Amazon Polly 會正常讀取語音。&POL; 不會減慢語音的速度或加入靜音,因此產生的音訊會比所請求的短。
注意
Amazon Polly 增加的速度不會超過正常速率的 5 倍。如果用超過這個標準的速度來說出文字,通常會聽不清楚。如果即使加快到最高速度,也無法符合您指定的持續時間長度時,會將音訊的速度加快,但持續時間將會超過指定的長度。
您可以在 <prosody amazon:max-duration>
標籤中包含單一句子或多個句子,也可以在文字內容中使用多個 <prosody amazon:max-duration>
。
例如:
<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>
當 Amazon Polly 傳回合成語音時,使用 <prosody amazon:max-duration>
標籤可能會增加延遲。延遲的程度取決於文字內容及其長度。我們建議所使用的文字內容,最好包含相對較短的文字段落。
限制
使用 <prosody
amazon:max-duration>
標籤的方式和此標籤搭配其他 SSML 標籤運作的方式,皆受到限制:
-
<prosody amazon:max-duration>
標籤內所包含的文字,其長度不能超過 1500 個字元。 -
您不能嵌套
<prosody amazon:max-duration>
標籤。如果您將一個<prosody amazon:max-duration>
標籤放入另一個標籤,Amazon Polly 會忽略內部標籤。例如,在下列的範例內容中,
<prosody amazon:max-duration="5s">
標籤會被忽略:<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>
-
您不能在使用
<prosody>
標籤搭配rate
標籤中的<prosody amazon:max-duration>
屬性。因為這兩者都會影響到口語文字的速度。在下列範例中,Amazon Polly 會忽略
<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>
停頓和 max-duration
使用 max-duration
標籤時,您仍然可以在文字內容中插入停頓。不過,Amazon Polly 會在計算語音持續時間上限時包含暫停的長度。此外,Amazon Polly 會保留短停頓,其中逗號和句點放置在段落中,並包含在最長持續時間中。
例如,在下列的段落中,8 秒的語音包含了 600 毫秒的停頓,以及逗號和句點所造成的停頓。
<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>