Est. 2001 Advanced

SALT

Speech Application Language Tags let developers bolt voice input and output onto ordinary HTML and XML pages; Microsoft-led industry consortium backing gave it real products, but the W3C's preference for VoiceXML left it a historical footnote

Created by SALT Forum (Cisco Systems, Comverse, Intel, Microsoft, Philips Speech Processing, and SpeechWorks International)

Paradigm Markup, declarative tag-based scripting embedded in HTML/XML
Typing N/A (markup vocabulary, not a typed programming language)
First Appeared 2001 (SALT Forum founded); 1.0 specification released 15 July 2002
Latest Version 1.0 (15 July 2002), submitted to the W3C Multimodal Interaction Activity the same year; no later version was published

SALT — Speech Application Language Tags — was a markup vocabulary for adding speech recognition and speech synthesis to ordinary HTML and XML pages, developed by an industry consortium led by Microsoft in the early 2000s. Rather than defining a standalone voice-application language the way VoiceXML did, SALT was designed as a thin, embeddable layer: a handful of tags such as <listen>, <prompt>, <dtmf>, and <smex> that a browser or telephony platform could interpret alongside the existing markup, scripting, and DOM event model developers already knew.

History & Origins

On 15 October 2001, Cisco Systems, Comverse, Intel, Microsoft, Philips Speech Processing, and SpeechWorks International announced the formation of the SALT Forum, an industry group chartered to develop “a royalty-free, platform-independent standard” for multimodal and telephony-enabled access to information and web services from PCs, phones, tablets, and wireless PDAs. The forum reportedly attracted additional member and supporting companies over the following year, though a precise membership count is not well documented. It published the Speech Application Language Tags 1.0 specification on 15 July 2002 and contributed it to the World Wide Web Consortium’s Multimodal Interaction Activity the following month, seeking recognition as a web standard alongside — and in direct competition with — VoiceXML, which the W3C’s own Voice Browser Working Group had already been developing.

SALT’s central design choice was integration rather than replacement: instead of asking developers to write a separate voice-only application, as VoiceXML did, SALT tags could be sprinkled directly into an existing HTML or XML page’s markup, with JavaScript and DOM events used to wire speech events into the page’s existing logic. That made it a natural fit for Microsoft’s web tooling, and Microsoft was, from the outset, the technology’s most committed backer — shipping a beta of its .NET Speech SDK with a SALT-interpreting speech add-in for Internet Explorer within months of the 1.0 release.

Design Philosophy

SALT’s guiding idea was that speech should be one more input and output modality layered onto the web platform developers already used, not a parallel universe of dedicated voice markup. A <listen> element captured speech or DTMF (touch-tone) input and bound recognized results to page variables or script; a <prompt> element played synthesized speech or a recorded audio file; and <smex> (speech markup extension) provided a generic channel for platform-specific messaging, such as telephony call control. Because SALT elements were designed to be embedded inside HTML or XML rather than standing alone, application logic, page flow, and visual rendering could stay in familiar web technologies while SALT handled only the speech-specific pieces — an approach well suited to “multimodal” applications where a user might tap, type, and talk to the same page.

Key Features

  • <listen> — configured speech and DTMF recognition, grammars, and recognition results
  • <prompt> — text-to-speech synthesis or playback of pre-recorded audio prompts
  • <dtmf> — dedicated handling of telephone keypad input for IVR-style applications
  • <smex> — a generic extension element for platform- and telephony-specific messaging, including call control
  • HTML/XML embedding — SALT tags lived inside a page’s existing markup (via an XML namespace) rather than requiring a separate document, with page script and DOM events used to connect speech results to application logic
  • Multimodal targeting — designed to serve both visual devices (PCs, tablets, browsers) and voice-only telephony channels from a shared markup approach

Evolution

SALT 1.0, published in July 2002, was the only version of the specification the SALT Forum ever released; no 1.1 or 2.0 followed. Microsoft carried SALT forward commercially through Speech Server 2004, which used it as the primary application markup for telephony and multimodal speech services. But the standards contest SALT had entered in 2002 did not go its way: the W3C’s own Voice Browser Working Group continued developing VoiceXML, and VoiceXML 2.0 reached full W3C Recommendation status in March 2004, giving it the formal standards backing SALT’s industry-consortium submission never achieved. By 2006 Microsoft concluded that Speech Server needed to support VoiceXML to remain competitive, joined the VoiceXML Forum as a Promoter member that April, and shipped VoiceXML 2.0/2.1 support alongside SALT in Speech Server 2007. Microsoft’s 2007 acquisition of Tellme Networks, a prominent VoiceXML-based voice platform, further cemented the industry’s consolidation around VoiceXML rather than SALT.

Current Relevance

SALT never received a specification update after 2002 and the SALT Forum’s public activity effectively ended within a few years of its founding. Microsoft’s own products moved to standardize on VoiceXML during the mid-2000s, and no other major platform vendor adopted SALT as a primary voice markup. It survives today only as a documented historical episode in the early-2000s contest over how speech would be added to the web — the specification text and the Microsoft .NET Speech SDK materials that implemented it remain the only lasting artifacts.

Why It Matters

SALT is a useful case study in a standards fight decided as much by institutional backing as by technical merit: a well-funded industry consortium with major vendors behind it still lost out to VoiceXML once the W3C’s own working group carried that specification to Recommendation status. SALT’s embed-it-in-the-page approach to multimodal interaction — mixing speech with visual and touch input on the same document — anticipated ideas that would resurface years later in web speech APIs built directly into browsers, even though SALT itself did not survive to be part of that later work.

Timeline

2001
Cisco Systems, Comverse, Intel, Microsoft, Philips Speech Processing, and SpeechWorks International found the SALT Forum on 15 October to develop a royalty-free markup standard for multimodal and telephony-enabled applications
2002
The SALT Forum publishes the Speech Application Language Tags 1.0 specification on 15 July and contributes it to the W3C's Multimodal Interaction Activity the following month
2002
Microsoft ships a beta of its .NET Speech SDK, including a SALT-interpreting speech add-in for Internet Explorer, so developers could test SALT-enabled pages in a browser
2004
Microsoft Speech Server 2004 ships with SALT as its supported markup for telephony and multimodal speech applications, while the W3C advances the competing VoiceXML 2.0 to Recommendation status in March
2006
Microsoft joins the VoiceXML Forum as a Promoter member in April, signaling that Speech Server would need to support the W3C-backed VoiceXML standard to stay competitive
2007
Microsoft Speech Server 2007 adds VoiceXML 2.0/2.1 support alongside SALT; Microsoft acquires VoiceXML platform provider Tellme Networks the same year

Notable Uses & Legacy

Microsoft Speech Server (2004 and 2007 editions)

Microsoft's telephony and multimodal speech server products used SALT as their primary markup language for building voice-response and speech-enabled web applications

Microsoft .NET Speech SDK / Internet Explorer speech add-in

A browser plug-in and SDK let developers embed SALT tags directly into HTML pages so IE could recognize speech input and play synthesized prompts alongside the visual UI

Language Influence

Influenced By

HTML XML VoiceXML

Running Today

Run examples using the official Docker image:

docker pull
Last updated: