Note

Please see Azure Cognitive Services for Speech documentation for the latest supported speech solutions.

Overview of VoiceXML Support (Microsoft.Speech)

Support for VoiceXML in the Microsoft Speech Platform SDK consists of the VoiceXML runtime and two .NET Framework namespaces, Microsoft.Speech.VoiceXml and Microsoft.Speech.VoiceXml.Common, which provide access to the VoiceXML runtime.

VoiceXML Runtime

The VoiceXML runtime consists of a VoiceXML interpreter and a layer of interfaces that connect the VoiceXML interpreter to the required speech and system resources, such as speech recognition engines, speech synthesis engines, input and output audio streams, recorder, tone controller, and logging.

Microsoft.Speech.VoiceXml Namespace

The Microsoft.Speech.VoiceXml namespace consists of two classes: Browser and Browser.CallProxy.

The generic Browser base class provides platform-independent access to the VoiceXML runtime. The Browser class also makes use of enumerated types, EventArgs classes, and interpretation result classes that are contained in the Microsoft.Speech.VoiceXml.Common namespace.

Browser is an abstract class that serves as a base for derived classes. The Browser class in the Microsoft.Rtc.Collaboration.AudioVideo.VoiceXml namespace derives from Browser and has access to all its public members.

A Browser instance is associated with a VoiceXML page (the start page) that is specified by a URI. A .NET application normally instantiates a Browser instance and connects to audio inputs and outputs, speech engines, a recorder, a tone processer, and then starts processing a VoiceXML page by calling either the Run(Uri, CookieContainer) or the RunAsync(Uri, CookieContainer) method. For more information, see Browser Class (Microsoft.Speech).

The Browser.CallProxy class is used by classes that derive from the Browser class to pass information about calls to the VoiceXML interpreter. See Browser.CallProxy class for more information.

Microsoft.Speech.VoiceXml.Common Namespace

The Microsoft.Speech.VoiceXml.Common namespace contains several enumerated types for communicating state. It also includes EventArgs classes and properties that are associated with the events in the Browser class. Additional classes are used as containers for the results of VoiceXML interpretation. The Browser class in the Microsoft.Rtc.Collaboration.AudioVideo.VoiceXml namespace also makes use of the members of the Microsoft.Speech.VoiceXml.Common namespace

For more information, see VoiceXML.Common Namespace (Microsoft.Speech).

Creating VoiceXML Applications

The Microsoft Speech SDK does not instruct developers on creating VoiceXML documents. See the Microsoft Speech Technologies Developer Center for information about authoring VoiceXML applications.

Also see the following specifications of the World Wide Web Consortium (W3C):

Voice Extensible Markup Language (VoiceXML) Version 2.0

Voice Extensible Markup Language (VoiceXML) 2.1