当前位置: 首页 > 知识库问答 >
问题:

为什么谷歌语音识别API只返回前2-3秒转换的音频文本

危裕
2023-03-14

我在Google Cloud Console中创建了一个项目,并在此项目中启用了Google Speech API,并创建了凭据。也使用了Google推荐的transcribe.py,

https://cloud.google.com/speech/docs/samples

https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/speech

https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api-client/transcribe.py

我可以使用Google can console生成的API密钥成功地将音频文件(30秒)转换为文本,但不能完全转换,仅在前2-3秒。我的帐户现在是免费试用的,所以我怀疑这是否是因为我的帐户类型(免费试用)。

谷歌的回应就像{“结果”:[{“备选方案”:[{“信心”:0.89569235,“成绩单”:“我在森林里野餐了,我要回家了,所以跟我来吧”}]}]}

音频文件为wav文件,格式为(ffprobe打印)流#0:0:音频:pcm\U s16le([1][0][0][0]/0x0001),16000 Hz,1个通道,s16,256 kb/s

音频文件已html" target="_blank">上传到谷歌驱动器,链接在这里https://drive.google.com/file/d/0B3koIsnLksOLQXhvQ1ljS0dDXzg/view?usp=sharing

有人知道以上流程/步骤有什么问题吗?还是这就是谷歌语音识别api的bug?

共有2个答案

严言
2023-03-14

我有一个类似的问题,但使用一个增强模型能够得到完整的转录

config = {
  ...
  use_enhanced: true,
  model: "phone_call"
}

您可以查看更多:https://cloud.google.com/speech-to-text/docs/phone-model

谢嘉
2023-03-14

通过使用Google API Explorer和云语音API服务,可以通过分析音频文件的单独样本来分离以下相关语音识别结果:

  • 剪切1:0-00'08"015,结果9:“我在森林里野餐,我要回家了,所以跟我来”
  • 剪切2:00'08"732-00'11"184,结果2:“听那是什么”
  • 切3:00'13"500-直到结束,结果2:“它看起来是什么”

这些结果是使用以下配置获得的:

“config”: {
    “encoding”: “LINEAR16”,
    “sampleRate”: 16000,
    “maxAlternatives”: “30”,
}

事实上,当前处于Beta阶段的语音API存在已知问题,因此可能会阻止转录正常工作(无论帐户是付费试用还是免费试用)。如以下最佳实践中所述,在您的情况下需要考虑两个问题:

  1. 在整个语音记录过程中播放背景音乐,这可能会产生足够的背景噪声,从而降低转录的准确性。(请注意,语音API旨在转录用户向应用程序麦克风口述的文本)
  2. 进一步建议,当从多人处捕获音频时,建议分割音频。在你的例子中,青蛙的声音可能被检测为不同的人类声音,因此也会影响转录的准确性

考虑到这两个已知的问题,重要的是要消除任何噪音,只处理来自录音主角的统一语音。或者,您可以拆分录音并尝试单独转录录音中包含单个字符声音的每个单独部分。

 类似资料:
  • 我正在尝试从shell命令使用Google的语音识别API,但我遇到了问题。 我的Shell文件包含以下代码: 记录-D plughw: 1,0-q-f cd-t wav-R 16000|flac-f--Best--samplughw=16000-s-otest.flac wget-q-U“Mozilla/5.0”--文件后测试。flac--标题“内容类型:音频/x-flac;速率=16000”-

  • 我正在玩Google Cloud Speech API。我想知道我是否使用python语音识别库并调用google cloud语音API,这仍然是使用API的有效方式吗?我只想转录文本。 我对它们之间的区别感到困惑,如果我只想转录音频,是否有任何建议的方法。 使用Python语音识别: 不使用Python SpeechRecognition:

  • 我正在Android上使用谷歌语音API在我的Android应用程序中启用语音到文本。然而,我注意到,与Google Assistant或内置的“嘿Google”服务相比,识别率要差得多。 是使用另一个API还是同一个API,是什么原因导致质量差异如此之大。 例如,当我说“Smitten Ice Cream”(加利福尼亚州旧金山市的一个地方)时,Google Maps马上就能听懂,而我的应用程序在

  • 我用Google API对自然对话的语音识别取得了很好的效果,但是对于Youtube视频或电影中的声音,识别效果很差或根本不存在。 在iPhone 4上录制西班牙语到英语的声音是可以识别的,但在电影中使用同一部手机几乎是不可能的,即使是一个角色在几乎没有背景噪音的情况下说话的场景。只有一次成功。 我试图清理声音与SoX(声音交换)使用噪声和comand efects,没有任何成功。 有什么想法吗?

  • [][1]我正在尝试用Vala语言做一个类似siri的应用程序。然而,我找不到任何语音识别或文本到语音库的vala,这是必不可少的。瓦拉有语音识别和语音文字转换吗?如果是的话,你能说出他们的名字吗? 顺便说一句,我是新的vala编程,所以也请做一些例子... 非常感谢。

  • 我正在使用spyder IDE进行我的语音到文本转换项目,该项目使用谷歌语音到文本api。我在代码中集成了谷歌语音和文本,出现了类似“配额耗尽”的错误。在谷歌控制台的仪表板上,我可以看到可用的配额。 > 错误 文件"C:\Program Data\Anaconda3\lib\site-包\speech_recognition__init__. py",第932行,在recognize_google