|
|
1行目: |
1行目: |
− | Asterisk AquesTalk音声合成エンジン・インタフェース<br>
| + | =廃止= |
− | | |
− | ----
| |
− | | |
− | '''このページは新バージョンのためのものです'''<br>
| |
− | 旧AquesTalkの情報は[[app_aquestalk_v1]]にあります。
| |
− | | |
− | ----
| |
− | app_aquestalkは音声合成エンジン、AquesTalkを使用してAsterisk内で音声をリアルタイム合成するアプリケーションモジュールです。<br>
| |
− | AquesTalk 2.2ライブラリに対応しています。このため、ローマ字表記が使えるので日本語の使えない環境でも日本語を発声させることができます。<br>
| |
− | | |
− | | |
− | ==書式== | |
− | '''AquesTalk(文字列,音量,速度,割り込みキー,文字コード,オプション)'''<br>
| |
− | :文字列:発声させる文字列を音声記号列にしたがって記述。指定した文字コードで記述する。
| |
− | : 文字列はダブルクォート(")で括った方が安全です。括らないと場合によってはAsteriskが落ちることがあります。
| |
− | :音量:音量調整用パラメータ。ここで指定した値分の1の音量となる(1が最大音量、2で1/2、4で1/4)。
| |
− | :速度:発声速度を1~200で指定する。
| |
− | :割り込みキー:発声を途中で中断する場合のDTMFキーを指定する。
| |
− | :文字コード:発声に使用させる文字列の文字コードを指定する。euc sjis utf8 romaのいずれか。
| |
− | :オプション:現在のところ未実装。
| |
− | 注:文字列指定の際には文字のクォートに注意。<br>
| |
− | 注:文字コードが省略された場合にはaquestalk.conの値が使用される。.conf内で指定しされていない場合はeuc。<br>
| |
− | 注:実際に与える文字列と、そのコード指定が一致しているかどうかはチェックされないので注意。<br>
| |
− | 注:1.0系は廃止されました。今後はAquesTalk()はこのインタフェースとなります。<br>
| |
− | | |
− | ==変数==
| |
− | '''AQTSTATUS'''<br>
| |
− | :SUCCESSまたはFAILED
| |
− | ==使用例==
| |
− | 引数に読み上げさせたい文字列を指定した文字コードで記述します。文字コードのデフォルトはeucですが、aquestalk.confで指定されている場合には、そのコードがデフォルトとして使われます。引数で指定した場合にはデフォルト値に関係なく、指定したコードであるとみなされます。
| |
− | 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,AquesTalk("konobangouwa",,,,roma)
| |
− | 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,AquesTalk2(${AQTARG}||100)
| |
− | いずれの場合も'や,のクォートに注意してください。
| |
− | | |
− | ==インストール方法(Asterisk 1.4/1.6)==
| |
− | ===AquesTalkライブラリのインストール===
| |
− | AquesTalk Linux版を入手します。<br>
| |
− | :http://www.a-quest.com/aquestalk/index_linux.html
| |
− | 展開したならばライブラリおよびヘッダファイルをコピーしシンボリックリンクを張っておきます。
| |
− | # cp libAquesTalk.so.2.2 /usr/lib
| |
− | # ln -sf /usr/lib/libAquesTalk.so.2.2 /usr/lib/libAquesTalk.so.2
| |
− | # ln -sf /usr/lib/libAquesTalk.so.2 /usr/lib/libAquesTalk.so
| |
− | # /sbin/ldconfig -n /usr/lib
| |
− | # cp AquesTalk.h /usr/include
| |
− | ===Asterisk-addonsの入手と展開===
| |
− | Asteriskのaddonsを入手し展開しておきます。<br>
| |
− | なお、現在のapp_aquestalkはaddons-1.6.0およびaddons-1.4.7で動作を確認しています。<br>
| |
− | :http://downloads.digium.com/pub/asterisk/releases/<br>
| |
− | Asterisk 1.4系は1.4のaddonsを、1.6系は1.6のaddoinsを入手してください。<br>
| |
− | ===app_aquestalkの入手とパッチ===
| |
− | app_aquestalkを入手し、asterisk-addonsディレクトリで展開します。<br>
| |
− | *1.6.0の場合
| |
− | # cd asterisk-addons-1.6.0
| |
− | # wget ftp://ftp.voip-info.jp/asterisk/apps/1.6/app_aquestalk.tar.gz
| |
− | *1.4.7の場合
| |
− | # cd asterisk-addons-1.4.7
| |
− | # wget ftp://ftp.voip-info.jp/asterisk/apps/1.4/app_aquestalk.tar.gz
| |
− | app_aquestalkを展開し、パッチを当てます
| |
− | # tar zxvf app_aquestalk.tar.gz
| |
− | # patch -p0 < asterisk-addons-aquestalk.patch
| |
− | | |
− | *1.4.10 の場合パッチを当てる必要は無くなりました。
| |
− | ファイルを展開して取り出せる app_aquestalk2.c を apps 以下のディレクトリに入れてください。
| |
− | | |
− | これで準備は整いました。./configureを行い、make menuselectで必要なモジュールだけを選択してから、make, make installを実行してください。<br>
| |
− | | |
− | ===64bit版の注意点===
| |
− | configureによる64bit版の判定はuname -mの結果がx86_64かどうかで行っています。
| |
− | # uname -m
| |
− | x86_64
| |
− | それ以外のマシンの場合は自力で調整するか、ご一報下さい。<br>
| |
− | 64bit版をインストールする場合には、AquesTalkのライブラリを/usr/lib64に配置してください。<br>
| |
− | # cp libAquesTalk.so.2.2 /usr/lib64
| |
− | # ln -sf /usr/lib64/libAquesTalk.so.2.2 /usr/lib64/libAquesTalk.so.2
| |
− | # ln -sf /usr/lib64/libAquesTalk.so.2 /usr/lib64/libAquesTalk.so
| |
− | # /sbin/ldconfig -n /usr/lib64
| |
− | # cp AquesTalk.h /usr/include
| |
− | あとは32bit版と同じです。
| |
− | | |
− | ==リリース・メモ==
| |
− | 2009/02/05 今後、AquesTlak1系ライブラリは配布されないと思われるので、2系で統一することにする。<br>
| |