LoginSignup
0
0
音声認識APIを使ってみよう!

[Google Cloud Speech-to-Text API(V2)] Javaで認識ツールを取得する

Posted at

Cloud Speech-to-Text API V2(Java)を使用して、
認識ツールを取得する方法についてご紹介します。

認識ツールとは
認識ツールは構成可能で再利用可能な認識構成です。

頻繁に使用される認識構成を使用して認識ツールを作成すると、
認識リクエストを簡素化し、リクエストのサイズを削減できます。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Cloud Speech-to-Text API(V2)] JavaでSpeech-to-Text APIを使ってみる
を参照ください。

No 目次
1 認識ツール一覧を取得
1 スコープ
2 実行
3 レスポンスの内容
2 認識ツールを取得
1 スコープ
2 実行
3 レスポンスの内容

1. 認識ツール一覧を取得

認識ツール一覧を取得します。

1.1. スコープ

OAuth2.0でこのAPIを実行するには、以下のスコープを指定してください。
サービスアカウントで実行する場合はスコープの指定は不要です。

https://www.googleapis.com/auth/cloud-platform

1.2. 実行

public static void main(String[] args) throws Exception{
    try(SpeechClient client = getSpeechClient()){
        ListRecognizersRequest.Builder builder = ListRecognizersRequest.newBuilder();
        builder.setParent(String.format("projects/%s/locations/%s", "プロジェクトID","ロケーションID"));
        
        SpeechClient.ListRecognizersPagedResponse response = client.listRecognizers(builder.build());
        for(Recognizer recognizer : response.iterateAll()) {
            System.out.println(recognizer);
        }
    }
}

1.2.1. HTTPリクエスト

GET: https://speech.googleapis.com/v2/projects/{プロジェクトID}/locations/{ロケーションID}/recognizers
が実行されます。

1.2.2. クエリパラメータ

ListRecognizersRequest.Builderのsetメソッドにより、リクエストボディを追加できます。
build()メソッドでListRecognizersRequestインスタンスを取得し、
listRecognizers()に渡します。

メソッド 引数 説明
setParent String 【必須】リソース名
形式:"projects/{プロジェクトID}/locations/{ロケーションID}"
setPageSize int 取得する認識ツールの最大数(最大100)
setPageToken String ページトークン
setShowDeleted boolean 削除された認識ツールを表示するか

1.3. レスポンスの内容

SpeechClient.ListRecognizersPagedResponse

メソッド 戻り値 説明
iterateAll Iterable<Recognizer> 認識ツールのリスト
getNextPageToken String 次ページのトークン

Recognizer

メソッド 戻り値 説明
getName String リソース名
形式:"projects/{プロジェクトID}/locations/{ロケーションID}/recognizers/{認証ツールID}"
getUid String システムによって割り当てられた認識ツールID
getDisplayName String 認識ツールの名前(63文字まで)
getDefaultRecognitionConfig RecognitionConfig リクエストに使用するデフォルトの構成
getState State(enum) 認識ツールのライフサイクル状態
getCreateTime Timestamp 認識ツールの作成時間
getUpdateTime Timestamp 認識ツールの最終更新時刻
getDeleteTime Timestamp 認識ツールの削除要求された時刻
getExpireTime Timestamp 認識ツールのパージされる時刻
getEtag String チェックサム値
getReconciling boolean 認識ツールが更新中か
getKmsKeyName String 認識ツールの暗号化に使用されるKMSキーの名前
形式:"projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
getKmsKeyVersionName String 認識ツールの暗号化に使用されるKMSキーのバージョン名
形式:"projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"

RecognitionConfig

メソッド 戻り値 説明
getModel String モデル

⧉Speech-to-TextV2でのサポート言語の「モデル」を指定
getLanguageCodesList ProtocolStringList 変換する言語

⧉Speech-to-TextV2でのサポート言語の「BCP-47」を指定
getFeatures RecognitionFeatures 有効にする音声認識機能
getAdaptation SpeechAdaptation 特定の単語やフレーズに対する認識エンジンの予測を重み付けする音声適応コンテキスト
getTranscriptNormalization TranscriptNormalization 文字起こしの正規化を使用して文字起こしの一部を選択したフレーズに自動的に置き換えるユニオンフィールド
getAutoDecodingConfig AutoDetectDecodingConfig(enum) デコードパラメータを自動的に検出
explicitDecodingConfigの設定がない場合は必須(空のインスタンスを設定)
getExplicitDecodingConfig ExplicitDecodingConfig 明示的に指定されたデコードパラメータ
ヘッダーレスPCMオーディオ(linear16、mulaw、alaw)の場合は必須

ProtocolStringList

メソッド 戻り値 説明
asByteStringList List<ByteString> データビューのByteStringリスト

RecognitionFeatures

メソッド 戻り値 説明
getProfanityFilter boolean フィルタリングされた各単語の最初の文字を除くすべての文字をアスタリスクに置き換えるか
getEnableWordTimeOffsets boolean 一番上の結果には単語のリストと、それらの単語の開始時刻と終了時刻のオフセット(タイムスタンプ)が含まれるか
getEnableWordConfidence boolean 一番上の結果には単語のリストとそれらの単語の信頼度が含まれるか
getEnableAutomaticPunctuation boolean 認識結果の仮説に句読点を追加するか
getEnableSpokenPunctuation boolean 音声の句読点をリクエスト内の対応する記号に置き換えるか
getEnableSpokenEmojis boolean リクエストに音声絵文字の書式設定を追加するか
getMultiChannelMode MultiChannelMode(enum) マルチチャンネルオーディオを認識するモード
getDiarizationConfig SpeakerDiarizationConfig 追加パラメータを設定するための構成
getMaxAlternatives int 返される認識仮説の最大数(0〜30)

SpeakerDiarizationConfig

メソッド 戻り値 説明
getMinSpeakerCount int 会話内の発言者の最小数(1〜6)
getMaxSpeakerCount int 会話内の発言者の最大数(1〜6)

SpeechAdaptation

メソッド 戻り値 説明
getPhraseSetsList List<AdaptationPhraseSet> フレーズセットのリスト
getCustomClassesList List<⧉ CustomClass> インラインで定義されたカスタムクラスのリスト

AdaptationPhraseSet

メソッド 戻り値 説明
getPhraseSet String 既存のフレーズセットリソースの名前
getInlinePhraseSet ⧉ PhraseSet インラインで定義されたフレーズセット

TranscriptNormalization

メソッド 戻り値 説明
getEntriesList List<TranscriptNormalization.Entry> 置換エントリのリスト(最大100)

TranscriptNormalization.Entry

メソッド 戻り値 説明
getSearch String 何を交換するか(最大100文字)
getReplace String 何と交換するか(最大100文字)
getCaseSensitive boolean 検索で大文字と小文字が区別されるか

ExplicitDecodingConfig

メソッド 戻り値 説明
getEncoding AudioEncoding(enum) 認識のために送信される音声データのエンコーディング
getSampleRateHertz int 認識のために送信されるオーディオデータのサンプルレート(ヘルツ)(8000~48000)
サポートエンコーディング
getAudioChannelCount int 認識のために送信された音声データに存在するチャネルの数(最大8)
サポートエンコーディング

AutoDetectDecodingConfig

定義値 内容
WAV_LINEAR16 WAVコンテナー内の16ビット符号付きリトルエンディアンPCMサンプル
WAV_MULAW WAVコンテナ内の8ビット圧縮されたmulawサンプル
WAV_ALAW WAVコンテナ内の8ビット圧縮されたalawサンプル
RFC4867_5_AMR rfc4867.5ヘッダーを持つAMRフレーム
RFC4867_5_AMRWB rfc4867.5ヘッダーを持つAMR-WBフレーム
FLAC 「ネイティブFLAC」コンテナ形式のFLACフレーム
MP3 オプションの(無視される)ID3メタデータを含むMPEGオーディオフレーム
OGG_OPUS Oggコンテナ内のOpusオーディオフレーム
WEBM_OPUS WebMコンテナ内のOpusオーディオフレーム
M4A M4Aオーディオ形式

サポートエンコーディング

定義値 内容
LINEAR16 ヘッダーなしの16ビット符号付きリトルエンディアンPCMサンプル
MULAW ヘッダーのない8ビットの圧縮されたmulawサンプル
ALAW ヘッダーなしの8ビット圧縮されたalawサンプル

MultiChannelMode

定義値 内容
MULTI_CHANNEL_MODE_UNSPECIFIED マルチチャンネルモードのデフォルト値
SEPARATE_RECOGNITION_PER_CHANNEL 提供されたオーディオの各チャネルが個別に転写される

AudioEncoding

定義値 内容
AUDIO_ENCODING_UNSPECIFIED デフォルト値
LINEAR16 ヘッダーなしの16ビット符号付きリトルエンディアンPCMサンプル
MULAW ヘッダーなしの8ビット圧縮されたmulawサンプル
ALAW ヘッダーなしの8ビット圧縮されたalawサンプル

State

定義値 内容
STATE_UNSPECIFIED 未指定
ACTIVE 認証ツールはアクティブな状態
DELETED 認証ツールは削除された

2. 認識ツールを取得

指定した認識ツールの情報を取得します。

2.1. スコープ

OAuth2.0でこのAPIを実行するには、以下のスコープを指定してください。
サービスアカウントで実行する場合はスコープの指定は不要です。

https://www.googleapis.com/auth/cloud-platform

2.2. 実行

認証ツールIDには、RecognizerのgetName()で取得できる値の{認証ツールID}の箇所を
指定します。

public static void main(String[] args) throws Exception{
    try(SpeechClient client = getSpeechClient()){
        GetRecognizerRequest.Builder builder = GetRecognizerRequest.newBuilder();
        builder.setName(String.format("projects/%s/locations/%s/recognizers/%s", "プロジェクトID","ロケーションID","認証ツールID"));
        
        Recognizer response = client.getRecognizer(builder.build());
        System.out.println(response);
    }
}

2.2.1. HTTPリクエスト

GET: https://speech.googleapis.com/v2/projects/{プロジェクトID}/locations/{ロケーションID}/recognizers/{認証ツールID}
が実行されます。

2.2.2. クエリパラメータ

GetRecognizerRequest.Builderのsetメソッドにより、リクエストボディを追加できます。
build()メソッドでGetRecognizerRequestインスタンスを取得し、
listRecognizers()に渡します。

メソッド 引数 説明
setName String 【必須】リソース名
形式:"projects/{プロジェクトID}/locations/{ロケーションID}"

2.3. レスポンスの内容

Recognizer

2.3. レスポンスの内容(Recognizer)と同じです。



おしまい。。
0
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
0
0