この記事は feedforce Advent Calendar 2016の6日目です!!
昨日は、tjinjin の ドラッカー風エクササイズをチームで試してみました でした
期待マネジメント大事ですね。 ウチのチームも一度やってみたら面白いかもしれないですね...
さて、実用的な記事はやってもらえたので、私の方は技術ネタでお茶を濁したいと思います!
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の流れは追っておきたいけれど、そのために作業を中断するのはしたくない。そんな時ありませんか?
そんなときに、そう。読み上げてもらえば...!
でき上がったものがこちらになります
しくみ
- slack の Real Time Messaging API で channel のメッセージを読み込む
- 受け取ったメッセージを Amazon Polly の API に渡して、mp3を取得
- afplay で、コマンドライン上から音声を再生
ソースコード
こちらになります。 ruby で実装しています。また afplay を使っている関係上 macOS のみで動作します
ハマったポイント
APIを使ってslackのchannelのメッセージをリアルタイムに取得する方法が分からずにハマりました
- slack の Real Time Messaging API には Bot 用のAPIキーが必要
- Botが所属している channel のメッセージしか取れない
- channel に呼ぶには Bot をメンションする
まとめ
入力した文章が読み上げられるってそれだけで結構楽しいですね!
半分ネタで作ってみたのですが、コンテキストスイッチを乱されずに情報が追えるので、あれ? 意外に実用度高くない...? などと思っているところです
参考リンク
- Slack Bot Real Time Messaging API Integration in Ruby Tutorial – code.dblock.org | tech blog
- OSX でコマンドラインから音楽再生(ゆっくり再生とかも) - それマグで!
- Amazon PollyをAWS SDK for Rubyから使ってみる #reinvent | Developers.IO
- OS X 10.11 El Capitanアップデート後、Macのオーディオユーティリティアプリ「Soundflower」が動かない時の対処法。 | AAPL Ch.
- スクリーンキャスト取る時に、システムの音声を拾うのに必要だった
明日は、フィードフォースボドゲ部部長 および 日本酒会会長 の kano-e の 「RailsエンジニアがFacebook広告を出稿してみた」です!
Ad業界エンジニア必見!!! あと手書きのスライド資料が温かみがあって良い感じです!