GoogleCloudPlatform CloudSpeedAPIを試した





GoogleCloudPlatformを使ってみたい!!!!!!
是非使ってみたい。
使ってみたいんだ私は。

「AWS使ってますよ」はよく聞くのですが、
私の周りに限った話だと「GCP使ってますよ」はあまり聞かないんですよね。

検索すると使ってらっしゃる人はたくさんいるのですが、
私の周りだとたまたまAWS派が多いようで、私としてはGCPもちょっと気になってます。

AWSというとEC2の様なサーバ用途のイメージが強いですが、
GCPも同様のサービスがあったりします。

ただ、それよりも個人的には「CLOUD MACHINE LEARNING」のイメージが強いですね。
Googleの持つ膨大なデータで学習されたAIをちょっとだけ借りることが出来ます。

今回はザックリ概要を調べた上で、音声解析のサービス「CloudSpeedAPI」を使ってみましたので、
使った感想を残しておこうと思います。




1. GoogleCloudPlatformとは

まずはザックリと。

Googleが提供するクラウドサービスで、

  • スケーラブルなホスティングサ-ビス
  • ストレージやデータベースだけの提供
  • Googleが学習させたAIの活用

などなど、約30種類のサービスを提供しています。

また、初回登録時には$300分の無料枠があり、お試しでいろいろ使ってみることが可能です。
しかもAWSのように従量課金であり、使った分だけ費用が発生するスタイル。

お試し、ということでは手を出しやすいですね。

2. CLOUD SPEECH API

CLOUD SPEECH API

高度な音声認識
Google Cloud Speech API では、使いやすい API で高度なニューラル ネットワーク モデルを適用し、 音声をテキストに変換できます。API は 80 以上の言語と方言を認識し、グローバルなユーザーベー スをサポートします。アプリケーションのマイクを通して受信するユーザーの音声をテキストに変換 したり、音声によるコマンド制御を可能にしたり、音声ファイルをテキストに変換したり、さまざま な機能を利用できます。Google が自身のサービスで利用している技術を利用して、リクエストでア ップロードされた音声を認識し、Google Cloud Storage の音声ストレージに統合できます。

長い!!

要は音声解析です。
とりあえずチュートリアルに則って作業を進めてみます。


5分でクイックスタート的な

ええと、大まかに流れは以下になります。

  1. GoogleCloudPlatformに登録
  2. コンソールでアプリケーションの登録
  3. GoogleCloudPlatformSDKのインストール
  4. GoogleCloudStrageに解析用音声データを配置
  5. 音声解析リクエストの送信

1. GoogleCloudPlatformに登録


ここですね。



クレカの番号入れないと使えないのですが、
「勝手に請求なんか絶対にしないよ!!」と強めに書いてあるので大丈夫です。
企業の担当者の方は安心してお試しください。 (2017/8時点)

2. コンソールでアプリケーションの登録

「コンソールを開く」を押下して…



ヘッダにプロジェクト名が表示されているのでそれを押下して…
※プロジェクトが一つもない状態だと操作が違うかもしれません。




ここからプロジェクトを追加します。







この状態から使うAPIを追加していくのですが、導線が分かりづらいので注意です。
以下のスクリーンショットを参照






ここ!!!です。
最初どこから追加するのかわかりませんでした。




有効、にして…





認証情報を作成します。
お試しなので、APIキー方式にします。(ちょっと脆弱かも)
ここで作成したAPIキーをアプリ側に使わせるわけですね。

3. GoogleCloudPlatformSDKのインストール

GCPSDKをインストールする必要があります。
コマンドラインツールですね。

ここに沿って実施します。
GCPクイックインストール

今回の作業環境は以下

  • CentOS7.1
  • Python 2.7.5(Python 2.7必須です)

クイックスタートページ内のリンクからソースを取得します。

これでインストールは完了。
適当に作業ディレクトリを作って、プロジェクトとして初期化します。

gcloudのコンポーネントを最新化

これで準備は完了です。

4. GoogleCloudStrageに解析用音声データを配置

SpeechAPIは、GoogleCloudStrageに配置された音声データしか解析できないので、
事前に音声データをGloudStrageに配置しておく必要があります。

以下のURLにアクセスしてGoogleCloudStrageを申し込み、コンソールから音声ファイルを配置しましょう

Google Cloud Strage

こんな感じで配置します。
※いっぱいあるのは試行錯誤の結果。

そして、こちらに置かれたファイルは以下のURIでアクセス可能になってます。

スキーマが「gs://」

ドメイン部は画像の部分ですね。
GoogleCloudStrageでは、バケットという単位でディレクトリを切るので、それを指定します。
その後にファイル指定ですね。

ただ、SpeechAPIの音声解析の際に注意点です。

  • モノラル音声のみ対応
  • wmaやMP3はダメ。flac?などに変換する必要あり。

なので、予め上記の設定で録音するか、
既存の音声であれば変換しておく必要があります。

5. 音声解析リクエストの送信

以下の様なjsonファイルを作成します。

トークンを取得しましょう。
なっがいのが返ってきます。

トークンと一緒にリクエストを投げます。

するとこんな感じのレスポンスが返ってきます。

成功ですね。

エラーメッセージとその対策

簡単に躓いた箇所のエラーメッセージとその対策です。

モノラルじゃないとき

モノラル音声にしなさいということ。
モノラル音声に変換して配置し直しましょう。

サンプルレートの指定が間違ってるとき

jsonで指定されたSampleRateは16000だけど、音声ファイルは44100に見えるからそっちに寄せなさい。といこと。
jsonのSampleRateを44100にしましょう。

所感

まずは使ってみよう、ということで使ってみました。
所感としては以下です。

  • 使う事自体は簡単
  • 使用頻度や使用量で料金が変わるので注意。(無料枠はある)
  • 複数人が喋るケースに対応していないので注意。
  • 雑音が多いと解析が難しそう。(雑踏の中とか)

とはいえ、Googleさんのデータ量であればいずれこのあたりも解消されると思います。
今後が楽しみですね。

以上です。

高橋 洋樹
WEBアプリケーション、スマートフォンアプリケーションエンジニア。 フロントエンドに関心大。 趣味でゲーム作ったり、つくらなかったり。