本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
<say-as>
生成式、长格式、神经和标准 TTS 引擎支持该<say-as>
标签。但是请注意,如果 Amazon Polly 使用神经语音并在运行时遇到带有该characters
选项的<say-as>
标签,则将使用相关的标准语音合成受影响的句子。但是,受影响的句子仍然会按照使用神经语音的情况收费。
使用具有 interpret-as
属性的 <say-as>
标签,告知 Amazon Polly 如何朗读某些字符、词语和数字。这可让您提供更多上下文,以消除 Amazon Polly 呈现文本方法中的任何歧义。
<say-as>
标签使用一个属性 interpret-as
,该属性使用若干可能可用的值。每个属性使用相同的语法:
<say-as interpret-as="value
">[text to be interpreted
]</say-as>
interpret-as
具有以下可用值:
-
characters
或spell-out
:拼出文本中的每个字母,如所示。 a-b-c注意
目前,神经语音不支持此选项。如果您使用神经语音,并且 Amazon Polly 在运行时遇到此 SSML 代码,则将使用相关的标准语音合成受影响的句子。但请注意,这句话仍然会按照使用神经语音的情况收费。
-
cardinal
或number
:将数字文本解释为基数,如 1,234。 -
ordinal
:将数字文本解释为序数,如第 1,234。 -
digits
:单独拼读每个数字,如 1-2-3-4。 -
fraction
:将数字文本解释为分数。这可用于真分数(如 3/20)和带分数(如 2 ½)。有关更多信息,请参阅下文。 -
unit
:将数字文本解释为度量单位。该值应是后跟一个单位的数字或分数,且中间没有空格(如1/2inch
),或者只后跟一个单位(如1meter
)。 -
date
:将文本解释为日期。必须使用格式属性指定日期格式。有关更多信息,请参阅下文。 -
time
:将数字文本解释为由分和秒组成的持续时间,例如1'21"
。 -
address
:将文本解释为街道地址的一部分。 -
expletive
:用哔哔声盖过标签中包含的内容。 -
telephone
:将数字文本解释为 7 位数或 10 位数的电话号码,例如2025551212
。您还可以使用此值处理电话分机,例如2025551212x345
。有关更多信息,请参阅下文。注意
目前
telephone
选项仅适用于部分语言。但是,它适用于说英语变体(en-au、en-GB、en-in、en-US 和)、西班牙语变体(es-es、es-mx 和 es-US en-GB-WLS)、法语变体(fr-fr 和 fr-ca)和葡萄牙语变体(pt-br 和 pt-pt),以及德语(de-de)、意大利语(it-it)、日语(ja-jp)和俄语(ru-jp)的声音 ru)。另请注意,在某些情况下,阿拉伯语(arb)等语言会自动处理设置为电话号码的数字,因此实际上并没有实施telephone
SSML 标签。
分数
Amazon Polly 会将具有 interpret-as="fraction"
属性的 say-as
标签中的值视为一般分数。分数采用以下语法形式:
-
分数
语法:
cardinal number
/cardinal number
,例如 2/9。例如:
<say-as interpret-as="fraction">2/9</say-as>
的发音为 "two ninths"。 -
非负带分数
语法:
cardinal number
+cardinal number
/cardinal number
,例如 3+1/2。例如,
<say-as interpret-as="fraction">3+1/2</say-as>
的发音为"three and a half"。注意
“3”和“1/2”之间必须有一个
+
。Amazon Polly 不支持不带+
的混合数字,例如“3 1/2”。
日期
如果将 interpret-as
设为 date
,您还需要指明日期格式。
它使用以下语法:
<say-as interpret-as="date" format="
format
">[date]
</say-as>
例如:
<speak>
I was born on <say-as interpret-as="date" format="mdy">12-31-1900</say-as>.
</speak>
下列格式可以与 date
属性一起使用。
-
mdy
: Month-day-year. -
dmy
: Day-month-year. -
ymd
: Year-month-day. -
md
:月-日。 -
dm
:日-月。 -
ym
:年-月。 -
my
:月-年。 -
d
: 天。 -
m
: 月。 -
y
: 年份。 -
yyyymmdd
: Year-month-day。 如果您使用这种格式,则可以使用问号让 Amazon Polly 跳过部分日期。例如,Amazon Polly 将以下内容呈现为“9 月 22 日”:
<say-as interpret-as="date">????0922</say-as>
不需要
Format
。
电话
即使没有 <say-as>
标签,Amazon Polly 也会尝试根据文本的格式正确地解释您提供的文本。例如,如果文本中包含“202-555-1212”,Amazon Polly 会将它解释为 10 位数的电话号码,并分别朗读每个数字,并在每个连字符处短暂停顿。在这种情况下,您不需要使用 <say-as interpret-as="telephone">
。但是,如果您提供的文本是“2025551212”,希望 Amazon Polly 将它朗读为电话号码,则需要指定 <say-as
interpret-as="telephone">
。
解释每种元素的逻辑是语言特定的。例如,在美国英语和英国英语中,电话号码的发音方法不同(在英国英语中,同一数字会组成一组,例如“两个五”或“三个四”)。要了解差别,请使用美国语音和英国语音测试以下示例:
<speak> Richard's number is <say-as interpret-as="telephone">2122241555</say-as> </speak>