kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

slack に書かれた内容を Amazon Polly で読み上げてみた

この記事は feedforce Advent Calendar 2016の6日目です!!

www.adventar.org

昨日は、tjinjinドラッカー風エクササイズをチームで試してみました でした

cross-black777.hatenablog.com

期待マネジメント大事ですね。 ウチのチームも一度やってみたら面白いかもしれないですね...

さて、実用的な記事はやってもらえたので、私の方は技術ネタでお茶を濁したいと思います!

Amazon Polly で遊ぼう!

先日の AWS re:Invent 2016 では、色々なサービスがローンチされてすごかったですね!

今日はその中から、音声読み上げサービスである Amazon Polly で遊んでみようと思います!

Amazon Polly ってなあに?

公式blogに詳しい解説がありました

Amazon Polly – 文章から音声へ、47の声と24の言語 | Amazon Web Services ブログ

特徴をかいつまむとだいたいこんな感じです

  • クラウド音声読み上げサービス
  • 今までの音声読み上げサービスよりも精度が高く、よりネイティブに近い発音なのが特徴
  • 毎月500万文字までは無料(!) 以降は1文字 $0.000004 生成される音声1分あたり$0.004

pollyコンソール で 簡単に試すことができるので、色々遊んでみると良いと思います。 主観ですが、今までの音声読み上げと比べるとだいぶ違和感が減ったなぁと感じました

既に sdk も使えるようですので、なにか面白い使いみちを考えてみましょう...

Amazon Polly の使い道を考える

slackの流れは追っておきたいけれど、そのために作業を中断するのはしたくない。そんな時ありませんか?

そんなときに、そう。読み上げてもらえば...!

でき上がったものがこちらになります

youtu.be

しくみ

ソースコード

こちらになります。 ruby で実装しています。また afplay を使っている関係上 macOS のみで動作します

github.com

ハマったポイント

APIを使ってslackのchannelのメッセージをリアルタイムに取得する方法が分からずにハマりました

  • slack の Real Time Messaging API には Bot 用のAPIキーが必要
  • Botが所属している channel のメッセージしか取れない
    • channel に呼ぶには Bot をメンションする

まとめ

入力した文章が読み上げられるってそれだけで結構楽しいですね!

半分ネタで作ってみたのですが、コンテキストスイッチを乱されずに情報が追えるので、あれ? 意外に実用度高くない...? などと思っているところです

参考リンク

明日は、フィードフォースボドゲ部部長 および 日本酒会会長 の kano-e の 「RailsエンジニアがFacebook広告を出稿してみた」です!

tech.feedforce.jp

Ad業界エンジニア必見!!! あと手書きのスライド資料が温かみがあって良い感じです!