LoginSignup
13
14

More than 5 years have passed since last update.

Macでpython3でGoogle Cloud Speech gRPC API を使ってストリーム音声認識をする!

Last updated at Posted at 2017-07-18

事前説明

最新情報(2017年11月7日)

googleAPIインタフェースが変更されていたりして,そのままでは動かなくなっているようです.
今後新たに,ストリーム音声認識を使う方は,以下の @delete さんの記事を参考にされると良いです.
https://qiita.com/delete/items/395776c6843d67fd65fd

以前に書いた記事

以下にあります.

【Google Cloud Speech gRPC API を使ってストリーム音声認識をしたい!(簡易VAD付けた)】
http://qiita.com/sayonari/items/a70118a468483967ad34

今回の記事の説明

この記事は,新しい環境で,google音声認識をやったら,上手く行かなかったので,最初からインストールしたときのメモを残しておくものです.ちゃんと再検証できていないので,ご意見や修正事項を発見された方は,どしどしご意見ください.

本編

実行環境

  • マシン:MacBook Pro (Retina, 13-inch, Early 2015)
  • OS:MacOS Sierra 10.12.5

インストール

google cloud API dashboard

https://console.cloud.google.com/?hl=ja
google cloud APIで,speechAPIを利用可能にする方法は,結構めんどくさいですが,情報が溢れているので,各自でググって調べてください.

プロジェクトの作成

自分の好きな名前でプロジェクトを作りましょう.
GoogleCloudAPI-ASRtest というプロジェクトを作りました.
SpeechAPIを使えるようにしたら,API内のIDが出るので,それを覚えておきましょう.

ライブラリのインストール

pip install google.cloud.speech

gcloud コマンドのインストール

install.shの実行

SDKの初期化

gcloud init

「You must log in to continue. Would you like to log in (Y/n)?」と聞かれるので,Yを入力.

ブラウザが立ち上がるので,API登録したgoogleアカウントでログイン.

「Pick cloud project to use: 」の下に,番号とともに,APIプロジェクト名が並ぶので,SpeechAPIを登録したプロジェクトを選択.

「Do you want to configure Google Compute Engine
(https://cloud.google.com/compute) settings (Y/n)? 」 Yとして,サーバーの選択.
「 [2] asia-east1-b」にした.

PYTHONPATHに,パスを追記

pip install gcloud

インストールされたディレクトリを,PYTHONPATHに追加

僕の場合は,以下のようになった.
export PYTHONPATH="/Users/nishimura/.pyenv/versions/3.6.1/lib/python3.6/site-packages:$PYTHONPATH"

これを,~/.bash_profileに追記しておくと,毎回自動で実行されるから便利.

クレデンシャル デフォルト設定

gcloud auth application-default login

ブラウザが立ち上がるので,googleのアカウントでログイン.
アプリケーションの承認.

googleのサンプルを実行

transcribe_streaming_mic.pyを実行したら,英語で音声認識できる.

日本語音声認識したいよ!

プログラム内(main関数内)の,configを設定しているところで直接指定する.

language_code='ja-JP'

認識候補 (phrase hints)を与えたいよ!

main関数内のconfigを,こう書き換えてみたら?

    config = types.RecognitionConfig(
        encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=RATE,
        language_code='ja-JP',
        speech_contexts=[speech.types.SpeechContext(
            phrasesHints=["キータが来た","ホントっすか"]
        )]
    )

ただ,「読み」が与えられないので,漢字で書くと上手く認識されない.残念.
誰か,「読みの与え方」を知ってたら教えてくださいm(_ _)m

上述されていない参考にしたページ

公式マニュアル
https://media.readthedocs.org/pdf/google-cloud-python/latest/google-cloud-python.pdf

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14