App aquestalk v1のソースを表示
←
App aquestalk v1
移動先:
案内
、
検索
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、以下のグループのいずれかに属する利用者のみが実行できます:
登録利用者
、
管理者
。
このページは編集や他の操作ができないように保護されています。
このページのソースの閲覧やコピーができます。
[[AquesTalk]]音声合成エンジン・インタフェース<br> '''2007/09/22 01:31以前にダウンロードした方は再度落としなおしてください。以前のバージョンには致命的なバグがあります。''' '''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が終了してしまう問題を解決。
App aquestalk v1
に戻る。
案内メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
その他
検索
VoIp-Info.jp
案内
メインページ
最近の更新
全ページ
おまかせ表示
ヘルプ
要望
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 16
Asterisk 18
FreePBX
FreePBX Distro 5
FreePBX Distro 6
IP電話機
購入情報
便利ツール
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk 18
Asterisk pjsip
アプライアンス
ABS
PIAST
黒電話 ハック
ユーザ登録
ログイン/登録
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報