SALT (Speech Application Language Tags) 는 다양한 종류의 정보기기 (PC,전화,Tablet PC,PDA)에
전화를 통한 다양한 접속방식을 가능하게 해주는 음성 어플리케이션 언어스펙이다.
VoiceXML 처럼 하나의 언어 풀셋을 정의하지 않고 기존의 HTML,XHTML,XML을 확장하는 방식이다.
다양한 접속방식(Multimodal Access)이란 음성,키보드,키패드,마우스 나 스타일러스를 통한 입력과
녹음된 멘트,TTS 음성,화상 또는 그래픽과 같은 형태의 출력을 내보내는 것을 말한다.
이를 통해서 사용자는 다양한 방식으로 자신이 원하는 정보를 찾고 얻을수 있다.
SALT 를 통해서 이런 각각의 입/출력 방식은 단독으로 또는 동시에 이용될수 있다.
SALT 는 W3C 가 주도하는 VoiceXML과 달리 Microsoft 와 Speechworks사가 주도적으로 이끌고 있으며,
SALT Forum에는 Cisco , Intel , Comverse , Philips 등 70여개사가 참여하고 있다.
Microsoft는 Speechserver 제품군에 SALT 를 적용하고 있으며, .NET 환경에서 사용할수 있도록 지원하고 있다.
ScanSoft사에 합쳐진 Speechworks사는 VoiceXML 의 든든한 후원자이기도 하지만, SALT 에도 적극참여하고 있다.
* VoiceXML 과 SALT 의 비교
[#!_계속 읽기.. ▽|그만 볼래요.. △_!#]
둘다 XML 기반으로 음성기반 어플리케이션을 작성하기 위한 음성 입출력태그,문법태그등을 가지고 있다.
웹기반 아키텍쳐를 이용하며, 특정 브라우저에 의해 읽힐경우 음성으로 출력하고 음성으로 입력받는것이
가능하게 처리된다. ( 전화를 통한 억세스는 브라우저 게이트웨이라고 보면 된다. )
하지만 VoiceXML 은 약 60개의 자체 태그셋 를 가지고 FIA(Form Interpretation Algorithm)에 의해 순차적으로 동작하나,
SALT 는 웹에서 사용하던 기존 마크업랭귀지에 몇개의 태그와 스크립트 형태로 기능을 추가한다.
VoiceXML 은 1999년에 제창되어 Web기반 신기술이 많이 적용되지 못한 구조이나, 2002년에 디자인된 SALT는
XML,DOM 등의 기반기술이 많이 나온후에 설계되어 , 신기술 적용이 되어있고 정리가 잘되어 있다.
– IVR 시나리오 VXML 버전
<vxml version=“2.0”>
<form id=“Welcome”>
<block>
음성인식 IVR 입니다.
<goto next=“#askName” />
</block>
</form>
<form id=“askName” >
<field id=“ReqName”>
<prompt>
이름을 말씀해 주세요
</prompt>
<grammar src=“csName.grxml” />
</field>
<filled>
<submit next=“checkName.vxml”/>
</filled>
</form>
</vxml>
– IVR 시나리오 SALT 버전
<html xmlns:salt=“http://www.saltforum.org/02/SALT”>
<body onload=“Welcome.Start()”>
<form id=“askName” action=“checkName.html”>
<input id=“ReqName” type=“text” />
</form>
<salt:prompt id=“Welcome” oncomplete=“askName.Start(); recoName.Start()”>
음성인식 IVR 입니다.
</salt:prompt>
<salt:prompt id=“askName”>
이름을 말씀해 주세요
</salt:prompt>
<salt:listen id=“recoName” onreco=“askName.submit()”>
<salt:grammar src=“csName.grxml” />
<salt:bind targetElement=“askName” />
</salt:listen>
</body>
</html>
위와 같이 SALT 는 기존의 HTML 에 태그를 추가함으로써 음성입력부 추가가 가능하다.
기존의 웹개발자에게는 SALT 방식이 더 익숙하며, 마이크로소프트는 이를 기반으로
웹상에서의 멀티모달 억세스방식을 밀고나가는 전략을 구사중이다.
이것은 마치 VoiceXML의 제1후원자인 IBM 과 SALT 를 이끄는 Microsoft 의 힘겨루기인 것 처럼 보인다.
* VoiceXML 과 SALT 가 가져다 주는것
VoiceXML 은 IVR 개발자들에게 플랫폼(음성하드웨어 or OS) 독립적인 서비스를 구축하는데 도움을 준다.
HTML 이 텍스트를 보여주는 한 방식인것 처럼, VoiceXML 음성을 컴퓨터 언어로 나타내는 한 방식인것이다.
하드코딩된 IVR 이 아닌 동적으로 시나리오가 변경되는 서비스를 구현하는 표준언어라고 볼수있다.
VoiceXML 을 통해 음성하드웨어에 익숙치 않은 컨텐츠 개발자도 텔레포니 컨텐츠 구축을 할수 있을것이다.
(사실 음성하드웨어에 익숙치 않은 개발자가 텔레포티 컨텐츠를 구축한다는게 제한적이긴 하다. )
SALT 역시 개발자들에게 플랫폼 독립적인 서비스를 구축하는데 도움을 주지만,
조금더 영역을 넓혀 , PC 를 넘어 PDA 나 핸드폰에까지 구현하는것을 목표로 하고 있다.
기존에 사용된 HTML,XHTML,XML 에 음성을 추가해주는 확장규격형태를 취하고 있어,
기존에 Web 으로 작성된 많은 어플리케이션들을 음성언어형태로 표현하는데 도움을 줄수있다.
PDA 에서 SALT 를 생각해 보면 , 일반적으로 PDA 용 페이지는 작게 새로 구축을 하는데
여기다 SALT 태그를 추가함으로써 사용자는 스타일러스 대신 음성을 이용하여 페이지를 넘기고
페이지의 내용은 TTS 를 이용하여 들어볼수도 있는 구조가 되는것이다.
(MS 는 이미 Pocket IE 에 SALT 지원을 추가하겠다고 밝혔다.)
두가지 규약이 싸우는것 처럼 보이기도 하지만, 추구하는 목적이 약간 다르기에..
가까운 장래에 서로의 영역을 보완하여 하나의 규약으로 거듭날수도 있지 않을까 생각한다.
참고자료 :
SALT Forum
VoiceXML Forum
SALT or VoiceXML For Speech Applications? – Stephen Potter
SALT or VXML? – NMS Communications
[#!_END_!#]