「App aquestalk v1」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(書式)
(問題点)
56行目: 56行目:
 
  CLI*> module load app_aquestalk.so
 
  CLI*> module load app_aquestalk.so
  
 +
==応用例==
 +
AquesTalkだけでIVRを作る(イントネーションちょっと変ですけど)。<br>
 +
トーキーにしたがって、1~3をダイヤルすると該当する内線を呼び出す例です。
 +
[aqtivr]
 +
exten => s,1,Wait(1)
 +
exten => s,n,AquesTalk("\'はーどうえ\'あにかんしての、\/\'おといあわせ+わ。",,,123)
 +
exten => s,n,AquesTalk("<NUM VAL=1>",,70)
 +
exten => s,n,AquesTalk("を")
 +
exten => s,n,AquesTalk("\'そふとうえ\'あにかんしての、\/\'おといあわせ+わ。",,,123)
 +
exten => s,n,AquesTalk("<NUM VAL=2>",,70)
 +
exten => s,n,AquesTalk("を")
 +
exten => s,n,AquesTalk("その\'ほかの、\/\'おといあわせ\+わ。",,,123)
 +
exten => s,n,AquesTalk("<NUM VAL=3>",,70)
 +
exten => s,n,AquesTalk("を")
 +
exten => s,n,AquesTalk("おして\/くだ\'さい。")
 +
exten => s,n,WaitExten(10)
 +
exten => s,n,Goto(s,1)
 +
 +
exten => 1,1,Dial(SIP/201)
 +
exten => 2,1,Dial(SIP/202)
 +
exten => 3,1,Dial(SIP/203)
 +
 +
exten => i,1,Playback(beep)
 +
exten => i,n,Goto(s,1)
 +
 +
exten => h,1,Hangup
 +
exten => t,1,Hangup
 
==問題点==
 
==問題点==
 
*再生前後にノイズが入ることがある
 
*再生前後にノイズが入ることがある
 
*Addonのmake menuselectに統合させるか?
 
*Addonのmake menuselectに統合させるか?
 
*Asterisk 1.2用のニーズありますか?
 
*Asterisk 1.2用のニーズありますか?
 +
 
==メモ==
 
==メモ==
 
2007/09/14 WAVヘッダの除去処理を追加。全体の処理を見直し、ネイティブ実装に変更。
 
2007/09/14 WAVヘッダの除去処理を追加。全体の処理を見直し、ネイティブ実装に変更。

2007年9月15日 (土) 03:28時点における版

AquesTalk音声合成エンジン・インタフェース

設定ファイル

aquestalk.conf

[general]
licencekey=ライセンスキーを指定する
speed=80   <- speedのデフォルト値を指定
atten=2    <- attenのデフォルト値を指定

書式

AquesTalk(文字列,音量,速度,割り込みキー,オプション)

文字列:発声させる文字列を音声記号列にしたがって記述。EUCで記述する。
   文字列はダブルクォート(")で括った方が安全です。括らないと場合によってはAsteriskが落ちることがあります。
音量:音量調整用パラメータ。ここで指定した値分の1の音量となる(1が最大音量、2で1/2、4で1/4)。
速度:発声速度を1~200で指定する。
割り込みキー:発声を途中で中断する場合のDTMFキーを指定する。
オプション:現在のところ未実装。

注:文字列指定の際には文字のクォートに注意。

変数

AQTSTATUS

SUCCESSまたはFAILED

使用例

引数に読み上げさせたい文字列をEUCで記述します。

exten => 5000,1,Answer
exten => 5000,n,Wait(1)
exten => 5000,n,AquesTalk("あな\'たの、でんわば\'んごーわ、<NUM VAL=${CALLERID(num)}>\,\,デ_ス",,110,#*)
exten => 5000,n,AquesTalk("\'こんにちわ、ごきげ\'んい\'かがですか?",,110)
exten => 5000,n,NoOp(${AQTSTATUS})
exten => 5000,n,Wait(1)
exten => 5000,n,Playback(beep)
exten => 5000,n,Hangup

チャネル変数を引き渡すこともできます。

exten => 300,1,Answer
exten => 300,n,Wait(1)
exten => 300,n,AquesTalk(あな\'たの、でんわ\'ば\'んごうわ\,||100)
exten => 300,n,Set(AQTARG="<NUM VAL=${CALLERID(num)}>デ_ス。")
exten => 300,n,AquesTalk(${AQTARG}||100)

いずれの場合も'や,のクォートに注意してください。

インストール方法

Asterisk-addon 1.4.2を入手・展開します。
http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4.2.tar.gz

# tar zxvf asterisk-addons-1.4.2.tar.gz
# cd asterisk-addons-1.4.2

./configureを実行しておきます。

# ./configure

AquesTalkを入手し、インストールしておきます。また、AquesTalkに含まれるAquesTalk.hをasterisk-addon-1.4.2ディレクトリにコピーしておきます。

App_AquesTalkを入手します。
ftp://ftp.voip-info.jp/asterisk/apps/1.4/app_aquestalk.tar.gz
Asterisk-addonのディレクトリで展開し、Makefileにパッチを当てます。

# tar zxvf app_aquestalk.tar.gz
# patch -p0 < patch.Makefile

これでMakeすればapp_aquestalk.soができるのでコピーします。

# cp app_aquestalk.so /usr/lib/asterisk/modules/.

CLIからロードすれば使用可能になります。ロードする前に aquestalk.conf ファイルを作成しておいてください。

CLI*> module load app_aquestalk.so

応用例

AquesTalkだけでIVRを作る(イントネーションちょっと変ですけど)。
トーキーにしたがって、1~3をダイヤルすると該当する内線を呼び出す例です。

[aqtivr]
exten => s,1,Wait(1)
exten => s,n,AquesTalk("\'はーどうえ\'あにかんしての、\/\'おといあわせ+わ。",,,123)
exten => s,n,AquesTalk("<NUM VAL=1>",,70)
exten => s,n,AquesTalk("を")
exten => s,n,AquesTalk("\'そふとうえ\'あにかんしての、\/\'おといあわせ+わ。",,,123)
exten => s,n,AquesTalk("<NUM VAL=2>",,70)
exten => s,n,AquesTalk("を")
exten => s,n,AquesTalk("その\'ほかの、\/\'おといあわせ\+わ。",,,123)
exten => s,n,AquesTalk("<NUM VAL=3>",,70)
exten => s,n,AquesTalk("を")
exten => s,n,AquesTalk("おして\/くだ\'さい。")
exten => s,n,WaitExten(10)
exten => s,n,Goto(s,1)

exten => 1,1,Dial(SIP/201)
exten => 2,1,Dial(SIP/202)
exten => 3,1,Dial(SIP/203)

exten => i,1,Playback(beep)
exten => i,n,Goto(s,1)

exten => h,1,Hangup
exten => t,1,Hangup

問題点

  • 再生前後にノイズが入ることがある
  • Addonのmake menuselectに統合させるか?
  • Asterisk 1.2用のニーズありますか?

メモ

2007/09/14 WAVヘッダの除去処理を追加。全体の処理を見直し、ネイティブ実装に変更。