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

今回、音声データはサンプルを準備しました。音声データの作成方法(PC で録音して変換)については、「付録」としてまとめています。ご自身で試すときの参考にしてください。
info 基本的な BLOCKS の操作方法については、「基本操作ガイド」の「操作方法」の章で解説しています。BLOCKS が初めての方や不慣れな方は、事前に目を通しておいてください。
特に、このドキュメントでは、フローデザイナーを使用する内容となっています。フローデザイナーの基本操作については、以下のドキュメントを参考にしてください。
このドキュメントの目次
準備
すぐ試せるように、音声データとフローデザイナーのフローをエクスポートしたデータを準備しました。以下のそれぞれの説明に沿って自身の環境に準備してください。
データ | 説明 |
---|---|
file_download サンプル音声データ |
音声データは、BLOCKS サイトの以下の文章を読み上げたものを準備しました。
|
file_download サンプルフロー |
サンプルフローは、音声認識ブロックを使用した最もシンプルなフローと、BigQuery を活用したフローの 2 種類を準備しました。
|
解説
ひとつ目のフローは、音声認識ブロックを使った音声認識の最もシンプルな例です。

このように「機械学習」カテゴリーの「音声認識」ブロックを配置するだけで、GCS 上にアップロードされた音声データを読み取り、テキストデータに変換できます。
以下に、各ブロックのプロパティの設定値を示します(初期値と異なる設定と重要なプロパティのみ)。提供のサンプルフローでは、「ブロックメモ」プロパティに各ブロックの動作説明を記載していますが、ここでは省略します。
ブロック (カテゴリー) |
プロパティ | 値 |
---|---|---|
フローの開始 (基本) |
ブロック名 |
Cloud Speech API サンプル (1) info もうひとつのフローと区別するため、ブロック名を変更しています。 |
音声認識 (機械学習) |
GCPサービスアカウント | 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択 |
音声データのGCS上のURL |
gs://my-bucket/speech_api_sample_voice_ja.flac info my-bucket の部分は、音声データをアップロードしたバケットのバケット名に置き換えてください。 |
|
結果を格納する変数 | _ | |
音声データのエンコーディング | FLAC | |
音声データのサンプルレート | 16000 | |
音声データの言語コード | 日本語 (日本) | |
ログへ出力 (基本) |
ログへ出力する変数 | _ |
このフローを実行するには、フローの開始ブロック(ブロック名: Cloud Speech API サンプル (1))のプロパティ内にある「play_circle_outline」ボタンをクリックします。
実行が成功するとログに以下のような内容が出力されます。ログは、画面最下部の「ログ」と書かれた灰色のバーをクリックして、ステータスが「成功」の部分をクリックすると表示されます。
{ "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 に蓄積する例としました。

以下に、各ブロックのプロパティの設定値を示します(初期値と異なる設定と重要なプロパティのみ)。提供のサンプルフローでは、「ブロックメモ」プロパティに各ブロックの動作説明を記載していますが、ここでは省略します。
ブロック (カテゴリー) |
プロパティ | 値 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
フローの開始 (基本) |
ブロック名 |
Cloud Speech API サンプル (2) info もうひとつのフローと区別するため、ブロック名を変更しています。 |
|||||||||||||||||
音声認識 (機械学習) |
GCPサービスアカウント | 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択 | |||||||||||||||||
音声データのGCS上のURL |
gs://my-bucket/speech_api_sample_voice_ja.flac info my-bucket の部分は、音声データをアップロードしたバケットのバケット名に置き換えてください。 |
||||||||||||||||||
結果を格納する変数 | _ | ||||||||||||||||||
音声データのエンコーディング | FLAC | ||||||||||||||||||
音声データのサンプルレート | 16000 | ||||||||||||||||||
音声データの言語コード | 日本語 (日本) | ||||||||||||||||||
最大変換候補数 |
3 info 今回は、BigQuery に結果を記録するため、後で比較検討できるように最大で 3 つの変換候補を得るようにしています。 |
||||||||||||||||||
音声認識のヒントとなる単語やフレーズ |
info この設定によって、以下のように改善することを期待しています。
|
||||||||||||||||||
変数からテーブルへロード (BigQuery) |
GCPサービスアカウント | 複数の GCP サービスアカウントがある場合は、適切な GCP サービスアカウントを選択 | |||||||||||||||||
投入データの変数 | _ | ||||||||||||||||||
投入先のデータセット |
blocks_samples info この名称は変えても支障ありません。 |
||||||||||||||||||
投入先のテーブル |
speech_api info この名称は変えても支障ありません。 |
||||||||||||||||||
スキーマ設定 |
スキーマの設定は、スキーマ設定プロパティの「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 info 4 行目の blocks_samples および speech_api の部分は、それぞれ「変数からテーブルへロード」ブロックの「投入先のデータセット」プロパティおよび「投入先のテーブル」プロパティの値と合わせてください。 |
||||||||||||||||||
結果格納先のデータセット | (空欄) | ||||||||||||||||||
結果格納先のテーブル | (空欄) | ||||||||||||||||||
結果を格納する変数 |
(空欄) info「結果格納先のデータセット」プロパティ・「結果格納先のテーブル」プロパティ・「結果を格納する変数」プロパティすべてを空欄(初期値)にすると、クエリーの実行結果は、変数 _ に格納されます。 |
||||||||||||||||||
ログへ出力 (基本) |
ログへ出力する変数 | _ |
このフローを実行するには、フローの開始ブロック(ブロック名: Cloud Speech API サンプル (2))のプロパティ内にある「play_circle_outline」ボタンをクリックします。
実行が成功するとログに以下のような内容が出力されます。
[ { "transcript": "機械学習や人工知能に関して様々なサービスが発表されていますがビジネスで使おうとするとどれも高価で難しいものばかりです機械学習の専門家が機械学習を使うのではなくビジネスの専門家が機械学習を使えなければなりませんだからこそ magellan blocks は誰もが気軽に機械学習を使えるよう簡単かつリーズナブルな価格で提供しています" } ]
先ほどと同様に、「"transcript": "機械学習や . . . (中略) . . . 提供しています"」の部分が音声データの変換結果です。「音声認識」ブロックの「音声認識のヒントとなる単語やフレーズ」を設定することで、音声認識の結果が変わりました(青字の部分)。
付録
今回用意したサンプル音声データの作成方法を簡単に紹介します。ご自身で音声データを準備して試す場合の参考にしてください。
音声録音は、Windows や macOS (OS X) の標準アプリでできますが、音声認識ブロックがサポートする音声データの形式ではないため、そのままでは使えません。別途、専用のアプリをインストールして、音声認識ブロックがサポートする音声データ形式に変換する必要があります。
ここでは、Audacity open_in_new というアプリをインストールして、音声録音する方法を紹介します。Audacity は、デジタルオーディオの編集および録音ができるオープンソースソフトウエアで、音声認識がサポートする FLAC 形式の音声データの出力が可能です。
Audacity のインストール方法と Audacity を使った音声録音の方法について、順を追って解説します。
Audacity のインストール
Windows 10 の場合
- Audacity open_in_new のウェブサイトを開きます。
- 「Download Audacity 2.1.3」のリンクをクリックします。
info「2.1.3」は、Audacity のバージョン番号です。バージョン番号は、2017 年 6 月 1 日時点の情報で記載しているため、異なる可能性があります。異なっている場合は、最新のバージョン番号で読み替えてください。
- ダウンロードページが表示されます。ページ内の「Audacity for Windows」のリンクをクリックします。
- Windows 版 Audacity のダウンロードページが表示されます。ページ内の「Audacity 2.1.3 installer」のリンクをクリックして、Audacity のインストーラをダウンロードします。
- ダウンロードした「audacity-win-2.1.3.exe」ファイルを実行します。
- Audacity のインストール許可を訪ねてきます。「はい」ボタンをクリックします。
- インストール中に利用する言語を選択して、「OK」ボタンをクリックします。
- 「Audacity セットアップウィザードの開始」が表示されます。「次へ(N) >」ボタンをクリックします。
- 重要な情報が表示されます。「次へ(N) >」ボタンをクリックします。
- Audacity をインストールするフォルダーを指定して、「次へ(N) >」ボタンをクリックします。
- 追加タスクの選択が表示されます。「次へ(N) >」ボタンをクリックします。
デスクトップ上にアイコンを作成したくない場合は、「デスクトップ上にアイコンを作成する(D)」のチェックを外します。 - インストール準備完了が表示されます。「インストール(I)」ボタンをクリックすると、Audacity のインストール始まります。
- Audacity のインストールが完了すると、重要な情報が表示されます。「次へ(N) >」ボタンをクリックします。
- 「Audacity セットアップウィザードの完了」が表示されます。「完了(F)」ボタンをクリックするとインストールの完了です。
デフォルトでは、「Audacity を実行する」のチェックが付いているので、「完了(F)」ボタンをクリックすると、Audacity が起動します。
macOS / OS X の場合
- Audacity open_in_new のウェブサイトを開きます。
- 「Download Audacity 2.1.3」のリンクをクリックします。
info「2.1.3」は、Audacity のバージョン番号です。バージョン番号は、2017 年 6 月 1 日時点の情報で記載しているため、異なる可能性があります。異なっている場合は、最新のバージョン番号で読み替えてください。
- ダウンロードページが表示されます。ページ内の「Audacity for Mac OS X/macOS」のリンクをクリックします。
- macOS (OS X) 版 Audacity のダウンロードページが表示されます。ページ内の「Audacity 2.1.3 .dmg file」のリンクをクリックして、Audacity をダウンロードします。
- ダウンロードした「audacity-macos-2.1.3.dmg」ファイルを Finder からダブルクリックして開きます。
- 画面内で Audacity アイコンを Applications フォルダーへドラッグ&ドロップします。
- 上記ウィンドウを閉じます。
- デスクトップの Audacity 2.1.3 のアイコンをマウスの右ボタンクリックして、表示されるメニューから「"Audacity 2.1.3"を取り出す」をクリックします。
これでインストールの完了です。
Audacity を使った音声録音
Audacity の画面は、いくつかのパーツで構成されています。音声録音に必要なパーツとその名称は、下図のとおりです。

info macOS / OS X の場合、メニューバーは Audacity ウィンドウ内ではなく、画面上部にあります。
音声録音の操作手順は、以下のとおりです。
-
デバイスツールバーから「録音デバイス」と「録音チャンネル」を設定します。
- 録音デバイスから録音に使用するデバイスを選択します。
- 録音チャンネルから「1(モノ)録音チャンネル」を選択します。
-
選択ツールバーから「プロジェクトのサンプリング周波数 (Hz)」を Cloud Speech API 推奨の
16000
Hz に設定します。 -
これで、録音の準備が整いました。録音を開始する前に、録音時の音声の大きさ(録音レベル)をチェックしておきます。録音メーターツールバーをマウスでクリックすると、録音せずに録音レベルのチェックができます。
-
ミキサーツールバーの録音ボリュームを使って録音レベルを調整します。
-
録音レベルの調整が済んだら、録音メーターツールバーをもう一度マウスでクリックして、録音レベルのチェックを終了させます。
- 録音は、トランスポートツールバーの「録音」ボタンをクリックすると始まります。録音を停止するには、停止ボタンをクリックします。
-
録音データを FLAC 形式の音声データとして出力するには、「ファイル」メニューから「オーディオの書き出し」をクリックします。
-
オーディオの書き出しウィンドウで、各項目を適切に指定して、「保存」ボタンをクリックします。
各項目の内容は、以下を参考にしてください(括弧内は macOS / OS X の表記)。
- ファイル名(名前): ファイル名を指定します。
- 保存する場所(場所): ファイルを保存する場所を指定します。
- ファイルの種類(ファイルタイプ): 「FLACファイル」を選択します。
- レベル: 圧縮レベルを「0」から「8」までの数値で指定します。初期値は「5」です。「0」が圧縮なしで、数値が上がるほど圧縮率が上がります。
- 量子化ビット数: 「16 bit」を選択します。