Speech and Voice Recommendations

This topic provides developer information for implementing speech support in an Xbox One ADK application.

Recommendations for Supporting Speech in Xbox One ADK Applications

Speech is a great way for users to control your application without the need for a controller or gestures. If your application supports speech, you need to be aware of the following constraints and recommendations:

Dynamic content that relies on dynamic grammars needs to be carefully handled. When implementing dynamic grammars ensure that the following points are addressed:

Applications that do not address these three important points should instead use static grammars for dynamic content. For example, use phrases such as “Item 1”, “Item 2”, or “Video 1” when selecting specific dynamic content.

Note To support VUI in Japanese, you must configure the pronunciation constituent of the data-win-voice attribute.

Recommendations for Improving Your Grammar Content

It is important that the phrases in your grammar do not contain punctuation, symbols, and accented characters. Passing any of these items to the speech engine will result in silent failures and an inability to recognize the corresponding phrase. There are some cases where automatic handling is provided by the console but you should not depend on this.

Below is the list of what is currently removed by the dash for phrases in their grammars. Your application should also remove these characters.

Unicode (0x0021 - 0x007E)

Unicode Character
0x0021 !
0x0022
0x0028 (
0x0029 )
0x002A *
0x002D -
0x002F /
0x003A :
0x003B ;
0x003C <
0x003E >
0x003F ?
0x005B [
0x005D ]
0x005F _
0x0060 `
0x007B {
0x007C |
0x007D }
0x007E ~

Unicode (0x00A1 - 0x2122)

Unicode Character
0x00A1 Upside-down exclamation
0x00A6 Broken bar
0x00AB Left typographic double quote
0x00AE Registered trademark
0x00B4 Right single quote, back-tick
0x00B7 Interpunct
0x00BB Right typographic double quote
0x00BF Upside down question mark
0x02BC Right inverted comma
0x02BD Left inverted comma
0x03B2 Lowercase Greek beta
0x2013 Dash
0x2018 Left single quote
0x2019 Right single quote
0x201C Left double quote
0x201D Right double quote
0x201E Inverted left double quote, double comma
0x2020 Dagger
0x2022 Bullet
0x2026 Ellipsis
0x2039 Left typographic single quote
0x203A Right typographic single quote
0x2117 Sound recording copyright, published
0x2122 Trademark

Unicode (0x2605 - 0xFFE3)

Unicode Character
0x2605 Black star
0x2606 White star
0x2665 Black heart
0x3001 Ideographic comma
0x3002 Ideographic full stop
0x3008 Left angle bracket quote
0x3009 Right angle bracket quote
0x300A Left angle bracket double quote
0x300B Right angle bracket double quote
0x300C Left corner bracket quote
0x300D Right corner bracket quote
0x300E Left white corner bracket quote
0x300F Right white corner bracket quote
0x3010 Left black lenticular bracket
0x3011 Right black lenticular bracket
0x30FB Katakana middle dot
0xFF01 Full width exclamation mark
0xFF08 Full width left parenthesis
0xFF09 Full width right parenthesis
0xFF0A Full width asterisk
0xFF0B Full width plus sign
0xFF0D Full width minus sign
0xFF0F Full width forward slash, full width solidus
0xFF1C Full width less-than, full width left angle bracket
0xFF1E Full width greater-than, full width right angle bracket
0xFF2F Full width circle, full width capital O
0xFF38 Full width capital X
0xFF5E Full width tilde
0xFFE3 Full width macron, full width overline

Text Normalization

Text normalization is a process which converts organized patters of symbols, based on a rule-based system, into words that are recognizable by the speech engine. For catalog entries, text normalization is used for the following categories of content:

The examples below are for U.S. English. However, each supported locale has its own set of rules specific to its number system.

Cardinal Numbers

The rule for cardinal numbers takes precedence for numbers not in the range of: 1900-2050

Sample Input Normalized Format
9,123 nine thousand one hundred twenty three
123 one hundred twenty three
10,000 ten thousand
9,124 Nine one two four
105 A hundred and five
105 A hundred oh five
106 One oh six
125 A hundred twenty five
125 A hundred and twenty five
325 Three hundred twenty five
425 Four twenty five
1,500 A thousand five hundred
2,345 Two thousand three forty five
9005 Nine thousand and five
9,305 nine thousand three hundred and five
50,000 fifty thousand
100,000 one hundred thousand
500,000 Nine thousand and five
1,000,000 One million
5,000,000 Five million
10,000,000 Ten million
50,000,000 Fifty million

Ordinal Numbers

Sample Input Normalized Format
1st first
2nd second
3rd third
4th fourth
5th fifth
6th sixth
7th seventh
8th eighth
9th ninth
10th tenth

Years

The rule for years takes precedence for numbers are in the range of: 1900-2050.

Sample Input Normalized Format
1940 nineteen forty
1998 nineteen ninety-eight
2002 two thousand two
1996 nineteen ninety six
2008 Two thousand eight
2011 Twenty Eleven, Two Thousand Eleven

Some common abbreviations for years are also covered.

Sample Input Normalized Format
‘93 ninety three
‘00 two thousand
‘08 oh eight
‘09 oh nine

Decades

Decades are covered in various forms.

Sample Input Normalized Format
50’s, ‘50s, and 50s fifties
60’s, ‘60s, and 60s sixties
70’s, ‘70s, and 70s seventies
80’s, ‘80s, and 80s eighties
90’s, ‘90s, and 90s nineties
00’s, ‘00s, and 00s two thousands
40’s, ‘40s, and 40s forties
30’s, ‘30s, and 30s thirties
20’s, ‘20s, and 20s twenties

Abbreviations

Abbreviations are covered in various forms depending on the locale. The EN-GB, EN-AU, and EN-US lexicons handle the following:

Sample Input Normalized Format
Mr. m ih s t ax
Mrs. m ih s ih z (or m ih s ax z)
Ms. m ih z (or m ax z)
Inc. ih ng k
Inc. ih n k oo p ax r ey t ih d
Note For EN-US, the normalized text is ih n k oo r p ax r ey t ih d.
Inc. ih ng k oo p ax r ey t ih d
Ph.D. p iy ey ch d iy
doa d iy ow ey
dr. d r ay v ( or d o k t ax)
Note For EN-US, the normalized text is d r ay v (or d o k t ax r).
vs. v er s ax s
vol. v o l j uw m (or v o l j uh m)
vol. v o l j ax m
ltd. l ih m ih t ih d (or l ih m ax t ih d)
st. s t r iy t (or s ey n t)
ave. ae v ax n j uw (or ae v ih n j uw)
co. k ah m p ax n iy)
° d ax g r iy z
° d ih g r iy z
° d iy g r iy z
o ow

See also

Overviews