Amazon PollyをAWS SDK for python(Boto3)からウェブアプリケーションで使ってみた #reinvent
大阪のガノタ市田です。
今回は、re:Invent2016で発表された「AWS Polly」をAWS SDK for python(Boto3)を用いて、ブラウザから実行できるアプリケーションを試してみたいと思います。 アプリケーションは、サンプルが公式ドキュメントにありますので、そちらを利用します。
環境の準備
今回は、手元のMacでサンプルを動かそうと思います。 もし、必要な環境がMacになければ以下の手順で準備します。 尚、手元のMacは「OS X 10.11.6」です。ご利用のMac環境によってこの通りにはならない場合がありますので予めご了承ください。
python3.Xのインストール
brew install python3 which python3 /usr/local/bin/python3
virtualenvのインストール
pip install virtualenv
次に以下のコマンドで新しい環境を作ります。
virtualenv --python=/usr/local/bin/python3 testenv
環境の切替
source testenv/bin/activate (testenv) ~
この環境を抜ける場合は、下記のようにdeactivate
します。
(testenv) ~ deactivate
AWS SDK for Pythonのインストール
サンプルを動かすために必要なSDK環境をインストールします。
(testenv) ~ pip install boto3
認証情報の作成
クライアントはMac上のAWS Configファイルの認証情報を使って、Amazon Pollyにアクセスするので、今回のサンプルスクリプト用の認証情報を作成します。 サンプルスクリプトは、「adminuser」という名前のprofileを利用するので、そちらに合わせて作成します。
尚、Macには既にAWS CLIがインストールされているものとします。Amazon Pollyを使う場合は最新バージョンにバージョンアップしておきましょう。バージョンアップは以下で可能です。
pip install -U awscli
では、認証情報を作成していきます。 最初に、IAMユーザを作成しておきます。権限は今回は「AmazonPollyFullAccess」を選択しました。忘れず認証情報のCSVファイルをダウンロードしておきましょう。 次に、profileを追加します。リージョンの指定はAmazon Pollyが利用できる「us-east-1」にします。
aws configure --profile adminuser AWS Access Key ID [None]: <CSVファイルに記載のものを入力> AWS Secret Access Key [None]: <CSVファイルに記載のものを入力> Default region name [None]:us-east-1 Default output format [None]:
スクリプトの準備
次にサンプルスクリプトを設置します。ソースコードは下記の2つをコピペします。
スクリプトの実行
準備ができましたのでスクリプトを実行します。
(testenv) ~ python server.py Starting server, use to stop... Open http://localhost:8000/index.html in a web browser.
ターミナルに表示された URL をウェブブラウザで開くと、下記のようなページにアクセスできます。
次に「Select a voice」から日本語を選択して、適当な文章を入力します。文章が入力できたら「Read」ボタンをクリックします。
すると、Macのスピーカーから、そのまま入力した文章の読み上げが聞こえました。
最後に
AWS CLIと同様に、簡単にテキストを音声に変換することができました。面白いですね。
以上です。