本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
<say-as>
生成式、長形、神經和標準 TTS 引擎支援 <say-as>
標籤。不過請注意,如果 Amazon Polly 使用神經語音,並在執行時間遇到具有 characters
選項的<say-as>
標籤,則受影響的句子將使用相關的標準語音合成。不過,受影響的句子仍會像使用神經語音一樣計費。
使用 <say-as>
標籤搭配 interpret-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 和 en-GB-WLS)、西班牙文變體 (es-ES、es-MX 和 es-US)、法文變體 (fr-FR 和 fr-CA) 和葡萄牙文變體 (pt-BR 和 pt-PT),以及德文 (de-DE)、義大利文 (it-IT)、日文 (ja-JP) 和俄羅斯文 (ru-RU)。另請注意,在某些情況下,阿拉伯文 (arb) 等語言會自動將號碼設定為電話號碼,因此請勿實際實作telephone
SSML 標籤。
分數
Amazon Polly 會解譯標籤中的值,該say-as
值具有interpret-as="fraction"
屬性為常見分數。以下是分數的語法:
-
分數
語法:
基數
/基數
,如 2/9。例如:
<say-as interpret-as="fraction">2/9</say-as>
發音為「九分之二」。 -
非負數的混合數字
語法:
基數
+基數
/基數
,例如 3+1/2。例如,
<say-as interpret-as="fraction">3+1/2</say-as>
發音為「三又二分之一」。注意
「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
:月-日-年。 -
dmy
:日-月-年。 -
ymd
:年-月-日。 -
md
:月-日。 -
dm
:日-月。 -
ym
:年-月。 -
my
:月-年。 -
d
:日。 -
m
: 月. -
y
: 年. -
yyyymmdd
:年-月-日。如果您使用此格式,您可以使用問號讓 Amazon Polly 略過部分日期。例如,Amazon Polly 會將下列項目轉譯為「9 月 22 日」:
<say-as interpret-as="date">????0922</say-as>
不需要
Format
。
電話
Amazon Polly 會嘗試根據文字的格式正確解譯您提供的文字,即使沒有 <say-as>
標籤也一樣。例如,如果您的文字包含 "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>