1. HOME
  2. ブログ
  3. IT技術
  4. 【Amazon Polly編】AWSのサービスを活用した有名人認識アプリの開発してみた!
【Amazon Polly編】AWSのサービスを活用した有名人認識アプリの開発してみた!

【Amazon Polly編】AWSのサービスを活用した有名人認識アプリの開発してみた!

【Amazon Polly編】有名人認識アプリの開発に挑戦!

今回の「AWS のサービスを活用した有名人認識アプリの開発」シリーズでは、

  1. 画像認識
  2. 音声合成
  3. 機械翻訳

と、3つの技術を学ぶことができます。

ちなみに前回は、有名人認識アプリの開発を通して、画像認識機能を実装していきましたね!

今回は、前回開発した有名人画像認識アプリに、音声合成機能を加えていきたいと思います!

前回の記事

こちらの記事もオススメ!


音声合成って何?

先ほど、音声合成に触れていきたい、と述べました。

ただ、「音声合成ってどこで使われているのか?」といった疑問があるかもしれません。

まず、身近で言えば、

  1. Google Home(Nest)
  2. Alexa
  3. Siri

などが、音声合成で作られたものです。

他には、「カーナビ」や「カスタマーサービス」などの電話応対なども、音声合成の技術が使われています。

Amazon Pollyとは?

Amazon Polly とは、用意したデジタル化テキストを、簡単に音声合成してくれるサービスです。

公式サイトでは、「深層学習を使用して文章をリアルな音声に変換」と説明されていますね!

ザックリと特徴をまとめると、以下のような感じになります。

  1. テキスト読み上げができるアプリケーションを作成できる
  2. 高度なディープラーニング技術を使用したテキスト読み上げ (TTS) サービス
  3. 自然に聞こえるように人間の音声を合成できる
  4. 多言語対応である
  5. ニュースキャスター発話スタイルと通話発話スタイルを選択可能
  6. カスタム音声を使用可能

Amazon Pollyを使ってみよう!

Amazon Pollyで作成できる音声データ例

では、実際に Amazon Polly に触れていきましょう!

まず、Amazon Polly は、以下のような音声データを作成することができます。

音声例(mp3形式)
(※環境によっては、ファイル再生できない可能性もあります。)

ただのテキストを突っ込んであげるだけで、かなり自然な発音で、再生してくれます。

Amazon Pollyの基本的な使い方

では、Amazon Polly のページに移動してみましょう。

【Amazon Polly:公式サイト】
https://aws.amazon.com/jp/polly/

まず、Amazon Polly の使用を開始するボタンを押下してください。

そうすると、テキストの読み上げ機能のページが開くと思います。

Amazon Pollyの基本的な使い方

注意点としては、Amazon Polly の管理コンソールで、基本的にはアジアパシフィック(東京)を選択することです。

では、実際にプレーンテキストに、何か入力してみてください。

ちなみに音声は、言語によって異なりますが、「女性」と「男性」の音声を選択できます。

また、「音声を聴く」ボタンを押下すると、Amazon Polly の音声を確認することが可能です。

「ダウンロード MP3」ボタンを押下すれば、音声合成した MP3 を、ローカルに保存することもOKです。

このように、デジタル化テキストを、音声合成することができました!

PythonでAmazon Pollyに触れる

Python で、AWS のサービスを扱うには、先ほどインストールした Boto3 を使う必要があります。

ライブラリのインポート

ではまず、ライブラリをインポートするコードを書いていきましょう!

通常 boto3 を扱うためには、Session を立ち上げて、Polly のクライアントを作成するといった処理が必要です。

ですが、先ほど aws config で設定した情報を認証してくれるので、省略ができます。

そのおかげで、コード上では個人情報が書かれないので、セキュリティ的にも安全なものになります。

もし、複数のリージョンが必要となる場合、

上のように書くと、複数のリージョンで使用可能です。

音声の合成

では次に、音声ファイルを作成するうえで必要なコードを書いていきましょう!

Amazon Polly の コンソール上で利用したように、音声ファイルを作成するためには、Amazon Polly の API である「SynthesizeSpeech」というものを利用します。

【SynthesizeSpeech:公式ドキュメント】
https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html

Voice ID は、それぞれの言語によって、しゃべってくれる ID が異なります。

そのため、しゃべらせたい言語によって、変える必要がある部分です。

作成したファイルを確認すると、テキストから音声合成できていることが確認できると思います。

有名人認識アプリの開発!

前回までで、画像認識機能を持った、有名人認識アプリを開発することができましたね!

有名人認識アプリ

音声合成の基本的な使い方を理解したところで、いよいよ有名人認識アプリに、実装していきたいと思います。

今回の流れとしては、以下を想定しています。

  1. 画像解析を行った結果をテキスト化
  2. 「1」のテキストを Amazon Polly に投げて音声合成

では早速、順に実装していきましょう!

画像解析結果をテキスト化

ではまず、解析結果をテキスト化してみます。

まず、前回の検出時に取得したリストから、テキスト化しやすいように整形しなおします。

次に、その整形したものを使い、解析結果テキストを作成しましょう!

上のコードの以下の部分で、解析結果のテキストを作成します。

これから有名人の名前や、認識できなかった人の数、物体の名前を示すことができます。

テキストをAmazon Pollyに投げて音声合成

次は、このテキストを使って、音声を出力してみましょう!

上のコードにより、作成したテキストを音声合成を行い、再生することができます。

ここまでで、Amazon Polly を使って、音声合成を行うことができましたね!

今後は、このアプリに、機械翻訳の機能を追加していきたいと思います。

Amazon Translate編へつづく!

「有名人画像認識アプリ」を開発するシリーズを読んでいただき、大変ありがとうございます!

あまり馴染みのない 「AWS」はこんなこともできるんだよ、といったことを伝えたいために、このテーマを選択しています。

さて、次回からは、いよいよ機械翻訳の使い方に入っていきます。

どんどんと完成に近づいていきますね!

では、次回もお楽しみに!

Amazon Translate編はこちら!

記事を書いた人

\ 3度のメシより技術が好き /
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
システム開発依頼・お見積もりはこちらまでお願いします。
また、WEB・スマホ系エンジニアを積極採用中です!
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

こちらの記事もオススメ!


書いた人はこんな人

ライトコード社員ブログ
ライトコード社員ブログ
「好きなことを仕事にするエンジニア集団」の(株)ライトコードです!
ライトコードは、福岡本社、東京オフィスの2拠点で事業展開するIT企業です。
現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。
いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。

システム開発依頼・お見積もりは大歓迎!
また、WEBエンジニアとモバイルエンジニアも積極採用中です!

ご応募をお待ちしております!

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア