This topic describes the features of Speech Synthesis Markup Language (SSML) and provides examples of how to use its tags.
Overview
SSML is an XML-based markup language for speech synthesis. Unlike plain text, SSML provides more options to enrich the synthesized content and customize the final audio output. SSML controls not only what the speech synthesis service reads but also how it reads the text. You can control features such as sentence breaks, word segmentation, pronunciation, speed, pauses, intonation, volume, and even add background music.
The Alibaba Cloud Speech Synthesis service implements SSML based on the W3C Speech Synthesis Markup Language Version 1.0. The service supports a subset of W3C tags that are most relevant to business needs.
Usage
SSML is currently supported only for Chinese and English voices. The supported SSML tags and content may vary between Chinese and English. For more information, see the tag descriptions and examples in this topic.
All text must be enclosed in a <speak></speak> tag. Each short-text speech synthesis task can contain only one <speak></speak> tag. However, long-text synthesis tasks, such as real-time and asynchronous tasks, can contain multiple <speak></speak> tags.
Long-text speech synthesis requests can use multiple <speak></speak> tags and a combination of SSML and plain text. The following example shows a complete text that can be sent as a single request to the long-text speech synthesis service for testing.
<speak><say-as interpret-as="telephone">114</say-as> query number <say-as interpret-as="cardinal">123</say-as> to start. The sum is <say-as interpret-as="digits">1234</say-as>. <say-as interpret-as="name">Zhang San</say-as>'s package. <say-as interpret-as="address">Fulu International, Building 1, Unit 3, Room 304</say-as><say-as interpret-as="nick">Li Si 6689</say-as></speak>You can omit the XML header that precedes the <speak> tag.
If the text within a tag contains special XML characters, you must escape them. The following list shows the common special characters and their corresponding escaped forms.
" (double quotation mark) corresponds to: "
' (apostrophe or single quotation mark) corresponds to: '
& (ampersand) corresponds to: &
< (less than sign) corresponds to: <
> (greater than sign) corresponds to: >
You can upload the tagged text as the value of the text parameter to the speech synthesis service. The following code provides an example for the Java SDK:
SpeechSynthesizer synthesizer = new SpeechSynthesizer(client, getSynthesizerListener());
String text = "<speak>Close your eyes and take a rest.<break time=\"500ms\"/>Okay, now open your eyes.</speak>";
synthesizer.setText(text);The following request is sent to the speech synthesis service:
{
"payload": {
"volume": 50,
"sample_rate": 16000,
"format": "wav",
"text": "<speak>Close your eyes and take a rest.<break time=\"500ms\"/>Okay, now open your eyes.</speak>"
},
"context": {
"sdk": {
"name": "nls-sdk-java",
"version": "2.0.4"
}
},
"header": {
"namespace": "SpeechSynthesizer",
"name": "StartSynthesis",
"message_id": "5fdf78c0dd574b6897f3cb204dd0****",
"appkey": "fd4er4aa****",
"task_id": "6e1be78ef5804c50a2c5a8b92de1****"
}
} Tags
<speak>
Description
The <speak> tag is the root element for all supported Speech Synthesis Markup Language (SSML) tags and must enclose all SSML-formatted text.
Syntax
<speak>Text that uses SSML tags</speak>Properties
The <speak> tag supports the following properties.
Property Name
Property type
Value
Required
Description
voice
String
The name of the online speaker that can be called. The value is the lowercase value of the voice parameter, such as "siyue".
No
A proprietary tag of Alibaba Cloud speech synthesis. It specifies the speaker during synthesis and has a higher priority than the speaker specified by the
voiceparameter in the API request.ImportantWhen you make a call using Alibaba Cloud Model Studio, the speaker name is specified in the model parameter. For more information, see Model List.
Important"Xiaoyue" cannot currently be set by voice.
encodeType
String
PCM, WAV, or MP3
No
A proprietary tag of Alibaba Cloud speech synthesis. It specifies the audio file format during synthesis and has a higher priority than the format specified by the
formatparameter in the API request.The
encodeTypesetting in SSML tags is invalid for real-time long-text synthesis tasks.sampleRate
String
8000, 16000, 24000, or 48000
No
A proprietary tag of Alibaba Cloud speech synthesis. It specifies the audio sample rate during synthesis and has a higher priority than the rate specified by the
sample_rateparameter in the API request.The sampleRate setting in SSML tags is invalid for real-time long-text synthesis tasks.
rate
String
An integer from -500 to 500. The default value is 0.
A value greater than 0 increases the speech rate.
A value less than 0 decreases the speech rate.
No
A proprietary tag of Alibaba Cloud speech synthesis. It specifies the audio speed during synthesis and has a higher priority than the speed specified by the
speech_rateparameter in the API request.ImportantWhen you call the service through Alibaba Cloud Model Studio, the valid range for this parameter is [0.5, 2]. The value corresponds to the actual speed multiplier. The default value is 1, which indicates the normal speed.
pitch
String
An integer from -500 to 500. The default value is 0.
A value greater than 0 raises the pitch.
A value less than 0 lowers the pitch.
No
A proprietary tag of Alibaba Cloud speech synthesis. It specifies the audio pitch during synthesis and has a higher priority than the pitch specified by the
pitch_rateparameter in the API request.ImportantWhen you call the service through Alibaba Cloud Model Studio, the valid range for this parameter is [0.5, 2]. The value corresponds to the actual pitch multiplier. The default value is 1, which indicates the normal pitch.
volume
String
An integer from 0 to 100. The default value is 50.
A value greater than 50 increases the volume.
A value less than 50 decreases the volume.
No
A proprietary tag of Alibaba Cloud speech synthesis. It specifies the audio volume during synthesis and has a higher priority than the volume specified by the
volumeparameter in the API request.effect
String
robot, lolita, lowpass, echo, eq, lpfilter, or hpfilter
No
A proprietary tag of Alibaba Cloud speech synthesis. Use this tag to produce different sound effects for the synthesized speech.
robot: robot sound effect.
lolita: lively female voice effect.
lowpass: low-pass sound effect.
echo: echo sound effect.
eq: equalizer.
lpfilter: low-pass filter.
hpfilter: high-pass filter.
NoteThe values eq, lpfilter, and hpfilter are advanced effectors. You can use the
effectValueproperty to customize their effects.An SSML document supports only one sound effect. You cannot specify multiple effect properties.
Using a sound effect increases system latency.
effectValue
String
When the effect property is set to eq, lpfilter, or hpfilter, use this parameter to modify the default effect of the effector.
No
eq (equalizer): The system uses eight levels by default. The corresponding frequencies are ["40 Hz", "100 Hz", "200 Hz", "400 Hz", "800 Hz", "1600 Hz", "4000 Hz", "12000 Hz"]. The corresponding bandwidths are ["1.0q", "1.0q", "1.0q", "1.0q", "1.0q", "1.0q", "1.0q", "1.0q"]. You must input the gains for the eight levels. The value range is [-20 dB, 20 dB]. For example, effectValue="1 1 1 1 1 1 1 1". This is a string of eight integers separated by spaces. A value of 0 means the gain for the corresponding frequency is not adjusted.
lpfilter: Enter the frequency value for the low-pass filter. The value must be an integer in the range of (0, target sample rate/2]. For example, effectValue="800".
hpfilter: Enter the frequency value for the high-pass filter. The value must be an integer in the range of (0, target sample rate/2]. For example, effectValue="1200".
bgm
String
The name of the online background music. See the bgm property description.
No
A proprietary tag of Alibaba Cloud speech synthesis. It adds the specified background music to the synthesized speech.
backgroundMusicVolume
String
An integer from 0 to 100. The default value is 50.
A value greater than 50 increases the volume.
A value less than 50 decreases the volume.
No
A proprietary tag of Alibaba Cloud speech synthesis. It controls the volume of the background music.
The following describes the bgm property.
Built-in URL
Custom background music URL
The Alibaba Cloud speech synthesis service has several built-in background music tracks for you to try:
You can use custom background music as needed. Store the background music in Alibaba Cloud OSS. The bucket must have at least public-read permissions. For more information, see Create buckets. Use the HTTP or HTTPS protocol to generate a file access link. For more information, see Upload files.
Audio requirements:
16 kHz sample rate, single-channel WAV format.
For short-text speech synthesis, the file size cannot exceed 2.8 MB. For long-text speech synthesis, the file size cannot exceed 7.3 MB.
If the synthesis duration is longer than the background music duration, the background music will loop. If the background music is not in WAV format, you can use FFmpeg to convert it:
ffmpeg -i input_audio -acodec pcm_s16le -ac 1 -ar 16000 target.wav.If the URL in the tag contains special XML characters, you must escape them.
The bit depth must be 16-bit.
ImportantYou are legally responsible for the copyright of the audio you upload.
Tag relationship
The <speak> tag can contain text and the following tags:
<break>
<s>
<w>
<phoneme>
<say-as>
<vhml/>
Examples
Empty property
<speak> Text that uses SSML tags </speak>Audio effect: SSML-speak1.mp3
voice property
<speak voice="xiaogang"> I am a male voice. </speak>Audio effect: SSML-speak2.mp3
encodeType property
<speak encodeType="mp3"> I can generate audio in a compressed format. </speak>Audio effect: SSML-encode.mp3
sampleRate property
<speak sampleRate="8000"> Look at my file size. It is half the size of an audio file with a 16000 sample rate. </speak>Audio effect: SSML-speak4.mp3
rate property
<speak rate="200"> I speak faster than normal. </speak>Audio effect: SSML-speak5.mp3
pitch property
<speak pitch="-100"> But my pitch is lower than others. </speak>Audio effect: SSML-speak6.mp3
volume property
<speak volume="80"> My volume is also very loud. </speak>Audio effect: SSML-speak7.mp3
Property combination (separated by spaces)
<speak rate="200" pitch="-100" volume="80"> So when you put it all together, my voice sounds like this. </speak>Audio effect: SSML-speak8.mp3
effect property
<speak effect="robot"> Do you like the robot WALL-E? </speak>Audio effect: SSML-speak9.mp3
bgm property
<speak bgm="http://nls.alicdn.com/bgm/2.wav" backgroundMusicVolume="30" rate="-500" volume="40"> <break time="2s"/> On the shady cliff, old trees are shrouded in mist. <break time="700ms"/> The sound of rain still lingers in the bamboo forest. <break time="700ms"/> The cotton plant is known to benefit the country's economy. <break time="700ms"/> The scenery of Mianzhou is always a pity to miss. <break time="2s"/> </speak>Audio effect: SSML-speak10.mp3
<emotion>
Description
The <emotion> tag is used for multi-emotion speech synthesis. This tag is optional. If you use this tag with a speaker that does not support multi-emotion speech synthesis, the synthesis request fails.
Syntax
<emotion category="happy" intensity="1.0">The weather is really nice today!</emotion>Properties
The <emotion> tag supports the following properties.
Property Name
Type
Value
Required
Description
category
String
Enumeration value, such as neutral or happy.
Yes
Specifies the emotion of the speech. For the emotions supported by each speaker, see the following table.
intensity
String
Floating-point value. The range is [0.01, 2.0].
No
Specifies the intensity of the emotion. The default value is 1.0, which indicates the predefined emotion intensity. The minimum value is 0.01, which results in a slight tendency toward the target emotion. The maximum value is 2.0, which doubles the intensity of the target emotion.
This topic describes the support for multi-emotion voices.
Voice name
voice parameter value
Emotion category
Zhifeng_Multi-emotion
zhifeng_emo
angry, fear, happy, neutral, sad, surprise
Zhibing_Multi-emotion
zhibing_emo
angry, fear, happy, neutral, sad, surprise
Zhimiao_Multi-emotion
zhimiao_emo
serious, sad, disgust, jealousy, embarrassed, happy, fear, surprise, neutral, frustrated, affectionate, gentle, angry, newscast, customer-service, story, living
Zhimi_Multi-emotion
zhimi_emo
angry, fear, happy, hate, neutral, sad, surprise
Zhiyan_Multi-emotion
zhiyan_emo
neutral, happy, angry, sad, fear, hate, surprise, arousal
Zhibei_Multi-emotion
zhibei_emo
neutral, happy, angry, sad, fear, hate, surprise
Zhitian_Multi-emotion
zhitian_emo
neutral, happy, angry, sad, fear, hate, surprise
Tag relationship
The <emotion> tag can contain text and the following tags:
<s>
<sub>
<say-as>
<w>
<phoneme>
<soundEvent/>
<break/>
<vhml/>
Example
Empty property
<speak voice="zhitian_emo"> <emotion category="happy" intensity="1.0">The weather is really nice today!</emotion> </speak>Audio effect: SSML-emotion.wav
<break>
Description
You can use this tag to insert a pause in the text. This tag is optional.
Syntax
# Empty property <break/> # With time property <break time="string"/>Properties
NoteIf you use the <break> tag without any properties, the default pause duration is 1s.
Property Name
Type
Property value
Required
Description
time
String
[number] s / [number] ms
No
Sets the duration of the pause in seconds (s) or milliseconds (ms), such as "2s" or "50ms".
[number]s: The duration in seconds. [number] must be an integer from 1 to 10.
[number]ms: The duration in milliseconds. [number] must be an integer from 50 to 10000.
ImportantIf multiple
<break>tags appear consecutively, the total pause duration is the sum of the durations of each tag. If the total duration exceeds 10 seconds, the effective pause duration is 10 seconds.For example, in the following code, the total pause duration of the three consecutive
<break>tags is 15 seconds. Because this exceeds 10 seconds, the final effective pause duration is 10 seconds.<speak> Close your eyes and take a rest.<break time="5s"/><break time="5s"/><break time="5s"/>Okay, now open your eyes. </speak>Tag relationship
<break> is an empty tag and cannot contain any other tags. If an SSML structure contains an <s> tag, you can place the <break> tag inside the <s> tag to set a pause for the current paragraph or sentence.
Example
<speak> Close your eyes and take a rest.<break time="500ms"/>Okay, now open your eyes. </speak>Audio effect: SSML-break.mp3
<s>
Description
You can use this tag to represent the sentence structure of the text. This tag is optional.
Syntax
<s>Text</s>Properties
None.
Tag relationship
The <s> tag can contain text and the following tags:
<break>
<w>
<phoneme>
<say-as>
<vhml/>
Example
<speak><s>This is the first sentence.</s><s>This is the second sentence.</s></speak>Audio effect: SSML-s.mp3
<sub>
Description
This tag replaces the text within it with an alias.
Syntax
<sub alias="string"></sub>Properties
Property Name
Property Type
Property value
Required
Description
alias
String
The replacement content.
Yes
Used to replace the text within the tag.
Tag relationship
The <sub> tag can contain text and the <vhml/> tag.
Example
<speak><sub alias="network protocol standard">W3C</sub></speak>Audio effect: SSML-sub.mp3
<w>
Description
You can use this tag to define the word structure of the text. This tag is optional. Because English text is typically tokenized by spaces, this tag is usually not required for English. The content within a <w> tag must be a single word or phrase. The word or phrase cannot be a mix of Chinese and other languages.
Syntax
<w>Text</w>Properties
None.
Tag relationship
The <w> tag can contain text and the <vhml/> tag.
Example
<speak>The Mayor of Nanjing <w>Jiang Daqiao</w> gave a speech today.</speak>Audio effect: SSML-w.mp3
<vhml>
Description
This is a Virtual Human Markup Language tag used to mark animations for human bodies and facial expressions. You can insert this tag into the text. It contains a src attribute with a user-defined string. The content of the src attribute is returned in the timestamp, which you can use to drive the facial or body animations of a virtual human. In the timestamp, the content of the src attribute appears in the text field, phoneme is null, and begin_index, end_index, begin_time, and end_time are all 0. The order of <vhml> tags in the timestamp usually follows their order in the original text. However, if a <vhml> tag is placed near text that requires regularization (for example, 123 is regularized to 'one hundred twenty-three'), the order may not match. The relative order between multiple <vhml> tags is always preserved.
Syntax
<vhml src="content"/>
Properties
None.
Tag relationship
<vhml/> is an empty tag.
Example
<speak><vhml src="start"/>Today we will<vhml src="t0"/>introduce this new product<vhml src="end"/></speak> Timestamp result: { "subtitles":[ { "text":"start", "phoneme":"null", "begin_index":0, "end_index":0, "begin_time":0, "end_time":0 }, { "text":"To", "phoneme":"null", "begin_index":0, "end_index":1, "begin_time":0, "end_time":88 }, { "text":"day", "phoneme":"null", "begin_index":1, "end_index":2, "begin_time":88, "end_time":238 }, { "text":"we", "phoneme":"null", "begin_index":2, "end_index":3, "begin_time":238, "end_time":450 }, { "text":"will", "phoneme":"null", "begin_index":3, "end_index":4, "begin_time":450, "end_time":650 }, { "text":"in", "phoneme":"null", "begin_index":4, "end_index":5, "begin_time":650, "end_time":825 }, { "text":"t0", "phoneme":"null", "begin_index":0, "end_index":0, "begin_time":0, "end_time":0 }, { "text":"tro", "phoneme":"null", "begin_index":5, "end_index":6, "begin_time":825, "end_time":988 }, { "text":"duce", "phoneme":"null", "begin_index":6, "end_index":7, "begin_time":988, "end_time":1213 }, { "text":"this", "phoneme":"null", "begin_index":7, "end_index":8, "begin_time":1213, "end_time":1325 }, { "text":"new", "phoneme":"null", "begin_index":8, "end_index":9, "begin_time":1325, "end_time":1525 }, { "text":"pro", "phoneme":"null", "begin_index":9, "end_index":10, "begin_time":1525, "end_time":1663 }, { "text":"duct", "phoneme":"null", "begin_index":10, "end_index":11, "begin_time":1663, "end_time":1750 }, { "text":"end", "phoneme":"null", "begin_index":0, "end_index":0, "begin_time":0, "end_time":0 } ] }
<phoneme>
Description
You can use this tag to control the pronunciation of the text within it. This tag is optional and is not supported for English text.
Syntax
<phoneme alphabet="string" ph="string">Text</phoneme>Properties
Property Name
Property type
Value
Required
Description
alphabet
String
py
Yes
"py" indicates Pinyin.
ph
String
The Pinyin string corresponding to the text within the tag.
Yes
Pinyin assignment rules:
The Pinyin of different characters must be separated by spaces. The number of Pinyin syllables must be equal to the number of characters.
Each Pinyin syllable consists of a sound and a tone. Tones are numbered from 1 to 5, where "5" indicates a neutral tone.
Tag relationship
The <phoneme> tag can contain text and the <vhml/> tag.
Example
<speak> Go to the <phoneme alphabet="py" ph="dian3 dang4 hang2">pawnshop</phoneme> to <phoneme alphabet="py" ph="dang4 diao4">pawn</phoneme> this thing. </speak>Audio effect: SSML-phoneme.mp3
<soundEvent>
Description
A sound cue tag. You can use this tag to insert a sound cue at any position during SSML synthesis.
Syntax
<soundEvent src="URL"/>Properties
Property Name
Property Type
Value
Required
Description
src
String
URL path of the sound cue resource.
Yes
You can use a custom sound cue as needed. Store the sound cue in Alibaba Cloud OSS. The bucket must have at least public-read permissions. For more information, see Create buckets. Use the HTTP or HTTPS protocol to generate a file access link. For more information, see Upload files.
Audio requirements:
16 kHz sample rate, single-channel WAV format.
The file size cannot exceed 2 MB.
The bit depth must be 16-bit.
ImportantYou are legally responsible for the copyright of the audio you upload.
Tag relationship
<soundEvent> is an empty tag and cannot contain any other tags.
Example
<speak> A horse was frightened <soundEvent src="http://nls.alicdn.com/sound-event/horse-neigh.wav"/> and people scattered to hide. </speak>Audio effect: SSML-sound-event.mp3
<say-as>
Description
This tag indicates the information type of the text within it, which allows the text to be pronounced according to the default method for that type.
Syntax
<say-as interpret-as="string">Text</say-as>Properties
Property Name
Property type
Property Value
Required
Description
interpret-as
String
cardinal, digits, telephone, name, address, id, characters, punctuation, date, time, currency, or measure
Yes
Indicates the information type of the text within the tag:
cardinal: Pronounced as an integer or decimal.
digits: Pronounced digit by digit.
telephone: Pronounced in the common way for telephone numbers.
name: Pronounced as a person's name.
address: Pronounces the text as an address.
id: Suitable for account names, nicknames, and so on.
characters: The text within the tag is read out character by character.
punctuation: The text within the tag is read out as punctuation marks.
date: Pronounced as a date.
time: Pronounced "time".
currency: Pronounced as an amount of money.
measure: Pronounced as a unit of measurement.
Supported formats for each <say-as> type
cardinal
Format
Example
Chinese output
Description
Number string
145
One hundred forty-five
Integer input range: positive and negative integers up to 20 digits, from -99,999,999,999,999,999,999 to 99,999,999,999,999,999,999.
Decimal input range: No specific limit on the number of decimal places, but it is recommended to not exceed 10.
Minus sign + number string
-145
Minus one hundred forty-five
3-digit number string separated by commas
10,000
Ten thousand
Minus sign + 3-digit number string separated by commas
-10,124
Minus ten thousand one hundred twenty-four
Number string + decimal point + two zeros
10.00
Ten
Minus sign + number string + decimal point + two zeros
-110.00
Minus one hundred ten
Number string + decimal point + number string
79.090
Seventy-nine point zero nine zero
Minus sign + number string + decimal point + number string
-79.001
Minus seventy-nine point zero zero one
Format
Example
English output
Description
Number string
145
one hundred forty five
Integer input range: positive and negative integers up to 13 digits, from -999,999,999,999 to 999,999,999,999.
Decimal input range: No specific limit on the number of decimal places, but it is recommended to not exceed 10.
Number string starting with zero
0145
one hundred forty five
Minus sign + number string
-145
minus hundred forty five
3-digit number string separated by commas
60,000
sixty thousand
Minus sign + 3-digit number string separated by commas
-208,000
minus two hundred eight thousand
Number string + decimal point + zero
12.00
twelve
Number string + decimal point + number string
12.34
twelve point three four
3-digit number string separated by commas + decimal point + number string
1,000.1
one thousand point one
Minus sign + number string + decimal point + number string
-12.34
minus twelve point three four
Minus sign + 3-digit number string separated by commas + decimal point + number string
-1,000.1
minus one thousand point one
(3-digit comma-separated) number string + hyphen + (3-digit comma-separated) number
1-1,000
one to one thousand
Other default readings
012.34
twelve point three four
None
1/2
one half
-3/4
minus three quarters
5.1/6
five point one over six
-3 1/2
minus three and a half
1,000.3^3
one thousand point three to the power of three
3e9.1
three times ten to the power of nine point one
23.10%
twenty three point one percent
digits
Format
Example
Chinese output
Description
Number string
129090909
One two nine zero nine zero nine zero nine
No specific limit on the length of the number string, but it is recommended to not exceed 20 digits.
If the number string exceeds 10 digits, a pause is inserted after each digit.
Format
Example
English output
Description
Number string
12034
one two zero three four
No specific limit on the length of the number string, but it is recommended to not exceed 20 digits.
When the number string is grouped by spaces or hyphens, a comma is inserted between groups to create a proper pause. Up to five groups are supported.
Number string + space or hyphen + number string + space or hyphen + number string + space or hyphen + number string
1-23-456 7890
one, two three, four five six, seven eight nine zero
telephone
Format
Example
Chinese Outputs
Description
Landline number
4930286
Four nine three, zero two eight six
Supports 7- to 8-digit landline numbers. You can use spaces and hyphens (-) as separators.
A 7-digit landline number supports the 3-4 separation format. An 8-digit landline number supports the 4-4 separation format.
493 0286
Four nine three, zero two eight six
493-0286
Four nine three, zero two eight six
62552560
Six two five five, two five six zero
6255 2560
Six two five five, two five six zero
6255-2560
Six two five five, two five six zero
Landline number + extension number
4930286-109
Four nine three, zero two eight six, extension one zero nine
Supports 1- to 4-digit extension numbers.
4930286 ext. 109
Four nine three, zero two eight six, extension one zero nine
4930286 ext. 109
Four nine three, zero two eight six, extension one zero nine
4930286 ext. 109
Four nine three, zero two eight six, extension one zero nine
Area code + landline number
01062552560
Zero one zero, six two five five, two five six zero
Supported area codes: 010, 02x, 03xx, 04xx, 05xx, 07xx, 08xx, 09xx.
010 62552560
Zero one zero, six two five five, two five six zero
010 6255 2560
Zero one zero, six two five five, two five six zero
010 6255-2560
Zero one zero, six two five five, two five six zero
010-62552560
Zero one zero, six two five five, two five six zero
010-6255-2560
Zero one zero, six two five five, two five six zero
(010)62552560
Zero one zero, six two five five, two five six zero
03198907098
Zero three one nine, eight nine zero, seven zero nine eight
0319-8907098
Three one nine, eight nine zero, seven zero nine eight
Area code + landline number + extension number
010 62552560-109
Zero one zero, six two five five, two five six zero, extension one zero nine
None
010-62552560-109
Zero one zero, six two five five, two five six zero, extension one zero nine
(010)62552560-109
Zero one zero, six two five five, two five six zero, extension one zero nine
(010) 62552560 ext. 109
Zero one zero, six two five five, two five six zero, extension one zero nine
(010) 62552560 ext. 109
Zero one zero, six two five five, two five six zero, extension one zero nine
(010) 62552560 ext. 109
Zero one zero, six two five five, two five six zero, extension one zero nine
Country code + area code + landline number
86-010-62791627
Eight six, zero one zero, six two seven nine, one six two seven
Supported country codes include 86, (86), +86, (+86), and 0086. All are pronounced as "eight six".
(86)10-62791627
Eight six, one zero, six two seven nine, one six two seven
+86-010-62791627
Eight six, zero one zero, six two seven nine, one six two seven
0086-10-62791627
Eight six, one zero, six two seven nine, one six two seven
(+86)-10-6279 1627
Eight six, one zero, six two seven nine, one six two seven
Country code + area code + landline number + extension number
(86)21-58118818-207
Eight six, two one, five eight one one, eight eight one eight, extension two zero seven
None
(86)021-5811-8818-207
Eight six, zero two one, five eight one one, eight eight one eight, extension two zero seven
(86) 021-58118818 ext. 207
Eight six, zero two one, five eight one one, eight eight one eight, extension two zero seven
(86) 21-5811-8818 ext. 207
Eight six, two one, five eight one one, eight eight one eight, extension two zero seven
+86-021-58118818 ext. 207
Eight six, zero two one, five eight one one, eight eight one eight, extension two zero seven
Mobile number
139 0000 5678
One three nine, zero zero zero zero, five six seven eight
Supports 11-digit mobile numbers with 3-3-5 and 3-4-4 separation formats.
139-000-05678
One three nine, zero zero zero, zero five six seven eight
139 000 05678
One three nine, zero zero zero, zero five six seven eight
Country code + mobile number
+86-13900005678
Eight six, one three nine, zero zero zero zero, five six seven eight
None
(+86)-139-0000-5678
Eight six, one three nine, zero zero zero zero, five six seven eight
+8613900005678
Eight six, one three nine, zero zero zero zero, five six seven eight
0086-139 000 05678
Eight six, one three nine, zero zero zero, zero five six seven eight
Service number
123
One two three
Supports common service numbers.
Supports 10-digit service numbers that start with 400 or 800, in a 3-3-4 separation format.
Supports 16-digit numbers that start with 12530, 17951, or 12593.
95678
Nine five six seven eight
4008110510
Four zero zero, eight one one, zero five one zero
800-810-8888
Eight zero zero, eight one zero, eight eight eight eight
1253013520638377
One two five three zero, one three five, two zero six three, eight three seven seven
Other
(86)(21)9899-80800-0909
Eight six, two one, nine eight nine nine, eight zero eight zero zero, zero nine zero nine
Supports a format of a number string plus a separator, such as parentheses or a hyphen.
Format
Example
English output
Description
Number string
12034
one two oh three four
No specific limit on the length of the number string, but it is recommended to not exceed 20 digits. When the number string is grouped by spaces or hyphens, a comma is inserted between groups to create a proper pause. Up to five groups are supported.
Number string + space or hyphen + number string + space or hyphen + number string
1-23-456 7890
one, two three, four five six, seven eight nine oh
Plus sign + number string + space or hyphen + number string
+43-211-0567
plus four three, two one one, oh five six seven
Left parenthesis + number string + right parenthesis + space + number string + space or hyphen + number string
(21) 654-3210
(two one) six five four, three two one oh
address
Format
Example
Chinese Output
Description
Common address format
Yuanhe Town, Jiayuan 30-9
Yuanhe Town, Jiayuan thirty-nine
Supports common address formats. In this context, an address refers to a standard mailing address.
No. 1107-1108, Lane 388, Shitai Road
No. one one zero seven to one one zero eight, Lane three eight eight, Shitai Road
Huarun 24 City, Phase 6, Jinyunfu 3-1-3205
Huarun 24 City, Phase 6, Jinyunfu three-one-three-two-zero-five
Room 2006, Building 2, Shenghua Mingdu Building
Room two zero zero six, Building two, Shenghua Mingdu Building
Building 5, Unit 4, Room 201, Wuchang Street Courtyard
Building five, Unit four, Room two zero one, Wuchang Street Courtyard
No. 19, Lane 150, Furongjiang Road
No. nineteen, Lane one five zero, Furongjiang Road
This tag is not supported for English text.
id
Format
Example
Output
Description
String
dell0101
D E L L zero one zero one
Supports uppercase and lowercase English letters, Arabic numerals 0-9, and underscores.
The space in the output indicates a pause between each character, meaning they are read one by one.
myid_1998
M Y I D underscore one nine nine eight
AiTest
A I T E S T
For English text, this tag functions the same as the characters type.
characters
Format
Example
Chinese output
Description
String
ISBN 1-001-099098-1
I S B N one dash zero zero one dash zero nine nine zero nine eight dash one
Supports Chinese characters, uppercase and lowercase English letters, Arabic numerals 0-9, and some full-width and half-width characters.
The space in the output indicates a pause between each character, meaning they are read one by one. If the text within the tag contains special XML characters, you must escape them.
x10b2345_u
x one zero b two three four five underscore u
v1.0.1
v one point zero point one
Version 2.0
Version two point zero
Su M MA000
Su M M A zero zero zero
Airbus A330
Airbus A three three zero
Models s01 s02 and s03
Models s zero one s zero two and s zero three
Airbus A330
Airbus A three three zero
αβγ
alpha beta gamma
Format
Example
English output
Description
String
*b+3$.c-0'=α
asterisk B plus three dollar dot C dash zero apostrophe equals alpha
Supports Chinese characters, uppercase and lowercase English letters, Arabic numerals 0-9, and some full-width and half-width characters.
The space in the output indicates a pause between each character, meaning they are read one by one.
If the text within the tag contains special XML characters, you must escape them.
punctuation
Format
Example
Chinese output
Description
Punctuation mark
…
Ellipsis
Supports common Chinese and English punctuation. The space in the output indicates a pause between each character, meaning they are read one by one.
If the text within the tag contains special XML characters, you must escape them.
……
Ellipsis
!"#$%&
Exclamation mark, double quotation mark, pound sign, dollar, percent sign, and
‘()*+
Single quotation mark, left parenthesis, right parenthesis, asterisk, plus sign
,-./:;
Comma, dash, period, slash, colon, semicolon
<=>?@
Less than, equal sign, greater than, question mark, at
[\]^_
Left square bracket, backslash, right square bracket, caret, underscore
For English text, this tag functions the same as the characters type.
date
Format
Example
Chinese output
Description
xx year
71 year
1971
Supports 2-digit and 4-digit years. Details:
2-digit years: 60-99, 00-09, 10-19.
4-digit years: 1000-1999, 2000-2099.
2004
Zero four
19 year
2019
1011 year
1011
1998 year
Nineteen ninety-eight
2008
Two thousand eight
xx year xx month
98 year 4 month
Ninety-eight, April
For months 1 to 9, both formats with and without a leading "0" are supported. For example, "1908 year 4 month" and "1908 year 04 month".
1998 year 04 month
Nineteen ninety-eight, April
08 year 8 month
Zero eight, August
2008 year 8 month
Two thousand eight, August
xx year xx month xx day
98 year 4 month 23 day
April 23, 1998
For days 1 to 9, both formats with and without a leading "0" are supported. For example, "1908 year 4 month 8 day" and "1908 year 04 month 08 day".
1998 year 04 month 23 day
Nineteen ninety-eight, April twenty-third
08 year 8 month 8 day
Zero eight, August eighth
2008 year 08 month 08 day
Two thousand eight, August eighth
xx year xx month xx day
98 year 4 month 23 day
April 23, 1998
For days 1 to 9, both formats with and without a leading "0" are supported. For example, "1908 year 4 month 8 day" and "1908 year 04 month 08 day".
1998 year 04 month 23 day
Nineteen ninety-eight, April twenty-third
08 year 8 month 8 day
Zero eight, August eighth
2008 year 08 month 08 day
Two thousand eight, August eighth
xx month xx day
March 20
March twentieth
None
08 month 07 day
August seventh
Abbreviated year and month
2018/08
Two thousand eighteen, August
Supports "/", "-", and "." as separators.
2018-08
Two thousand eighteen, August
2018.08
Two thousand eighteen, August
Abbreviated year, month, and day
2018/08/08
Two thousand eighteen, August eighth
2018-8-8
Two thousand eighteen, August eighth
2018.08.08
Two thousand eighteen, August eighth
YYYY-MM-DD to YYYY-MM-DD
04 year 9 month 1 day to 30 day
Zero four, September first to thirtieth
Supports "~" and "-" as abbreviations for "to".
2004 year 09 month 01 day-2008 year 06 month 08 day
Two thousand four, September first to two thousand eight, June eighth
YYYY-MM-DD - YYYY-MM-DD
04 year 9 month 1 day to 30 day
Zero four, September first to thirtieth
2004 year 09 month 01 day-2008 year 06 month 08 day
Two thousand four, September first to two thousand eight, June eighth
xx year xx month to xx year xx month
01 year 04 month to 10 year 04 month
Zero one, April to ten, April
2001 year 04 month to 2010 year 04 month
Two thousand one, April to two thousand ten, April
xx month xx day to xx month xx day
October 1 to October 7
October first to October seventh
October 1 to October 7
October first to October seventh
Month DD to DD
October 1 to 7
October first to seventh
October 1–7
October first to seventh
Abbreviated YYYY/MM/DD to YYYY/MM/DD
2018/03/03~2019/01/01
Two thousand eighteen, March third to two thousand nineteen, January first
Supports "/" and "." as separators, and "~" and "-" as abbreviations for "to".
1997.9.9~1998.9.9
Nineteen ninety-seven, September ninth to nineteen ninety-eight, September ninth
Abbreviated MM/DD to MM/DD
10/20~10/31
October twentieth to October thirty-first
Month to Month
1 to 10 month
One to ten months
1 month to 10 month
January to October
Abbreviated MM/DD/YYYY
10/20/2018
Two thousand eighteen, October twentieth
Only 4-digit years are supported. Only "/" is supported as a separator. Only "MM/DD/YYYY" format is supported.
Format
Example
English output
Description
YYYY/MM or YYYY-MM
2000/01
two thousand, oh one
Spans multiple years.
1900-01
nineteen hundred, oh one
2001-02
twenty oh one, oh two
2019-20
twenty nineteen, twenty
1998-99
nineteen ninety eight, ninety nine
1999-00
nineteen ninety nine, oh oh
Four-digit number starting with 1 or 2
2000
two thousand
Four-digit year.
1900
nineteen hundred
1905
nineteen oh five
2021
twenty twenty one
Day of the week
or
Day of the week range
or
Day&Day
mon-wed
monday to wednesday
For a range of days, if the text within the tag contains special XML characters, you must escape them.
tue~fri
tuesday to friday
sat&sun
saturday and sunday
DD-DD MMM, YYYY
or
DD~DD MMM, YYYY
or
DD&DD MMM, YYYY
19-20 Jan, 2000
the nineteen to the twentieth of january two thousand
DD is a two-digit day, MMM is a three-letter abbreviation or full word for the month, and YYYY is a four-digit year starting with 1 or 2.
01 ~ 10 Jul, 2020
the first to the tenth of july twenty twenty
05&06 Apr, 2009
the fifth and the sixth of april two thousand nine
MMM DD-DD
or
MMM DD~DD
or
MMM DD&DD
Feb 01 - 03
feburary the first to the third
MMM is a three-letter abbreviation or full word for the month, and DD is a two-digit day.
Aug 10~20
august the tenth to the twentieth
Dec 11&12
december the eleventh and the twelfth
MMM-MMM
or
MMM~MMM
or
MMM&MMM
Jan-Jun
january to june
MMM is a three-letter abbreviation or full word for the month.
jul ~ dec
july to december
sep&oct
september and october
YYYY-YYYY
or
YYYY~YYYY
1990 - 2000
nineteen ninety to two thousand
YYYY is a four-digit year starting with 1 or 2.
2001~2021
two thousand one to twenty twenty one
WWW DD MMM YYYY
Sun 20 Nov 2011
sunday the twentieth of november twenty eleven
WWW is a three-letter abbreviation or full word for the day of the week. DD is a two-digit day. MMM is a three-letter abbreviation or full word for the month. MM is a two-digit month (or three-letter abbreviation or full word). YYYY is a four-digit year starting with 1 or 2.
WWW DD MMM
Sun 20 Nov
sunday the twentieth of november
WWW MMM DD YYYY
Sun Nov 20 2011
sunday november the twentieth twenty eleven
WWW MMM DD
Sun Nov 20
sunday november the twentieth
WWW YYYY-MM-DD
Sat 2010-10-01
aturday october the first twenty ten
WWW YYYY/MM/DD
Sat 2010/10/01
saturday october the first twenty ten
WWW MM/DD/YYYY
Sun 11/20/2011
sunday november the twentieth twenty eleven
MM/DD/YYYY
11/20/2011
november the twentieth twenty eleven
YYYY
1998
nineteen ninety eight
Other default readings
10 Mar, 2001
the tenth of march two thousand one
None
10 Mar
the tenth of march
Mar 2001
march two thousand one
Fri. 10/Mar/2001
friday the tenth of march two thousand one
Mar 10th, 2001
march the tenth two thousand one
Mar 10
march the tenth
2001/03/10
march the tenth two thousand one
2001-03-10
march the tenth two thousand one
2000s
two thousands
2010's
twenty tens
1900's
nineteen hundreds
1990s
nineteen nineties
time
Format
Example
Chinese output
Description
Time
12:00
Twelve o'clock
Supports common time and time range formats.
12:00:00
Twelve o'clock
10:20
Ten twenty
10:20:30
Ten twenty and thirty seconds
09:18:14
Nine eighteen and fourteen seconds
Time to Time
11:00~12:00
Eleven to twelve
09:00-14:00
Nine to fourteen
11:00~11:30
Eleven to eleven thirty
11:00-12:18
Eleven to twelve eighteen
10:30~11:00
Ten thirty to eleven
09:28-10:00
Nine twenty-eight to ten
10:20~11:20
Ten twenty to eleven twenty
06:00~08:00
Six to eight
10:20 AM to 1:30 PM
Ten twenty AM to one thirty PM
Abbreviated time
5:00 am
Five o'clock in the morning
5:30 am
Five thirty in the morning
5:20:12 am
Five twenty and twelve seconds in the morning
7:00 am
Seven o'clock in the morning
7:30 AM
Seven thirty in the morning
7:20:12 a.m.
Seven twenty and twelve seconds in the morning
07:08:12 A.M.
Seven oh eight and twelve seconds in the morning
5:00 pm
Five o'clock in the afternoon
5:30 PM
Five thirty in the afternoon
5:20:12 p.m.
Five twenty and twelve seconds in the afternoon
05:09:12 P.M.
Five oh nine and twelve seconds in the afternoon
9:00 pm
Nine o'clock at night
9:30 pm
Nine thirty at night
9:20:12 PM
Nine twenty and twelve seconds at night
9:02:12 P.M.
Nine oh two and twelve seconds at night
12:00 pm
Twelve o'clock noon
12:30 p.m.
Twelve thirty noon
12:20:12 PM
Twelve twenty and twelve seconds noon
Format
Example
English output
Description
HH:MM AM or PM
09:00 AM
nine A M
HH is a one- or two-digit hour, MM is a two-digit minute, and AM/PM indicates morning/afternoon.
09:03 PM
nine oh three P M
09:13 p.m.
nine thirteen p m
HH:MM
21:00
twenty one hundred
HHMM
100
one oclock
Time-Time
8:00 am - 05:30 pm
eight a m to five p m
Supports common time formats and ranges.
7:05~10:15 AM
seven oh five to ten fifteen A M
09:00-13:00
nine oclock to thirteen hundred
currency
Format
Example
Chinese output
Description
Number + currency identifier
12.00 CNY
Twelve CNY
Supports AUD (Australian dollar), CAD (Canadian dollar), HKD (Hong Kong dollar), JPY (Japanese yen), USD (US dollar), HKD (Hong Kong dollar), JPY (Japanese yen), USD (US dollar), CHF (Swiss franc), NOK (Norwegian krone), SEK (Swedish krona), GBP (British pound), CNY (renminbi), CNY (yuan), and EUR (euro).
Supported number formats include integers, decimals, and the international format with comma separators.
12.50 CNY
Twelve point five zero CNY
12,000,000 CNY
Twelve million CNY
12,000,000.00 CNY
Twelve million CNY
12,000.35 CNY
CNY 12,000.35
Currency identifier + number
$12
Twelve dollars
Supports CAD (Canadian dollar), $ (dollar), Fr (franc), kr (Danish krone), £ (pound), ¥ (yuan), and € (euro).
Supported number formats include integers, decimals, and the international format with comma separators.
$12.00
Twelve dollars
$12.12
2.12 USD
$12,000
Twelve thousand dollars
$12,000.00
Twelve thousand dollars
$12,000.99
12,000.99 USD
Other default readings
1213
One thousand two hundred thirteen
None
1213 KML
One thousand two hundred thirteen K M L
1213.00 KML
One thousand two hundred thirteen K M L
1213.9 KML
One thousand two hundred thirteen point nine K M L
1,000 KML
One thousand K M L
1,000.00 KML
One thousand K M L
1,000.98 KML
One thousand point nine eight K M L
12,000
Twelve thousand
Format
Example
English output
Description
Number + currency identifier
1.00 CNY
one yuan
Supported number formats: integers, decimals, and the international format with comma separators.
Supported currency identifiers:
CN¥ (yuan)
CNY (yuan)
CNY (yuan)
AUD (australian dollar)
CAD (canadian dollar)
CHF (swiss franc)
DKK (danish krone)
EUR (euro)
GBP (british pound)
HKD (Hong Kong dollar)
JPY (japanese yen)
NOK (norwegian krone)
SEK (swedish krona)
SGD (singapore dollar)
USD (united states dollar)
2.02 CNY
two point zero two yuan
1,000.23 CN¥
one thousand point two three yuan
1.01 SGD
one singapore dollar and one cent
2.01 CAD
two canadian dollars and one cent
3.1 HKD
three hong kong dollars and ten cents
1,000.00 EUR
one thousand euros
Currency identifier + number
US$ 1.00
one US dollar
Supported number formats: integers, decimals, and the international format with comma separators.
Supported currency identifiers:
US$ (US dollar)
CA$ (Canadian dollar)
AU$ (Australian dollar)
SG$ (Singapore dollar)
HK$ (Hong Kong dollar)
C$ (Canadian dollar)
A$ (Australian dollar)
$ (dollar)
£ (pound)
€ (euro)
CN¥ (yuan)
CNY (yuan)
CNY (yuan)
AUD (australian dollar)
CAD (canadian dollar)
CHF (swiss franc)
DKK (danish krone)
EUR (euro)
GBP (british pound)
HKD (Hong Kong dollar)
JPY (japanese yen)
NOK (norwegian krone)
SEK (swedish krona)
SGD (singapore dollar)
USD (united states dollar)
$0.01
one cent
JPY 1.01
one japanese yen and one sen
£1.1
one pound and ten pence
€2.01
two euros and one cent
USD 1,000
one thousand united states dollars
Number + quantifier + currency identifier
or
Currency identifier + number + quantifier
1.23 Tn CNY
one point two three trillion yuan
Supported quantifier formats include the following:
thousand
million
billion
trillion
Mil (million)
mil (million)
Bil (billion)
bil (billion)
MM (million)
Bn (billion)
bn (billion)
Tn (trillion)
tn (trillion)
K(thousand)
k (thousand)
M (million)
m (million)
$1.2 K
one point two thousand dollars
measure
Format
Example
Chinese output
Description
Number + Chinese unit
2 pieces
Two pieces
Supports common Chinese units and unit abbreviations.
120 hectares
One hundred twenty hectares
Over 100 milligrams
Over one hundred milligrams
About 100 meters
About one hundred meters
Over 100 people
Over one hundred people
1 centimeter 20 millimeters
One centimeter twenty millimeters
120.00 square kilometers
One hundred twenty square kilometers
Number + unit abbreviation
120.56 cm²
One hundred twenty point five six square centimeters
120 ㎡ 56 cm²
One hundred twenty square meters fifty-six square centimeters
100 m 12 cm 6 mm
One hundred meters twelve centimeters six millimeters
Range
10~15 kg
Ten to fifteen kilograms
10.24~789.82 mu
Ten point two four to seven hundred eighty-nine point eight two mu
10 meters to 15 meters
Ten meters to fifteen meters
10.24 cm~19.08 cm
Ten point two four centimeters to nineteen point zero eight centimeters
Number + unit + "/" + unit
10 yuan/jin
Ten yuan per jin
199 to 299 yuan/piece
One hundred ninety-nine to two hundred ninety-nine yuan per piece
299.99 yuan/g to 399.99 yuan/g
Two hundred ninety-nine point nine nine yuan per gram to three hundred ninety-nine point nine nine yuan per gram
Other default readings
12 dozen
12 bundles
30 rm
Thirty r m
400 million compatriots
Four hundred million compatriots
12.897 micrograms
Twelve point eight nine seven micrograms
Format
Example
English output
Description
Number + unit of measure
1.0 kg
one kilogram
Supported number formats: integers, decimals, and the international format with comma separators.
Supports common unit abbreviations.
1,234.01 km
one thousand two hundred thirty four point zero one kilometres.
Unit of measure
mm2
square millimetre
The following table lists common symbols and how they are read.
Symbol
Chinese reading
English reading
!
Exclamation mark
exclamation mark
“
Double quotation mark
double quote
#
Pound sign
pound
$
dollar
dollar
%
Percent sign
percent
&
and
and
‘
Single quotation mark
left quote
(
Left parenthesis
left parenthesis
)
Right parenthesis
right parenthesis
*
Star
asterisk
+
Plus
plus
,
Comma
comma
-
Bar
dash
.
Point
dot
/
Slash
slash
:
No colon
colon
;
Semicolon
semicolon
<
Less than
less than
=
Equal sign
equals
>
Greater than
greater than
?
Question mark
question mark
@
at
at
[
Left square bracket
left bracket
\
Backslash
back slash
]
Right square bracket
right bracket
^
Caret
caret
_
Underscore
underscore
`
Backtick
back quote
{
Left brace
left brace
|
Vertical line
vertical bar
}
Right brace
right brace
~
Tilde
tilde
!
Exclamation mark
exclamation mark
“
Left double quotation mark
left double quote
”
Right double quotation mark
right double qute
‘
Left single quotation mark
left quote
’
Right single quotation mark
right quote
(
Left parenthesis
left parenthesis
)
Right parenthesis
right parenthesis
,
Comma
comma
。
Period
full stop
—
Bar
em dash
:
Colon
colon
;
Semicolon
semicolon
?
Question mark
question mark
、
Enumeration comma
enumeration comma
…
Ellipsis
ellipsis
……
Ellipsis
ellipsis
《
Left book title mark
left guillemet
》
Right book title mark
right guillemet
¥
CNY symbol
yuan
≥
Greater than or equal to
greater than or equal to
≤
Less than or equal to
less than or equal to
≠
Not equal to
not equal
≈
Approximately equal to
approximately equal
±
Plus or minus
plus or minus
×
Multiply
times
π
Pi
pi
Α
Alpha
alpha
Β
Beta
beta
Γ
Gamma
gamma
Δ
Delta
delta
Ε
Epsilon
epsilon
Ζ
Zeta
zeta
Θ
West Tower
theta
Ι
Iota
iota
Κ
Kappa
kappa
∧
Lambda
lambda
Μ
Mu
mu
Ν
Persistent
nu
Ξ
Kexi
ksi
Ο
Omicron
omicron
∏
Pi
pi
Ρ
Flexible
rho
∑
Sigma
sigma
Τ
Tau
tau
Υ
Upsilon
upsilon
Φ
fai
phi
Χ
Container
chi
Ψ
Psi
psi
Ω
Omega
omega
α
Alpha
alpha
β
Beta
beta
γ
Gamma
gamma
δ
Delta
delta
ε
Epsilon
epsilon
ζ
Zeta
zeta
η
Eta
eta
θ
Xita
theta
ι
Iota
iota
κ
Kappa
kappa
λ
Lambda
lambda
μ
Mu
mu
ν
Twist
nu
ξ
Casey
ksi
ο
Omicron
omicron
π
Pi
pi
ρ
Flexible
rho
σ
Sigma
sigma
τ
Settings
tau
υ
Upsilon
upsilon
φ
fai
phi
χ
Chi
chi
ψ
Psi
psi
ω
Omega
omega
The following table lists common units of measurement.
Format
Category
Chinese example
English example
Abbreviation
Length
nm (nanometer), μm (micrometer), mm (millimeter), cm (centimeter), m (meter), km (kilometer), ft (foot), in (inch)
nm (nanometer), μm (micrometer), mm (millimeter), cm (centimeter), m (meter), km (kilometer), ft (foot), in (inch)
Area
cm² (square centimeter), ㎡ (square meter), km² (square kilometer), SqFt (square foot)
cm² (square centimeter), ㎡ (square meter), km2 (square kilometer), SqFt (square foot)
Volume
cm³ (cubic centimeter), m³ (cubic meter), km³ (cubic kilometer), mL (milliliter), L (liter), gallon (gallon)
cm³ (cubic centimeter), m³ (cubic meter), km3 (cubic kilometer), mL (milliliter), L (liter), gal (gallon)
Weight
μg (microgram), mg (milligram), g (gram), kg (kilogram)
μg (microgram), mg (milligram), g (gram), kg (kilogram)
Time
min (minute), sec (second), ms (millisecond)
min (minute), sec (second), ms (millisecond)
Electromagnetic
μA (microampere), mA (milliampere), Ω (ohm), Hz (hertz), kHz (kilohertz), MHz (megahertz), GHz (gigahertz), V (volt), kV (kilovolt), kWh (kilowatt-hour)
μA (microamp), mA (milliamp), Hz (hertz), kHz (kilohertz), MHz (megahertz), GHz (gigahertz), V (volt), kV (kilovolt), kWh (kilowatt hour)
Sound
dB (decibel)
dB (decibel)
Atmospheric pressure
Pa (pascal), kPa (kilopascal), Mpa (megapascal)
Pa (pascal), kPa (kilopascal), MPa (megapascal)
Other common units
Supports Chinese units not limited to the categories above, such as "meter", "second", "dollar", "milliliter per bottle", and Chinese classifiers for items such as aircraft, events, cattle, movies, and pots.
Supports units of measurement not limited to the categories above, such as tsp (teaspoon), rpm (revolutions per minute), KB (kilobyte), and mmHg (millimeters of mercury).
Tag relationship
The <say-as> tag can contain text and the <vhml/> tag.
Examples
cardinal
<speak> <say-as interpret-as="cardinal">12345</say-as> </speak>Audio effect in Chinese: SSML-say-as_Cardinal.mp3
<speak> <say-as interpret-as="cardinal">10234</say-as> </speak>Audio effect in English: en-SSML-say-as_cardinal.mp3
digits
<speak> <say-as interpret-as="digits">12345</say-as> </speak>Audio effect in Chinese: SSML-say-as_digit.mp3
<speak> <say-as interpret-as="digits">10234</say-as> </speak>Audio effect in English: en-SSML-say-as_digits.mp3
telephone
<speak> <say-as interpret-as="telephone">12345</say-as> </speak>Audio effect in Chinese: SSML-say-as_Telephone.mp3
<speak> <say-as interpret-as="telephone">10234</say-as> </speak>Audio effect in English: en-SSML-say-as_telephone.mp3
name
<speak> Her former name was <say-as interpret-as="name">Zeng Xiaofan</say-as> </speak>Audio effect: SSML-say-as_Name.mp3
address
<speak> <say-as interpret-as="address">Fulu International, Building 1, Unit 3, Room 304</say-as> </speak>Audio effect: SSML-say-as_Address.mp3
id
<speak> <say-as interpret-as="id">myid_1998</say-as> </speak>Audio effect: SSML-say-as_id.mp3
characters
<speak> <say-as interpret-as="characters">Greek letters αβ</say-as> </speak>Audio effect in Chinese: SSML-say-as_characters.mp3
<speak> <say-as interpret-as="characters">*b+3.c$=α</say-as> </speak>Audio effect in English: en-SSML-say-as_characters.mp3
punctuation
<speak> <say-as interpret-as="punctuation"> -./:;</say-as> </speak>Audio effect: SSML-say-as_punctuation.mp3
date
<speak> <say-as interpret-as="date">1000-10-10</say-as> </speak>Audio effect in Chinese: SSML-say-as_date.mp3
<speak> <say-as interpret-as="date">10-01-2020</say-as> </speak>Audio effect in English: en-SSML-say-as_date.mp3
time
<speak> <say-as interpret-as="time">5:00am</say-as> </speak>Audio effect in Chinese: SSML-say-as_time.mp3
<speak> <say-as interpret-as="time">0500</say-as> </speak>Audio effect in English: en-SSML-say-as_time.mp3
currency
<speak> <say-as interpret-as="currency">13,000,000.00CNY</say-as> </speak>Audio effect in Chinese: SSML-say-as_currency.mp3
<speak> <say-as interpret-as="currency">$1,000.01</say-as> </speak>Audio effect in English: en-SSML-say-as_currency.mp3
measure
<speak> <say-as interpret-as="measure">100m12cm6mm</say-as> </speak>Audio effect in Chinese: SSML-say-as_measure.mp3
<speak> <say-as interpret-as="measure">1,000.01kg</say-as> </speak>Audio effect in English: en-SSML-say-as_measure.mp3
Comprehensive example
This example demonstrates how to use SSML in detail. You can copy the code to the project configuration in the console to test the effect. Audio effect: Comprehensive example.mp3.
The narrator's voice in the sample audio is a custom voice that is not yet publicly available. To try custom voices, see Speech Synthesis Voice Customization.
Each short-text speech synthesis request can contain up to 300 characters and can use the <speak> tag only once. The following example must be synthesized in multiple parts, with one part for each <speak> tag.
<speak>
Legend has it that during the Northern Song Dynasty,
on <say-as interpret-as="date">1121-10-10</say-as>,
the morning outside <say-as interpret-as="address">Kaifeng City</say-as>
was filled with the joyous atmosphere of shopping before
<sub alias="Double 11">11.11</sub>.
Just as a mule train carrying goods entered the city gate
<soundEvent src="http://nls.alicdn.com/sound-event/bell.wav"/>,
a fair-skinned, beautiful
<phoneme alphabet="py" ph="de5">girl</phoneme>
stopped a young man in the front row named <say-as interpret-as="name">A Fa</say-as>.
</speak>
<speak voice="xiaomei">
"Dear, our shop has a special offer today. Get
<say-as interpret-as="cardinal">100</say-as>
off for every
<say-as interpret-as="digits">199</say-as>
spent on shoes. Don't miss out!"
</speak>
<speak voice="sicheng" rate="150">
"No, no, I'm in a hurry to deliver goods. It's already
<say-as interpret-as="time">09:59:59</say-as>.
Any later and the supply chain will be broken."
</speak>
<speak>
<say-as interpret-as="name">A Fa</say-as>
wiped his sweat and led the delivery team through the bustling alley, his ears filled with various cries of vendors:
</speak>
<speak voice="ninger" rate="200">
"Latest patterns, freshly dyed cloth. Buy two chi, get one chi free!"
</speak>
<speak voice="xiaobei">
"Best-selling gauze hats and helmets. 7-day no-reason return!"
</speak>
<speak voice="sijia">
"Specializing in major and minor pulses, treating difficult and complex diseases for men and women."
</speak>
<speak>
Suddenly, a horse, somehow startled, neighed and galloped wildly down the road.
<soundEvent src="http://nls.alicdn.com/sound-event/horse-neigh.wav"/>
A child, also frightened, stumbled into an adult's arms
<break time="50ms"/>and shouted:
</speak>
<speak voice="sitong" rate="150">
"Mom, Mom!"
</speak>
<speak>
At this moment,
<say-as interpret-as="name">A Fa</say-as>
thought to himself,
</speak>
<speak effect="robot" pitch="-100">
"That scared me to death!"
</speak>
<speak>
So he quickly clutched his
<phoneme alphabet="py" ph="he2 bao1">wallet</phoneme>
and continued on his way to deliver the goods. Along the way,
the prosperous scene of <say-as interpret-as="address">Kaifeng City</say-as>
left a deep impression on
<say-as interpret-as="name">A Fa</say-as>.
</speak>
<speak bgm="http://nls.alicdn.com/bgm/2.wav" backgroundMusicVolume="30" rate="-200">
Times change and glory fades. So, after the shopping spree, he picked up a brush and painted a long scroll, naming it "Along the River During the Qingming Festival".
</speak>