| フィールド | 型 | |
|---|---|---|
| encoding | enum (AudioEncodingのいずれか) | FLACまたはWAV以外では必須。サポートされるのは1チャンネル (モノラル) のみ |
| sampleRateHertz | number | オーディオ データのサンプリングレート。有効な値は8000~48000。16000が最適 |
| languageCode | string | 必須。"en-US"の形式でオーディオの言語を指定する |
| maxAlternatives | number | 任意。取得する認識仮説の最大数。有効な値は0~30で、1以下か省略した場合は1つ返される。たとえば3を指定すると、次のように返される
{
"results": [ {
"alternatives": [
{ "transcript": "こんにちは", "confidence": 0.8977027 },
{ "transcript": "今日は", "confidence": 0.6621518 },
{ "transcript": "こんにちわ", "confidence": 0.9386606 }
]
} ]
}
|
| profanityFilter | boolean | 任意。trueならば、不敬な言葉を"f***"のようにアスタリスクで伏せ字にする。falseか省略した場合は置き換えない |
| speechContexts[] | object (SpeechContext) | 任意。認識を助けるための手がかりとなる、文字列のリスト |
| enableWordTimeOffsets | boolean | 任意。trueならば、単語ごとの開始時間と終了時間の情報を含む
{
"results": [ {
"alternatives": [ {
"transcript": "パラ言語情報",
"confidence": 0.92081594,
"words": [
{ "startTime": "0s", "endTime": "0.200s", "word": "パラ|パラ" },
{ "startTime": "0.200s", "endTime": "0.200s", "word": "言語|ゲンゴ,ゴンゴ" },
{ "startTime": "0.200s", "endTime": "0.500s", "word": "情報|ジョーホー" }
]
} ]
} ]
}
|
この例ではAPIキーを使用するため、先にそれをGCP Console (Google Cloud Platform Console) で取得する必要があります。API キーの使用 | ドキュメント | Google Cloud
<?php // オーディオ ファイルを読み込む $filename = 'sample.flac'; $fp = fopen( $filename, 'rb' ); $content = fread( $fp, filesize( $filename ) ); fclose( $fp ); // それをBase64エンコードする $encodedContent = base64_encode( $content ); // JSON形式でリクエスト ボディを生成する $requestBody = <<<EOM { "config": { "encoding": "FLAC", "sampleRateHertz": 16000, "languageCode": "ja-JP" }, "audio": { "content": "{$encodedContent}" } } EOM; $apiKey = '*****'; // APIキー $url = 'https://speech.googleapis.com/v1/speech:recognize?key='.$apiKey; $header = array( 'Content-Type: application/json; charset=utf-8' ); $ch = curl_init( $url ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $header ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $requestBody ); curl_setopt( $ch, CURLOPT_FAILONERROR, TRUE ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE ); // リクエストし、結果を出力する if( curl_exec( $ch ) === FALSE ) echo curl_error( $ch ); curl_close( $ch ); // { "results": [ { "alternatives": [ { "transcript": "こんにちは", "confidence": 0.8977027 } ] } ] }Transcribing Short Audio Files | Cloud Speech API Documentation | Google Cloud