VoiceXMLを利用する方法は?
VoiceXMLを利用して音声出力したり音声認識したりするためには、どのようなソフトウェアが必要で、どんなプログラミングをすればいいのですか?

回答/富士ソフトABC株式会社 技術センター
2002/1/18

■どんなソフトウェアが必要か

 まず、どんなソフトウェアが必要か紹介しましょう。VoiceXMLを利用するためには、基本的に以下のようなソフトウェアが必要になります。

音声合成エンジン:音声を読み上げるため
音声認識エンジン:話者の音声を認識してデジタルデータに変えるため
VoiceXMLを解釈する音声ブラウザ:VoiceXMLを処理して、読み上げや音声認識をつかさどるため

 

VoiceXMLのアーキテクチャモデル

 これ以外にも、もしもVoiceXMLで作成した音声アプリケーションを電話(公衆回線)などを通じて利用できるようにするのであれば、ほかにVoIPゲートウェイなどの設備が必要です。

 市販されている既存の音声合成エンジン、音声認識エンジンを使用してVoiceXMLブラウザを実装することは各所で試みられていますが、これらを独力で用意するのは非常に困難でしょう。下記にVoiceXMLを基盤とした商品やサービスを紹介しますので、参考にしてください。

IBM WebSphere Voice Server
VoiceXMLエディタなどの開発環境が提供されています
OKI CTstage VoiceXMLパッケージ
国産初のVoiceXML対応製品
NTTコミュニケーションズ
音声コンテンツの開発が体験ができる「Vポータルスタジオ」
日本テレコム Voizi
音声コンテンツの開発が体験ができる「Voizi Lab !」

 次に、VoiceXMLのプログラミングについて簡単に説明します。ここでは、下記のプログラムを使用して動作確認しました。

IBM WebSphere Voice Server SDK Version 1.5

 提供されるToolkitには日本語対応の音声エンジンは含まれていませんが、PC上でVoiceXMLのアプリケーションを模擬実行できるため、比較的簡単にVoiceXMLを試すことができます。

■どんなプログラミングをするのか

 最初にVoiceXMLの簡単なサンプルを書いてみます。

<?xml version="1.0"?>
<vxml version="1.0">
    <form>
           <block>Hello World!</block>
    </form>
</vxml>
リスト1 VoiceXMLの簡単なサンプル(HelloWorld.vxml

 HelloWorld.vxmlを音声ブラウザで実行すると、「Hello World」とPCのスピーカから聞こえてくるはずです。 この簡潔なリストを見てください。いままでの音声を扱うプログラムであれば、初期化処理や終了処理などの煩雑な手続きがどうしても必要でした。しかしVoiceXMLでは、そのような煩雑な手続きなしに音声を扱うことができるのです。

 企業などに電話をしたときに「XXX株式会社です。どの部署におつなぎしますか? 営業部なら1を、人事部なら2を……」のようなアナウンスが流れることがあります。VoiceXMLでは、このようなやりとりをXMLでプログラムできるのです。対話のサンプルを見てみましょう。下記はサンプルプログラム(example.vxml)を実行した結果です。人間との対話が実現できています。

  PC:This is the example of VoiceXML.
  PC:Which language in the next are you good at?
  PC:C.
  PC:Java.
  PC:COBOL.
  PC:Others.
話者:COBOL.
  PC:The program language which you like is COBOL.

 複雑な対話を実現することを考えると、細かい処理までいちいちVoiceXMLを書いていては大変なので、各社からグラフィカルな開発環境が提供されています。一般的には、それらを利用することになります。

 上記のサンプルプログラムの詳細については解説しませんが、VoiceXMLの詳細については、Voice eXtensible Markup Language version 1.0を参照してください。

■VoiceXMLは期待されています

 既存のCTI関連システムでは、応答用のシナリオを表現するのに独自の方法を採っていました。今後登場するであろうシームレスなWebサービスに音声応答を利用する場合、各社独自の仕様では相互運用性に大きな問題が生じます。VoiceXMLを使用することによって、多くの音声応答システムが相互に連携して動作できるようになるはずです。

 VoiceXMLは、携帯電話やカーナビゲーションなどから音声によってWeb上のサービスを利用することや音声で操作できる家電品などへの応用が期待されています。

 XMLコンソーシアムでは、VoiceXMLの普及促進を目的としたVoiceXML部会が活動しています。興味のある方はぜひ参加してみてください。

 

「Ask XML Expert」


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間