我能否从 php 库中将 Google 的语音转录为 JSON 的完整结果?

Can I get the full result of Google's speech to text transcription as JSON from the php library?

我正在使用 google 的 php api (https://github.com/googleapis/google-cloud-php) 进行语音到文本的转录,目前一切正常。然而;所有使用 php 库的示例都显示了这样处理的结果:

if ($op->operationSucceeded()) {
  $response = $op->getResult();

  // each result is for a consecutive portion of the audio. iterate
  // through them to get the transcripts for the entire audio file.
  foreach ($response->getResults() as $result) {
    $alternatives = $result->getAlternatives();
    $mostLikely = $alternatives[0];
    $transcript = $mostLikely->getTranscript();
    $confidence = $mostLikely->getConfidence();
    printf('Transcript: %s' . PHP_EOL, $transcript);
    printf('Confidence: %s' . PHP_EOL, $confidence);
  }
}

我非常想要 json 这样的完整结果,这样我就可以轻松地将其存储在数据库中 table。有没有办法让完整的结果返回为 json?

谢谢!

您可以对继承自 Google\Protobuf\Internal\Message 的任何对象调用 serializeToJsonString()。确保您使用的是相对较新的 google/cloud.

此外,如果您只使用 Cloud Speech,google/cloud-speech 可能会更好,因为它会安装一个更小的包。