【发布时间】: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 中。此外,在命令的末尾,有 > 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 脚本。在命令的末尾,有
> answer.ret行,以便将 Google 的答案写入此文件。我想知道PHP中是否有替代方法。 @Charles这不是一个公共API,但很多程序都使用它,所以我想我可以......但你是对的,谷歌可能应该记录它。 @Brad 是的,它接受 FLAC,我认为它需要 SPEEX,但更难转换。好吧,我没试过。
标签: php speech-to-text http-post