「App aquestalk v1」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(ページ App aquestalkApp aquestalk v1 へ移動: 旧バージョンは廃止予定のため)
(廃止)
 
(2人の利用者による、間の8版が非表示)
1行目: 1行目:
[[AquesTalk]]音声合成エンジン・インタフェース<br>
+
=廃止=
'''2007/09/22 01:31以前にダウンロードした方は再度落としなおしてください。以前のバージョンには致命的なバグがあります。'''
+
[[Macro AquesTalk]] を参照
'''2007/12/16 このモジュールはAquesTalkライブラリ 1.0対応のものです。2.2対応のものは[[app_aquestalk2]]です。'''
 
==設定ファイル==
 
'''aquestalk.conf'''<br>
 
[general]
 
licencekey=ライセンスキーを指定する
 
speed=80  <- speedのデフォルト値を指定
 
atten=2    <- attenのデフォルト値を指定
 
==書式==
 
'''AquesTalk(文字列,音量,速度,割り込みキー,オプション)'''<br>
 
:文字列:発声させる文字列を音声記号列にしたがって記述。EUCで記述する。
 
:   文字列はダブルクォート(")で括った方が安全です。括らないと場合によってはAsteriskが落ちることがあります。
 
:音量:音量調整用パラメータ。ここで指定した値分の1の音量となる(1が最大音量、2で1/2、4で1/4)。
 
:速度:発声速度を1~200で指定する。
 
:割り込みキー:発声を途中で中断する場合のDTMFキーを指定する。
 
:オプション:現在のところ未実装。
 
注:文字列指定の際には文字のクォートに注意。
 
 
 
==変数==
 
'''AQTSTATUS'''<br>
 
: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 1.2)==
 
Asterisk-addons 1.2.7を入手・展開します。<br>
 
http://downloads.digium.com/pub/asterisk/old-releases/asterisk-addons-1.2.7.tar.gz<br>
 
# tar zxvf asterisk-addons-1.2.7.tar.gz
 
# cd asterisk-addons-1.2.7
 
[[AquesTalk]]を入手し、インストールしておきます。また、AquesTalkに含まれるAquesTalk.hをasterisk-addons-1.2.7ディレクトリにコピーしておきます。<br>
 
 
 
App_AquesTalkを入手します。<br>
 
ftp://ftp.voip-info.jp/asterisk/apps/1.2/app_aquestalk.tar.gz<br>
 
Asterisk-addonのディレクトリで展開し、Makefileにパッチを当てます。<br>
 
# 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*> load app_aquestalk.so
 
 
 
==インストール方法(Asterisk 1.4)==
 
'''注意:Asterisk-addons 1.4.5でも動作しますが、Asterisk 1.4.5の場合にはコンパイルオプションが変更されているため、Addonsのモジュールも1.4.5に移行する必要があります。app_aquestalkもコンパイルしなおして下さい。'''<br>
 
Asterisk-addons 1.4.2を入手・展開します。<br>
 
http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4.2.tar.gz<br>
 
# tar zxvf asterisk-addons-1.4.2.tar.gz
 
# cd asterisk-addons-1.4.2
 
./configureを実行しておきます。
 
# ./configure
 
[[AquesTalk]]を入手し、インストールしておきます。また、AquesTalkに含まれるAquesTalk.hをasterisk-addons-1.4.2ディレクトリにコピーしておきます。<br>
 
 
 
App_AquesTalkを入手します。<br>
 
ftp://ftp.voip-info.jp/asterisk/apps/1.4/app_aquestalk.tar.gz<br>
 
Asterisk-addonのディレクトリで展開し、Makefileにパッチを当てます。<br>
 
# tar zxvf app_aquestalk.tar.gz
 
# patch -p0 < patch.Makefile
 
'''注:最近のaddonsではMakefileの構造が大幅に変わっているためパッチが当りません。以下のようなAquesTalk専用のMakefileを作って下さい。'''
 
SOLINK=-shared -Xlinker -x
 
CC=gcc
 
 
all: app_aquestalk.so app_aquestalk2.so
 
 
app_aquestalk.so: app_aquestalk.o
 
        $(CC) $(SOLINK) -o $@ $< -L/usr/lib -lAquesTalk1 -lstdc++
 
 
app_aquestalk2.so: app_aquestalk2.o
 
        $(CC) $(SOLINK) -o $@ $< -L/usr/lib -lAquesTalk2 -lstdc++
 
これでMakeすればapp_aquestalk.soができるのでコピーします。
 
# cp app_aquestalk.so /usr/lib/asterisk/modules/.
 
CLIからロードすれば使用可能になります。ロードする前に aquestalk.conf ファイルを作成しておいてください。
 
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
 
 
 
==AquesTalk 1と2の使い分け==
 
両方併用したい場合にはlibを別な名前にします。AquesTalk関連のライブラリは以下のようになっています。<br>
 
lrwxrwxrwx  1 root root    26 Oct 11 01:34 libAquesTalk.so -> /usr/lib/libAquesTalk.so.2
 
lrwxrwxrwx  1 root root    28 Oct 11 01:34 libAquesTalk.so.2 -> /usr/lib/libAquesTalk.so.2.2
 
-rw-r--r--  1 root root 136989 Oct 11 01:34 libAquesTalk.so.2.2
 
なので以下のようにして2系をlibAquesTalk2にしてしまいます。
 
rm libAquesTalk.so
 
ln -s /usr/lib/libAquesTalk.so.2 libAquesTalk2.so
 
2を上書きインストールしてしまった場合でも1.0系のso.1は残っているので
 
ln -s /usr/lib/libAquesTalk.so.1 libAquesTalk1.so
 
とすればAquesTalk1をリンク時に指定すれば従来通り1.0系で使えるようになります。<br>
 
AddonsのMakefileを以下のように修正します。
 
app_aquestalk.so: app_aquestalk.o
 
        $(CC) $(SOLINK) -o $@ $< -L/usr/lib -lAquesTalk1 -lstdc++
 
 
 
==問題点==
 
*再生前後にノイズが入ることがある
 
*Addonのmake menuselectに統合させるか?
 
 
 
==リリース・メモ==
 
2007/09/14 WAVヘッダの除去処理を追加。全体の処理を見直し、ネイティブ実装に変更。<br>
 
2007/09/20 1.4版ちょっと修正(変数初期化漏れ)。1.2版を公開。<br>
 
2007/09/22 (1.2&1.4) 致命的バグを修正。フレーム構造体が割り当てられてない状態での解放。回線断時にcore dumpしてAsteriskが終了してしまう問題を解決。
 

2018年5月9日 (水) 16:17時点における最新版

廃止

Macro AquesTalk を参照