3

我在 Google Cloud Console 中创建了一个项目,并在该项目中启用了 Google Speech API,并创建了凭据。还用了谷歌推荐的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 生成的 API 密钥一起使用,可以成功地将音频文件(30 秒)翻译成文本,但不完全,只有前 2-3 秒。我的帐户现在是免费试用的,所以我怀疑是不是因为我的帐户类型(免费试用)。

来自谷歌的回应就像 {"results": [{"alternatives": [{"confidence": 0.89569235, "transcript": "我在森林里野餐了,我要回家了,所以跟我来吧" }]}]}

音频文件是格式为 wav 文件(由 ffprobe 打印) Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, 1 channels, s16, 256 kb/ s

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

有人知道上述过程/步骤有什么问题吗?或者这是错误谷歌语音识别api?

4

2 回答 2

2

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

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

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

于 2020-04-15T21:37:44.293 回答
2

将 Google APIs Explorer 与 Cloud Speech 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”,
}

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

  1. 在整个语音录制过程中播放背景音乐,这可能会产生足够的背景噪音以降低转录准确性。(请注意,语音 API 旨在转录用户对应用程序麦克风口述的文本)
  2. 正如进一步建议的那样,建议在从多个人处捕获音频时拆分音频。在您的情况下,青蛙的声音可能会被检测为不同的人声,因此也会影响转录准确性。

考虑到这两个已知问题,去除任何噪音并仅处理源自录音主角的统一语音非常重要。或者,您可以拆分录音并尝试单独转录包含单个角色声音的录音的每个单独部分。

于 2016-11-14T22:45:20.343 回答