4
0

More than 1 year has passed since last update.

はじめてのGoogle AIY Voice Kit⑦【音声認識編】

Last updated at Posted at 2022-02-07

はじめに

前回のサンプルコード実行編の記事はこちらから:information_desk_person:
今回はGoogleの「Cloud Speech-to-Text API」というAPI(音声をテキストに変換する)を使用し、音声認識の機能を試してみたいと思います。

※「Speech-to-Text」を使用するためには、事前にGoogle Cloud PlatformでAPIを有効化し、秘密鍵(JSON)をホームディレクトリに配置しておく必要があります

Google Cloud Platformにログイン

①Googleアカウントを用意します。
Google Cloud Platformにログインします。
以下の画像が表示された場合、[無料で使ってみる]を選択し、その後画面に表示される手順に沿って登録します。

image.png

請求先アカウントの追加

ログイン後、左側に表示されるナビゲーションメニューの中から「お支払い」を選択し、請求先アカウントを追加します。
※請求先アカウントの追加はCloud Speech-to-Tex APIの利用に必須となっています

Cloud Speech-to-Tex APIの請求について 月に60分未満使用する場合は無料です。 それを超えると、料金が15秒ごとに0.006ドルかかります。

image.png

プロジェクトの作成

Google AIY Voice Kitで使用する全てのAPIを管理するプロジェクトを作成します。

①画像のように▼マークがある箇所を選択します。
image.png

②[新しいプロジェクト]を選択します。
image.png

③以下のように、プロジェクトを設定します。

・プロジェクト名:任意のプロジェクト名を入力
・プロジェクトID:任意でプロジェクトIDをデフォルトのIDから変更
・場所:「組織なし」を選択

[作成]ボタン押下
image.png

④作成したプロジェクトを選択します。
image.png

APIの有効化

①ナビゲーションメニューの中から「APIとサービス」を選択します。
image.png

②画面上部の[APIとサービスの有効化]を選択します。
image.png

③検索欄に、「Cloud Speech-to-Text」と入力します。
image.png

④一番上の「Cloud Speech-to-Text API」を選択します。
image.png

⑤[有効にする]ボタンを押下し、APIを有効にします。
image.png

⑥有効化後、[認証情報を作成]ボタンを押下します。
image.png

認証情報の作成

①画像のようなページが表示されるため、以下のようにします。
image.png

・使用するAPI:「Cloud Speech-to-Text API」を選択
・アクセスするデータの種類:アプリケーションデータ」にチェック
・APIの使用予定:「いいえ、使用していません」を選択

[次へ]ボタン押下

・サービスアカウント名:任意の名称を入力
・サービスアカウントID:任意のIDを入力
・サービスアカウントの説明:説明を任意で入力(入力しなくてもOK)

[完了]ボタン押下

②認証情報が作成されました。
③サービスアカウントを選択します。
image.png

秘密鍵の作成

①メールの箇所を選択します。
image.png

②「キー」タブから[鍵を追加]ボタンを押下します。
image.png

③秘密鍵のキータイプでは「JSON」を選択し、[作成]ボタンを押下します。
image.png

④秘密鍵がダウンロードされました!
[閉じる]ボタンを押下し、秘密鍵の作成を終了します。
image.png

秘密鍵のリネーム

ダウンロードた秘密鍵のファイル名には、プロジェクト名と番号が含まれています。フ
ファイル名をcloud_speech.json にリネーム(ファイル名を変更)します。

image.png

秘密鍵をラズパイ上に配置

・リネームした秘密鍵cloud_speech.jsonをラズパイのホームディレクトリに配置します。

・秘密鍵は任意のディレクトに配置しておきます。
以下のディレクトリに配置しました。(今回は公式サイトと同じように実施しましたが、任意のディレクトリでOKです)

c:\Users\【ユーザー名】\path\to\downloaded\cloud_speech.json

①Visual Studio Codeを起動します。
②Visual Studio Codeのターミナルを開きます。
③以下のcdコマンドでカレントディレクトリ(今回はCドライブ)から、cloud_speech.jsonまで移動します。

cd Users\【ユーザー名】\path\to\downloaded\cloud_speech.json

④以下のscpコマンドで秘密鍵をラズパイのホームディレクトリにコピーします。

scp cloud_speech.json pi@raspberry.local:~/

⑤ラズパイのパスワードを聞かれるため、パスワードを入力します。
cloud_speech.jsonと表示されたらコピー成功です!
image.png

秘密鍵がラズパイのホームディレクトリに配置されました!
image.png

コード記述、プログラム実行

秘密鍵をラズパイのホームディレクトリに配置したら、Pythonファイルを作成し以下のサンプルコードを記述します。

①以下のコマンドでPythonファイル「speech-to-text.py」を作成します。

sudo vi speech-to-text.py

②作成したPythonファイル「speech-to-text.py」に以下のコードを記述します。

#!/usr/bin/env python3
import datetime
from aiy.board import Board
from aiy.cloudspeech import CloudSpeechClient

print('Speech To Text(書き取り)のサンプルです("終了"と言うと終了します)')
client = CloudSpeechClient()
with Board() as board:
    while True:
        print('聴き取り中・・・')
        text = client.recognize(language_code='ja-JP',
                                hint_phrases=('今何時', '今日の天気は', '終了'))
        if text is None:
            print('何かしゃべってよ')
            continue

        print('「{}」と言いましたね!'.format(text))

        if '今何時' in text:
            now = datetime.datetime.now()
            print(now)
        if '今日の天気は' in text:
            print('たぶん晴れじゃないかなあ')
        elif '終了' in text:
            print('え?もう行っちゃうの・・・?')
            break

③以下のコマンドを入力し、「speech-to-text.py」を実行します。

python3 speech-to-text.py

実行結果

Voice Kitに向かって「こんにちは」と言うと…
無事に聞き取ってくれました!
「終了」と言うと聴き取りが終了します。

image.png

4
0
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
4
0