Speech recognition 语音识别脚本不工作

Speech recognition 语音识别脚本不工作,speech-recognition,ubuntu-12.04,Speech Recognition,Ubuntu 12.04,我有一个语音识别脚本 记录音频输入并发送到谷歌的 语音识别服务器和接收 并在Ubuntu终端上显示结果。 但我没能让它起作用。 我的猜测是谷歌已经做出了改变 或者这就是它不起作用的原因 不再 我需要一个基于语音的网络脚本 浏览器项目。 以下是脚本: #!/bin/bash results=6 if [ "$1" == "-r" ];then results="$2" fi echo "Recording... Please press ^C a few seconds aft

我有一个语音识别脚本 记录音频输入并发送到谷歌的 语音识别服务器和接收 并在Ubuntu终端上显示结果。 但我没能让它起作用。 我的猜测是谷歌已经做出了改变 或者这就是它不起作用的原因 不再 我需要一个基于语音的网络脚本 浏览器项目。 以下是脚本:

#!/bin/bash



results=6

if [ "$1" == "-r" ];then
    results="$2"
fi


echo "Recording... Please press ^C a few seconds after finishing."
rec -r 16000 -b 16 -c 1 test.wav > /dev/null 2>&1
echo
echo "Recording finished!"
sox test.wav test.flac gain -n -5 silence 1 5 2% > /dev/null 2>&1
echo "Now uploading to google's speech recognition servers."
echo
echo "This may take a bit..."
a=$(curl \
  --data-binary @test.flac \
  --header 'Content-type: audio/x-flac; rate=16000' \
  'https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&pfilter=2&lang=en-US&maxresults='$results'' 2>/dev/null)
#echo "Done! Parsing results..."
echo
b=$(echo "$a" |egrep -o "\"confidence\":[^}]*" |sed 's/"confidence"://')
c=$(qalc $b \* 100 | egrep -o "=.*" |sed 's/= //' |sed 's/\.\([0-9]\)*/\.\1/')

echo "Done, results below :)"
echo
echo "Confidence in results = ${c}%"
echo "$a" | egrep -o "\"utterance\":\"[^\"]*\"" |sed 's/"utterance":"//;s/"//'|nl
以下是一个不完整的输出示例:

john@ubuntu:~/Desktop$ ./test.bash
Recording... Please press ^C a few seconds after finishing.
^C
Recording finished!
Now uploading to google's speech recognition servers.

This may take a bit...
在那之后,它没有显示任何东西。 要查看此脚本的工作方式,请转到此链接:

请帮我找出错误。
信息:我正在VMware WS中使用Ubuntu12.04。

问题可能是您的音频文件太长。我相信GoogleAPI仅限于长度小于3秒的文件

请尝试将bash脚本分成两部分进行调试。你最好准备一个16kHz的有效FLAC音频文件,并将其发送给谷歌,以验证你的核心部分是否正常工作。如果你的计划只是使用谷歌ASR,你可以直接考虑使用< /P>你得到的价值是多少?结果。你已经成功地运行了脚本吗?我得到错误500内部服务器错误,并且我已经在RHEL6中运行了脚本。“qalc”替换为“bc”那么,解决方案是什么?在stackoverflow中,我看不到任何发送个人信息的方式。因此,如果你在任何社交网站上有个人资料,请在评论中给出链接。我们不会以这种速度得到任何解决方案。我们需要讨论更多。如果我们最终得到解决方案,我将在这里发布。3秒可能太短了。我试着上传几个10秒长的音频文件。有些是可以识别的。然而,谷歌没有任何文件谈及音频持续时间限制。