Echo DotとAmazon Pollyを使ってブログを読み上げる 〜 re:Invent 2016 参加レポートDay3
sparkgene
こんにちは、sparkgeneです。
re:Inventのセッションが全て終わり、期間中に様々なサービスのアップデートや新規のサービスが発表され、今年も大変盛り上がったイベントでした。
ところで、一緒に参加しているma2k8が今回発表されたPollyについて記事を執筆していました。
[音声合成] 深層学習を駆使したテキスト読み上げサービスの Amazon Polly を AWS CLI で試してみた ~ AWS re:Invent Day2
これ、Amazon Echoで使えたら面白いですよね!
しかも、今年は参加者にEcho Dotを配布するという大盤振る舞いでしたので、この2つを組み合わせたものを作ってみました。
Amazon Echo や Dot には自分で作成した Skill と呼ばれるアプリケーションを使わせることができます
Alexa Skill Kit
早速このブログの情報を読み上げてくれる物を作りました。
今回使うSkillのタイプはFlash Briefing APIで、これはAlexaに対して「Alexa, what's on news」のように話しかけると事前に登録していたFlash Briefing Skillを読み上げてくれるものです。
SkillをEchoで使う
読み上げる対象となるSkillはAlexa AppのSkillのインストール画面で登録します。
上の画面でSkillを選択するとSkillの詳細画面が表示されます。
Enable Skillをクリックすると、自分のアカウントに対してこのSkillが有効になります(今回は開発版ですので、開発者か、ベータテストの登録を行った人にしか表示されません)。
有効になるとFlash Briefingの設定画面に遷移できるボタンが表示されるので、そちらの画面のトグルを切り替えることでFlash Brifingに実際に含めるかを選択することが出来ます。
実際に動かしてみるとこんな感じでブログのアップデートをAlexaが喋ってくれるようになります。
いや〜、Alexa最高ですね!Polly最高ですね!!
最初の声がAlexaの声で、途中からのがPolly(Mizuki)の声です。読み上げられた記事はAlexa Appの方にも表示されます。
Echo Dotは技適マークを取得していないため国内で利用すると電波法違反になります。この検証はre:Inventでラスベガスに滞在中に行っています。国内で試す場合はブラウザベースのhttps://echosim.io/を利用することでSkillを試すことが出来ます。
全体像
今回作った仕組みですが、以下の2つのLambdaファンクションを作成しています。
RSSフィードの加工と吐き出し
元のRSSを持ってきてオーディオデータに変換するための情報を取得します。不要な部分を削除してFlash Briefing APIに合わせたRSSを作成してS3に保存します。
音声データの生成
RSSフィードを作成するLambdaファンクションは、RSSデータを吐き出した後に、音声変換を実行するLambdaファンクションを実行します。実行されたLambdaファンクションではブログの記事のサマリをAmazon Pollyへ投げて音声データを取得し、S3に保存します。
まとめ
Echo最高ですね。
Alexaのセッションでも言われてましたが、タッチUIは今後減少し、今後は音声UIの時代が来ます。しかし、音声UIの問題もまだまだ多くありますので、新しいアプリケーションを作りながら磨いていくしか無いと思います。弊社のサービスにも音声UIに向いている物もありますので、今後取り込んでいきたいな〜と思います。
今回作成したもののソースなどは後日まとめて公開しますのでお楽しみに。
追記
後日公開としていたソースなど含めた記事を書きました。