基本操作ガイド

Basic Guide

音声認識ブロックの使い方

音声認識ブロックの使い方

このドキュメントでは、PC で録音した音声データを使って、音声認識ブロックの使い方を解説します。

音声認識ブロックを使った音声認識の例の概略図

今回、音声データはサンプルを準備しました。音声データの作成方法(PC で録音して変換)については、「付録」としてまとめています。ご自身で試すときの参考にしてください。

基本的な BLOCKS の操作方法については、「基本操作ガイド」の「操作方法」の章で解説しています。BLOCKS が初めての方や不慣れな方は、事前に目を通しておいてください。

特に、このドキュメントでは、Big Data ボードを使用する内容となっています。Big Data ボードの基本操作については、以下のドキュメントを参考にしてください。

このドキュメントの目次

  1. 準備
    音声データと Big Data ボード用のフローの準備方法について解説しています。
  2. 解説
    準備したフローについて解説しています。
  3. 付録
    今回使用した音声データの作成方法について解説しています。

準備

すぐ試せるように、音声データと Big Data ボードのフローをエクスポートしたデータを準備しました。以下のそれぞれの説明に沿って自身の環境に準備してください。

データ 説明
サンプル音声データ

音声データは、BLOCKS サイトの以下の文章を読み上げたものを準備しました。

機械学習や人工知能に関して、様々なサービスが発表されていますが、ビジネスで使おうとするとどれも「高価」で「難しい」ものばかりです。機械学習の専門家が機械学習を使うのではなく、ビジネスの専門家が機械学習を使えなければなりません。だからこそ、MAGELLAN BLOCKS は、誰もが気軽に機械学習を使えるよう、簡単かつリーズナブルな価格で提供しています。

https://www.magellanic-clouds.com/blocks/
  1. サンプル音声データのダウンロード

    左のリンクをクリックして、サンプル音声データをダウンロードします。

  2. Google Cloud Storage (GCS) へアップロード

    ダウンロードしたサンプル音声データを GCS へアップロードします。

    GCS への音声データをアップロードする方法については、「GCS へファイルをアップロードする方法」を参考にしてください。

サンプルフロー

サンプルフローは、音声認識ブロックを使用した最もシンプルなフローと、BigQuery を活用したフローの 2 種類を準備しました。

  1. サンプルフローのダウンロード

    左のリンクをクリックして、サンプルフローをダウンロードします。

  2. Big Data ボードへインポート

    ダウンロードしたサンプルフローを Big Data ボードへインポートします。

    サンプルフローのインポート方法については、「インポート」を参考にしてください。

  3. Big Data ボードの保存

    Big Data ボード画面右上の「保存」ボタンをクリックして、インポートしたサンプルフローを Big Data ボードに保存します。

解説

ひとつ目のフローは、Cloud Speech API を使った音声認識の最もシンプルな例です。

音声認識ブロックのサンプルフロー (1)

このように「機械学習」カテゴリーの「音声認識」ブロックを配置するだけで、GCS 上にアップロードされた音声データを読み取り、テキストデータに変換できます。

以下に、各ブロックのプロパティの設定値を示します(初期値と異なる設定と重要なプロパティのみ)。提供のサンプルフローでは、「ブロックメモ」プロパティに各ブロックの動作説明を記載していますが、ここでは省略します。

ブロック
(カテゴリー)
プロパティ
フローの開始
(基本)
ブロック名

Cloud Speech API サンプル (1)

もうひとつのフローと区別するため、ブロック名を変更しています。

音声認識
(機械学習)
GCPサービスアカウント 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択
音声データのGCS上のURL

gs://my-bucket/speech_api_sample_voice_ja.flac

my-bucket の部分は、音声データをアップロードしたバケットのバケット名に置き換えてください。

結果を格納する変数 _
音声データのエンコーディング FLAC
音声データのサンプルレート 16000
音声データの言語コード 日本語 (日本)
ログへ出力
(基本)
ログへ出力する変数 _

このフローを実行するには、フローの開始ブロック(ブロック名: Cloud Speech API サンプル (1))のプロパティ内にある「」ボタンをクリックします。

実行が成功するとログに以下のような内容が出力されます。ログは、画面最下部の「ログ」と書かれた灰色のバーをクリックして、ステータスが「成功」の部分をクリックすると表示されます。

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "機械学習や人工知能に関して様々なサービスが発表されていますがビジネスで使おうとするとどれも効果で難しいものばかりです機械学習の専門家が機械学習を使うのではなくビジネスの専門家が機械学習を使えなければなりませんだからこそマゼランブロックスは誰もが気軽に機械学習を使えるよう簡単かつリーズナブルな価格で提供しています",
          "confidence": 0.956131
        }
      ]
    }
  ],
  "gcs_url": "gs://my-blocks-storage/speech_api_sample_voice_ja.flac",
  "timestamp": 1497923361.0
}

"transcript": "機械学習や . . . (中略) . . . 提供しています"」の部分が音声データの変換結果です。

"confidence": 0.956131」の部分が変換したテキストデータの信頼度を表す数値です。0.0 から 1.0 の範囲で表します。数値の大きさが、信頼度の高さを表します。通常、もっとも信頼度の高いテキストにのみ出力されます。

この変換結果では、約 96% の信頼度ということで、確かに正しく認識できていない部分が散見されます(赤字の部分が誤認識)。

音声認識」ブロックには、「音声認識のヒントとなる単語やフレーズ」プロパティがあり、ここに単語やフレーズを指定することで、音声認識の精度を高められます。

ふたつ目のフローでは、音声の認識精度を高める設定をし、応用例として音声認識の結果を BigQuery に蓄積する例としました。

音声認識ブロックのサンプルフロー (2)

以下に、各ブロックのプロパティの設定値を示します(初期値と異なる設定と重要なプロパティのみ)。提供のサンプルフローでは、「ブロックメモ」プロパティに各ブロックの動作説明を記載していますが、ここでは省略します。

ブロック
(カテゴリー)
プロパティ
フローの開始
(基本)
ブロック名

Cloud Speech API サンプル (2)

もうひとつのフローと区別するため、ブロック名を変更しています。

音声認識
(機械学習)
GCPサービスアカウント 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択
音声データのGCS上のURL

gs://my-bucket/speech_api_sample_voice_ja.flac

my-bucket の部分は、音声データをアップロードしたバケットのバケット名に置き換えてください。

結果を格納する変数 _
音声データのエンコーディング FLAC
音声データのサンプルレート 16000
音声データの言語コード 日本語 (日本)
最大変換候補数

3

今回は、BigQuery に結果を記録するため、後で比較検討できるように最大で 3 つの変換候補を得るようにしています。

音声認識のヒントとなる単語やフレーズ
  • 高価
  • MAGELLAN BLOCKS

この設定によって、以下のように改善することを期待しています。

  • 「効果」→「高価」
  • 「マゼランブロックス」→「MAGELLAN BLOCKS」
変数からテーブルへロード
(BigQuery)
GCPサービスアカウント 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択
投入データの変数 _
投入先のデータセット

blocks_samples

この名称は変えても支障ありません。

投入先のテーブル

speech_api

この名称は変えても支障ありません。

スキーマ設定
results RECORD REPEATED
results.alternatives RECORD REPEATED
results.alternatives.transcript STRING NULLABLE
results.alternatives.confidence FLOAT NULLABLE
gcs_url STRING NULLABLE
timestamp TIMESTAMP NULLABLE

スキーマの設定は、スキーマ設定プロパティの「JSONで編集」リンクをクリックして、以下のコードを貼り付けると簡単です。

[
 {
  "name": "results",
  "type": "RECORD",
  "mode": "REPEATED",
  "fields": [
   {
    "name": "alternatives",
    "type": "RECORD",
    "mode": "REPEATED",
    "fields": [
     {
      "name": "transcript",
      "type": "STRING",
      "mode": "NULLABLE"
     },
     {
      "name": "confidence",
      "type": "FLOAT",
      "mode": "NULLABLE"
     }
    ]
   }
  ]
 },
 {
  "name": "gcs_url",
  "type": "STRING",
  "mode": "NULLABLE"
 },
 {
  "name": "timestamp",
  "type": "TIMESTAMP",
  "mode": "NULLABLE"
 }
]
空でないテーブルが存在したとき

上書き

この例では、フローを実行するたびに音声認識の結果を上書きしています。音声認識の結果を蓄積させたい場合は、「追加」を選択します。

クエリーの実行
(BigQuery)
GCPサービスアカウント 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択
SQL 文法 Legacy SQL
クエリー
SELECT
  results.alternatives.transcript as transcript
FROM
  [blocks_samples.speech_api]
WHERE
  results.alternatives.confidence > 0
ORDER BY
  timestamp desc
LIMIT
  1

4 行目の blocks_samples および speech_api の部分は、それぞれ「変数からテーブルへロード」ブロックの「投入先のデータセット」プロパティおよび「投入先のテーブル」プロパティの値と合わせてください。

結果格納先のデータセット (空欄)
結果格納先のテーブル (空欄)
結果を格納する変数

(空欄)

「結果格納先のデータセット」プロパティ・「結果格納先のテーブル」プロパティ・「結果を格納する変数」プロパティすべてを空欄(初期値)にすると、クエリーの実行結果は、変数 _ に格納されます。

ログへ出力
(基本)
ログへ出力する変数 _

このフローを実行するには、フローの開始ブロック(ブロック名: Cloud Speech API サンプル (2))のプロパティ内にある「」ボタンをクリックします。

実行が成功するとログに以下のような内容が出力されます。

[
  {
    "transcript": "機械学習や人工知能に関して様々なサービスが発表されていますがビジネスで使おうとするとどれも高価で難しいものばかりです機械学習の専門家が機械学習を使うのではなくビジネスの専門家が機械学習を使えなければなりませんだからこそ magellan blocks は誰もが気軽に機械学習を使えるよう簡単かつリーズナブルな価格で提供しています"
  }
]

先ほどと同様に、「"transcript": "機械学習や . . . (中略) . . . 提供しています"」の部分が音声データの変換結果です。「音声認識」ブロックの「音声認識のヒントとなる単語やフレーズ」を設定することで、音声認識の結果が変わりました(青字の部分)。

付録

今回用意したサンプル音声データの作成方法を簡単に紹介します。ご自身で音声データを準備して試す場合の参考にしてください。

音声録音は、Windows や macOS (OS X) の標準アプリでできますが、音声認識ブロックがサポートする音声データの形式ではないため、そのままでは使えません。別途、専用のアプリをインストールして、音声認識ブロックがサポートする音声データ形式に変換する必要があります。

ここでは、Audacity というアプリをインストールして、音声録音する方法を紹介します。Audacity は、デジタルオーディオの編集および録音ができるオープンソースソフトウエアで、音声認識がサポートする FLAC 形式の音声データの出力が可能です。

Audacity のインストール方法と Audacity を使った音声録音の方法について、順を追って解説します。

Audacity のインストール
Windows 10 の場合
  1. Audacity のウェブサイトを開きます。
    Audacity ページ画像
  2. Download Audacity 2.1.3」のリンクをクリックします。

    2.1.3」は、Audacity のバージョン番号です。バージョン番号は、2017 年 6 月 1 日時点の情報で記載しているため、異なる可能性があります。異なっている場合は、最新のバージョン番号で読み替えてください。

    Audacity のダウンロードページへのリンク画像
  3. ダウンロードページが表示されます。ページ内の「Audacity for Windows」のリンクをクリックします。
    Audacity for Windows のリンク画像
  4. Windows 版 Audacity のダウンロードページが表示されます。ページ内の「Audacity 2.1.3 installer」のリンクをクリックして、Audacity のインストーラをダウンロードします。
    Audacity Windows 版ダウンロードページ画像
  5. ダウンロードした「audacity-win-2.1.3.exe」ファイルを実行します。
    Audacity for Windows のインストーラファイル画像
  6. Audacity のインストール許可を訪ねてきます。「はい」ボタンをクリックします。
    Audacity for Win のインストール許可画面
  7. インストール中に利用する言語を選択して、「OK」ボタンをクリックします。
    インストール中に利用する言語の選択画面
  8. Audacity セットアップウィザードの開始」が表示されます。「次へ(N) >」ボタンをクリックします。
    Audacity セットアップウィザードの開始画面
  9. 重要な情報が表示されます。「次へ(N) >」ボタンをクリックします。
    Audacity セットアップの重要な情報画面
  10. Audacity をインストールするフォルダーを指定して、「次へ(N) >」ボタンをクリックします。
    Audacity セットアップのインストール先の指定画面
  11. 追加タスクの選択が表示されます。「次へ(N) >」ボタンをクリックします。
    デスクトップ上にアイコンを作成したくない場合は、「デスクトップ上にアイコンを作成する(D)」のチェックを外します。
    Audacity セットアップの追加タスクの選択画面
  12. インストール準備完了が表示されます。「インストール(I)」ボタンをクリックすると、Audacity のインストール始まります。
    Audacity セットアップのインストール準備完了画面
  13. Audacity のインストールが完了すると、重要な情報が表示されます。「次へ(N) >」ボタンをクリックします。
    Audacity セットアップの重要な情報画面(インストール完了時)
  14. Audacity セットアップウィザードの完了」が表示されます。「完了(F)」ボタンをクリックするとインストールの完了です。
    デフォルトでは、「Audacity を実行する」のチェックが付いているので、「完了(F)」ボタンをクリックすると、Audacity が起動します。
    Audacity セットアップウィザードの完了画面
macOS / OS X の場合
  1. Audacity のウェブサイトを開きます。
    Audacity ページ画像
  2. Download Audacity 2.1.3」のリンクをクリックします。

    2.1.3」は、Audacity のバージョン番号です。バージョン番号は、2017 年 6 月 1 日時点の情報で記載しているため、異なる可能性があります。異なっている場合は、最新のバージョン番号で読み替えてください。

    Audacity のダウンロードページへのリンク画像
  3. ダウンロードページが表示されます。ページ内の「Audacity for Mac OS X/macOS」のリンクをクリックします。
    Audacity ダウンロードページ画像
  4. macOS (OS X) 版 Audacity のダウンロードページが表示されます。ページ内の「Audacity 2.1.3 .dmg file」のリンクをクリックして、Audacity をダウンロードします。
    Audacity macOS/OS X 版ダウンロードページ画像
  5. ダウンロードした「audacity-macos-2.1.3.dmg」ファイルを Finder からダブルクリックして開きます。
    Audacity ダウンロードファイルの図
  6. 画面内で Audacity アイコンを Applications フォルダーへドラッグ&ドロップします。
    Audacity をアプリケーションフォルダーにインストールする画面
  7. 上記ウィンドウを閉じます。
  8. デスクトップの Audacity 2.1.3 のアイコンをマウスの右ボタンクリックして、表示されるメニューから「"Audacity 2.1.3"を取り出す」をクリックします。
    これでインストールの完了です。
    Audacity ディスク取り出しの図
Audacity を使った音声録音

Audacity の画面は、いくつかのパーツで構成されています。音声録音に必要なパーツとその名称は、下図のとおりです。

Audacity Project Window の各パーツ名称図

macOS / OS X の場合、メニューバーは Audacity ウィンドウ内ではなく、画面上部にあります。

音声録音の操作手順は、以下のとおりです。

  1. デバイスツールバーから「録音デバイス」と「録音チャンネル」を設定します。

    Audacity デバイスツールバーの図
    • 録音デバイスから録音に使用するデバイスを選択します。
    • 録音チャンネルから「1(モノ)録音チャンネル」を選択します。
  2. 選択ツールバーから「プロジェクトのサンプリング周波数 (Hz)」を Cloud Speech API 推奨の 16000 Hz に設定します。

    Audacity の選択ツールバーの図
  3. これで、録音の準備が整いました。録音を開始する前に、録音時の音声の大きさ(録音レベル)をチェックしておきます。録音メーターツールバーをマウスでクリックすると、録音せずに録音レベルのチェックができます。

    Audacity レコーディングメーターの図
  4. ミキサーツールバーの録音ボリュームを使って録音レベルを調整します。

    Audacity のミキサーツールバーの図
  5. 録音レベルの調整が済んだら、録音メーターツールバーをもう一度マウスでクリックして、録音レベルのチェックを終了させます。

  6. 録音は、トランスポートツールバーの「録音」ボタンをクリックすると始まります。録音を停止するには、停止ボタンをクリックします。
    Audacity のトランスポートツールバーの図
  7. 録音データを FLAC 形式の音声データとして出力するには、「ファイル」メニューから「オーディオの書き出し」をクリックします。

    Audacity のファイルメニューの図
  8. オーディオの書き出しウィンドウで、各項目を適切に指定して、「保存」ボタンをクリックします。

    Audacity のオーディオ書き出しウィンドウの図

    各項目の内容は、以下を参考にしてください(括弧内は macOS / OS X の表記)。

    • ファイル名名前): ファイル名を指定します。
    • 保存する場所場所): ファイルを保存する場所を指定します。
    • ファイルの種類ファイルタイプ): 「FLACファイル」を選択します。
    • レベル: 圧縮レベルを「0」から「8」までの数値で指定します。初期値は「5」です。「0」が圧縮なしで、数値が上がるほど圧縮率が上がります。
    • 量子化ビット数: 「16 bit」を選択します。