本页面介绍了如何为发送到 Cloud Speech-to-Text 的音频转写请求启用语言识别。
有些时候,您并不确定音频录音中会包含哪些语言。例如,如果您在具有多种官方语言的国家/地区发布服务、应用或产品,则可能会接收用户以多种语言提供的音频输入。这种情况下,为转录请求指定单独一种语言代码的难度很大。
多语言识别
Cloud Speech-to-Text 为您提供了一种方法,让您可以指定音频数据可能包含的一组备用语言。当您向 Cloud Speech-to-Text 发送音频转写请求时,您可以提供一份列表,在其中列明音频数据可能包含的其他语言。如果您在请求中包含语言列表,则 Cloud Speech-to-Text 会尝试根据您提供的备用项中最适合样本的语言转录音频。随后,Cloud Speech-to-Text 会使用预测的语言代码标记转录结果。
此功能非常适合需要转录语音指令或搜索等简短语句的应用。除了主要语言之外,您还可以从 Cloud Speech-to-Text 支持的语言中任选三种,作为备用语言列出(总共四种语言)。
尽管您可以为语音转录请求指定备用语言,但仍然必须在 languageCode 字段中提供主要语言代码。此外,您应该将请求使用的语言数量限制在最低限度。请求使用的备用语言代码越少,就越有助于 Cloud Speech-to-Text 成功选择正确的语言代码。仅指定一种语言的效果最为理想。
在音频转录请求中启用语言识别
如需在音频转录中指定备用语言,必须将请求的 RecognitionConfig 参数的 alternativeLanguageCodes 字段设置为语言代码的列表。Cloud STT 的备用语言代码支持以下所有语音识别方法: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
如需了解如何安装和使用 Cloud STT 客户端库,请参阅 Cloud STT 客户端库。如需了解详情,请参阅 Cloud STT Java API 参考文档。
如需向 Cloud STT 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud STT 客户端库,请参阅 Cloud STT 客户端库。如需了解详情,请参阅 Cloud STT Node.js API 参考文档。
如需向 Cloud STT 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud STT 客户端库,请参阅 Cloud STT 客户端库。如需了解详情,请参阅 Cloud STT Python API 参考文档。
如需向 Cloud STT 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
使用远程文件
Java
如需了解如何安装和使用 Cloud STT 客户端库,请参阅 Cloud STT 客户端库。如需了解详情,请参阅 Cloud STT Java API 参考文档。
如需向 Cloud STT 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud STT 客户端库,请参阅 Cloud STT 客户端库。如需了解详情,请参阅 Cloud STT Node.js API 参考文档。
如需向 Cloud STT 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud STT 客户端库,请参阅 Cloud STT 客户端库。如需了解详情,请参阅 Cloud STT Python API 参考文档。
如需向 Cloud STT 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。