2017年11月28日火曜日

Asterisk の再セットアップ -- googletts.agi を使ってみる



前回は Asterisk をインストールして、基本的な利用が可能な状態まで設定しました。



今回は googletts を使ってみることにします。



Googletts は 120 ヶ国語の対応した Text-To-Speech、つまりテキストから音声変換して発声してくれるもので、翻訳までしてくれるすぐれものです。



ウェブでは google 翻訳サイトで知られているもので、これを Asteriskagi プログラムに仕立てて、Asterisk のアプリケーションとして動作できるようにしたものです。



これは作者も触れているように、google の公式なプログラムではなく製作者が GNU ライセンスのもとで作成して公開してくれているものです。



ここにこの作者のホームページがあります。



今回はこれを実装してテストしてみることにします。





-------------------------------------------------------------------------------------------

❏ Raspbian STRETCH をクリーンインストールする

❏ Asterisk をインストールする

❏ googletts.agi を使ってみる ⇐ いまココ

❏ Asterisk にボイスメールを設定する

❏ Asterisk で FAX 送受信してみる

❏ Asterisk の各種設定ファイル


-------------------------------------------------------------------------------------------










まず、さきほどのホームページの「ダウンロード」の項目の中に zip または tar 形式のファイルがありますから、ここをクリックするとダウンロードされます。








解凍をして googletts.agi を抽出し、/var/lib/asterisk/agi-bin にコピーします。





# cp /home/pi/Downloads/googletts.agi /var/lib/asterisk/agi-bin








実行権限を与えます。





# chmod 755 /var/lib/asterisk/agi-bin/googletts.agi








次に、必要なソフトウェア(さきほどのホームページの「README」に書かれています)をインストールします。








# apt-get update


# apt-get install libwww-perl libcrypt-ssleay-perl sox mpg123








これで使う環境は揃いました。








では実際に extensions.conf に記述して動かしてみます。





  exten
=> 300,1,Answer()








  exten
=> 300,n,agi(googletts.agi,"
これはテストです",ja)


  exten
=> 300,n,Wait(
)


  exten
=> 300,n,agi(googletts.agi,"this is a test.",en)


  exten
=> 300,n,Wait(2)


  exten
=> 300,n,NoOp("Now googletts tested")


  exten
=> 300,n,Hangup()








クライアントの内線 210 または 220 から内線 300 をダイヤルしてみます。





google 姉さんの声で記述したとおりに喋ってくれます。





うまくいかないときは CLI>
agi set debug on
とし、
googletts.agi
の中の
72行目辺りにある













  my
$debug = 0;
my $debug = 1;
に変更すします。












CLI でエラー内容を確認できますので、エラーの原因を調べられます。












私の場合、実際に「実行権限がない」というエラーになったので、実行権限を与えてOKとなりました。







うまく再生できた場合は、上のデバッグモードを戻しておきます。











googletts.agi の使い方】








  exten=>s,n,agi(googletts.agi,"text",[language],[intkey],[speed])








  ”test"                ;; テキストを記述


  [language]        ;; スピーチする言語(テキストと異なる言語の場合は


                                ここで指定の言語に翻訳


  [intkey]            ;; 割り込みキー(省略可)


                                 IVR で再生途中でも割り込んで受け付ける文字を記述。


                                'any' は任意の文字で割り込む。


  [speed]             ;; 再生のスピード(初期値 1.2


                                 1.2 は英語などは丁度いいが日本語は遅く感じるので

             1.5 くらいがいい








intkey を 'any' にして、そのあとの exten WaitExten などで得た文字を解釈し、IVR 処理を行うことが可能になります。









googletts.agi を使うことによるメリット】





Playback アプリケーションで使用する音声ファイルが標準で用意されていないとき、

  これを作成することになるが、その必要がなくなる。



Playback アプリケーションでは使う音声ファイルの内容を core-sounds-text

  確認する必要があるが、googletts.agi の場合はテキストを直接記述なので見ただけで

  わかる。



IVR にも対応できるので、使い勝手がいい。



④ 実際の使用場面は少ないかもしれませんが、翻訳にも対応しています。







ちなみに、ブラステルは最近翻訳サービスアプリの提供を始めましたが、使っているのは google 翻訳エンジンだそうです。







いいことづくめですネ。







是非活用してみてください。





今回はここまでです。





次回はボイスメール(留守電)の設定をします。























0 件のコメント:

コメントを投稿