本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
控制如何說出特殊類型的單字
<say-as>
<say-as> 標籤由生成式、長形、神經和標準 TTS 引擎支援。不過請注意,如果 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) 等語言會自動處理設定為電話號碼的號碼,因此請勿實際實作telephoneSSML 標籤。
分數
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。
電話
即使沒有 <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>