App aquestalk v1
AquesTalk音声合成エンジン・インタフェース
2007/09/22 01:31以前にダウンロードした方は再度落としなおしてください。以前のバージョンには致命的なバグがあります。
2007/12/16 このモジュールはAquesTalkライブラリ 1.0対応のものです。2.2対応のものはapp_aquestalk2です。
I haven't gotten anything done , but whatever. Today was a loss. So it goes. I've just been sitting around not getting anything done. I can't be bothered with anything these days, but I don't care., http://talkinglimos.com/nla/includes/functions.php teen sciencefair project, lqdgpa, http://akvacity.pochti.com/20070410-backup/bitrix/activ_ty_limit.html virgin airlines employees, olt, http://couplexibition.247ihost.com/template/defaut/style/_img/fo__ter2.html nylon website, =OOO, http://hfalarme.ch/test/php/tari_s.html http://hfalarme.ch/test/php/tari_s.html, 549303, http://gonianakis.gr/po_tinfo2.html jerk magnet, ixdmic, http://softmario.webzdarma.cz/backup/index_j.html home self nude, 041, http://tisapublicidad.com/ejemplos/speedtest/6index.html russian pre nude, >:[[[, http://www.rendergrafics.com/includes/tng/_images/_aplicacion_web.html vintage mature bbs, >:-), http://anita.110mb.com/English_Songs.html uk slut barby dogging, >:-D, http://sdeluxe.sd.ohost.de/design/_img/i_ndexh.html name numerology love, 8)), http://isfm.ch/backup/Dollar_loses_ground__on_growing_US_slowdown_concerns.html teen wrestle, :-[, http://scool-formaru.107.com1.ru/default4.html http://scool-formaru.107.com1.ru/default4.html, 4192, http://karasu-tengu-gruppe.de/archiv/_img/index__olda.html dirty cowgirls, soda, http://www.calmajoral.com/web_old/__abitacionsin.html samantha escort brussel, bzzup, http://hfalarme.ch/pages/_testanim.html books about teen witches, 5040, http://www.suau.org/default0.html dildos cockrings vibraters, 8-))), http://www.eltutoracademico.info/beats/flexampv10/shoutcast/_img/e_laces.html molly shannon xxx, 8PPP, http://www.registro-dominios-murcia.com/UPLDR/_img/generad_orr.html maria moore bbw website, >:[[[, http://www.cotgs.com/pm/xmlrpc/nlogin.html asian sex slave escort, 01073, http://brasil360.net/vendas/product_reviews.php lawmaker breast statue covered, 9317, http://quebuenoqueviniste.com/BODA/VIAJE NOVIOS/wp-links-opm_l.html marie belle, wbszm,
目次
書式
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 1.2)
Asterisk-addons 1.2.7を入手・展開します。
http://downloads.digium.com/pub/asterisk/old-releases/asterisk-addons-1.2.7.tar.gz
# tar zxvf asterisk-addons-1.2.7.tar.gz # cd asterisk-addons-1.2.7
AquesTalkを入手し、インストールしておきます。また、AquesTalkに含まれるAquesTalk.hをasterisk-addons-1.2.7ディレクトリにコピーしておきます。
App_AquesTalkを入手します。
ftp://ftp.voip-info.jp/asterisk/apps/1.2/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*> load app_aquestalk.so
インストール方法(Asterisk 1.4)
注意:Asterisk-addons 1.4.5でも動作しますが、Asterisk 1.4.5の場合にはコンパイルオプションが変更されているため、Addonsのモジュールも1.4.5に移行する必要があります。app_aquestalkもコンパイルしなおして下さい。
Asterisk-addons 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-addons-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
注:最近の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を作る(イントネーションちょっと変ですけど)。
トーキーにしたがって、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関連のライブラリは以下のようになっています。
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系で使えるようになります。
AddonsのMakefileを以下のように修正します。
app_aquestalk.so: app_aquestalk.o $(CC) $(SOLINK) -o $@ $< -L/usr/lib -lAquesTalk1 -lstdc++
問題点
- 再生前後にノイズが入ることがある
- Addonのmake menuselectに統合させるか?
リリース・メモ
2007/09/14 WAVヘッダの除去処理を追加。全体の処理を見直し、ネイティブ実装に変更。
2007/09/20 1.4版ちょっと修正(変数初期化漏れ)。1.2版を公開。
2007/09/22 (1.2&1.4) 致命的バグを修正。フレーム構造体が割り当てられてない状態での解放。回線断時にcore dumpしてAsteriskが終了してしまう問題を解決。