ヤマムギ

growing hard days.

*

テキストをAmazon PollyでMP3に変換してS3に格納(AWS Lambda Python)

   

Google Calendar Twilio ReminderのテキストをAmazon Pollyを使ってMP3ファイルに変換してS3に格納する部分の説明です。

AWS側の設定

MP3格納用S3バケット作成

Pollyのためというよりも後でTwilioでアクセスするための設定です。

Static website hostingを有効にします。

バケットポリシーを作成します。

ライフサイクルを設定します

生成されたMP3ファイルは不要になるのでライフサイクルルールで削除します。

Lambda実行用ロールの作成

ここで作ったロールをLambdaに設定します。

雑ですが、管理ポリシーに以下を設定しました。

  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonPollyFullAccess

あと、インラインポリシーに下記を設定しました。
これがないとログが出力されませんでした。

AWS Lambdaの環境変数

変数名 設定値
BUCKET_NAME Amazon Pollyが生成するMP3ファイルを格納するS3バケット名
BUCKET_REGION ap-northeast-1など S3バケットがあるリージョン名
VOICE_ID Amazon PollyのボイスID 日本語なので Mizuki
POLLY_REGION Amazon Pollyのリージョン名

ソースコードの説明

AWSのサンプルコードをベースにして少し変えてます。

set_twiml

  • Twilioを実行するためのTwiml(Twilio独自のXML)をS3に格納しています。
  • ContentType=’application/xml’ がないとTwilioが認識出来ません。

set_mp3

  • PollyがテキストをMP3ファイルに変換してS3に格納しています。
  • synthesize_speech にテキストを渡して変換結果を受け取っています。
  • response[“AudioStream”]をput_objectでS3にContentType = ‘audio/mpeg’で書き込んでいます。

最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …

「Label Training Data for Machine Learning」チュートリアルの記録

Label Training Data for Machine Learning …

[JapanTaxi] Athena 指向アナリティクス 〜真面目に手を抜き価値を得よ〜(AWS Summit Tokyo 2017)を聞いてきました

Athenaのユースケースとして聞きにいきましたが、最近触ってるRe:dashも …

AWS Transit GatewayのAcceleratedサイト間VPN接続確認

Transit GatewayでVPN接続を作成するときに、Global Acc …

AWS Firewall Managerを設定して結果を確認

CloudFront対応のポリシーとして作成したかったので、Globalを選択し …

Amazon Chimeのチャットを使ってみました

Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …

Amazon SageMakerプロジェクトを使用してMLパイプラインを構築

SageMakerプロジェクトの作成 SageMaker Studioの左ナビゲ …

JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っかけ会

「JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo …

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …

AWS CLIを使用せずにCodeCommitへSSHユーザーで接続する

AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …