【问题标题】:Posting FLAC to Google Voice Recognition API from PHP从 PHP 将 FLAC 发布到 Google Voice Recognition API
【发布时间】:2012-12-23 00:59:36
【问题描述】:

我在 PHP 方面非常有经验,但我一直在连接服务器之间遇到问题,例如 “post”。我有一个 FLAC 音频文件,我需要将其发布到 Google 的语音识别 API 服务器。我也不知道如何“倾听”它的回应。我想要一个这样的脚本,假设存在这种函数:

<?php

   $fileId = $_GET['fileId'];
   $filepath = $fileId . ".flac";
   recognize($filepath);

  function recognize($pathToFile) {

      //It's the following function that I'm looking for 
      $response = $pathToFile->post("http://www.google.com/speech-api/v1/.....&client=chromium"); 

      //The $response would be the short JSON that Google feed back.
      echo $response;

  }

?>

编辑

我按照教程创建了一个使用 Wget --post 发布我的 FLAC 文件的 Shell 脚本。我想这样发布,但是在 PHP 中。此外,在命令的末尾,有 &gt; answer.ret 行,以便 Google 的答案将写入此文件。我想知道PHP中是否有替代方法。 这是命令行:

wget -q -U "Mozilla/5.0" --post-file audio1.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=fr-fr&client=chromium" > trancription1.ret

编辑 2

我想出了如何做到这一点,@hakre 的回答并为好奇的人总结了一些要点。这是:https://gist.github.com/chlkbumper/4969389。不要忘记 FLAC 文件必须是 16k 比特率的 FLAC

【问题讨论】:

  • 你试过什么?这显然是伪代码。什么没有奏效?你做了哪些研究来解决这个问题?
  • 看来Google's speech recognition API is not a public API。在它被发布和记录之前,您不应该尝试使用它。
  • Google 语音识别接受 FLAC?
  • 我按照教程创建了一个使用 Wget --postpost FLAC 文件的 Shell 脚本。在命令的末尾,有 &gt; answer.ret 行,以便将 Google 的答案写入此文件。我想知道PHP中是否有替代方法。 @Charles这不是一个公共API,但很多程序都使用它,所以我想我可以......但你是对的,谷歌可能应该记录它。 @Brad 是的,它接受 FLAC,我认为它需要 SPEEX,但更难转换。好吧,我没试过。

标签: php speech-to-text http-post


【解决方案1】:

POST 请求只是一个标准的 HTTP 请求,just with the POST method specified。 HTTP 请求和 HTTP 响应的其余部分几乎相同。

您会以 HTTP 响应 btw 的形式获得请求的响应。这是在 RFC 2616 中定义的绝对正常的 - 只是与此文档相关,它解释了一切

PHP 中发送 HTTP 请求的函数是file_get_contents,它返回请求响应。这是通过the HTTP stream wrapper 完成的,它提供了一些发送 POST 请求所需的选项(默认为 GET)。见HTTP context options

另一个用于发送 HTTP 请求的流行 PHP 扩展是the Curl bindings

【讨论】:

  • 谢谢,帮了大忙!如果其他人正在寻找使用 Google Speech Recognition API 设置 PHP 脚本,这里有一个 link,它说明了 @hakre 的答案(cURL 请求)。再次感谢!
猜你喜欢
  • 2013-07-25
  • 2012-05-03
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
相关资源
最近更新 更多