本页面介绍了如何为发送到 Speech-to-Text 的音频转写请求启用语言识别。
有些时候,您并不确定音频录音中会包含哪些语言。例如,如果您在具有多种官方语言的国家/地区发布服务、应用或产品,则可能会接收用户以多种语言提供的音频输入。这种情况下,为转录请求指定单独一种语言代码的难度很大。
多语言识别
Speech-to-Text 为您提供了一种方法,让您可以指定音频数据可能包含的一组备用语言。当您向 Speech-to-Text 发送音频转写请求时,您可以提供一份列表,在其中列明音频数据可能包含的其他语言。如果您在请求中包含语言列表,则 Speech-to-Text 会尝试根据您提供的备用语言中最适合样本的语言转录音频。随后,Speech-to-Text 会使用预测的语言代码标记转录结果。
此功能非常适合需要转录语音指令或搜索等简短语句的应用。除了主要语言之外,您还可以从 Speech-to-Text 支持的语言中任选三种,作为备用语言列出(总共四种语言)。
尽管您可以为语音转录请求指定备用语言,但仍然必须在 languageCode
字段中提供主要语言代码。此外,您应该将请求使用的语言数量限制在最低限度。请求使用的备用语言代码越少,就越有助于 Speech-to-Text 成功选择正确的语言代码。仅指定一种语言的效果最为理想。
在音频转录请求中启用语言识别
如需在音频转录中指定备用语言,必须将请求的 RecognitionConfig
参数的 alternativeLanguageCodes
字段设置为语言代码的列表。Speech-to-Text 的备用语言代码支持以下所有语音识别方法:speech:recognize
、speech:longrunningrecognize
和流式。
使用本地文件
协议
如需了解完整的详细信息,请参阅 speech:recognize
API 端点。
如需执行同步语音识别,请发出 POST
请求并提供相应的请求正文。以下示例展示了一个使用 curl
发出的 POST
请求。该示例使用 Google Cloud CLI 生成访问令牌。如需了解如何安装 gcloud CLI,请参阅快速入门。
以下示例展示了如何请求可能包含英语、法语或德语语音的音频文件的转录。
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1p1beta1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "alternativeLanguageCodes": ["fr-FR", "de-DE"], "model": "command_and_search" }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }' > multi-language.txt
如果请求成功,服务器将返回一个 200 OK
HTTP 状态代码以及 JSON 格式的响应(该响应会保存到名为 multi-language.txt
的文件中)。
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast I'm ..." "confidence": 0.9466864 } ], "languageCode": "en-us" }, { "alternatives": [ { "transcript": " let's go with the black one", "confidence": 0.9829583 } ], "languageCode": "en-us" }, ] }
Java
如需了解如何安装和使用 Speech-to-Text 客户端库,请参阅 Speech-to-Text 客户端库。 如需了解详情,请参阅 Speech-to-Text Java API 参考文档。
如需向 Speech-to-Text 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Speech-to-Text 客户端库,请参阅 Speech-to-Text 客户端库。 如需了解详情,请参阅 Speech-to-Text Node.js API 参考文档。
如需向 Speech-to-Text 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Speech-to-Text 客户端库,请参阅 Speech-to-Text 客户端库。 如需了解详情,请参阅 Speech-to-Text Python API 参考文档。
如需向 Speech-to-Text 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
使用远程文件
Java
如需了解如何安装和使用 Speech-to-Text 客户端库,请参阅 Speech-to-Text 客户端库。 如需了解详情,请参阅 Speech-to-Text Java API 参考文档。
如需向 Speech-to-Text 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Speech-to-Text 客户端库,请参阅 Speech-to-Text 客户端库。 如需了解详情,请参阅 Speech-to-Text Node.js API 参考文档。
如需向 Speech-to-Text 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Speech-to-Text 客户端库,请参阅 Speech-to-Text 客户端库。 如需了解详情,请参阅 Speech-to-Text Python API 参考文档。
如需向 Speech-to-Text 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。