twilio で Amazon Polly を使う方法

コンピュータ

はじめに

社内でtwilioの紹介などをすると、機械っぽい音声が不評で、「こんなババアから電話してほしくない」なんて言われることが、けっこうあります。ひどいね。

2018.08.16にamazon Polly が使えるようになったとのことでさっそく試してみました。

Introducing 50+ additional Text-to-Speech voices with Amazon Polly Integration
Twilio’s partnership with Amazon Polly brings lifelike text to speech so that you can build engaging conversational IVRs using TwiML “Say” Verb.
Twilioに新しい音声合成エンジンボイスを追加!Amazon Polly 50種類
Twilio に 新しい音声合成エンジンボイスを追加!- Amazon Polly 50種類
【Amazon Polly】 Twilio さんに Mizuki さんの声で話してもらいました! | DevelopersIO
Twilio に渡す XML をほんのわずか修正するだけで、Twilio アプリの音声として Amazon Polly を使うことが可能になりました。どれだけ簡単か、簡単なコードと共にご紹介します。

こちらの記事を参考に進めます。

TwiML Binの作成(woman)

まずは、比較のために通常の音声で作ってみます。

https://jp.twilio.com/console/runtime/twiml-bins
「TwiML bin」へ移動します。+ボタンで新規作成します。

 

<電話発信したときにしゃべる(woman)>

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp" voice="woman">
  おはようございます。本日の東京都の天気は、晴れです。</Say>
</Response>

TwiML Binの作成(amazonPolly)

同様に、TwiML Binを2つ作成します。

<電話発信したときにしゃべる(amazonPolly_Mizuki)>

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp" voice="Polly.Mizuki">
  おはようございます。本日の東京都の天気は、晴れです。</Say>
</Response>

<電話発信したときにしゃべる(amazonPolly_Takumi)>

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp" voice="Polly.Takumi">
  おはようございます。本日の東京都の天気は、晴れです。</Say>
</Response>

このように、3つ作っておきます。

TTS(Text-To-Speech)の変更

TTSの画面に移動します。
https://jp.twilio.com/console/voice/twiml/text-to-speech

Default Settings で、Amazon Polly を選択します。
課金の説明ポップアップが出るので、OKを押します。

 


Curlで電話発信

https://jp.twilio.com/console/runtime/twiml-bins
「TwiML bin」へ移動します。

電話発信したときにしゃべる(amazonPolly_Mizuki)を選びます。

URLをメモします。
※woman、Mizuki、Takumiを比較する場合、3つともURLをメモしておきます。

ターミナルから以下を入力します。

<woman>

curl 'https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxdc/Calls.json' -X POST \
--data-urlencode 'To=+81(電話をかける先の番号)' \
--data-urlencode 'From=+81(Twilioで購入した番号)' \
--data-urlencode 'Url=https://handler.twilio.com/twiml/EH3xxxxxxxx(womanのTwiML Bins URL)' \
-u ACxxxxxxxxxxxxxxxxxdc:b8xxxxxxxxxxxxxxxxxx26


<Mizuki>

curl 'https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxdc/Calls.json' -X POST \
--data-urlencode 'To=+81(電話をかける先の番号)' \
--data-urlencode 'From=+81(Twilioで購入した番号)' \
--data-urlencode 'Url=https://handler.twilio.com/twiml/EH3xxxxxxxx(MizukiのTwiML Bins URL)' \
-u ACxxxxxxxxxxxxxxxxxdc:b8xxxxxxxxxxxxxxxxxx26


<Takumi>

curl 'https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxdc/Calls.json' -X POST \
--data-urlencode 'To=+81(電話をかける先の番号)' \
--data-urlencode 'From=+81(Twilioで購入した番号)' \
--data-urlencode 'Url=https://handler.twilio.com/twiml/EH3xxxxxxxx(TakumiのTwiML Bins URL)' \
-u ACxxxxxxxxxxxxxxxxxdc:b8xxxxxxxxxxxxxxxxxx26

結果

これで、流暢な日本語であるAmazon Pollyから電話をすることが出来ました。
システム運用の障害連絡などに、応用していきたいと思います。

 

コメント

タイトルとURLをコピーしました