TAA; A Tool for Animated Agents

TAA r0.75 Download

<<TAAの使い方>> ・TAAの入手方法 http://www.ntt.dis.titech.ac.jp/home/yuasa/taa/taa.html にて入手する.なお,将来,入手先のURLが変更されるかもしれないが, その際には, http://www.ntt.dis.titech.ac.jp/home/yuasa/ に情報を載せていく予定である. ・動作条件 TAAを利用するためには,Internet Explorer(IE)が必要である. IE上で,JavaScriptとMS-Agentが動くことが条件である. TAAのページを表示すれば,通常,MS-Agentのモジュールは自動的にダウンロードされるが, うまくいかない場合は,マイクロソフトからモジュールをダウンロードする. ダウンロードページは http://www.microsoft.com/msagent/downloads.htm で,MSagent.exe,AgtX0411.exe(language component )を入手する. 日本語を発声しない場合は、マイクロソフトから日本語の拡張モジュールを ダウンロードする必要がある. 上のページの中程にある「Text-to-speech engines」のプルダウンメニューから, 日本語版の「Lernout \& Hauspie TTS3000 Text-To-Speech Engine -Japanese(3MB exe)」 を選択し,Download selected engineをクリックする. ダウンロード・ファイル名は「lhttsjpj.exe」である. ダウンロード後、クリックするだけでインストールされる. windows XPでは,上記モジュールをインストールする必要がある. それでも発声しない場合は,上記ページのすぐ下にある 「Microsoft SAPI 4.0a runtime binaries」もダウンロードし, インストールする. ファイル名は,「spchapi.exe」である.クリックするだけでインストールされる. ・注意事項 多言語対応をしているが,OSやIEのバージョンによっては, うまく機能しない場合がある. 音声の制御は,タグ内の属性だけでなく,MESSAGEタグの発言部分に バックスラッシュを4つ指定することでも可能である. 「\\\\ pit=60\\\\ 音声のピッチの制御」 ・サーバ起動方法 IPアドレスとポートを指定する. IPバーチャル形式のバーチャルサーバ構成に対応するため, IPアドレスも指定する.サーバのIPアドレスが192.168.0.10であるときには, 以下のように起動する. >java taa 192.168.0.10 10000 ・ ログイン方法 サーバ起動後,http://192.168.0.10:10000/login.htmlにアクセスする. 名前を入れると,TAAの制御画面が表示される. ・ キャラクタ表示の開始 ログイン後,startボタンを押すと,実際に自分のキャラクタが表示される. ・擬人化エージェントを共有する方法 TAAに,yuasa,yuasa2,yuasa3がログインしているときに,新たにyuasa4が入ったら, yuasa4を選択し,displayボタンを押すことで, 相手のキャラクタを表示させることができる. なお,サーバ側では,以下のメッセージをTAAサーバ送信することで, ユーザがdisplayボタンを押す操作を省略することができる. <RM p1=\"yuasa1\" p2=\"yuasa1,yuasa2,yuasa3,yuasa4\" ></RM> <RM p1=\"yuasa2\" p2=\"yuasa1,yuasa2,yuasa3,yuasa4\" ></RM> <RM p1=\"yuasa3\" p2=\"yuasa1,yuasa2,yuasa3,yuasa4\" ></RM> <RM p1=\"yuasa4\" p2=\"yuasa1,yuasa2,yuasa3,yuasa4\" ></RM> ・他の操作 キャラクタを選択する前にキャラクタの動作を確認するプレビューや, 表示するキャラクタの大きさの変更もできる. ・MSエージェントの変更 TAAでは,あらかじめ6体のMSエージェントを利用できるようになっており, ユーザは自由に選択することができる. また,ユーザがMSエージェントのファイル(ASFファイル)を作成し, TAAの指定のフォルダに設置することで, そのMSエージェントを用いることもできる. ・ 外部ソフトとの通信 TAAの内部のモジュールはすべてサーバモジュールである. モジュールは個別にIPアドレスとポートにより,メッセージを受け付ける. 受け付けたメッセージはモジュール内で必要な情報が加えられ, メッセージを編集された後,新たなメッセージとして, 指定されたモジュールへ送信される. 各モジュールは,別のIPアドレスを持つPC上に分散して用意することもできる. メッセージは,HTTPとしてXML形式(XML-HTTP)でサーバモジュールに送信する. ヘッダとコンテンツの間は空行とする.日本語の文字コードはUTF-8とする. この形式であれば,どのプログラミング言語で作成してもよい. メッセージはXML形式のMESSAGEタグを用い, 発言内容は <MESSAGE>〜 </MESSAGE> の間に記述する. XMLは,タブと属性からなるテキスト形式である. MESSAGEの属性について説明は,表に示す. ・XMLタグの説明 タグ パラメータ 名前 指定 説明 省略 MESSAGE action 行動 不可 propose −提案 ask −質問 answer −回答 deny −拒否 concede −譲歩 face 表情 可 cool −冷静 happy −喜び angry −怒り sad −悲しみ surprised −驚き sender 送り手の名前 送り手 不可 receiver 受け手の名前 受け手 不可 evaluation_value 数値 提案の評価値 可 character キャラクタの名前 キャラクタ名 可 pit 数値 音声のピッチ 可 spd 数値 音声のスピード 可 vol 数値 音量(上限65536) 可 pau on ポーズ 可 chr whisper ささやき声 monotone モノトーン声 可 normal 通常の声 RM p1 ログインを通知する人 ログインしたことを伝える 不可 p2 ログインしている人たちの名前 ログインしたことを通知する 不可
Basic system

---------- | | |taa | | server | | (java) | | | ---------- | ---------o----o-----------------------------------o--------------------- | | ---------------- ----------------- | user1 | | user2 | | | | | | browser | | browser | | (javascript | | (javascript | | + MS-Agent) | | + MS-Agent) | ---------------- -----------------


example case of ADR System

---------- ---------- | | | | |taa | |ADR | | server | <--- message --- | server | | (java) | post | (java) | | | to port number | | ---------- ---------- | | ---------o----o--------------------------------o----o--------------- | | ----------------------- ---------------------- |user1 | | |user2 | | | | | | | | |browser |browser| |browser |browser| |(javascript |(flash)| |(javascript |(flash)| | + MS-Agent) | | | + MS-Agent)| | ----------------------- ----------------------
post as xml message; <MESSAGE sender="user2" receiver="user1" face="ANGRY"> message </MESSAGE> usage(server): > java taa [port number] and access browser http://(taa server name):[port number]/login.html. (Example, http://123.456.78:10005/login.html) (User doesn't need password in this release.) sample code --------------------------------------------- String host = "xxx.xxx.xxx.xx"; int port = "00000"; String xmlst = "<MESSAGE sender=\"user2\" receiver=\"user1\" face=\"ANGRY\"> message </MESSAGE>" Socket socket; BufferedReader in=null; PrintWriter out=null; try{ socket = new Socket(host,port); in =new BufferedReader(new InputStreamReader(socket.getInputStream() ,"UTF-8"),1); out=new PrintWriter(new OutputStreamWriter(socket.getOutputStream() ,"UTF-8")); out.println("POST /test.xml HTTP/1.1"); out.println("host: sample"); out.println("Content-type: text/xml; charset=utf-8"); out.println("Content-Length:"+xmlst.length()); out.println(""); out.println(xmlst); out.println(""); out.flush(); }catch(IOException e){ System.out.println("error:"+e); } ---------------------------------------------